реклама на сайте
подробности

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> atmega 328 странно дохнет
sunjob
сообщение Aug 29 2018, 10:31
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 13-12-17
Пользователь №: 100 639



добрый день!

суть проблемы
коротко:
- прошивка портится/стирается (непонятным способом)

подробно:
- есть рабочий avr-проект, реализован на arduino-nano, работает уже пару лет (до этого arduino-nano работала еще пару лет в другом проект и какие либо проблемы не наблюдались.

- примерно полгода назад на рабочей "мандарине" сдох внутренний стабилизатор AMS1117, не стал ничего придумывать, выдернул стабилизатор с платы, "мандарину" отправил работать в стенд, а сюда установил из "новой партии с али"... и ...

после замены "манадрины" за последние пол года два раза происходил "полный капец" (subj)

первый раз - прошивка подохла сразу, без всяких придуриваний и судорог, прибор сразу перестал работать.

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

в обоих случаях помогала стандартная перепрошивка "мандарины", типа вдули мозги заново, она и очухалась :о)

до этого только слышал/читал, что бывают подобные "выкрутасы", думал что это "детские болезни авторов", но тут вон аж как, сначало "прерывание сдохло" а потом и "вообще все"...

ИТОГО:
- кто ни будь уже сталкивался с такими "выкрутасами ATMega 328P/TQFP32?
- как боролись? или забили и просто выбросили?
- какие будут мысли, высказывайтесь, не стесняйтесь

(топик создан, сколько, не для "поиска решения", а для сбора информации и самое - главное ваших мыслей/идей)

tag: avr, atmega 328, arduino nano

ссылка на продавана, возможно, сообществу пригодится

https://ru.aliexpress.com/item/Freeshipping...2820659521.html

Магазин:Thinary Electronic Official Store

https://www.aliexpress.com/store/1093624?sp....39675156O9Qttk

спасибо

Сообщение отредактировал sunjob - Aug 29 2018, 10:38
Go to the top of the page
 
+Quote Post
kovigor
сообщение Aug 29 2018, 21:02
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Если у вас трансформаторный БП, то задемпфируйте первичку трансформатора последовательной RC - цепочкой. Очень все это похоже на проблемы с питанием, ну просто очень. Еще вариант - некорректная схемотехника. И еще версия - на какой-то из выводов устройства приходит внешний синал недопустимо большой амплитуды, например, мощная помеха. Кроме того, это может быть, например, из-за сильных электромагнитных помех (рядом с устройством есть контакторы, управляющие мощными двигателями, или что-то в этом роде) ...
Go to the top of the page
 
+Quote Post
sunjob
сообщение Aug 30 2018, 06:27
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 13-12-17
Пользователь №: 100 639



Цитата
проблемы с питанием

+
Цитата
некорректная схемотехника

+
Цитата
на выводов приходит синал недопустимо большой амплитуды, например, мощная помеха

нет такого :о)
устройство отлично отработало почти 2 года, а начал бузить другой контроллер из "новой партии с али"

Цитата
из-за сильных электромагнитных помех

тоже таких нет, но, в противовес первым трем причинам, согласен, что - причина, если бы она была - то возможно...
но, опять таки, сильные эл.маг помехи
- могут привести к помехам в питании, что в свою очередь, обычно приводит к зависанию/перегрузкам
- другое делао, как СЭМП воздействуют на кристалл, могут ли "подпортить" память?! сомневаюсь, я с таким не сталкивался, на практике и в литературе/публикациях в инете...

если есть мысли по поводу "аргументов" к каждому пункту, механизмов, пруфы, линки - пишите, обсудим :о)

зы по поводу питания - согласен, априори должно быть отменным :о)

Сообщение отредактировал sunjob - Aug 30 2018, 06:44
Go to the top of the page
 
+Quote Post
Vasily_
сообщение Aug 30 2018, 07:06
Сообщение #4


Знающий
****

Группа: Модераторы
Сообщений: 925
Регистрация: 25-01-09
Из: Рига
Пользователь №: 43 909



Цитата(sunjob @ Aug 29 2018, 13:31) *
суть проблемы
коротко:
- прошивка портится/стирается (непонятным способом)

