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

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Родился
Сообщения: 9
Зарегистрирован: Пн май 03, 2010 17:31:05

Сообщение pima »

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

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

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

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

подскажите пожалуйста, в чем может быть проблема.
Вложения
tank_tank.c
(5.54 КБ) 453 скачивания
control_tank.c
(4.21 КБ) 208 скачиваний
tank_circuit2.png
(14.5 КБ) 304 скачивания
control_circuit2.png
(11.83 КБ) 517 скачиваний
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

введите гистерезис, думаю проблема в нем. а еще может быть переменники старые, контакты стерлись и показания ацп скачут.
Ставим плюсы: )
Реклама
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

1. Подклюение AVref и AVcc выполни по ДШ, дросель, конденсаторы, повесь на выход переменника кондеры по 0.1мкф
2. Для управления двигателем достаточно 5-6 разрядов (32-64 ступени регулирования), поэтому смело обнуляй мл.разряды АЦП и в районе среднего значения будет стоять как вкопанный :wink:
3. ну и с вопросами как это сделать на Си - не приставать :)))
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Родился
Сообщения: 9
Зарегистрирован: Пн май 03, 2010 17:31:05

Сообщение pima »

что такое гистерезис? и как его ввести? гугл говорит что это явление о_О
переменники новые. только купил. вроде как линейные.

и еще вопрос. почему С2 и С3 ножки могут весеть под напряжением? даже когда я только включил плату танка, но не включил передатчик.
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....

Сообщение Meteor »

Мяу всем!
Сигналы на выводах порта С присутствуют потому что не отключен интерфейс JTAG.
А вот тут можно прочитать про гистерезис
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Контактная информация:
Реклама
Родился
Сообщения: 9
Зарегистрирован: Пн май 03, 2010 17:31:05

Сообщение pima »

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

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

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

зависит ли что нибудь от того, какие именно выходы на землю у драйвера двигателей подключить к земле платы или к земле питания двигателей?
Реклама
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

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

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

Вернуться в «Микроконтроллеры и ПЛИС»