К основному контенту

Цифровой серво-привод K-POWER и Arduino

 Серво-привод нового поколения K-POWER с цифровым управлением по последовательной шине - настоящий прорыв в роботостроении! Максимальные для своего размера и класса характеристики и возможность подключения большого количества сервоприводов только одной шиной. Отличительная особенность цифровых серво-приводов - возможность не только задать положение вала но и наличие обратной связи по положению, текущему усилию удержания, напряжению питания, потребляемому току, температуре привода. Звучит неплохо но как заставить работать ?

    Сперва для проверки нужен TTL/USB адаптер для управления цифровым сервоприводом. И тут сразу выскакивает нюанс, желательно брать TTL/USB адаптер на 1000000 бод (и тут K-POWER такой и продает), поскольку на такой скорости работают серво.

    BusLinker не подойдет, хотя и можно сменить скорость работы серво на 115200 и тогда его использовать, но стабильность работы не гарантирую.
    Дальше качаем DYNAMIXEL Wizard 2.0 и тестируем. Там все просто, нажали скан, подключили и поехали. Но что делать, если управлять нужно с Arduino, а преобразователя нету?

И так что делать ?

1. Устанавливаем библиотеку

2. Подключаем серво к Arduino по схеме:
    GND ---> GND   
    VDD ---> VDD
    DATA ---> Tx pin of Arduino

3. Загружаем код 

#include <AX12A.h>
#define DirectionPin  (10u) 
#define BaudRate    (1000000ul) 
#define ID    (1u) 

void setup() { 
   ax12a.begin(BaudRate, DirectionPin, &Serial); 
   ax12a.setEndless(ID, ON); 

void loop() { 
    ax12a.ledStatus(ID, ON); 
    ax12a.turn(ID, LEFT, 100); 
    delay(5000); ax12a.ledStatus(ID, OFF); 
    ax12a.turn(ID, RIGHT, 500); 
    delay(5000); 
}

Вуаля, все работает!)

Комментарии

Популярные сообщения из этого блога

ATtiny88 программируем в Arduino IDE

    Платы с микроконтроллером ATMEL ATtiny88 не содержат микросхему USB-UART, в микроконтроллере ATtiny88 нет аппаратного USB порта, поэтому загрузчик симулирует USB порт.     Платы с микроконтроллером ATMEL ATtiny88 не содержат микросхему USB-UART, в микроконтроллере ATtiny88 нет аппаратного USB порта, поэтому загрузчик симулирует USB порт.     Arduino IDE официально не поддерживает микроконтроллеры ATtiny. Поэтому, прежде чем использовать платы HW-Tiny, MH-Tiny с микроконтроллером ATMEL ATtiny88 (t88) в среде программирования Arduino необходимо через менеджер плат загрузить ATTinyCore – ядро для поддержки этих плат и микроконтроллеров ATtiny.     Я программирую платы с м-к ATtiny с правами root, поэтому запускаю Arduino IDE командой sudo arduino.     В Arduino IDE в меню файл откройте настройки и добавьте дополнительную ссылку для менеджера плат http://drazzy.com/package_drazzy.com_index.json     Теперь в списке плат Инструменты/Плата/ появится семейство плат ATTinyCore! Выбираем ATt

ESP32: не работает analogRead

     У платы ESP32 есть несколько аналоговых входов с АЦП что позволяет представить аналоговое напряжение в цифровом виде с разрядностью 12 бит.      Для получения показаний достаточно вызвать функцию analogRead(GPIO), указав нужный пин. При этом мы считываем уровень напряжения от 0В до 3.3В, которые распределяются от 0 до 4095.     Но иногда, при включении  WiFi  аналоговое чтение перестает работать, вместе з ним нужно использовать только  пины 32, 33, 34, 35, 36, 39. Остальные могут вызвать проблемы.