Вас это удивляет?
В китае не бывает дешевых нормальных контроллеров, только отбраковка, клоны и тд..
И никакие электромагнитные помехи, питание, тут не причем.
Go to the top of the page
 
+Quote Post
zombi
сообщение Aug 30 2018, 08:25
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(sunjob @ Aug 29 2018, 13:31) *
- кто ни будь уже сталкивался с такими "выкрутасами ATMega 328P/TQFP32?

Уже 6 лет применяю исключительно ATXmega.
Никогда не было проблем. Десятки тысяч разных изделий.
Но пару дней назад попалась ATxmega128A1U-AU с не рабочей flash, дата про-ва 1720.
После программирования не проходит сравнение.

Цитата(sunjob @ Aug 29 2018, 13:31) *
- как боролись? или забили и просто выбросили?

Выпаял, сломал пополам и только потом выбросил (шибко злой был).

Цитата(sunjob @ Aug 29 2018, 13:31) *
- какие будут мысли, высказывайтесь, не стесняйтесь

Похоже что после развала ATMELа нужно быть готовым к разным сюрпризам!
Go to the top of the page
 
+Quote Post
sunjob
сообщение Aug 30 2018, 15:03
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 13-12-17
Пользователь №: 100 639



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

п.с. спасибо за мысли... но, если чего, высказываемся

...

///////////////////////////////////////////////////////////////////////////////

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

///////////////////////////////////////////////////////////////////////////////

портится флеш

флеш при пониженных напряжениях питания плохо прошивается, баг выражается в деградации ячеек со временем.

Включить в фузах встроенный супервизор

Супервизор стоит 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-kur...a-fuse-bit.html

BODLEVEL и BODEN — это режим контроля за напряжением. Дело в том, что при определенном пороге напряжения, ниже критического уровня, контроллер может начать сильно глючить. Самопроизвольно может запортачить, например, EEPROM или еще что откосить. Ну, а ты как думал, не покорми тебя с пару недель — тоже глючить начнешь sm.gif

Так вот, для решения этой проблемы есть у AVR встроенный супервизор питания. Он следит, чтобы напруга была не ниже адекватного уровня. И если напруги не хватает, то просто прижимает RESET и не дает контроллеру стартовать. Вот эти два фуза и рулят этой фичей. BODEN включает, а BODLEVEL позволяет выбрать критический уровень, один из двух. Какие? Не буду раскрывать, посмотри в даташите (раздел System Control and Reset).

///////////////////////////////////////////////////////////////////////////////

Сообщение отредактировал sunjob - Aug 31 2018, 04:17
Go to the top of the page
 
+Quote Post
kovigor
сообщение Aug 31 2018, 05:17
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(sunjob @ Aug 30 2018, 18:03) *
п.с. спасибо за мысли... но, если чего, высказываемся

Очень трудно о чем-то говорить, т.к. этот эффект у вас проявляется крайне редко и для его повторения надо долго ждать. Версии - некорректная схемотехника, некорректная разводка, проблемы с питанием. Еще версия - эл.магн. помехи. Например, с некоторых пор рядом с вашим объектом обосновался какой-то оператор такси и своим никуда не годным передатчиком засоряет эфир ...
Go to the top of the page
 
+Quote Post
Vasily_
сообщение Aug 31 2018, 06:11
Сообщение #8


Знающий
****

Группа: Модераторы
Сообщений: 925
Регистрация: 25-01-09
Из: Рига
Пользователь №: 43 909



Цитата(sunjob @ Aug 30 2018, 18:03) *
п.с. спасибо за мысли... но, если чего, высказываемся

А что хотите услышать?
С вашей проблемой все ясно, будете продолжать кормить китайцев?
И зачем вывалили сюда кучу никому ненужного мусора?
Go to the top of the page
 
+Quote Post
sunjob
сообщение Aug 31 2018, 08:48
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 13-12-17
Пользователь №: 100 639



Цитата
А что хотите услышать?

от вас, видимо, НИ-ЧЕ-ГО sm.gif

Цитата
будете продолжать кормить китайцев?

