roboforum.ru

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

Модуль OR-AVR-M128-DS: Контр. с расшир. подд. серв. и ДД

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

Модуль OR-AVR-M128-DS: Контр. с расшир. подд. серв. и ДД

=DeaD= » 04 мар 2010, 20:46

В этой теме будет обеспечена поддержка пользователей модуля.

Подробная информация по модулю на странице: [[OR-AVR-M128-DS]]

Все вопросы дальнейшей доработки модуля и почему были выбраны те или иные технические решения - в теме viewtopic.php?f=73&t=7351.

Re: Модуль OR-AVR-M128-DS: Контр. с расшир. подд. серв. и ДД

pashteet » 29 мар 2010, 21:16

Т.к. инструкции еще нет, буду задавать глупые вопросы :crazy:
Ребят, скажите плиз, для чего стоит джампер возле порта ДД (точнее с правого торца)?
Обязательно подключать питание ДД через средний разъем? Какое максимальное напряжение можно подавать на средний разъем ДД?

Re: Модуль OR-AVR-M128-DS: Контр. с расшир. подд. серв. и ДД

pashteet » 29 мар 2010, 21:56

Все, разобрался, джампер позволяет запитывать ДД от разъема питаня серв

Re: Модуль OR-AVR-M128-DS: Контр. с расшир. подд. серв. и ДД

pashteet » 29 мар 2010, 21:57

Блин, незнал, что контроллеры поставляются пустыми :( я думал они уже с вашей прошивкой на борту идут...

Re: Модуль OR-AVR-M128-DS: Контр. с расшир. подд. серв. и ДД

Vooon » 30 мар 2010, 02:14

Ну вообще то нет, обкатанные модели поставляются с прошивкой.
А с первыми экземплярами не всегда... (Хотя странно, Антон вроде заливал туда бутлоадер)

Re: Модуль OR-AVR-M128-DS: Контр. с расшир. подд. серв. и ДД

pashteet » 30 мар 2010, 12:31

Прошу прощения. Я не правильно утверждал, что контроллер без прошивки, просто модуль не отвечал на запросы через терминал - вот я и подумал, что модуль пустой :sorry:

Re: Модуль OR-AVR-M128-DS: Контр. с расшир. подд. серв. и ДД

=DeaD= » 03 апр 2010, 15:05

А сейчас то всё ок?

Re: Модуль OR-AVR-M128-DS: Контр. с расшир. подд. серв. и ДД

pashteet » 03 апр 2010, 16:52

Пока с БТ проблемы, не стал заниматься модулем
Кстати, его можно программировать программатором АВР 910, с питанием от USB порита? И какие пины (для питания МК) нужно использовать?

Re: Модуль OR-AVR-M128-DS: Контр. с расшир. подд. серв. и ДД

=DeaD= » 03 апр 2010, 21:25

Для питания МК надо подать 3.3В на соотв. пин Робобаса, остальное как обычно - GND, RESET, MISO, MOSI, SCK по распиновке робобаса.

Re: Модуль OR-AVR-M128-DS: Контр. с расшир. подд. серв. и ДД

pashteet » 03 апр 2010, 21:38

Я не это имел ввиду. У меня есть программатор AVR-910, он питается от USB (5В), если я им буду прошивать, то какое напряжение нужно подавать на контроллер и на какие пины, чтоб неполучилось, что разный уровень на ногах программатора и МК

Re: Модуль OR-AVR-M128-DS: Контр. с расшир. подд. серв. и ДД

pashteet » 03 апр 2010, 21:39

А, все понятно, померял, у программатора тоже 3.3В на выходе

Re: Модуль OR-AVR-M128-DS: Контр. с расшир. подд. серв. и ДД

pashteet » 07 апр 2010, 00:20

А как на данном модуле управлять сервами? Если не пользоваться ORFA :)
Я думал сервы будут напрямую к портам подключены, а там еще микросхема какая-то стоит :roll:

Re: Модуль OR-AVR-M128-DS: Контр. с расшир. подд. серв. и ДД

Vooon » 07 апр 2010, 01:45

Смотри HAL орфы hal/servo/4017_half/servo_lld.c

Re: Модуль OR-AVR-M128-DS: Контр. с расшир. подд. серв. и ДД

pashteet » 07 апр 2010, 09:46

А можешь на словах объяснить? Куда какие сигналы посылать, я еще не разбираюсь в С :oops:

Re: Модуль OR-AVR-M128-DS: Контр. с расшир. подд. серв. и ДД

boez » 07 апр 2010, 17:20

Да там все просто очень - на каждые 8 серв - счетчик-дешифратор 4017. Счетные входы счетчиков заведены на OC3A и OC3C. 4017 - это просто десятичный счетчик с позиционным кодом на выходе, после сброса у него единичка на выходе Q0, с каждым импульсом на счетном входе единичка перемещается к следующему выходу. То есть нужно просто выдавать короткие импульсы с интервалами, соответствующими импульсу очередной сервы, а потом в конце "добить" остаток до 20 мс, единичка при этом будет на неподключенном выходе. Ну и еще все выходы конкретно перепутаны местами, для облегчения разводки наверное - что в принципе логично.

А вот пару более конкретных вопросов по коду и схеме:

1. Как сбрасываются счетчики после 9 интервалов? Я вижу только один сброс при инициализации. А то в цикле программы только 9 импульсов (8 заданных и "добивочный") - а счетчики-то до 10 считают.
2. А не защитить ли вот этот блок запретом прерываний?
Код: Выделить всёРазвернуть
calc_ocr[block][8] += calc_ocr[block][idx];
calc_ocr[block][8] -= pos;
calc_ocr[block][idx] = pos;


А то легко можно прочесть младший байт от нового значения, а старший от старого, при плавном переходе например от 0x3FF к 0x400 получим 0x300 и щелчок в серве :)


Rambler\'s Top100 Mail.ru counter