roboforum.ru

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

atmega16 хаотически перезапускается программа

atmega16 хаотически перезапускается программа

AVRus » 26 мар 2015, 00:19

Здравствуйте подскажите ответ, есть Atmega16 к ней подключены 2 мотора (китайские с редуктором ток на каждом при вращении ~60мА) через L293D, серва 9гр., уз. дальномер HC-04, еще блутуз модуль, в общем робот, Питается от хоббийной Li-Po 7.4v стабилизируется LT1763, сделал тестовую прошивку на которой он сканирует пространство перед собой с помощью сервы и закрепленной на нем уз дальномером, и дальше либо едет вперед, либо пятится назад, в зависимости от наличия в ближайших 20-30см препятствия.
Но есть такой глюк, в 8 из 10ти случаев робот уходит в перезапуск проги в любое случайное время, от 0 до 20 секунд выполнения программы. Я записал в начале основного while(1) включение светодиода и обычный счетчик который считает несколько секунд и затем начинает выполнение программы и сразу выключает светодиод(естественно счетчик дальше не трогается и не оббнуляется). В итоге включаю робота светодиод загорается, потом гаснет и робот пытается сделать свои запрограммированые действия, но в рандомное время, он останавливает моторы, сервы, и лампочка снова горит, дальше все по кругу, попытка работы, сброс, попытка работы, сброс.
Иногда он просто вырубается в рабочем цикле с выключеным светодиодом, или вырубает только серву и УЗ дальномер катясь тупо вперед, иногда только один мотор оставляет работать. В общем хаос ! Смотрел осцилом ногу ресет и общее питание - все стабильно (триггерил по спаду фронта ниже 4В).
Какие у вас есть предложения по лечению товарища ?
П.С. Читал несколько тем с похожей ситуацией но там везде фигурирует переключение больших токов или 220В.

Re: atmega16 хаотически перезапускается программа

Angel71 » 26 мар 2015, 06:10

всё, что угодно. кривой код или схема, неправильное подключение, дефектные деталюжки, проблемы с питанием или с платой (непропай, коротит или ещё чего). 60ма на мотор немного подозрительно. микросервы могут потреблять и до 500ма. с осцилографом не работал, так что понятия не имею что вы там меряли и есть ли от этого толк. для начала не помешает более детально поведать, что за плата, схема, акум, что и как подключено, что за код. а так можете попытаться понять, во время выполнения или после какого участка кода (что он делает, чем управляет) происходит глюк. прочитайте про фьюзы boden и bodlevel. посмотрите что с кондёрами по питанию меги.
можно ещё потом пробовать откинуть всё и проверьте как работает сама плата, затем по очереди подключать и смотреть, начинает ли глючить. хотя это дело такое, может и не помочь такая проверка.

Re: atmega16 хаотически перезапускается программа

Myp » 26 мар 2015, 11:14

это всё что ты сверху перечислил всё вместе питается от одной хиленькой LT1763?

Re: atmega16 хаотически перезапускается программа

AVRus » 28 мар 2015, 13:36

Моторы нарямик от аккума, остальное через LT1763 (на выходе 1763 стоит 10мкФ, на входе 100мкФ). По питанию просадок нет.
А как можно кривым Сишным кодом заставлять МК заново выполнять программу?
BOD выключен.
Робот так то работает т.е. такое чувство что проблемы только когда вместе работают моторы, серва и УЗ. Но если бы не справлялась lt1763 то это бы отразилось на питании.
Вложения
lt.png

Re: atmega16 хаотически перезапускается программа

Angel71 » 28 мар 2015, 14:03

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


Rambler\'s Top100 Mail.ru counter