Atmega328 умирает постоянно
- Войдите на сайт для отправки комментариев
Делаю устройство. простое: жк экранчик+ Н-мост L298N. отладил все на беспаечной макетке с arduino uno.
Сделал платку на atmega328 в корпусе tqfp32, повторя все, что было на макетке. мега тактируется кварцем 16Мгц, как и в плате arduino uno. прошил загрузчик, прошил скетч. все хорошо. все работает.
Через 20-30 прошиваний - контроллер перестает подавать признаки жизни. читаемая сигнатула 0х000000. убираю все с платы, остается только мега, пытаюсь что-то сделать - ноль внимания. думал, что кварц сдох - менял - результата нет.
Единственный результат - это замена меги. после замены на новый камушек - все шьется отлично, загрузчик, программа. все ок. только через определенное время (20-30-40 прошивок - не предсказуемо. может и 100 быть) опять такое наблюдается.
Это уже 4-ая мега по счету. пытался через дудку его определить, программатором ISP выступала UNO. собрал программатор "5 проводков" на LPT и через uniprof и через ponyprog - даже камушек не видит.
куда хоть смотреть? может загрузчик при каких-нибудь помехах меняет фьюзы?
p.s. делал себе отладочную платку на камне atmega64 в корпусе tqfp64, использовал UNO как ISP-программатор. долго ей игрался. результат - умерла также. тогда ее просто заменил и все.
питание?
питание?
от USB ноутбука
питание?
от USB ноутбука
ну, и к L298N что подключено?
А еще, возможно дело в самом "долго ей игрался". В чем именно игры состоят - тоже не известно. Возможно, раз за разом одна и та же ошибка делается которая камень выпаливает. Подключение большой нагрузки на пин, подача на входы импульсов при обесточенном камне (та же попытка прошивки, при отвалившимся проводке 5v) и т.п.
А может вообще банально: свитер (или другая кая любимая одержда) или кошка. И камни гробятся статикой.
P.S. А начинать искать, таки да, нужно с "смотрим что на питании...". Я как-то долго танцевал почему "раньше работало, а тепрь глючит". А оказалось, что старенький ноут начал умирать. На USB порт выдавал ~4V.
ну, и к L298N что подключено?
24 вольт от БП. l298N в шилде dual-2A-bridge-motor. дополнительно резисторы 500 Ом на управляющий канал. там их всего-то 3: 1 и 2 - это направление вращения и 3 - шим регулировка скорости.
что это может быть?
нет и нет. очень стараюсь быть внимательным перед включением и проверяю лишний раз. а тут уже система пошла. 4-ый камень. и при каждой смерти - досканальная проверка на ошибки подключения.
в футболке, кошки нет по причине ее отсутствия. трусы не шерстяные.
это второе что смотрю сразу же (первое - проверка подключения). 4.96 вольт.
Посмотрел сейчас осцилографом что происходит на ножках Xtal1 и Xtal2. к ним подключен кварц 16 МГц ну и 2 кондера 20 пФ на землю. при подаче питания виден какой-то хаотично изменяющийся меандр с разной высотой и шириной. разве там не синусоида должна быть? а вообще похоже на помехи, хотя помех по питанию нет по осцилографу.
kentik, сигнал кварца на 10 ноге меги328(дип)
dimax
спасибо большое за наглядный пример. клевый осциллограф у вас.
Правильно ли я понимаю, что мне надо сделать?
Взять атмегу другую (есть живые в наличии) , вывести на ней шим, ну например analogwrite(Шим_порт, 200), через резистор (какой? наверное 5-10 кОм) подключить к xtal2 и попробовать прочитать мою atmega328 программатором.
Или вязть логику И-НЕ (есть при себе), соединить вход и выход и так же через резистор подключить к xtal2 и попробовать прочитать мегу. у логики И-НЕ время срабатывания 100 наносекунд. т.е. 0.1 мк секунд. что примерно 10 Мгц.
kentik, у меня из похожего глюка есть одна мега8А, на которой раз в nn перешивок слетает бут. Я программатором его перешиваю, и опять какое-то (длительное) время пользуюсь без проблем . Вам нужно убедиться, что чип именно умирает. Как вы програмируете свой tqfp, есть разъём на плате ? Пока чип живой всё хорошо детектится?, и до и после программирования фьюз? Отдельно по поводу "5 проводков" и программ юнипроф и понипрог -они и не должны видеть ваш чип, они не поддерживают mega328. Пользуйтесь дудкой, она всех знает. В остальном как и leshak думаю что ноги растут от питания. У меня в бытность работы ремонтником компов был один уникальный БП PC. Он мог неделями работать без проблем, но изредка выжигал всё подключенное к нему оборудование, видимо подавал вольт 30 вместо 5 и 12 когда ему вздумается. По последнему пункту -заводить микроконтроллеры внешним генератором не доводилось, но насколько знаю это можно сделать любой частотой. Но я бы для начала посоетовал запитаться от другого, надёжного БП.
как в этом убедиться?
да. вывел разъем. заливаю бут от Уно и шью через Rx/Tx/Reset. последний через 10 КОм на питание. все как в туториале про arduinoISP. разница лишь в корпусе. в туториале он DIP, а у меня TQFP. Использую Arduino Uno со скетчем для зашивки бута, а потом вынимаю камень из платы Arduino.
ДА. все отлично.
питание у меня только от USB ноута. ноут не старый. + дополнительно есть всякие китайские БП от айфонов. но думаю они "хуже" по качеству, нежели USB ноута
Сегодня поздно вечером будет время - попробую. отпишусь тут.
по питанию ставлю кондер 1000 мкФ на входе. но как показывает практика на этих 4-х сдохших камнях - это без разницы.
а вот еще интересная зависимость. на камнях в корпусе DIP такого не происходит. впаивал их в свои платы (не ардуино, а только камень) и все работало нормально. решил минимизировать и вот сюрприз. Только вот не знаю как обьяснить эту закономерность умирания камня из-за его корпуса. паяю вроде нормально и аккуратно.
Хмм... а флюс хорошо смываете? после пайки SMD
2 leshak Примерно также попал как ты с ноутом, но с USB кабелем - на 1 метре было падение 1 вольт!
kentik, по поводу как точно понять что камень мёртв -я не до конца ещё понял, как вы проверяете исправность после того, как он перестаёт работать. Я бы посоветывал иметь простой альтернативный ком-портовый программатор, что бы проверять если что через него. Кстати если у вас программатор Громова -то я недавно писал как его интегрировать в ардуину ( http://arduino.ru/forum/obshchii/oshibki-pri-zagruzke-butloadera сообщение №14 ), протестируйте сначала работу программатора на исправном чипе, и потом попробуйте подключить к такому-же неисправному. Если не будет отзываться, то точно сгорел контроллер. Впрочем судя по вашим описаниям котроллер именно дохнет, а не программно дурит.
Флюс не проводящий, но я его остатки все равно смываю растворителем.
у меня программатор Arduino Uno c скетчем arduinoIsp. хотя вчера "5 проводков" на LPT.
так он же прошивается нормально. пока в один раз оп и все. сдох.
Попробую пальцем в небо - ЖК экран 128х64. подключаю его напрямую к ногам меги. может надо все-таки ток ограничивать, ибо нога может дать 40 мА, а ног таких 12. т.е. уже превышение по максимуму суммарного тока через мегу. может из-за этого сгорают у меня меги в корпусе TQFP ?
kentik, я за всю жизнь сжёг только одну мегу, и то, у неё порты не работали, сама она грелась, но при этом програматором читалась без проблем..
ЖК обычно ничего не потребляют от меги, у них вход логический, высокоимпендансный.
Кстати, у вас проблема каждый раз вплывала именно после попытки перешить? Если да, то больше похоже на программный глюк. Проверьте тщательно нерабочий контроллер, можно и программатором "5 проводков".
Новости с передовой.
Пришел сейчас. Подключил ардиуно Уно. залил скетч arduinoISP. подключил к своей отладочной на atmega328 TQFP32. и дудка все показала как надо. т.е. мега ожила сама собой. полежала сутки на столе и стала определяться. фокусы и магия подумал я сразу же. Решил свою рабочую проверить. аналогично. т.е. может они близко лежали и целебные магические силы одной спасли и другую. может что еще? я не понимаю. прикладываю фотку свой отладочной на atmega328.
Тут пояснение. - сделал себе такую удобную "отладочную". мега328, кварц (с другой стороны), два кондера и один резистор 10 КОм к ресету, через перемычку (с другой стороны). я так развожу, что бы на макетке сразу было удобно будущую плату представлять для дальнейшего иготовления.
Вот пишу и думаю - а может проблема смерти и воскрешения быть в неправильном номинале кондеров кварца? их же фиг проверишь?
или может просто моя проблема в том, что надо использовать нормальный программатор, а не arduinoUno с соответствующим скетчем? хотя бы такой - http://roboparts.ru/products/6963287
kentik, конденсаторы обычно не влияют (если их номинал не превышен раз в сто) . А программатор тот по ссылке какой-то неизвестный, лучше покупать что-то проверенное и под чего есть разный софт. А ещё лучше самому сделать, гораздо интереснее, тем более с паяльником вы судя по всему дружите.
> кварц (с другой стороны)
А он не может мешать плате плотно влазить в макетку? Может просто контакт плохой?
Кстати... а другую макетку пробовали?
вот такая вот фигня у меня была со старыми 89s53. Правда заливал параллельным программатором. После n прошивок МК тупо неопределялся. Потом подумав о своем поведении, через некоторое время начинал прошиваться.
пролетала такая инфа, что флеш при пониженных напряжениях питания плохо прошивается, баг выражается в деградации ячеек со временем.
*или могу продать недорого хрустальный шар - разгадывайте свои ребусы самостоятельно.
ну так тут мог ошибиться в 1000 раз. пико с нанами.
все ок. там не большой кварц-то.
питание 5 вольт стабильно. наперепроверял 100 раз.
ябкупил.
А предупреждений при прошивке никаких не вылезает???
И всетаки думаю плохой(нестабильный или с большим сопротивлением) контакт в макетке или статика.
Прозвоните контакты банально тестером прямо с пинов проца до конца линий в пограмматоре.
Бывает контакты в макетке окисляются или подгибаются и начинается магия.
P/S/ Я обычно магию проверяю осцилографом прямо на пинах проца - сразу видно какой разлет напряжений и линейки посылок битов. (у меня дешевый китайский USB осцилограф - рекомендую для начала)
нет. Шью через arduinoIDE. а там разве бывают предупреждения? никогда не видел. дудкой только шью фьюзы и проверяю контроллер, если беда случается.
да вот тоже уже склоняюсь к этому. хоть я и большой поклонник Гарри Поттера, но в магию не верю. Хотя как писал выше - кошки нет, трусы без начеса, бороды и свитера, так же как и кошки,нет.
проверял. сразу после проверки правильности соединения и питания.
скньте ссылочку, если есть на aliexpress. буду вам очень признателен.
Если не будет отзываться, то точно сгорел контроллер.
Это ещё ничего не значит ..
Если м/к не прошивается по SPI ,то может помочь высоковольтный программатор - HVPP(High Voltage Parallel Programming) -для atmega или HVSP(High Voltage Serial Programming) -для attiny..
Гуглим по "фьюз доктор" .. хотя в данном случае не понятно где косяк.
Если не вылезают ошибки и не вешается процесс прошивки, значит все ок.
Проверьте какой загрузчик шьете - может побился... Я сейчас больше люблю optiboot.
Осцилограф Hantek6022BE PC Based 2 CH Oscilloscope 20MHz 48MSa/s
Смотрю подорожал - не в качестве рекламы, а в качестве помощи
http://www.ebay.com/sch/i.html?_trksid=p4634.m570.l1313.TR0.TRC0.H0.XHantek6022BE&_nkw=Hantek6022BE&_sacat=0&_from=R40
Еще изредка пользую перепрошитый
http://dx.com/ru/p/logic-analyzer-w-dupont-lines-and-usb-cable-for-scm-black-148945#.UywdiGaGjwo
ну это arduino-вский. стандартный. всмысле он побился?
пошел изучать opiboot.
спасибо. цена приятная, по сранению с chipdip.
Если м/к не прошивается по SPI ,то может помочь высоковольтный программатор - HVPP(High Voltage Parallel Programming) -для atmega или HVSP(High Voltage Serial Programming) -для attiny..
Вы считате, что при заливке скетча в n-ный раз сами собой могут случайно перепрограммироваться фьюзы spien или rstdizb ?
Осцилограф Hantek6022BE PC Based 2 CH Oscilloscope 20MHz 48MSa/s
спасибо. цена приятная, по сранению с chipdip
kentik, Лучше экономить на обедах, чем на осциллографе :) На нормальный осцилл накопите, хотя бы среднебюджетный Ригол тыщ за 12-15. У этих дешёвых всегда какие-нибудь гадости, то софт глюкавый, то разные сюрпризы. У этого например нет режима закрытого входа, т.е. пульсации постоянного напряжения уже толком не измерить, впрочем если бы и был, то чувствительность такая фиговая, что собственный шум осцилла от пульсаций не отличить. Одним словом игрушка, а не прибор.
Я и написал простой китайский, НЕДОРОГОЙ. Но для текущих целей более чем.
Из опыта использования:
Софт не глюкавый.
Пульсации сам ловит автоматом нормально. (если я понял о чем вы).
Можно писать лог для анализа, напряжение точно измеряет.
До 15 мегагерц гонял - когда передатчики настраивал - нормально работает.
ales2k, может для ваших задач и в самый раз, у всех задачи разные. А про пульсации -нет, не правильно поняли. Предположим, что вы заподозрили, что БП плохо работает. Измеряете постоянное напряжение, пусть будет на нём 9 вольт. Вы подключили осцилл, смотрите на ровную прямую, и думаете, что раз напряжение прямое то всё в порядке. Но это не так, на осциллографе, где есть режим закрытого входа (AC) можно измерить и пульсации относительно этих 9 вольт, посмотреть в каком они диапазоне частот , и какая амплитуда. Причём это совершенно базовые возможности, которые есть в любых нормальных осциллографах. Но в этом почему-то нет. Почему спрашивается? Видимо потому что это игрушка.
Согласен чуть более чем полностью, но на данный момент 12-15 кусачая цена. ваш, на фотке выше, 150 000 стоит. - вообще сказка, судя по характеристикам.
Думаю это отдельная тема - выбор осциллографа, и по результатам отзывов, тестов выбрать 3 варианта: дешевый, средний клас и супер для большинства задач.
Посоветуйте из ряда "для начала" и желательно китайский, шоб подешевше.
kentik, мой 38 тыщ :) И я копил и выбирал полгода минимум!
PS: к вопросу что посоветовать - у меня более бюджетный вариант был народный Rigol DS1052, более дешёвые все по разным причинам отбраковались, уже не упомню кто и за что..
он 13 000 стоит.
на данный момент вариантов два - либо самому собрать на звуковой, либо купить, что описан выше, за 2.5
Да частотного анализатора в моем нет. Но у меня есть отдельный :) частотный анализатор тоже китайский и недорогой. Отлично ловит гармоники пульсации и т.п.
kentik, я бы вам посоветывал накопить на DS1052, не такие уж большие деньги. Лучше пожить пока без осцилла.
kentik, я бы вам посоветывал накопить на DS1052, не такие уж большие деньги. Лучше пожить пока без осцилла.
я бы рекомендовал топикстартеру купить качественного радиомонтажника.
с великим сожалением, но вынужден сообщить, что ВЫ правы.
мега опять-таки сдохла. ожила и сдохла. стал очень очень внимательно смотреть под лупой. маленькая волосинка между ножками сделала свое дело. зараза такая. убрал - все завелось без проблем.
надо же - столько лет паяю и сейчас попался на такой фигне.
Огромное спасибо всем отвечающим. приятно, что на форуме отвечают, даже на идиотские вопросы. тему можно закрывать.
тему можно закрывать.
ок
Тема закрыта на переучёт.