Самопроизвольная перезагрузка Atmega8

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Родился
Сообщения: 19
Зарегистрирован: Вс апр 29, 2012 11:40:20

Сообщение Nu-hin »

Добрый день, господа.

Делаю небольшого робота на базе Atmega8. Вчера столкнулся с проблемой самопроизвольной перезагрузки МК при включении двигателей. Управляю двигателями через L293NE (на схеме она называется L293B). ЧаВо читал, но конденсаторы по питанию у меня вроде бы стоят (С4 по питанию атмеги, вплотную к самой МК, cм. приложенную схему). Перезагрузка МК происходит не всегда: если на MEN1/MEN2 подаю логическую единицу - реже, если ШИМ - гораздо чаще. Из этого делаю вывод, что косяк у меня все-таки аппаратный. Если питание движков отключено (переключатель SW2) МК не перезагружается. Подскажите, пожалуйста, где у меня может быть косяк?
Вложения
Rhino.png
(149.03 КБ) 852 скачивания
Последний раз редактировалось Nu-hin Вс апр 29, 2012 13:34:02, всего редактировалось 1 раз.
Реклама
Родился
Сообщения: 19
Зарегистрирован: Вс апр 29, 2012 11:40:20

Сообщение Nu-hin »

Сразу оговорюсь, что Brown-Out я для тестирования вырубил. В момент включения двигателей наблюдается падение напряжения (видно, что светодиоды становятся чуть тусклее).
Реклама
Родился
Сообщения: 19
Зарегистрирован: Вс апр 29, 2012 11:40:20

Сообщение Nu-hin »

Сейчас заменил L293NE на ее отечественный аналог КР1128КТ3А и вроде бы все заработало. Эта микруха без радиатора сильно греется. Может ли такое поведение возникать из-за перегрева L293NE?
Родился
Сообщения: 19
Зарегистрирован: Вс апр 29, 2012 11:40:20

Сообщение Nu-hin »

Nu-hin писал(а):Сейчас заменил L293NE на ее отечественный аналог КР1128КТ3А и вроде бы все заработало. Эта микруха без радиатора сильно греется. Может ли такое поведение возникать из-за перегрева L293NE?
Проверил на ШИМ - все равно происходит перезагрузка.
Реклама
Эиком - электронные компоненты и радиодетали
Мудрый кот
Аватара пользователя
Сообщения: 1802
Зарегистрирован: Ср сен 07, 2011 21:40:30

Сообщение Flasher »

У тебя двигатели в момент пуска много жрут-вот и происходит здоровенная просадка ниже уровня работоспособности процессора. У отечественного аналога сопротивление ключей больше- просадка не настолько заметна. Развяжи питание меги диодом с конденсатором.
Реклама
Родился
Сообщения: 19
Зарегистрирован: Вс апр 29, 2012 11:40:20

Сообщение Nu-hin »

А вы не могли бы, пожалуйста, схемку приложить? Какие брать диод и конденсатор (учитывая, что 0,1 мкФ у меня между питанием меги и землей уже есть). Спасибо большое :)
Реклама
Мудрый кот
Аватара пользователя
Сообщения: 1802
Зарегистрирован: Ср сен 07, 2011 21:40:30

Сообщение Flasher »

Параллельно питанию меги конденсатор на 470 мкФ , а питание меги через диод Шоттки
Родился
Сообщения: 19
Зарегистрирован: Вс апр 29, 2012 11:40:20

Сообщение Nu-hin »

Благодарю!
Поставщик валерьянки для Кота
Сообщения: 2208
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Откуда: Харьков

Сообщение watchmaker »

Кстати, а вход RESET где висит? У меня часы часто сбивались от звонка по мобильному поблизости, пока не подцепил этот вход жестко на единицу.
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Контактная информация:
Родился
Сообщения: 19
Зарегистрирован: Вс апр 29, 2012 11:40:20

Сообщение Nu-hin »

RESET на 5V через резистор 10K.
Родился
Сообщения: 19
Зарегистрирован: Вс апр 29, 2012 11:40:20

Сообщение Nu-hin »

