atmega 328 странно дохнет
- Войдите на сайт для отправки комментариев
добрый день!
суть проблемы
коротко:
- прошивка портится/стирается (непонятным способом)
подробно:
- есть рабочий avr-проект, реализован на arduino-nano, работает уже пару лет (до этого arduino-nano работала еще пару лет в другом проект и какие либо проблемы не наблюдались.
- примерно полгода назад на рабочей "мандарине" сдох внутренний стабилизатор AMS1117, не стал ничего придумывать, выдернул стабилизатор с платы, "мандарину" отправил работать в стенд, а сюда установил из "новой партии с али"... и ...
после замены "манадрины" за последние пол года два раза происходил "полный капец" (subj)
первый раз - прошивка подохла сразу, без всяких придуриваний и судорог, прибор сразу перестал работать.
второй раз сначало "подохла" функция, которая обрабатывает внешнее прерывание, (ну вот просто не отрабатывалась и все тут :о), потом, пока "разбирался", в течении двух суток "бобик" вообще сдох
в обоих случаях помогала стандартная перепрошивка "мандарины", типа вдули мозги заново, она и очухалась :о)
до этого только слышал/читал, что бывают подобные "выкрутасы", думал что это "детские болезни авторов", но тут вон аж как, сначало "прерывание сдохло" а потом и "вообще все"...
ИТОГО:
- кто ни будь уже сталкивался с такими "выкрутасами" ATMega 328P/TQFP32?
- как боролись? или забили и просто выбросили?
- какие будут мысли, высказывайтесь, не стесняйтесь
(топик создан, сколько, не для "поиска решения", а для сбора информации и самое - главное ваших мыслей/идей)
tag: avr, atmega 328, arduino nano
ссылка на продавана, возможно, сообществу пригодится
Магазин:Thinary Electronic Official Store
https://www.aliexpress.com/store/1093624?spm=a2g0v.10010108.0.0.39675156O9Qttk
спасибо
У Thinary Electronic Official Store очень странные цены. Я брал там пару раз BMP180/280 вполовину дешевле Алиэкспресса и без всяких акций. Работать они, конечно, работают, но не торгует же магаз себе в убыток...
перенапряжение или высокочастотные наводки по входам?
to b707
> работает уже пару лет (до этого arduino-nano работала еще пару лет в другом проект и какие либо проблемы не наблюдались
...
> но не торгует же магаз себе в убыток...
ну вот я так же думаю, что "ой неспроста это все", отзывы смотрел, реальных проколов не было, решил "рискнуть"... ну и ... попил шампаньского :о)
ну вот я так же думаю, что "ой неспроста это все", отзывы смотрел, реальных проколов не было, решил "рискнуть"... ну и ... попил шампаньского :о)
ну если оно до того уже 4 года отработало, то грех плакаться. Тем не менее, высокочастотные наводки совершенно не противоречат тому. что оно сначало работало, а потом сдохло.
>> ну если оно до того уже 4 года отработало
ну прочитайте же топик :о)
может я не точно описал ситуацию:
>> "новой партии с али"
4 года работала до этого мандарина из "старого прихода" (сейчас не вспомню где/у кого брал)
после я заменил ее на другую из "нового прихода", вот эта партия и оказалась с особенностями
>> то грех плакаться
вы из детского сада?
>> высокочастотные наводки совершенно не противоречат тому. что оно сначало работало, а потом сдохло
херена себе какие там наводки должны быть, что бы от них сдох или потихому подыхал контроллер (пруфы, ссылки, преценденты?!)
ну что вы хотите услышать в ответ? В вопросе конкретики - ноль, только и всего "была хорошая ардуина - продержалась 2 года", потом купил другую - эта сдохла быстрее.
То, что у вас и хорошая и плохая в итоге сдохли - наводит на мысли, что с подключением что-то не так. Но раз конкретики нет - остается гадать. Я вам предложил вариант - вам не нравится. Ну ждите других или предлагайте сами.
ну... во первых
> топик создан, сколько, не для "поиска решения", а для сбора информации
во вторых
> у вас и хорошая и плохая в итоге сдохли
это где я написал что у меня "хорошая" сдохла? всего лишь сгорел стабилизатор, при полном и ясном понимании "что, где, как и почему"... мандарина осталась полностью рабочая, ушла работать в "стенд"...
...
> конкретики нет
уже должно быть понятно, что конкретика в данном топике не нужна (достаточно названия топика)
> предложил вариант - вам не нравится
вариант? вы его сами придумали? если нет, то "предположение" должно быть обоснованым! или основанным на знаниях, практике, опыте.. итд ...
т.е. где?
> пруфы, ссылки, преценденты?!)
будут "статистические данные" или похожие случаи, обсудим... я всегда за диалог, подкрепленный "знаниями, практикой, опытом"
п.с. тему сначало изучил, но "подобной информации" оказалось не достаточно, в основном "упоминания" что "де, да, бывают случаи, иногда ..."
уже должно быть понятно, что конкретика в данном топике не нужна
...
будут "статистические данные" или похожие случаи, обсудим...
ну то есть вас просто интересует статистика, горели ли у кого-то ардуинки? - не важно отчего и как? :)
удачи.
а ссылок опять не будет? спасибо и на этом :о)
> горели ли у кого-то ардуинки
мандаринка не сгорела, а... как бы так сказать... странно дохнет... вот подохнет, еЁ пендилем одаришь - она снова в строю...
///////////////////////////////////////////////////////////////////////////////
выкусы из инета по данной и сопутствующей теме, надеюсь обществу пригодиться
///////////////////////////////////////////////////////////////////////////////
портится флеш
флеш при пониженных напряжениях питания плохо прошивается, баг выражается в деградации ячеек со временем.
Включить в фузах встроенный супервизор
Супервизор стоит DS1833-5% + 2SС945 (инвертор), а флэш портится если во время операций с ней проседает напряжение питания
///////////////////////////////////////////////////////////////////////////////
Контроллер виснет при включении
http://kazus.ru/forums/showthread.php?t=102352
Иногда при подключении аккумулятора к устройству (на atmega - 8 ) оно зависает в самом начале и приходится "передёргивать" ещё раз батарею.
+
Семейный глюк ATMega.
При медленно нарастающем питании (может и еще из-за чего-то) может зависнуть намертво. Ресет не спасает. Так что и собака не спасет.
Только передергивание питания.
+
Помнится, отчетливо проявлялся (практически с вероятностью 100 %) при отрубании питания и быстром повторном врубании, когда на AVCC было подано напряжение через резистор в несколько десятков Ом и кондер-электролит.
Спасет внешняя собака, которая будет перезапускать питание. Или гарантированная скорость нарастания напряжение при подаче питания.
+
P.S. при таком подвисании мега ведет сябя, как будто находится в режиме ISP программирования. На команды ISP откликается, но не шьется.
Интересно, что в ATMega128 при таком подвисании нога PEN находится в активном низком состоянии. Подтянуть ее к VCC не получается - резисторы не помогают, а напрямую течет бешеный ток. Видимо какие-то cmos структуры защелкиваюся.
Вот как-то так (может еще чего упустил, лет 5 прошло с тех пор, как я этот вопрос изучал)
Поставьте внешний супервизор питания, который будет подавать питание на контроллер только после достижения нормального уровня и все решится. Два корпуса SOT-23 места много не займут.
Я сделал так - питание подается и снимается с периодом 0.5 - 1 сек, пока с ноги проца не пойдут импульсы (что свидетельствует о том, что процессор запустился).
Но требует одну ногу процессора и обвязку.
Видимо так и придётся, хотелось обойтись лёгкой кровью, силами самого контроллера.
У меня после 5-ти вольтового линейного преобразователя стоит керамика 0.1 мкф (она не в счёт) и тантал 470 мкф, стабилизатор на 250 мА, может многовата ёмкость, она медленно заряжается и оттуда проблема ?
-->
99.5% Если кроме меги ничего - уменьшите ёмкость до 4.7..22 мкФ и будет счастье. В любом случае - не более 33..47 мкФ. Стабилизатор должен больше отрабатывать за счёт обратной связи. А такие ёмкости - привет из 80-х, когда параметрические стабилизаторы с эмиттерным повторителем делали.
-->
Типичная ошибка начинающего радиолюбителя. До стабилизатора 47.0, после него 2000.0 При выключении вдобавок еще и обратный ток прикладывается
+
может быть стоит включить БОД на 4 вольта
->
а он не включен?
-->
я его никогда не включал вообще ....
Убийца! Себя! Головой! Апстену!
А потом начинается битва с зависаниями. После того, как сделано ВСЕ для завешивания.
+
Значит подвисает при запуске 99% от большой ёмкости конденсатора.
-->
Точнее - от недостаточной скорости нарастания подачи питания.
+
Проблема была решена фьюзами. На самое продолжительное Start-up time.
На 64 меге тоже были глюки. Именно в момент подачи питания. Детально не разбирался, по старой памяти фьюзами выставил максимальное время старта, а также задействовал BOD. Глюки если и остались, то стали крайне редкими
+
SKOPT включен?
-->
Должен быть запрограммирован ("0") для максимального усиления генератора. см. стр27 ДШ.
Если BOD отключен, SUT1...0 должны содержать 0b11 , если включен, то 0b01.
BODLEVEL лучше сбросить - запрограммировать.
Таким образом младший FUSE должен содержать значение 0b00011111 для включенного BOD и 0b11111111 для выключенного.
Старший в обоих случаях 0bххх0хххх.
Хотя у меня на 12МГц на USB (питание 5в) неплохо работает с BOD=2,5в без CKOPT.
+
Курите доки. Например, для ATmega32, примечания к "Table 5. Start-up Times for the Crystal Oscillator Clock Selection"). Там написано мелким шрифтом, что некоторые варианты настроек не обеспечивают стабильную частоту генератора во время запуска ИМС.
Время выхода кварцевого генератора на рабочий режим (примерно) прямо пропорционально добротности резонатора и обратно - частоте.
///////////////////////////////////////////////////////////////////////////////
DiHALT / AVR. Учебный Курс. Конфигурация FUSE бит
http://easyelectronics.ru/avr-uchebnyj-kurs-konfiguraciya-fuse-bit.html
BODLEVEL и BODEN — это режим контроля за напряжением. Дело в том, что при определенном пороге напряжения, ниже критического уровня, контроллер может начать сильно глючить. Самопроизвольно может запортачить, например, EEPROM или еще что откосить. Ну, а ты как думал, не покорми тебя с пару недель — тоже глючить начнешь :)
Так вот, для решения этой проблемы есть у AVR встроенный супервизор питания. Он следит, чтобы напруга была не ниже адекватного уровня. И если напруги не хватает, то просто прижимает RESET и не дает контроллеру стартовать. Вот эти два фуза и рулят этой фичей. BODEN включает, а BODLEVEL позволяет выбрать критический уровень, один из двух. Какие? Не буду раскрывать, посмотри в даташите (раздел System Control and Reset).
///////////////////////////////////////////////////////////////////////////////
Интересная подборка. И как раз на своей самопальной Меге2560 (да и 128-й тоже) с целью лучшей стабилизации АЦП подаю на AVcc напругу через резистор 75 ом с кондером 1-10мкф .. странно, но в общем то все платы включаются нормально. Вытыкать питалово и втыкать его взад относительно шустро - ни разу не пробовал, может поэтому и не заметил такой фичи..
И да, общий выходной кондер со стабилизатора стоит раз в 10 больше рекомендованного от 200мкф .. мегу кормит почти секунду, если вырубить питалово. Как шустро заряжается? Тоже ни разу не проверял .. все платы включаются стабильно, никаких глюков не замечаю. Может потому что в прошивке всегда включен BODLEVEL 4.3v (частота ккамней 16Мгц)?
Он включен, потому как моторы запросто могут просадить напругу при желании и несмотря на все принятые меры (диодно-конденсаторную защиту на входе стаба, входной кондер тоже х10 от даташита). Ещё в скетчах в функцию setup() всегда втыкается пауза в 2-3сек с морганием светодиодом. На тот случай, что если камень перезагрузился в процессе работы - встанет и поморгает лампочкой, что всегда видно.