roboforum.ru

Технический форум по робототехнике.

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

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

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

Сообщение =DeaD= » 24 апр 2010, 18:04

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

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

Сообщение milkpower » 24 апр 2010, 18:35

да это из него.

а вот что генерит экселевский секвенсер, вырезано из порт монитора:

Код: Выделить всёРазвернуть
 23 32 34 20 50 31 35 34 39 23 32 35 20 50 31 36   #24 P1549#25 P16
37 37 23 32 36 20 50 31 38 33 30 23 32 30 20 50   77#26 P1830#20 P
31 34 38 39 23 32 31 20 50 31 36 31 34 23 32 32   1489#21 P1614#22
20 50 31 38 30 33 23 31 36 20 50 31 34 34 33 23    P1803#16 P1443#
31 37 20 50 31 36 32 39 23 31 38 20 50 31 37 38   17 P1629#18 P178
37 23 38 20 50 31 35 38 33 23 39 20 50 31 32 39   7#8 P1583#9 P129
33 23 31 30 20 50 31 31 38 31 23 34 20 50 31 34   3#10 P1181#4 P14
37 33 23 35 20 50 31 33 31 36 23 36 20 50 31 32   73#5 P1316#6 P12
31 34 23 30 20 50 31 34 39 39 23 31 20 50 31 33   14#0 P1499#1 P13
31 35 23 32 20 50 31 31 34 31 54 32 30 30 20 0D   15#2 P1141T200 .


при этом если такой пакет ввести в lynxterm, выдает ERROR 02 на ".", а точка генерится внутри макроса в VB экселя.
и еще обнаружил такой момент, если в макросах написать команды, они не работают, т.е. контроллер вообще молчит, при этом ручной ввод нормально работает.

Добавлено спустя 4 минуты 35 секунд:
уточню, в макросах последняя команда работает, остальные пропускаются
Аватара пользователя
milkpower
 
Сообщения: 217
Зарегистрирован: 25 мар 2009, 13:57
Откуда: Ростов-на-Дону
ФИО: Виктор

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

Сообщение =DeaD= » 24 апр 2010, 18:42

milkpower писал(а):при этом если такой пакет ввести в lynxterm, выдает ERROR 02 на ".", а точка генерится внутри макроса в VB экселя.

Это не точка, это <cr> aka "\n", т.е. перевод строки. Просто его отрисовывает так программа сниффер, как точку.

milkpower писал(а):и еще обнаружил такой момент, если в макросах написать команды, они не работают, т.е. контроллер вообще молчит, при этом ручной ввод нормально работает.

Добавлено спустя 4 минуты 35 секунд:
уточню, в макросах последняя команда работает, остальные пропускаются

Ну да, я и говорю - я так пока сделал, т.к. в документации к SSC-32 нет никакой информации как работает предыдущая команда, если дали новую, из чего я видимо сделал ошибочный вывод - никак :)
я ранее писал(а):новая команда прерывает предыдущие и оставляет другие сервы там, где они были


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

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

Сообщение milkpower » 24 апр 2010, 18:58

Просто его отрисовывает так программа сниффер, как точку.

да, правильно, в макросе последняя строчка
"T" & SSCTIME & " " + Chr$(13)


экселевский секвенсер работает, но там есть некоторые специфичные моменты, сервы на правой стороне хекса должны быть в реверсе, там есть даже строчка об этом:
Attention! The servos at the right side must be calibrated reversed in SEQ SSC32 configuration!
а учитывая что HTX сервы работают как Futaba и они реверсны к сервам Hitec, а SSC-32 в нормальном режиме = Hitec.
т.е. надо делать настройки по режимам работы серв, и, может хранить их во флеш памяти меги? редактировать пока из программатора.
ну и учитывая, что поток команд не обрабатывается, то при изменении положения серв в секвенсере, он дергает парой серв, и раскорячившись, успокаивается
Аватара пользователя
milkpower
 
