RoboxКомплект из сервопривода и датчика расстояния
V.4Лабораторный стенд Promobot
RRStudioПростое написание алгоритмов
TestDevicesТестирование оборудования и проверка связи
Настройка WSL2Windows Subsystem for Linux
TelegramНаписать в чат технической поддержки
Сервопривод является высокопроизводительным исполнительным механизмом, разработанным специально для нужд робототехники. Данный сервопривод может использоваться для создания подвижных механизмов повышенной сложности, например, роботов-манипуляторов, pan-tilt модулей и т.п.
Основные характеристики сервопривода: | |
---|---|
Микроконтроллер | ARM CORTEX-M3 (72 [MHz], 32Bit) |
Датчик положения | 14 бит AS5047 |
Алгоритм контроля | 2-х контурное подчиненное ПИД-регулирование |
Обратная связь | Положение, скорость, ток |
Напряжение питания | 12 В |
Ном. потребление (без нагрузки) | 125 мА |
Ном. потребление (удержание) | 2.5 А |
Крутящий момент удержания (12 В) | 30.21 кг/см |
Передаточное соотношение | 1:32 |
Скорость холостого хода (12 В) | 40 об./мин. |
Структура типового взаимодействия с сервоприводом:
Структура регулятора сервопривода:
ℹ️ Описание библиотек и примеров работы
Номер
|
Название
|
Описание
|
Формат
|
Чтение/запись
|
---|---|---|---|---|
0 | Адрес modbus | int | R/W | |
1 | Скорость modbus | Табличная скорость порта делённая на 600 | int | R/W |
3 | Настроечный регистр | Регистр отвечающий за настройки сервопривода | int | R/W |
10 | Регистр PID Speed P | Настройка коэффициента P PID регулятора скорости | float | R/W |
12 | PID Speed I | Настройка коэффициента I PID регулятора скорости | float | R/W |
14 | PID Speed D | Настройка коэффициента D PID регулятора скорости | float | R/W |
16 | PID Pos P | Настройка коэффициента P PID регулятора позиции | float | R/W |
18 | PID Pos I | Настройка коэффициента I PID регулятора позиции | float | R/W |
20 | PID Pos D | Настройка коэффициента D PID регулятора позиции | float | R/W |
22 | Speed limit | Предельное значение скорости вращения вала в об/мин | float | R/W |
40 | Регистр команд | Команды управления сервоприводом | int (hex) | R/W |
41 | Включение питания (torque) | Включения питания сервовприводов | int | R/W |
42 | "Установка задачи" | В зависимости от настройки ПИД регуляторов пишется задача для регулятора или просто ШИМ (0-1000) | int | R/W |
45 | Регистр ошибок | Текущий статус сервопривода (ошибки) | int | R |
47 | Позиция сервопривода | Текущее положение сервопривода, ticks | int | R |
48 | Скорость сервопривода | Скорость вращения вала сервопривода, об/мин | int | R |
49 | Ток сервопривода | Текущий потребляемый сервоприводом ток, мА | int | R |
Каждый бит регистра «Управление настройками» (4) отвечает за определенный функционал платы: Индекс бита(начиная с 0):
0 - Не используется
1 - Включение выключение пида по скорости
2 - Включение выключение пида по положению
Список возможных команд для записи в Регистр команд (40):
1 - «0xDEAD» команда перезагрузки платы.
2 - «0xAAAA» полностью размыкает обмотки от платы. По умолчанию, когда torque в нуле (регистр 41 = 0), обмотки замкнуты друг на друга для торможения.
3 - «0xACDC» разрешает запись в ЕЕПРОМ единично, после записи одного из регистров сбрасывается.
Каждый бит регистра «Регистр ошибок» (45) отвечает за индикацию определенной ошибки:
0 - Ошибка связи.
1 - Отсутствие платы с датчиками холлов. Не подключена плата.
2 - Ошибка полярности двигателя, если ШИМ положительный, а скорость отрицательная, то выводится ошибка.
ПИД регуляторы при неправильной полярности работают не корректно.
3 - Ошибка по току. Появляется при превышении тока.
4 - Ошибка магнита. Появляется при неправильном зазоре (положении) магнита относительно датчика положения.
5 - Обрыв связи с датчиком AS5047 по SPI.
Может появляться при отсутствии платы внешнего датчика положения или при поломке платы.
6 - Ошибка DRV8302 fault. Появляется когда на пине драйвера управления двигателем ошибка. Пин fault в 0.
7 - Бит причины выключения регистра «Разрешения работы двигателя» (41).
При выключении через регистр остается в 0, при выключении двигателя по ошибке устанавливается в 1.
При разрешении работы двигателя устанавливается в 0.
8 - Бит необходим для контроля самопроизвольной перезагрузки устройства.
При разрешении работы двигателя устанавливается в 1 и сбрасывается только перезагрузкой устройства.