3.Обслуживание модулей
Изменение скорости обмена данными
Для изменения скорости обмена данными периферийного модуля необходимо использовать Arduino-подобный контроллер производства ООО «Прикладная робототехника», такой как: «Контроллер КПМИС»,
«Универсальный вычислительный контроллер DXL-IoT» или «LAVR», а также установленную библиотеку «DxlMaster». Для работы с модулем на низком уровне необходимо использовать встроенный в библиотеку пример
«Console».
В данном примере нужно указать текущую скорость, на которой работает периферийный модуль в следующей строке:
const unsigned long dynamixel_baudrate = 57600;
После чего, подключив модуль к контроллеру, загрузите приведенный в примере «Console» управляющий код в контроллер и, открыв монитор порта, дождитесь символа «>».
Далее необходимо выполнить команду «ping», чтобы убедиться, что связь с модулем корректно установилась. Данная команда может быть вызвана в следующем виде:
ping X
, где X – значение ID модуля;
Получив ответ «ok» статуса установки соединения с периферийным модулем, можно изменить скорость модуля на 1000000 бод, воспользовавшись командой «write»:
write X 4 1
, где «X» – значение ID модуля, «4» – номер регистра, содержащего запись о скорости, «1» – режим обмена данными на скорости 1000000 бод.
После чего следует выполнить перезагрузку модуля.
Окно монитора порта для модуля «Концевой выключатель» при смене скорости выглядит как на Рис 3.1.
Рис. 3.1. Окно монитора порта при смене скорости
Изменение значения ID модулей
Для того, чтобы использовать несколько одинаковых периферийных модулей одновременно, например, два модуля «Светодиод», необходимо изменить их значения ID, сделав их разными. Это требуется сделать для однозначной идентификации модуля в цепи устройств. Если в цепи окажется более одного Dynamixel-совместимого устройства с одинаковыми ID (например, модуль «Светодиод» со значением ID 9 и сервопривод DYNAMIXEL cо значением ID 9), то возникнет ошибка при обмене данными, что может привести к полной неработоспособности устройств, находящихся в ней.
Процесс изменения значения ID полностью аналогичен процедуре изменения скорости обмена данными модуля, за исключением того, что командой «write» необходимо вносить изменения не в 4, а в 3й регистр. Таким образом, пример команды для изменения значения ID модуля
«Светодиод» (по умолчанию, значение ID составляет 9) на «10» выглядит следующим образом:
write 9 3 10
где «9» – текущий ID модуля «Светодиод», «3» – номер регистра, содержащий информацию об ID, и «10» – новое значение ID.
После подобного изменения в цепь можно подключать два модуля
«Светодиод», у одного из которых значение ID будет 9, а у другого – ID 10.
Center-nav