Сообщения: 217
Зарегистрирован: 25 мар 2009, 13:57
Откуда: Ростов-на-Дону
ФИО: Виктор

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

Сообщение =DeaD= » 24 апр 2010, 19:04

milkpower писал(а):да, правильно, в макросе последняя строчка
"T" & SSCTIME & " " + Chr$(13)

Т.е. тут всё ок, ничего чинить не надо? :)

milkpower писал(а):экселевский секвенсер работает, но там есть некоторые специфичные моменты, сервы на правой стороне хекса должны быть в реверсе, там есть даже строчка об этом:
Attention! The servos at the right side must be calibrated reversed in SEQ SSC32 configuration!
а учитывая что HTX сервы работают как Futaba и они реверсны к сервам Hitec, а SSC-32 в нормальном режиме = Hitec.
т.е. надо делать настройки по режимам работы серв, и, может хранить их во флеш памяти меги? редактировать пока из программатора.

В общем надо программную настройку с сохранением во EEPROM инвертирования серв и их калибровки, так?

milkpower писал(а):ну и учитывая, что поток команд не обрабатывается, то при изменении положения серв в секвенсере, он дергает парой серв, и раскорячившись, успокаивается

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

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

Сообщение milkpower » 24 апр 2010, 19:12

Т.е. тут всё ок, ничего чинить не надо?

там все норм! :)
В общем надо программную настройку с сохранением во EEPROM инвертирования серв и их калибровки, так?

Да, и в EEPROM'е если чего можно и ручками поправить.

Т.е. экселевский секвенсор юзает серии команд вместо единой команды?

Да, команды идут пачками, причем после номера сервы '#xx' стоит пробел и дальше 'Pxxxx', между командами стоит 0D 0A, т.е. возврат строки, перевод строки.
Аватара пользователя
milkpower
 
Сообщения: 217
Зарегистрирован: 25 мар 2009, 13:57
Откуда: Ростов-на-Дону
ФИО: Виктор

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

Сообщение =DeaD= » 24 апр 2010, 19:37

Погоди, не понял, выше ты приводил из секвенсора вроде вот такое:
Код: Выделить всёРазвернуть
23 32 34 20 50 31 35 34 39 23 32 35 20 50 31 36   #24 P1549#25 P16
37 37 23 32 36 20 50 31 38 33 30 23 32 30 20 50   77#26 P1830#20 P
31 34 38 39 23 32 31 20 50 31 36 31 34 23 32 32   1489#21 P1614#22
20 50 31 38 30 33 23 31 36 20 50 31 34 34 33 23    P1803#16 P1443#
31 37 20 50 31 36 32 39 23 31 38 20 50 31 37 38   17 P1629#18 P178
37 23 38 20 50 31 35 38 33 23 39 20 50 31 32 39   7#8 P1583#9 P129
33 23 31 30 20 50 31 31 38 31 23 34 20 50 31 34   3#10 P1181#4 P14
37 33 23 35 20 50 31 33 31 36 23 36 20 50 31 32   73#5 P1316#6 P12
31 34 23 30 20 50 31 34 39 39 23 31 20 50 31 33   14#0 P1499#1 P13
31 35 23 32 20 50 31 31 34 31 54 32 30 30 20 0D   15#2 P1141T200 .


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

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

Сообщение milkpower » 24 апр 2010, 21:38

