Сервопривод AR-S430-01

Рис. 2.8. Сервопривод AR-S430-01
В состав образовательного комплекта «СТЕМ Мастерская» входят сервоприводы AR-S430-01 и XL431-T250-T, работающие по протоколу Dynamixel (рис. 2.8).
В качестве интерфейса подключения сервоприводов используется TTL шина, со стандартными 3х пиновыми коннекторами molex. На каждом сервоприводе имеется два таких коннектора для организации сквозного последовательного соединения между цепочкой сервоприводов. Соединительный кабель может быть подключен к любому их этих двух разъемов (рис. 2.9).

Рис. 2.9. Схема распиновки портов сервопривода набора «СТЕМ Мастерская»
Внутреннее устройство памяти сервоприводов, протокол общения
Поскольку применяемые в данном наборе сервоприводы являются уменьшенными копиями промышленных приводов, то они обладают всеми свойствами, характерными для промышленных сервоприводов. В первую очередь, это выражено в наличии у сервопривода различных обратных связей. Помимо обратных связей, которые используются в сервоприводах для самостоятельного контроля своего состояния, при необходимости, можно получать данные о работе сервопривода на внешний управляющий контроллер. Таким образом, возможно узнавать такую информацию, как: с какой скоростью в данный момент вращается сервопривод, в каком положении он находится, какую нагрузку испытывает, какая температура внутри корпуса сервопривода и т.д. Эту информацию можно использовать в работе управляющей программы для максимально точного управления исполнительными системами робота. Обмен данными с сервоприводами осуществляется в соответствии с протоколом Dynamixel путем обмена пакетами данных. Пакеты данных в данном случае бывают двух типов:
- Пакет Инструкций - пакет данных, содержащий команды управления сервоприводами, посылаемые внешним управляющим контроллером.
- Пакет Состояний - пакет данных, содержащий ответы от сервопривода, посылаемые внешнему управляющему контроллеру.
Таким образом, пакет инструкций используется для запроса состояния сервопривода или изменения значения какого-либо параметра сервопривода, например, его скорости вращения. А пакет состояний необходим для передачи значения какого-либо параметра сервопривода внешнему контроллеру, либо же для подтверждения выполнения какой-либо управляющей команды. Существует большое количество параметров сервопривода, с которыми можно взаимодействовать с внешнего контроллера. Все эти параметры делятся на 2 категории: параметры, значения которых можно только считывать, и параметры, значения которых можно как считывать, так и изменять. Причем, в зависимости от режима работы сервопривода, доступные параметры для изменения (записи) могут быть различны. Полный список параметров, с которыми можно взаимодействовать в сервоприводах представлен в таблице ниже.
Для удобства понимания все параметры разбиты на 2 группы, в зависимости от типа памяти, в которых хранятся эти значения. Значения параметров, хранящиеся в области RAM (ОЗУ), принимают значения по умолчанию при каждом сбросе питания. А значения параметров, хранящиеся в области EEPROM памяти (ПЗУ), сохраняют свои значения при выключении питания. Для чтения или записи данных пользователь должен указать правильный адрес в шестнадцатеричном виде, представляющий расположение данных в своей области памяти. Данные, доступные для чтения, обозначены в таблице как R, а доступные для чтения и записи как RW. Значения параметров по умолчанию приведены в отдельном столбце. Здесь надо понимать, что значениями по умолчанию для данных, хранящихся в EEPROM памяти являются заводские значения параметров, а для данных, хранящихся в RAM памяти – значения на момент включения питания сервопривода.
Управляющие данные поступают в сервопривод через линию Data (PIN3 на рис. 2.9, который можно назвать “информационным”). Общение происходит по последовательному каналу (полудуплексный UART) путем передачи пакетов данных. Пакеты бывают разного объема, одним из стандартов является объем в 16 бит.
Каждый пакет данных состоит из:
- стартовой последовательности бит (некая последовательность, обозначающая старт нового пакета);
- конечной последовательности бит;
- битов информации.
Еще одной важной составляющей данного протокола является частота общения. Частота передатчика и приемника должна совпадать, иначе произойдет рассинхронизация, и все передаваемые данные потеряются. Передача информации в данном случае происходит по 1 линии, а передавать ее требуется в обе стороны. В противном случае, полученная система будет без обратной связи. То есть будет выполняться передача команды сервоприводу, но не будет получен ответ о результате исполнения этой команды. Для того, чтобы пересылать информацию в обе стороны по одной линии, используется следующий подход. Несколько пакетов данных идут в сторону сервопривода (обычно 4 или 5). После чего привод должен откликнуться о том, что принял эти данные, и по той же линии послать свой пакет с данными. Приемник, получая его, в свою очередь понимает, что может отослать новые пакеты. Такой же принцип используется при посылке информационных пакетов от сервопривода к микроконтроллеру.
Параметры, хранящиеся в ПЗУ сервопривода, представлены в следующей таблице:
| Add- ress | Size (Byte) | Data Name | Description | Access | Initial Value |
|---|---|---|---|---|---|
| 0 | 2 | Model Number | Model Number | R | 1061 |
| 6 | 1 | Firmware Version | Firmware Version | R | - |
| 7 | 1 | ID | Dynamixel ID | RW | 1 |
| 8 | 1 | Baud Rate | Communication Speed | RW | 1 |
| 9 | 1 | Return Delay Time | Response Delay Time | RW | 250 |
| 48 | 4 | Max Position Limit | Maximum Position Limit | RW | 0 |
| 52 | 4 | Min Position Limit | Minimum Position Limit | RW | 16383 |
| 31 | 1 | Temperature Limit | Maximum Internal Temperature Limit | RW | 70 |
| 34 | 2 | Min Voltage Limit | Minimum Input Voltage Limit | RW | 0 |
| 32 | 2 | Max Voltage Limit | Maximum Input Voltage Limit | RW | 140 |
| 38 | 2 | Current Limit | Current Limit | RW | 1023 |
| 68 | 1 | Status Return Level | Select Types of Status Return | RW | 2 |
| 65 | 1 | LED | LED for Alarm | RW | 36 |
| 63 | 1 | Shutdown | Shutdown Error Information | RW | 36 |
В первом столбце таблицы хранится порядковый адрес ячейки памяти, в котором находится данное значение. Во втором столбце количество байт, которое занимает данная переменная.
Представленные в таблице параметры:
Model number - модельный номер сервопривода, для модели - это 1061.
Firmware verison - версия прошивки привода.
ID – номер, по которому идет обращение к сервоприводу. Всего в одной сети может быть до 254 приводов. Очень важно выставить данный параметр корректно, если в одной сети будет несколько приводов с одинаковым ID, то произойдет ошибка.
Baud Rate – скорость, с которой осуществляется общение с приводом.
Обычно она составляет 1 000 000 бод.
Return Delay Time - задержка отклика (допустимая задержка при обращении к приводу).
Min Position Limit - предельный угол поворота при вращении по часовой стрелке. Стандартное значение параметра – 0.
Max Position Limit - предельный угол поворота при вращении против часовой стрелки. Стандартное значение параметра – 16384.
Temperature Limit - максимальная температура, при который привод не отключится. Стандартное значение параметра - 70 (в градусах Цельсия).
Min Voltage Limit - минимальное напряжение, при котором привод будет работать. Стандартное значение параметра - 0.
Max voltage Limit - максимальное напряжение, при котором привод будет работать. Стандартное значение параметра - 140.
Current Limit - максимальное усилие, которое может создать привод. Стандартное значение параметра, что соответствует 1,6 Н*м. Также это значение является максимальным возможным.
Status return level - способ, через который привод будет сигнализировать об ошибках.
LED - яркость светодиода, который сигнализирует об ошибке. Стандартное значение параметра 36. Это значение соответствует максимально возможной яркости.
Shutdown – параметр, регулирующий аварийное выключение сервопривода при возникновении ошибки. Стандартное значение параметра – 36. Это значение соответствует указанию сервоприводу выключиться при возникновении ошибок. Данный параметр менять не рекомендуется во избежание выхода сервопривода из строя.
Все вышеописанные параметры сохраняются при отключении питания. Параметры, хранящиеся в ОЗУ сервопривода, представлены в следующей таблице:
| Address | Size (Byte) | Data Name | Description | Access | Initial Value |
|---|---|---|---|---|---|
| 64 | 1 | Torque Enable | Motor Torque | On/Off | RW |
| 65 | 1 | LED | Status LED | on/Off | RW |
| 116 | 4 | Goal Position | Target Position | RW | |
| 104 | 4 | Goal Velocity | Target Speed | RW | |
| 132 | 4 | Present Position | Present Position | R | |
| 128 | 4 | Present Velocity | Present Velocity | R | |
| 126 | 2 | Present Current | Present Current | R | |
| 144 | 2 | Present Voltage | Present Voltage | R | |
| 146 | 1 | Present Temperature | Present Temperature | R |
Представленные в таблице параметры:
Torque enable – параметр, отвечающий за запуск двигателя. Значение параметра «0» - включить усилие, «1» - выключить.
LED - параметр, отвечающий за включение светодиода. Значение параметра «0» - включить светодиод, «1» - выключить.
Goal position - “целевая позиция” сервопривода. То есть это угловая позиция, в которую приводу нужно переместиться. При включении сервопривода данная ячейка памяти пустая. При ее заполнении привод сразу начнет вращаться, чтобы достичь заданной позиции. Параметр может принимать значения от 0 до 16384.
Goal Velocity - “целевая скорость” сервопривода. Параметр работает по аналогии с предыдущим пунктом. Может принимать значения так же от 0 до 16384.
Torque Limit - параметр, дублирующий аналогичный параметр из ПЗУ.
Present position - текущая позиция сервопривода. Present Velocity - текущая скорость сервопривода. Present Current - текущая нагрузка на сервоприводе. Present voltage - текущее напряжение на сервоприводе.
Present temperature - текущая температура на сервоприводе.
Устройство системы управления
Как было сказано ранее, данный сервопривод может функционировать в двух режимах работы:
По заданной скорости - путем задания сервоприводу скорости, которой необходимо придерживаться.
По заданному положению – путем задания сервоприводу положения, которое нужно удерживать.