Страница 1 из 1

atmega16 отладка проекта

Добавлено: Вт июн 08, 2010 08:10:02
pima
здравствуйте. делаю дистанционноуправляемый танк. общаются пульт и танк по ик.

принцип работы пульта: снимаю показания с ацп(8 бит), сдвигаю результат вправо и на освободившееся место пишу номер переменника. передаю получившуюся переменную по USART предварительно через ИК диод предварительно модулирую частотой 36кГЦ.

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

это в теории, а на практике, почемуто на ножках С2 и С3 напряжение гдето 2,5В. эти ножки отвечают за второй двигатель. первый работает почти как надо, тоесть если повернуть переменник до упока в одну или другую сторону, то двигатель начинает крутиться на всю, в соответствующую сторону, но когда ручки на центре, или около него, начинает вести себя как припадочный.

подскажите пожалуйста, в чем может быть проблема.

Re: atmega16 отладка проекта

Добавлено: Вт июн 08, 2010 08:50:43
ibiza11
введите гистерезис, думаю проблема в нем. а еще может быть переменники старые, контакты стерлись и показания ацп скачут.

Re: atmega16 отладка проекта

Добавлено: Вт июн 08, 2010 10:28:35
GP1
1. Подклюение AVref и AVcc выполни по ДШ, дросель, конденсаторы, повесь на выход переменника кондеры по 0.1мкф
2. Для управления двигателем достаточно 5-6 разрядов (32-64 ступени регулирования), поэтому смело обнуляй мл.разряды АЦП и в районе среднего значения будет стоять как вкопанный :wink:
3. ну и с вопросами как это сделать на Си - не приставать :)))

Re: atmega16 отладка проекта

Добавлено: Вт июн 08, 2010 11:52:53
pima
что такое гистерезис? и как его ввести? гугл говорит что это явление о_О
переменники новые. только купил. вроде как линейные.

и еще вопрос. почему С2 и С3 ножки могут весеть под напряжением? даже когда я только включил плату танка, но не включил передатчик.

Re: atmega16 отладка проекта

Добавлено: Вт июн 08, 2010 14:04:51
Meteor
Мяу всем!
Сигналы на выводах порта С присутствуют потому что не отключен интерфейс JTAG.
А вот тут можно прочитать про гистерезис

Re: atmega16 отладка проекта

Добавлено: Чт июн 10, 2010 00:51:52
pima
спасибо за советы. подправил код. отключил JTAG. проверил переменники, ножки AREF и AVCC вольтметром, там все в порядке, в смысле, что дерганий нету (может я сейчас и глупость сказал, не знаю). дросселей и конденсаторов в наличии пока нету.

про гистерезис почитал, но как с этим бороться, не понял.

могут ли быть проблемы у драйвера двигателей, с работой с двумя двигателями? а то почемуто двигатели часто непроизвольно дергаются и вобще, порой, ведут себя неадекватно.

зависит ли что нибудь от того, какие именно выходы на землю у драйвера двигателей подключить к земле платы или к земле питания двигателей?

Re: atmega16 отладка проекта

Добавлено: Чт июн 10, 2010 07:56:57
GP1
pima писал(а): проверил ....ножки AREF и AVCC вольтметром, там все в порядке, в смысле, что дерганий нету ....
:))) первый раз слышу чтобы пульсации по питанию вольтметром мерили :)))

Гистерезис в твоем конкретном случае:
как я уже писал - обнули мл.разряды значения АЦП.
например:
при 10 разрядном преобразовании цена 1 деления соотв. 5В/1024=4.88 мВ
тогда обнулив мл.разряд в значении АЦП ты получишь гистерезис в 4.88 мВ, если обнулить 4-е мл.разряда, то гистерезис составит 4.88*16=78 мВ и т.д.