Серво – контроллер 16
|
|
Serg | Дата: Суббота, 19.01.2013, 02:52 | Сообщение # 1 |
Ампер
Группа: Модераторы
Сообщений: 510
Репутация: 28
Статус: Offline
| Рассмотрим Серво – контроллер 16, который позволяет с легкостью управлять 16 серводвигателями по 1 проводу. Это существенная экономия портов Arduino. Купить контроллер можно здесь. Модуль может управляться от компьютера через USB порт специальной программой, либо радиомодулем с интерфейсом UART, либо любой платой Arduino на скорости 9600, 19200, 38400, 57600, 115200. В модуле присутствуют пара 12-ти битных АЦП. На их основе можно реализовать чувствительные сенсоры робота. Есть модификации модуля на 24 и 32 порта, которые позволяют собрать очень сложного робота. Можно управлять как отдельным серводвигателем, так и группой. Разъемы S1-S16 предназначены для подключения 16 двигателей. Имеются также S17- S24, но в этой версии модуля эти выводы работать не хотят. RXD- прием команды, TXD- передача данных от АЦП. Передаваемое значение 0-4096 (0000-03FF), максимальное напряжение на входе АЦП- 3,3 Вольт. Разъем VSS предназначен для питания микроконтроллера. Допустимый диапазон от 6 до 12 Вольт.
Теперь пробуем управлять двумя серводвигатеями типа SG90 и S3003. Один двигатель подключаем к разъему S1, другой к S12 Соединяем вывод TX Arduino c выводом RXD модуля
Пишем такой код: Код void setup() { // устанавливаем скорость Serial.begin(9600); }
void loop() { // двигатель имеет крайние положения 500 и 2500 move(1, 700, 100); //двигатель с контакта S1 устанавливаем в положение 700 за 100 миллисекунд move(12, 600, 100); //двигатель с контакта S12 устанавливаем в положение 600 за 100 миллисекунд move(1, 1700, 100); //двигатель с контакта S12 устанавливаем в положение 1700 за 100 миллисекунд move(12, 1800, 100); //двигатель с контакта S12 устанавливаем в положение 1800 за 100 миллисекунд }
void move(int servo, int position, int time) { //фунция управления положением Serial.print("#"); // эти 6 строк выводят в UART команду в виде #1P700T100 Serial.print(servo); Serial.print("P"); Serial.print(position); Serial.print("T"); Serial.println(time); delay(time); }
Видео работы:
|
|
| |
Serg | Дата: Суббота, 19.01.2013, 03:17 | Сообщение # 2 |
Ампер
Группа: Модераторы
Сообщений: 510
Репутация: 28
Статус: Offline
| Также модуль можно настраивать с помощью специальной программы. Нс скринах видно, как с помошью мыши можно запрограммировать движения руки-манипулятора. Не забываем после каждого изменения положения манипулятора нажимать кнопку "ADD" в программе. Этой кнопкой мы запоминаем положения всех двигателей в общий список команд. Затем эти команды можно записать в Arduino. Либо это список команд можно записать во внутреннюю память модуля, нажав кнопку "Download". В этом случае можно обойтись без Arduino и получить совершенно автономного робота. Драйвера для Windows XP, Windows 7 и программу управления можно скачать по ссылкам №1 №2 №3 №4
|
|
| |
Serg | Дата: Суббота, 19.01.2013, 20:32 | Сообщение # 3 |
Ампер
Группа: Модераторы
Сообщений: 510
Репутация: 28
Статус: Offline
| Еще один пример кода. От предыдущего отличается тем, что управление двигателями происходит не по очереди, а одновременно.
Код void setup() { // устанавливаем более высокую скорость скорость Serial.begin(115200); }
void loop() { // двигатель имеет крайние положения 500 и 2500 Serial.print("#1P1500T100#12P2500T100"); Serial.print("#1P500T100#12P500T100"); Serial.print("#1P1500T100#12P2500T100"); Serial.print("#1P500T100#12P500T100");
}
|
|
| |
cmept-27 | Дата: Суббота, 27.04.2013, 13:14 | Сообщение # 4 |
3.5 Вольт
Группа: Пользователи
Сообщений: 17
Репутация: 0
Статус: Offline
| А как работать с датчиками на этой плате ?
|
|
| |
Serg | Дата: Суббота, 27.04.2013, 13:20 | Сообщение # 5 |
Ампер
Группа: Модераторы
Сообщений: 510
Репутация: 28
Статус: Offline
| Никак. На этой плате нет датчиков. По крайней мере, я их не находил.
|
|
| |
cmept-27 | Дата: Суббота, 27.04.2013, 13:34 | Сообщение # 6 |
3.5 Вольт
Группа: Пользователи
Сообщений: 17
Репутация: 0
Статус: Offline
| Там есть два входа для для аналоговых датчиков ))) Добавлено (27.04.2013, 13:34) --------------------------------------------- AD1 и AD2
|
|
| |
Serg | Дата: Суббота, 27.04.2013, 13:54 | Сообщение # 7 |
Ампер
Группа: Модераторы
Сообщений: 510
Репутация: 28
Статус: Offline
| Со встроенными АЦП я не работал, не было необходимости. На плате Arduino своих АЦП достаточно, зачем еще дополнительные? Паук будет без Arduino?
|
|
| |
cmept-27 | Дата: Суббота, 27.04.2013, 13:57 | Сообщение # 8 |
3.5 Вольт
Группа: Пользователи
Сообщений: 17
Репутация: 0
Статус: Offline
| Есть команды запроса из Arduino
Сообщение отредактировал cmept-27 - Суббота, 27.04.2013, 13:57 |
|
| |
Serg | Дата: Суббота, 27.04.2013, 14:00 | Сообщение # 9 |
Ампер
Группа: Модераторы
Сообщений: 510
Репутация: 28
Статус: Offline
| Я только завтра смогу почитать описание команд на этот контроллер.
|
|
| |
cmept-27 | Дата: Понедельник, 29.04.2013, 14:12 | Сообщение # 10 |
3.5 Вольт
Группа: Пользователи
Сообщений: 17
Репутация: 0
Статус: Offline
| Хорошо. Просто интересно. Я знаю что есть. Но не могу найти мануал полный. А на ихнем сайте не все команды ((( Добавлено (27.04.2013, 14:05) --------------------------------------------- А раньше видел описание опроса датчиков Добавлено (29.04.2013, 14:12) --------------------------------------------- Read the 2 analog input voltage
#UPAD1\n\r Read AD1 port voltage #UPAD2\n\r Read AD2 port voltage
Return 2-byte hexadecimal number (with precision 12bit 0V~3.3V) Returned data range :0000~03ff (decimal numbers 0~4096)
|
|
| |
Maks | Дата: Понедельник, 24.06.2013, 16:21 | Сообщение # 11 |
1.5 Вольт
Группа: Пользователи
Сообщений: 3
Репутация: 0
Статус: Offline
| Цитата (Serg) Этой кнопкой мы запоминаем положения всех двигателей в общий список команд. Затем эти команды можно записать в Arduino. Либо это список команд можно записать во внутреннюю память модуля, нажав кнопку "Download". В этом случае можно обойтись без Arduino и получить совершенно автономного робота. А можно поподробнее как записать в Arduino. И после нажатия кнопки "Download" как плата будет отрабатывать,она пройдет цикл команд и остановится,или же цикл будет повторяться. Как я понял после загрузки команды будут из собственной памяти,для этого наверно надо подать еще и питание на USS. Пробовал загрузить и питать от USB - ни чего не происходит,плата друга. Хочу заказать себе такую же,поэтому и назрели вопросы.
|
|
| |
Serg | Дата: Понедельник, 24.06.2013, 18:07 | Сообщение # 12 |
Ампер
Группа: Модераторы
Сообщений: 510
Репутация: 28
Статус: Offline
| "Копировать-вставить" в скетч Arduino. Цикл будет бесконечный. Питание нужно подать, так как у платы 2 разъема питания. Один для микроконтроллера, другой силовой, для двигателей.
|
|
| |
Maks | Дата: Понедельник, 24.06.2013, 18:28 | Сообщение # 13 |
1.5 Вольт
Группа: Пользователи
Сообщений: 3
Репутация: 0
Статус: Offline
| Цитата (Serg) "Копировать-вставить" в скетч Arduino. Так в том то и дело что не найду такой функции.Выделяю все шаги и есть варианты Delet , Run , Cucle Run , Add и Clear ActionList Или она появится только при подключении Arduino Вроде получилось через Exsport сохранить в блокноте,а с него надо копировать в Arduino ?
Сообщение отредактировал Maks - Понедельник, 24.06.2013, 18:32 |
|
| |
Serg | Дата: Понедельник, 24.06.2013, 22:26 | Сообщение # 14 |
Ампер
Группа: Модераторы
Сообщений: 510
Репутация: 28
Статус: Offline
| Экспорт в Блокнот- это конечно неплохой вариант. Единственный!
|
|
| |
Maks | Дата: Понедельник, 24.06.2013, 22:53 | Сообщение # 15 |
1.5 Вольт
Группа: Пользователи
Сообщений: 3
Репутация: 0
Статус: Offline
| Тогда делаем большой список сериал принт и копируем с блокнота
Сообщение отредактировал Maks - Понедельник, 24.06.2013, 23:09 |
|
| |
Serg | Дата: Понедельник, 24.06.2013, 22:59 | Сообщение # 16 |
Ампер
Группа: Модераторы
Сообщений: 510
Репутация: 28
Статус: Offline
| Ну ничего страшного. Главное, что работает!
|
|
| |
IL76 | Дата: Среда, 28.01.2015, 22:14 | Сообщение # 17 |
3.5 Вольт
Группа: Пользователи
Сообщений: 12
Репутация: 0
Статус: Offline
| Здравствуйте. Спасибо за статью и описание. как работать с этим серво контроллером. У меня только вопрос. Есть разные сервы одни потребляют при нагрузке ток до 1 ампера. другие могут потреблять 11 ампер. Как узнать сколько и каких я могу подключить серв в этот контроллер? Какой ток выдержит этот контроллер?
|
|
| |
Serg | Дата: Пятница, 30.01.2015, 09:02 | Сообщение # 18 |
Ампер
Группа: Модераторы
Сообщений: 510
Репутация: 28
Статус: Offline
| Конечно, 16 серв по 11 Ампер -это уж слишком. Навряд ли выдержит источник питания, не говоря уже об этой платке. Но если подвести питания непосредственно на моторы, минуя плату, то вполне будет работать.
|
|
| |
Sutsuko | Дата: Среда, 25.02.2015, 18:07 | Сообщение # 19 |
5 Вольт
Группа: Пользователи
Сообщений: 42
Репутация: 0
Статус: Offline
| Цитата Serg ( ) Либо это список команд можно записать во внутреннюю память модуля, нажав кнопку "Download". В этом случае можно обойтись без Arduino и получить совершенно автономного робота. В этом случае, я так понял, сервы будут работать постоянно....? Можно сделать так что бы они срабатывали только по команде от Arduino, но при этом что бы программный код был прописан в это контроллер, а не в Arduino...???
|
|
| |
Serg | Дата: Четверг, 26.02.2015, 21:33 | Сообщение # 20 |
Ампер
Группа: Модераторы
Сообщений: 510
Репутация: 28
Статус: Offline
| Навряд ли...
|
|
| |
Sutsuko | Дата: Понедельник, 02.03.2015, 17:17 | Сообщение # 21 |
5 Вольт
Группа: Пользователи
Сообщений: 42
Репутация: 0
Статус: Offline
| Тогда второй вопрос. Есть ли в продаже серво контроллер для двух серв....?
|
|
| |
Serg | Дата: Понедельник, 02.03.2015, 20:03 | Сообщение # 22 |
Ампер
Группа: Модераторы
Сообщений: 510
Репутация: 28
Статус: Offline
| http://dvrobot.ru/240/868.html http://dvrobot.ru/237/150.html
|
|
| |
Sutsuko | Дата: Вторник, 03.03.2015, 08:10 | Сообщение # 23 |
5 Вольт
Группа: Пользователи
Сообщений: 42
Репутация: 0
Статус: Offline
| Цитата Serg ( ) http://dvrobot.ru/240/868.html http://dvrobot.ru/237/150.html Это вы кому....???
|
|
| |
Serg | Дата: Вторник, 03.03.2015, 20:38 | Сообщение # 24 |
Ампер
Группа: Модераторы
Сообщений: 510
Репутация: 28
Статус: Offline
| это контроллеры для двух серв и более
|
|
| |
Sutsuko | Дата: Среда, 04.03.2015, 18:28 | Сообщение # 25 |
5 Вольт
Группа: Пользователи
Сообщений: 42
Репутация: 0
Статус: Offline
| Цитата Serg ( ) это контроллеры для двух серв и более Там ссылка на серво-тестер и Arduino mini....
|
|
| |
Serg | Дата: Среда, 04.03.2015, 21:16 | Сообщение # 26 |
Ампер
Группа: Модераторы
Сообщений: 510
Репутация: 28
Статус: Offline
| Им вполне под силу контролировать сервомотор.
|
|
| |
Sutsuko | Дата: Пятница, 06.03.2015, 07:04 | Сообщение # 27 |
5 Вольт
Группа: Пользователи
Сообщений: 42
Репутация: 0
Статус: Offline
| Цитата Sutsuko ( ) Есть ли в продаже серво контроллер для двух серв....? Я имел ввиду такой же щит только на два серво-привода и размерами поменьше...
|
|
| |