не-е-е... теперь буду лобзиком и рубанком стругать AVR-ки...

Цитата
вывалили сюда кучу никому ненужного мусора?

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

Сообщение отредактировал sunjob - Aug 31 2018, 08:58
Go to the top of the page
 
+Quote Post
controller_m30
сообщение Aug 31 2018, 13:31
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 356
Регистрация: 24-02-09
Пользователь №: 45 309



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

Предложение - затереть код прошивальщика, и поменять "ардуиновские" значения бит BootRST и BootSize на стандартные.
Go to the top of the page
 
+Quote Post
zombi
сообщение Aug 31 2018, 15:04
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(sunjob @ Aug 31 2018, 11:48) *
это он вам, видимо, не нужный ... а кому надо, тому пригодиться,

Так я не понял, у Вас супервизор выключен что ли?
Или какие выводы мы должны сделать на основании опубликованных Вами выкусов?
Go to the top of the page
 
+Quote Post
sunjob
сообщение Aug 31 2018, 15:35
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 13-12-17
Пользователь №: 100 639



Цитата
программа-прошивальщик

bootloader (загрузчик)

Цитата
при помехах по питанию, программный счётчик может "перепрыгнуть"

хрена себе... :о) это предположение или есть пруфи, линки, преценденты?

Цитата
рандомно что-то стереть/записать в памяти программ

загрузчик заливает прошивку простым потоком, начиная с "начала" и заканчивая "концом" :о)
на другом форуме предположили, что "прошиваться" может как-то иначе, но пока нет этому подтверждения (да и нахрена?!!! когда можно ПРОСТО И НАДЕЖНО ЗАЛИТЬ ВСЕ ОДНИМ БЛОБОМ!!!)

и у нас "имеется" два разных случая "порчи памяти" с соотв. выводами ...

Цитата
Предложение - затереть код прошивальщика, и поменять "ардуиновские" значения бит BootRST и BootSize на стандартные

расшифруйте свою мысль подробнее
вы хотите, что бы я заливал прошивку через ISP или что?

+

Цитата
Так я не понял, у Вас супервизор выключен что ли?
Или какие выводы мы должны сделать на основании опубликованных Вами выкусов?


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

если и сейчас не понятно:
выкусы из инета по данной и сопутствующей теме

если и это не понятно:
выкусы из инета ... и ... надеюсь обществу пригодиться

Сообщение отредактировал sunjob - Aug 31 2018, 15:36
Go to the top of the page
 
+Quote Post
zombi
сообщение Aug 31 2018, 15:44
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(sunjob @ Aug 31 2018, 18:35) *
попробуем прочитать еще раз и сделать соотв. выводы:
если и сейчас не понятно:
если и это не понятно:

Ваша забота об обществе, вне всяческих сомнений, достойна похвалы!
А про супервизор вы так и не ответили.
Go to the top of the page
 
+Quote Post
sunjob
сообщение Aug 31 2018, 16:01
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 13-12-17
Пользователь №: 100 639



Цитата(zombi @ Aug 31 2018, 15:44) *
А про супервизор вы так и не ответили.


ок, пару слов про супервизор:
- проект написан на Arduino/Wiring и соотв. используются все "встроенные фишки"
- внешнего с.вайзера - нет
- встроенный... так, с этим надо уточнять, лезть в доки по загрузчику, потому как, считаю, что в манадрине "инициализацией" занимается загрузчик (т.е. поведение загрузчика "по умолчанию", т.к. использутеся станданртный)

может кто из гуру подскажет по этому поводу? (как в arduino используется встроенный с.вайзер) ... пока нет возможности загрызть даташиты и доки

спасибо


Go to the top of the page
 
+Quote Post
zombi
сообщение Aug 31 2018, 16:58
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(sunjob @ Aug 31 2018, 19:01) *
- встроенный... так, с этим надо уточнять

Вот это поворот!
Go to the top of the page
 
+Quote Post

3 страниц V   1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th April 2024 - 04:27
Рейтинг@Mail.ru


Страница сгенерированна за 0.01524 секунд с 7
ELECTRONIX ©2004-2016