sunjob 0 29 августа, 2018 Опубликовано 29 августа, 2018 (изменено) · Жалоба добрый день! суть проблемы коротко: - прошивка портится/стирается (непонятным способом) подробно: - есть рабочий 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 спасибо Изменено 29 августа, 2018 пользователем sunjob Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 6 29 августа, 2018 Опубликовано 29 августа, 2018 · Жалоба Если у вас трансформаторный БП, то задемпфируйте первичку трансформатора последовательной RC - цепочкой. Очень все это похоже на проблемы с питанием, ну просто очень. Еще вариант - некорректная схемотехника. И еще версия - на какой-то из выводов устройства приходит внешний синал недопустимо большой амплитуды, например, мощная помеха. Кроме того, это может быть, например, из-за сильных электромагнитных помех (рядом с устройством есть контакторы, управляющие мощными двигателями, или что-то в этом роде) ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sunjob 0 30 августа, 2018 Опубликовано 30 августа, 2018 (изменено) · Жалоба проблемы с питанием + некорректная схемотехника + на выводов приходит синал недопустимо большой амплитуды, например, мощная помеха нет такого :о) устройство отлично отработало почти 2 года, а начал бузить другой контроллер из "новой партии с али" из-за сильных электромагнитных помех тоже таких нет, но, в противовес первым трем причинам, согласен, что - причина, если бы она была - то возможно... но, опять таки, сильные эл.маг помехи - могут привести к помехам в питании, что в свою очередь, обычно приводит к зависанию/перегрузкам - другое делао, как СЭМП воздействуют на кристалл, могут ли "подпортить" память?! сомневаюсь, я с таким не сталкивался, на практике и в литературе/публикациях в инете... если есть мысли по поводу "аргументов" к каждому пункту, механизмов, пруфы, линки - пишите, обсудим :о) зы по поводу питания - согласен, априори должно быть отменным :о) Изменено 30 августа, 2018 пользователем sunjob Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vasily_ 59 30 августа, 2018 Опубликовано 30 августа, 2018 · Жалоба суть проблемы коротко: - прошивка портится/стирается (непонятным способом) Вас это удивляет? В китае не бывает дешевых нормальных контроллеров, только отбраковка, клоны и тд.. И никакие электромагнитные помехи, питание, тут не причем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 30 августа, 2018 Опубликовано 30 августа, 2018 · Жалоба - кто ни будь уже сталкивался с такими "выкрутасами ATMega 328P/TQFP32? Уже 6 лет применяю исключительно ATXmega. Никогда не было проблем. Десятки тысяч разных изделий. Но пару дней назад попалась ATxmega128A1U-AU с не рабочей flash, дата про-ва 1720. После программирования не проходит сравнение. - как боролись? или забили и просто выбросили? Выпаял, сломал пополам и только потом выбросил (шибко злой был). - какие будут мысли, высказывайтесь, не стесняйтесь Похоже что после развала ATMELа нужно быть готовым к разным сюрпризам! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sunjob 0 30 августа, 2018 Опубликовано 30 августа, 2018 (изменено) · Жалоба мысли аналогичные ... да... похоже надо запасаться орехами, что бы грызть их долгими зимними вечерами ... или уже все орехи понадкушены китаисами? п.с. спасибо за мысли... но, если чего, высказываемся ... /////////////////////////////////////////////////////////////////////////////// выкусы из инета по данной и сопутствующей теме, надеюсь обществу пригодиться /////////////////////////////////////////////////////////////////////////////// портится флеш флеш при пониженных напряжениях питания плохо прошивается, баг выражается в деградации ячеек со временем. Включить в фузах встроенный супервизор Супервизор стоит 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 или еще что откосить. Ну, а ты как думал, не покорми тебя с пару недель — тоже глючить начнешь :) Так вот, для решения этой проблемы есть у AVR встроенный супервизор питания. Он следит, чтобы напруга была не ниже адекватного уровня. И если напруги не хватает, то просто прижимает RESET и не дает контроллеру стартовать. Вот эти два фуза и рулят этой фичей. BODEN включает, а BODLEVEL позволяет выбрать критический уровень, один из двух. Какие? Не буду раскрывать, посмотри в даташите (раздел System Control and Reset). /////////////////////////////////////////////////////////////////////////////// Изменено 31 августа, 2018 пользователем sunjob Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 6 31 августа, 2018 Опубликовано 31 августа, 2018 · Жалоба п.с. спасибо за мысли... но, если чего, высказываемся Очень трудно о чем-то говорить, т.к. этот эффект у вас проявляется крайне редко и для его повторения надо долго ждать. Версии - некорректная схемотехника, некорректная разводка, проблемы с питанием. Еще версия - эл.магн. помехи. Например, с некоторых пор рядом с вашим объектом обосновался какой-то оператор такси и своим никуда не годным передатчиком засоряет эфир ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vasily_ 59 31 августа, 2018 Опубликовано 31 августа, 2018 · Жалоба п.с. спасибо за мысли... но, если чего, высказываемся А что хотите услышать? С вашей проблемой все ясно, будете продолжать кормить китайцев? И зачем вывалили сюда кучу никому ненужного мусора? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sunjob 0 31 августа, 2018 Опубликовано 31 августа, 2018 (изменено) · Жалоба А что хотите услышать? от вас, видимо, НИ-ЧЕ-ГО :) будете продолжать кормить китайцев? не-е-е... теперь буду лобзиком и рубанком стругать AVR-ки... вывалили сюда кучу никому ненужного мусора? это он вам, видимо, не нужный ... а кому надо, тому пригодиться, т.к. собирались выкусы имено по подобным и сопутствующим темам и имеют непосредственное отношение к теме (а вы читали сами эти выкладки?!) Изменено 31 августа, 2018 пользователем sunjob Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
controller_m30 1 31 августа, 2018 Опубликовано 31 августа, 2018 · Жалоба Моя версия. В контроллерах применяемых в Arduino присутствует программа-прошивальщик, зашитая на заводе (чтоб удобно было программировать через UART или USB). При помехах по питанию, программный счётчик может "перепрыгнуть" в том числе и на код прошивальщика, и рандомно что-то стереть/записать в памяти программ. Предложение - затереть код прошивальщика, и поменять "ардуиновские" значения бит BootRST и BootSize на стандартные. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 31 августа, 2018 Опубликовано 31 августа, 2018 · Жалоба это он вам, видимо, не нужный ... а кому надо, тому пригодиться, Так я не понял, у Вас супервизор выключен что ли? Или какие выводы мы должны сделать на основании опубликованных Вами выкусов? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sunjob 0 31 августа, 2018 Опубликовано 31 августа, 2018 (изменено) · Жалоба программа-прошивальщик bootloader (загрузчик) при помехах по питанию, программный счётчик может "перепрыгнуть" хрена себе... :о) это предположение или есть пруфи, линки, преценденты? рандомно что-то стереть/записать в памяти программ загрузчик заливает прошивку простым потоком, начиная с "начала" и заканчивая "концом" :о) на другом форуме предположили, что "прошиваться" может как-то иначе, но пока нет этому подтверждения (да и нахрена?!!! когда можно ПРОСТО И НАДЕЖНО ЗАЛИТЬ ВСЕ ОДНИМ БЛОБОМ!!!) и у нас "имеется" два разных случая "порчи памяти" с соотв. выводами ... Предложение - затереть код прошивальщика, и поменять "ардуиновские" значения бит BootRST и BootSize на стандартные расшифруйте свою мысль подробнее вы хотите, что бы я заливал прошивку через ISP или что? + Так я не понял, у Вас супервизор выключен что ли? Или какие выводы мы должны сделать на основании опубликованных Вами выкусов? попробуем прочитать еще раз и сделать соотв. выводы: выкусы из инета по данной и сопутствующей теме, надеюсь обществу пригодиться если и сейчас не понятно: выкусы из инета по данной и сопутствующей теме если и это не понятно: выкусы из инета ... и ... надеюсь обществу пригодиться Изменено 31 августа, 2018 пользователем sunjob Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 31 августа, 2018 Опубликовано 31 августа, 2018 · Жалоба попробуем прочитать еще раз и сделать соотв. выводы: если и сейчас не понятно: если и это не понятно: Ваша забота об обществе, вне всяческих сомнений, достойна похвалы! А про супервизор вы так и не ответили. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sunjob 0 31 августа, 2018 Опубликовано 31 августа, 2018 · Жалоба А про супервизор вы так и не ответили. ок, пару слов про супервизор: - проект написан на Arduino/Wiring и соотв. используются все "встроенные фишки" - внешнего с.вайзера - нет - встроенный... так, с этим надо уточнять, лезть в доки по загрузчику, потому как, считаю, что в манадрине "инициализацией" занимается загрузчик (т.е. поведение загрузчика "по умолчанию", т.к. использутеся станданртный) может кто из гуру подскажет по этому поводу? (как в arduino используется встроенный с.вайзер) ... пока нет возможности загрызть даташиты и доки спасибо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 31 августа, 2018 Опубликовано 31 августа, 2018 · Жалоба - встроенный... так, с этим надо уточнять Вот это поворот! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться