Технический форум по робототехнике.
pashteet » 06 окт 2010, 10:46
я за как у ардуино

=DeaD= » 06 окт 2010, 10:59
pashteet писал(а):я за как у
Я извинясь, это за какую именно "как у"?

Вы что имеете в виду, у ардуино как?
pashteet » 06 окт 2010, 11:17

былобы хорошо порты как у ардуино обозвать порты: цифровые D1 D2 D3 D4 и т.д., аналоговые А1 А2 А3 и т.д., сервы S1 S2 S3 и т.д.
в этом случае запрос имел бы вид S1 <положение> <скорость> D1 <вход/выход> <1/0> A1 <Напряжение> <Битность>
=DeaD= » 06 окт 2010, 11:24
1. Это не стыкуется с тем, как сейчас подписаны порты на 100 уже произведенных контроллерах.
2. Это не очень удобно потом для портирования на другие контроллеры.
И для серво уже будут команды совместимые с SSC-32
Добавлено спустя 2 минуты 36 секунд:
В целом можно указать более точно чего хочется или что не устраивает в предложенных выше командах? Битность нельзя менять на каждом порту отдельно, она на весь АЦП.
Grem » 06 окт 2010, 11:44
Лучше убрать нафиг шестнадцатеричный формат чисел из команд.
S40 02 05DC P
на
S40 02 1500 P
pashteet » 06 окт 2010, 11:50
Меня все устраивает

Я и со старыми командами несильно обламываюсь

Но чем проще будет тем лучше
Добавлено спустя 2 минуты 19 секунд:Про шеснадцатиричные числа очень хорошее замечание, я не могу без калькулятора в уме быстро переводить нужные числа, это сильно затрудняет формирование команд
=DeaD= » 06 окт 2010, 12:02
Grem писал(а):Лучше убрать нафиг шестнадцатеричный формат чисел из команд.
S40 02 05DC P
на
S40 02 1500 P
Принципиально нельзя, т.к. это сильно отклонит протокол от i2c, потому что тут каждые 2 байта отправляются как 1 байт в 16-чном виде в шину i2c, а если как вы написали - надо будет сначала всё дочитать до конца, потом понять что это и зачем, и только потом высылать.
Добавлено спустя 46 секунд:pashteet писал(а):Про шеснадцатиричные числа очень хорошее замечание, я не могу без калькулятора в уме быстро переводить нужные числа, это сильно затрудняет формирование команд
Скоро забудете их как страшный сон если не надо будет юзать i2c-девайсы

Я уже почти дописал новые парсеры. Серво уже работает, цифровой ввод-вывод тоже, АЦП добиваю и еще моторы сделаю.
pashteet » 06 окт 2010, 12:19
дык я итак особо не заморачиваюсь, пока работа не дает "играться в роботов", а так я ORFA-терминал юзаю, там нет шестнадцатиричных чисел
=DeaD= » 06 окт 2010, 23:18
Ну всё, первая версия более-менее рабочая и протестированная под OR-AVR-M128-S готова, выложена в репо, в ветке new_parser, правда АЦП малость фигню выдаёт при работе в 8-битном режиме, но по дефолту включены 10 бит и вроде всё работает. Реализована команда управления сервами + побитовая работа с портами + АЦП. Дальше делаем команды для движком + добиваем АЦП на 8 битах и можно будет первый этап считать завершенным, дальше отладка.
Vooon » 07 окт 2010, 10:14
На -DS тоже работает.
=DeaD= » 07 окт 2010, 11:16
Для -DS пока команд управления движком нету

а так - да, должно работать.
=DeaD= » 08 окт 2010, 22:20
Собрал и протестировал прошивки под M128-S и M128-DS, скомплировал, вот архив сразу с AVRDUDE и BAT-файлами обновления прошивок, надо только COM-порт поменять внутри и в названии BAT-файла желательно. Исходники как обычно в репо, в ветке new_parser.
- Вложения
-
ORFA-firmware.zip
- (159.75 КиБ) Скачиваний: 0
=DeaD= » 11 окт 2010, 19:10
1) Команды для работы с сервами вида #0 P1600 #1 P1300 T4000<cr> - установить серву 0 в 1600, серву 1 в 1300, сделать это за 4000мс.
2) Команда для выбора режима работы порта PinModeF0=(In|Out|ADC) (тут пример для порта F линии 0)
3) Команда вывода в порт (не работает если он АЦП, работает как включение подтяжки если In) PinSetF0=1
4) Команда чтения значения из порта PinGetF0
5) Команда выбора разрешения в битах для АЦП AdcBits=(8|10)
6) Команда выбора источника опорного напряжения для АЦП AdcRef=(Int|Ext|AVCC)
7) Команда управления дифференциальным шасси DrvLR=-50,50 (тут -50 - левый движок на 50% назад, 50 - правый движок на 50% вперед)
Grem » 11 окт 2010, 19:51

теперь Вам писать ман по новому парсеру с
блекджеком примерами.
=DeaD= » 11 окт 2010, 22:53