К сожалению, ничего не вышло. :( . Сначала я поставил конденсатор на 470мкФ и простой диод. Это улучшило ситуацию: стал стабильно работать один двигатель (любой, оставленный включенным). При включении обоих двигателей одновременно - перезагрузка. Сегодня поставил конденсатор на 1000мкФ и диод Шоттки. Картина не изменилась. Долго лазил по плате, искал непропаи, КЗ - ничего толком не нашел. Пробовал подключать внешний стабильный источник питания - все то же самое.

Еще момент. Ту атмега, которую я сейчас использую, некоторое время назад я считал сгоревшей. В какой-то момент она престала работать и прошиваться. Потом я ее от нечего делать решил проверить, и она прошилась и заработала. Может ли мега "пригореть" так, чтобы стабильно работать в одной ситуации и косячить в другой?
Мудрый кот
Аватара пользователя
Сообщения: 1811
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Сообщение Kavka »

Рисунок платы можешь показать? Прохождение помех от разводки может ещё зависеть.

Добавил: Питание двигателей какое? сколько вольт?
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Родился
Сообщения: 19
Зарегистрирован: Вс апр 29, 2012 11:40:20

Сообщение Nu-hin »

Kavka писал(а):Рисунок платы можешь показать? Прохождение помех от разводки может ещё зависеть.

Добавил: Питание двигателей какое? сколько вольт?
Дойду до дому и покажу рисунок. Питание двигателей номинальное 3V, по факту я запитываю все от 4-х аккумуляторов по 1.2V = 4.8V. Выше я еще писал, что пробовал подключать внешние 5V от БП.
Мудрый кот
Аватара пользователя
Сообщения: 1811
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Сообщение Kavka »

По разводке.
Питание всей управляющей логики, по хорошему, должно быть через индуктивность (конденсаторы у вас уже стоят около микросхем, LC-фильтр получается). В вашей схеме это всё кроме линии питания моторов. Силовые проводники (для двигателей) должны быть разведены совершенно отдельно от питания логики. В том числе и "земля", которая соединяется с питанием логики на вводе питания.

Хм... А диоды-то, которые на моторы подключены, должны на питание мотора подключаться, а не на питание логики (которое должно быть отделено индуктивностью).
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Родился
Сообщения: 19
Зарегистрирован: Вс апр 29, 2012 11:40:20

Сообщение Nu-hin »

Прилагаю рисунок. Я там дорисовал где я поставил диод и конденсатор.

Отделение питания двигателей индуктивностью? Это так?

5v
|-------питание логики
з
|-------питание двигателей
=
|
GND
Вложения
rhino.png
(147.93 КБ) 463 скачивания
Мудрый кот
Аватара пользователя
Сообщения: 1811
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Сообщение Kavka »

Nu-hin писал(а):по факту я запитываю все от 4-х аккумуляторов по 1.2V = 4.8V.
Вот, без фильтра, разделяющего питание на два сегмента, помеха через диоды и прёт на МК.

Изображение
Под рукой оказалась вот такая схема, как пример. Слева ввод питания, справа питание уходит на МК. Здесь нарисовано два фильтра, а у вас будет один - для питания управляющей логики.
Вложения
power.png
(6.31 КБ) 1826 скачиваний
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Родился
Сообщения: 19
Зарегистрирован: Вс апр 29, 2012 11:40:20

Сообщение Nu-hin »

Спасибо. Буду пробовать.
Родился
Сообщения: 19
Зарегистрирован: Вс апр 29, 2012 11:40:20

Сообщение Nu-hin »

Я в смятении. Не работает.

Я теперь для чистоты эксперимента всю схему питание-МК-драйвер двигатели собрал на макетке (по приложенной схеме).
Untitled.png
(47.2 КБ) 713 скачиваний
Результаты таковы. При питании от аккумуляторов - все по прежнему, дурит, перезагружается.
То же самое если запитывать от блока 5V (на 1,2А).

При этом все работает от блока 5V на 2А. Но самое смешное, что от этого блока все работает, даже, если исключить весь блок фильтрации изапитывать логику и двигатели просто от входного напряжения.

Складывается стойкое ощущение, что я что-то делаю не так. :)
Вложения
Untitled.png
(47.2 КБ) 721 скачивание
Держит паяльник хвостом
Сообщения: 933
Зарегистрирован: Ср апр 13, 2011 11:09:20
Откуда: Екатеринбург

Сообщение Alkul »

Nu-hin писал(а):Результаты таковы. При питании от аккумуляторов - все по прежнему, дурит, перезагружается.
То же самое если запитывать от блока 5V (на 1,2А).
При этом все работает от блока 5V на 2А. Но самое смешное, что от этого блока все работает, даже, если исключить весь блок фильтрации изапитывать логику и двигатели просто от входного напряжения.
По-моему, ответ очевиден. Показанные результаты ясно говорят, что пусковой ток двигателя превышает 1,2А. Поэтому с блоком питания 5V (на 1,2А) не работает. И естественно, что аккумуляторы также не могут выдать такой ток - а чего Вы хотели от пальчиковых батареек :))
А коль скоро с блоком 5V 2А все в порядке, то пусковой ток двигателя не превышает 2А.
Когда источник питания не может выдать требуемый ток, напряжение всегда просаживается.

Автор, чудес не бывает. Очевидно, что от аккумуляторов Ваша конструкция работать не будет. Какой двигатель-то? Вы токи обмоток смотрели в даташите?
Родился
Сообщения: 19
Зарегистрирован: Вс апр 29, 2012 11:40:20

Сообщение Nu-hin »

Данных по пусковом току у меня, к сожалению, нет, однако ток холостого вращения составляет 150mA, при максимальной эффективности 560mA, при заклинивании 2100mA (при 3 вольтах, а у меня 4.8 ). Аккумуляторы вполне способны этот двигатель раскрутить. Более того, я в своем предыдыущем проекте использовал именно эти самые двигатели и те же аккумуляторы, но питание логики было от отдельной батарейки, и все было нормально. Собственно вся эта затея ради того, чтоб избавиться от необходимости таскать с собой два источника. Ясно, что при пуске двигателей будет просадка напряжения, вопрос в том, можно ли эту просадку побороть. Ведь как-то делают игрушки с двигателями без раздельного питания. Заменять двигатели на другие проблематично, так как они встроены в редукторы и шли с ними в комплекте. Большинство движков с редукторами трехвольтовые, что наводит на мысль о том, что решение должно существовать.

Про чудеса, да, в курсе, не бывает.
Закрыто

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