Самопроизвольная перезагрузка Atmega8
Самопроизвольная перезагрузка Atmega8
Добрый день, господа.
Делаю небольшого робота на базе Atmega8. Вчера столкнулся с проблемой самопроизвольной перезагрузки МК при включении двигателей. Управляю двигателями через L293NE (на схеме она называется L293B). ЧаВо читал, но конденсаторы по питанию у меня вроде бы стоят (С4 по питанию атмеги, вплотную к самой МК, cм. приложенную схему). Перезагрузка МК происходит не всегда: если на MEN1/MEN2 подаю логическую единицу - реже, если ШИМ - гораздо чаще. Из этого делаю вывод, что косяк у меня все-таки аппаратный. Если питание движков отключено (переключатель SW2) МК не перезагружается. Подскажите, пожалуйста, где у меня может быть косяк?
Делаю небольшого робота на базе Atmega8. Вчера столкнулся с проблемой самопроизвольной перезагрузки МК при включении двигателей. Управляю двигателями через L293NE (на схеме она называется L293B). ЧаВо читал, но конденсаторы по питанию у меня вроде бы стоят (С4 по питанию атмеги, вплотную к самой МК, cм. приложенную схему). Перезагрузка МК происходит не всегда: если на MEN1/MEN2 подаю логическую единицу - реже, если ШИМ - гораздо чаще. Из этого делаю вывод, что косяк у меня все-таки аппаратный. Если питание движков отключено (переключатель SW2) МК не перезагружается. Подскажите, пожалуйста, где у меня может быть косяк?
- Вложения
-
- Rhino.png
- (149.03 КБ) 851 скачивание
Последний раз редактировалось Nu-hin Вс апр 29, 2012 13:34:02, всего редактировалось 1 раз.
- Реклама
Re: Самопроизвольная перезагрузка Atmega8
Сразу оговорюсь, что Brown-Out я для тестирования вырубил. В момент включения двигателей наблюдается падение напряжения (видно, что светодиоды становятся чуть тусклее).
Re: Самопроизвольная перезагрузка Atmega8
Сейчас заменил L293NE на ее отечественный аналог КР1128КТ3А и вроде бы все заработало. Эта микруха без радиатора сильно греется. Может ли такое поведение возникать из-за перегрева L293NE?
Re: Самопроизвольная перезагрузка Atmega8
Проверил на ШИМ - все равно происходит перезагрузка.Nu-hin писал(а):Сейчас заменил L293NE на ее отечественный аналог КР1128КТ3А и вроде бы все заработало. Эта микруха без радиатора сильно греется. Может ли такое поведение возникать из-за перегрева L293NE?
Re: Самопроизвольная перезагрузка Atmega8
У тебя двигатели в момент пуска много жрут-вот и происходит здоровенная просадка ниже уровня работоспособности процессора. У отечественного аналога сопротивление ключей больше- просадка не настолько заметна. Развяжи питание меги диодом с конденсатором.
- Реклама
Re: Самопроизвольная перезагрузка Atmega8
А вы не могли бы, пожалуйста, схемку приложить? Какие брать диод и конденсатор (учитывая, что 0,1 мкФ у меня между питанием меги и землей уже есть). Спасибо большое 
Re: Самопроизвольная перезагрузка Atmega8
Параллельно питанию меги конденсатор на 470 мкФ , а питание меги через диод Шоттки
Re: Самопроизвольная перезагрузка Atmega8
Благодарю!
-
watchmaker
- Поставщик валерьянки для Кота
- Сообщения: 2183
- Зарегистрирован: Вс ноя 15, 2009 23:13:59
- Откуда: Харьков
- Контактная информация:
Re: Самопроизвольная перезагрузка Atmega8
Кстати, а вход RESET где висит? У меня часы часто сбивались от звонка по мобильному поблизости, пока не подцепил этот вход жестко на единицу.
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Re: Самопроизвольная перезагрузка Atmega8
RESET на 5V через резистор 10K.
Re: Самопроизвольная перезагрузка Atmega8
К сожалению, ничего не вышло.
. Сначала я поставил конденсатор на 470мкФ и простой диод. Это улучшило ситуацию: стал стабильно работать один двигатель (любой, оставленный включенным). При включении обоих двигателей одновременно - перезагрузка. Сегодня поставил конденсатор на 1000мкФ и диод Шоттки. Картина не изменилась. Долго лазил по плате, искал непропаи, КЗ - ничего толком не нашел. Пробовал подключать внешний стабильный источник питания - все то же самое.
Еще момент. Ту атмега, которую я сейчас использую, некоторое время назад я считал сгоревшей. В какой-то момент она престала работать и прошиваться. Потом я ее от нечего делать решил проверить, и она прошилась и заработала. Может ли мега "пригореть" так, чтобы стабильно работать в одной ситуации и косячить в другой?
Еще момент. Ту атмега, которую я сейчас использую, некоторое время назад я считал сгоревшей. В какой-то момент она престала работать и прошиваться. Потом я ее от нечего делать решил проверить, и она прошилась и заработала. Может ли мега "пригореть" так, чтобы стабильно работать в одной ситуации и косячить в другой?
Re: Самопроизвольная перезагрузка Atmega8
Рисунок платы можешь показать? Прохождение помех от разводки может ещё зависеть.
Добавил: Питание двигателей какое? сколько вольт?
Добавил: Питание двигателей какое? сколько вольт?
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Re: Самопроизвольная перезагрузка Atmega8
Дойду до дому и покажу рисунок. Питание двигателей номинальное 3V, по факту я запитываю все от 4-х аккумуляторов по 1.2V = 4.8V. Выше я еще писал, что пробовал подключать внешние 5V от БП.Kavka писал(а):Рисунок платы можешь показать? Прохождение помех от разводки может ещё зависеть.
Добавил: Питание двигателей какое? сколько вольт?
Re: Самопроизвольная перезагрузка Atmega8
По разводке.
Питание всей управляющей логики, по хорошему, должно быть через индуктивность (конденсаторы у вас уже стоят около микросхем, LC-фильтр получается). В вашей схеме это всё кроме линии питания моторов. Силовые проводники (для двигателей) должны быть разведены совершенно отдельно от питания логики. В том числе и "земля", которая соединяется с питанием логики на вводе питания.
Хм... А диоды-то, которые на моторы подключены, должны на питание мотора подключаться, а не на питание логики (которое должно быть отделено индуктивностью).
Питание всей управляющей логики, по хорошему, должно быть через индуктивность (конденсаторы у вас уже стоят около микросхем, LC-фильтр получается). В вашей схеме это всё кроме линии питания моторов. Силовые проводники (для двигателей) должны быть разведены совершенно отдельно от питания логики. В том числе и "земля", которая соединяется с питанием логики на вводе питания.
Хм... А диоды-то, которые на моторы подключены, должны на питание мотора подключаться, а не на питание логики (которое должно быть отделено индуктивностью).
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Re: Самопроизвольная перезагрузка Atmega8
Прилагаю рисунок. Я там дорисовал где я поставил диод и конденсатор.
Отделение питания двигателей индуктивностью? Это так?
5v
|-------питание логики
з
|-------питание двигателей
=
|
GND
Отделение питания двигателей индуктивностью? Это так?
5v
|-------питание логики
з
|-------питание двигателей
=
|
GND
- Вложения
-
- rhino.png
- (147.93 КБ) 458 скачиваний
Re: Самопроизвольная перезагрузка Atmega8
Вот, без фильтра, разделяющего питание на два сегмента, помеха через диоды и прёт на МК.Nu-hin писал(а):по факту я запитываю все от 4-х аккумуляторов по 1.2V = 4.8V.
Под рукой оказалась вот такая схема, как пример. Слева ввод питания, справа питание уходит на МК. Здесь нарисовано два фильтра, а у вас будет один - для питания управляющей логики.
- Вложения
-
- power.png
- (6.31 КБ) 1816 скачиваний
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Re: Самопроизвольная перезагрузка Atmega8
Спасибо. Буду пробовать.
Re: Самопроизвольная перезагрузка Atmega8
Я в смятении. Не работает.
Я теперь для чистоты эксперимента всю схему питание-МК-драйвер двигатели собрал на макетке (по приложенной схеме). Результаты таковы. При питании от аккумуляторов - все по прежнему, дурит, перезагружается.
То же самое если запитывать от блока 5V (на 1,2А).
При этом все работает от блока 5V на 2А. Но самое смешное, что от этого блока все работает, даже, если исключить весь блок фильтрации изапитывать логику и двигатели просто от входного напряжения.
Складывается стойкое ощущение, что я что-то делаю не так.
Я теперь для чистоты эксперимента всю схему питание-МК-драйвер двигатели собрал на макетке (по приложенной схеме). Результаты таковы. При питании от аккумуляторов - все по прежнему, дурит, перезагружается.
То же самое если запитывать от блока 5V (на 1,2А).
При этом все работает от блока 5V на 2А. Но самое смешное, что от этого блока все работает, даже, если исключить весь блок фильтрации изапитывать логику и двигатели просто от входного напряжения.
Складывается стойкое ощущение, что я что-то делаю не так.
- Вложения
-
- Untitled.png
- (47.2 КБ) 720 скачиваний
-
Alkul
- Держит паяльник хвостом
- Сообщения: 933
- Зарегистрирован: Ср апр 13, 2011 11:09:20
- Откуда: Екатеринбург
Re: Самопроизвольная перезагрузка Atmega8
По-моему, ответ очевиден. Показанные результаты ясно говорят, что пусковой ток двигателя превышает 1,2А. Поэтому с блоком питания 5V (на 1,2А) не работает. И естественно, что аккумуляторы также не могут выдать такой ток - а чего Вы хотели от пальчиковых батареекNu-hin писал(а):Результаты таковы. При питании от аккумуляторов - все по прежнему, дурит, перезагружается.
То же самое если запитывать от блока 5V (на 1,2А).
При этом все работает от блока 5V на 2А. Но самое смешное, что от этого блока все работает, даже, если исключить весь блок фильтрации изапитывать логику и двигатели просто от входного напряжения.
А коль скоро с блоком 5V 2А все в порядке, то пусковой ток двигателя не превышает 2А.
Когда источник питания не может выдать требуемый ток, напряжение всегда просаживается.
Автор, чудес не бывает. Очевидно, что от аккумуляторов Ваша конструкция работать не будет. Какой двигатель-то? Вы токи обмоток смотрели в даташите?
Re: Самопроизвольная перезагрузка Atmega8
Данных по пусковом току у меня, к сожалению, нет, однако ток холостого вращения составляет 150mA, при максимальной эффективности 560mA, при заклинивании 2100mA (при 3 вольтах, а у меня 4.8 ). Аккумуляторы вполне способны этот двигатель раскрутить. Более того, я в своем предыдыущем проекте использовал именно эти самые двигатели и те же аккумуляторы, но питание логики было от отдельной батарейки, и все было нормально. Собственно вся эта затея ради того, чтоб избавиться от необходимости таскать с собой два источника. Ясно, что при пуске двигателей будет просадка напряжения, вопрос в том, можно ли эту просадку побороть. Ведь как-то делают игрушки с двигателями без раздельного питания. Заменять двигатели на другие проблематично, так как они встроены в редукторы и шли с ними в комплекте. Большинство движков с редукторами трехвольтовые, что наводит на мысль о том, что решение должно существовать.
Про чудеса, да, в курсе, не бывает.
Про чудеса, да, в курсе, не бывает.


