Прошивка OR-AVR-M128-S совместимая с SSC-32 по командам

Правила форума
Правила раздела OpenRobotics

Прошивка OR-AVR-M128-S совместимая с SSC-32 по командам

Сообщение =DeaD= » 13 ноя 2009, 22:29

===============================================================================================================
Текущие результаты:
===============================================================================================================
Разработана прошивка ORC-32 для контроллера OR-AVR-M128-S совместимая по основным командам с SSC-32 которая с адаптированным Phoenix Excel Program (PEP) позволяет управлять шестиногом.

Видео одного из последних результатов от milkpower:


Видео одного из моих последних результатов:


Файл прошивки: download/file.php?id=15770

Чего адаптировать в PEP:
1. убрать все подстроки "3000 -" и вроде всё - не надо больше ничего инвертировать
Это всё в функции CalculateAllPWM()

2. для нормальной работы "Play Sequence" поправить функцию WaitForSSCReady(), а именно - проверку на ответ "." - было строгое сравнение с ".", а я сделал поиск подстроки заменив в последней строки тела функции
If strData<>"." Then GoTo SSCWait
на
If InStr(strData, ".") = 0 Then GoTo SSCWait

Где взять PEP: http://www.lynxmotion.com/images/html/proj098.htm

Еще есть LynxTerm, там работает прямое управление сервами и макросы, скачать его можно тут: http://www.lynxmotion.com/Product.aspx?productID=567

===============================================================================================================
Исходный первый пост темы:
===============================================================================================================

Итак приступим!

Дока по SSC-32 по командам: http://www.lynxmotion.com/images/html/b ... tm#comtype

Репо проекта будет тут: http://hg.vehq.ru/orc-32/

Общий порядок действий:

1. Берем ORFA;
2. Оставляем инициализацию;
3. Отрезаем обработку команд;
4. Вешаем таймер (срабатывание каждые 20мс), который будет обеспечивать движения с нужной скоростью;
5. Делаем структуру данных под обработку команд с заданной скоростью\временем выполнения;
6. Вешаем свой обработчик команд;
7. Работаем с сервами, вызывая
Код: Выделить всё
void s4017_set_position(uint8_t n, uint16_t pos)


Обрабатывать будем для начала только команды:
# <ch> P <pw> S <spd> ... # <ch> P <pw> S <spd> T <time> <cr>

- пачка команд на сервы, <ch> - Номер сервы, <pw> - положение в какое хотим встать, <spd> - с какой скоростью в него идём, <time> - за сколько это надо выполнить. Как я понял S и T одновременно не используют, при этом T надо только одно - оно будет действовать на все сервы в этой команде.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Прошивка OR-AVR-M128-S совместимая с SSC-32 по командам

Сообщение avr123.nm.ru » 13 ноя 2009, 22:40

Дергаться будут если раз в 20 мС делать
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Re: Прошивка OR-AVR-M128-S совместимая с SSC-32 по командам

Сообщение =DeaD= » 14 ноя 2009, 01:12

pw, spd, time - всё в мкс (uS)

Добавлено спустя 39 секунд:
avr123.nm.ru писал(а):Дергаться будут если раз в 20 мС делать

В каком смысле? Они же раз в 20мс получают входной сигнал вообще? ну можно сделать раз в 10мс, разница небольшая для контроллера.

Добавлено спустя 16 минут 56 секунд:
Поправка - парсер и исполнителя команд не убиваем, а переписываем. Ща структуру накидаю, в которую парсер команды будет складывать :)

Добавлено спустя 8 минут 48 секунд:
Структура в которую парсер будет складывать команды:

Для каждой сервы [0..31]:
[*] Целевое положение; (0, если не указывали)
[*] Максимальная скорость вращения; (0, если не указывали)

В целом по команде:
[*] Общее время на выполнение команды; (0, если не указывали)

Добавлено спустя 54 минуты 20 секунд:
Всё, завели репо под проект (см. первое сообщение), выложил первую версию, в ней пока итератор, который по таймеру будем вызывать, установка новой команды и проверка окончания предыдущей команды.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Прошивка OR-AVR-M128-S совместимая с SSC-32 по командам

Сообщение blindman » 14 ноя 2009, 03:25

avr123.nm.ru писал(а):Дергаться будут если раз в 20 мС делать

"У lynxmotion же ..." не дёргается.

Добавлено спустя 4 минуты 14 секунд:
=DeaD= писал(а):выложил первую версию, в ней пока итератор, который по таймеру будем вызывать, установка новой команды и проверка окончания предыдущей команды.

Гиде?

Добавлено спустя 1 минуту 57 секунд:
Я за то, чтобы не поддерживать 2 разных ветки, а сделать режим совместимости с SSC-32 опцией сборки ORFA
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Прошивка OR-AVR-M128-S совместимая с SSC-32 по командам