Код: Выделить всёРазвернуть
#24P1549..#27P16
37 37 0D 0A 23 32 36 50 31 38 33 30 0D 0A 23 32   77..#26P1830..#2
30 50 31 34 38 39 0D 0A 23 32 31 50 31 36 31 34   0P1489..#21P1614
0D 0A 23 32 32 50 31 38 30 33 0D 0A 23 31 36 50   ..#22P1803..#16P
31 34 34 33 0D 0A 23 31 37 50 31 36 32 39 0D 0A   1443..#17P1629..
23 31 38 50 31 37 38 33 0D 0A 23 31 30 50 31 31   #18P1783..#10P11
38 31 0D 0A 23 34 50 31 34 37 33 0D 0A 23 35 50   81..#4P1473..#5P
31 33 31 36 0D 0A 23 36 50 31 32 31 34 0D 0A 23   1316..#6P1214..#
30 50 31 34 39 39 0D 0A 23 31 50 31 33 31 35 0D   0P1499..#1P1315.
0A 23 32 50 31 31 34 31 0D 0A 0D 0A 23 32 34 50   .#2P1141....#24P
31 35 34 39 0D 0A 23 32 37 50 31 36 37 37 0D 0A   1549..#27P1677..
23 32 36 50 31 38 33 30 0D 0A 23 32 30 50 31 34   #26P1830..#20P14
38 39 0D 0A 23 32 31 50 31 36 31 34 0D 0A 23 32   89..#21P1614..#2
32 50 31 38 30 33 0D 0A 23 31 36 50 31 34 34 33   2P1803..#16P1443
0D 0A 23 31 37 50 31 36 32 39 0D 0A 23 31 38 50   ..#17P1629..#18P
31 37 38 33 0D 0A 23 31 30 50 31 31 38 31 0D 0A   1783..#10P1181..
23 34 50 31 34 37 33 0D 0A 23 35 50 31 33 31 36   #4P1473..#5P1316
0D 0A 23 36 50 31 32 31 34 0D 0A 23 30 50 31 34   ..#6P1214..#0P14
39 39 0D 0A 23 31 50 31 33 31 35 0D 0A 23 32 50   99..#1P1315..#2P
31 31 34 31 0D 0A 0D 0A 23 32 34 50 31 35 34 39   1141....#24P1549
0D 0A 23 32 37 50 31 36 37 37 0D 0A 23 32 36 50   ..#27P1677..#26P
31 38 33 30 0D 0A 23 32 30 50 31 34 38 39 0D 0A   1830..#20P1489..
23 32 31 50 31 36 31 34 0D 0A 23 32 32 50 31 38   #21P1614..#22P18
30 33 0D 0A 23 31 36 50 31 34 34 33 0D 0A 23 31   03..#16P1443..#1
37 50 31 36 32 39 0D 0A 23 31 38 50 31 37 38 33   7P1629..#18P1783
0D 0A 23 31 30 50 31 31 38 31 0D 0A 23 34 50 31   ..#10P1181..#4P1
34 37 33 0D 0A 23 35 50 31 33 31 36 0D 0A 23 36   473..#5P1316..#6
50 31 32 31 34 0D 0A 23 30 50 31 34 39 39 0D 0A   P1214..#0P1499..
23 31 50 31 33 31 35 0D 0A 23 32 50 31 31 34 31   #1P1315..#2P1141
0D 0A 0D 0A 23 32 34 20 50 31 35 34 39 0D 0A 23   ....#24 P1549..#
32 37 20 50 31 36 37 37 0D 0A 23 32 36 20 50 31   27 P1677..#26 P1
38 33 30 0D 0A 23 32 30 20 50 31 34 38 39 0D 0A   830..#20 P1489..
23 32 31 20 50 31 36 31 34 0D 0A 23 32 32 20 50   #21 P1614..#22 P
31 38 30 33 0D 0A 23 31 36 20 50 31 34 34 33 0D   1803..#16 P1443.
0A 23 31 37 20 50 31 36 32 39 0D 0A 23 31 38 20   .#17 P1629..#18
50 31 37 38 33 0D 0A 23 31 30 20 50 31 31 38 31   P1783..#10 P1181
0D 0A 23 34 20 50 31 34 37 33 0D 0A 23 35 20 50   ..#4 P1473..#5 P
31 33 31 36 0D 0A 23 36 20 50 31 32 31 34 0D 0A   1316..#6 P1214..
23 30 20 50 31 34 39 39 0D 0A 23 31 20 50 31 33   #0 P1499..#1 P13
31 35 0D 0A 23 32 20 50 31 31 34 31 0D 0A 23 32   15..#2 P1141..#2
34 20 50 31 35 34 39 0D 0A 23 32 37 20 50 31 36   4 P1549..#27 P16
37 37 0D 0A 23 32 36 20 50 31 38 33 30 0D 0A 23   77..#26 P1830..#
32 30 20 50 31 34 38 39 0D 0A 23 32 31 20 50 31   20 P1489..#21 P1
36 31 34 0D 0A 23 32 32 20 50 31 38 30 33 0D 0A   614..#22 P1803..
23 31 36 20 50 31 34 34 33 0D 0A 23 31 37 20 50   #16 P1443..#17 P
31 36 32 39 0D 0A 23 31 38 20 50 31 37 38 33 0D   1629..#18 P1783.
0A 23 31 30 20 50 31 31 38 31 0D 0A 23 34 20 50   .#10 P1181..#4 P
31 34 37 33 0D 0A 23 35 20 50 31 33 31 36 0D 0A   1473..#5 P1316..
23 36 20 50 31 32 31 34 0D 0A 23 30 20 50 31 34   #6 P1214..#0 P14
39 39 0D 0A 23 31 20 50 31 33 31 35 0D 0A 23 32   99..#1 P1315..#2
20 50 31 31 34 31 0D 0A                            P1141..


вот еще кусок посылки, после команды стоит 0D 0A
Аватара пользователя
milkpower
 
Сообщения: 217
Зарегистрирован: 25 мар 2009, 13:57
Откуда: Ростов-на-Дону
ФИО: Виктор

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

Сообщение =DeaD= » 24 апр 2010, 22:34

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

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

Сообщение avr123.nm.ru » 24 апр 2010, 23:07

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

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

Сообщение milkpower » 24 апр 2010, 23:16

думаю, что на символы типа 0D 0A можно забить, а вот последовательность команд реализовывать в буфер FILO, и потом сразу пачкой вставлять новые тайминги серв на следующем прерывании
Аватара пользователя
milkpower
 
Сообщения: 217
Зарегистрирован: 25 мар 2009, 13:57
Откуда: Ростов-на-Дону
ФИО: Виктор

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

Сообщение =DeaD= » 25 апр 2010, 08:11

milkpower писал(а):думаю, что на символы типа 0D 0A можно забить, а вот последовательность команд реализовывать в буфер FILO, и потом сразу пачкой вставлять новые тайминги серв на следующем прерывании

Как на 0D забить, если они означают конец команды? :)

Добавлено спустя 15 секунд:
avr123.nm.ru писал(а):ИМХО пора ривести название топика к действительному положению вещей - сосотоянию прошивки.

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

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

Сообщение milkpower » 25 апр 2010, 09:59

Как на 0D забить, если они означают конец команды?

0D не всегда может означать конец команды, потому как команда может состоять:
#0P1500#1P999#2P2000[CR]
и здесь конец команды это начало новой - знак'#'
Аватара пользователя
milkpower
 
Сообщения: 217
Зарегистрирован: 25 мар 2009, 13:57
Откуда: Ростов-на-Дону
ФИО: Виктор

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

Сообщение =DeaD= » 25 апр 2010, 10:42

Нифига, в инструкции http://www.lynxmotion.com/images/html/b ... tm#comtype сказано, например:

Servo Move Example: "#5 P1600 S750 <cr>"

The example will move the servo on channel 5 to position 1600. It will move from its current position at a rate of 750uS per second until it reaches its commanded destination. For a better understanding of the speed argument, consider that 1000uS of travel will result in around 90° of rotation. A speed value of 100uS per second means the servo will take 10 seconds to move 90°. Alternately, a speed value of 2000uS per second equates to 500mS (half a second) to move 90°.


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

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

Сообщение avr123.nm.ru » 25 апр 2010, 11:11

ИМХО - <cr> означает конец посылки ( пакета ) содержащей команды и конец последней команды.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Пред.След.

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

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

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