Сообщение =DeaD= » 14 ноя 2009, 20:17

Блин, а куда моё сообщение пропало :(

В общем первая версия выложена в репо, ссылка на который в начале 1 сообщения темы.

Сейчас там почти всё уже в черновом виде (парсер переписал), только надо таймер сделать который вызываться будет каждые 10мс и после этого надо будет всё тестировать и отлаживать. Еще ни разу не запускал :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Прошивка OR-AVR-M128-S совместимая с SSC-32 по командам

Сообщение =DeaD= » 16 ноя 2009, 00:20

Ну всё, альфа-версия работает, хавает команды типа # <ch> P <pw> S <spd> ... # <ch> P <pw> S <spd> T <time> <cr>
Исходный код выложен в репо (ссылка вверху).
Скомпилированная прошивка под модуль OR-AVR-M128-S прилагается (под скорость 115200)
Вложения
orc32-115200-version-alpha.zip
(8.7 КиБ) Скачиваний: 13
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Прошивка OR-AVR-M128-S совместимая с SSC-32 по командам

Сообщение =DeaD= » 16 ноя 2009, 23:46

Качнул Lynx SSC32 Terminal, понял, что пробелы необязательная часть команд, пофиксил парсер, теперь из терминала Уже работают команды "All=1500" и управление отдельными сервами :)

Дальше будем читать - какие команды обязательно еще надо поддерживать для управления шестиногами.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Прошивка OR-AVR-M128-S совместимая с SSC-32 по командам

Сообщение avr123.nm.ru » 16 ноя 2009, 23:59

=DeaD= писал(а):Исходный код выложен в репо (ссылка вверху).
У тебя не было возможности прицепить сюда архив с исходниками ? Интернет барахлил ? :D

ИМХО лучше комплект выкладывать - исходники и прошивку.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Re: Прошивка OR-AVR-M128-S совместимая с SSC-32 по командам

Сообщение =DeaD= » 17 ноя 2009, 00:19

Свежие исходники вроде всегда тут: http://hg.vehq.ru/orc-32/archive/tip.zip (ссылка .zip в репо)
А вот прошивку каждый раз выкладывать - ну был бы интерес, пока его не особо, вот проверю, что всё-всё-всё работает, тогда и выложу :) а пока по запросу.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Прошивка OR-AVR-M128-S совместимая с SSC-32 по командам

Сообщение setar » 17 ноя 2009, 11:37

выкладывание в репозитарий это более правильный путь
Аватара пользователя
setar
Site Admin
 
Сообщения: 10989
Зарегистрирован: 04 окт 2004, 12:58
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко

Re: Прошивка OR-AVR-M128-S совместимая с SSC-32 по командам

Сообщение Vooon » 17 ноя 2009, 11:52

Я бы сказал, что это более удобный путь :)
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

Re: Прошивка OR-AVR-M128-S совместимая с SSC-32 по командам

Сообщение =DeaD= » 18 ноя 2009, 00:12

Добавил поддержку команды VER, надо еще Position Offset как минимум поддержать, ну и может быть регистры, ща покопаюсь, чего там в основном используют с этим SSC-32, пойму какие команды надо. Но вроде для эксель-управлялки http://www.lynxmotion.com/images/html/proj098.htm, которую Gfer использовал в проекте viewtopic.php?p=116439#p116439 уже должно хватать команд.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Прошивка OR-AVR-M128-S совместимая с SSC-32 по командам

Сообщение =DeaD= » 27 ноя 2009, 10:36

Хм, никому не нужно? :)

Или тоже надо делать готовый проект от программирования до сборки? :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Прошивка OR-AVR-M128-S совместимая с SSC-32 по командам

Сообщение =DeaD= » 10 янв 2010, 18:47

Думаю есть смысл расширить прошивку ORC-32 и сделать её простой прошивкой для начинающих без наворотов ORFA с интроспекцией, которая разрывает новичкам мозг :).

Особенно это актуально становится, если учесть унификацию контроллеров которую мы собираемся произвести, отделив простой OR-duino и оставив в основной линейке: OR-AVR-M128-S и OR-AVR-M128-DS.

Учитывая наличие на выходе GPIO портов защитных резисторов можно смело сократить команды настройки портов и сразу давать команды типа:
1. Вывести в цифровой выход #5 высокий уровень.
2. Прочитать цифровой вход #3.
3. Прочитать аналоговый вход #0.

ну и конечно же команды управления сервами - их оставить с SSC-32.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Прошивка OR-AVR-M128-S совместимая с SSC-32 по командам

Сообщение R0Ver » 05 мар 2010, 16:07

так всё на альфа версии и остановилось?
Вертолёт - душа погибшего танка....
R0Ver
 
Сообщения: 151
Зарегистрирован: 10 фев 2010, 15:37
Откуда: Волгоград

След.

Вернуться в Разработка модулей

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13