Страница 1 из 1

Не корректно работает прошивка на Atmega8A

Добавлено: Пт янв 03, 2025 14:31:08
alex38779
С новым годом коты!

Купил атмеги, пришли 8а, думал поменяю быстро на плате и делов всего. Уже 3 день пошел как ковыряюсь.

Есть две одинаковые платы, на одной atmega8l на другой atmega8A. Прошивки одинаковые и рабочие(таймер мигает светодиодом раз в 1с и опрос входов, и ацп). Еще есть светодиод в main, после инициализации всего он загорается и тухнет, далее программа переходит в while.

Atmega8a очень странно себя ведет, после прошивки она запускается и все работает как нужно пока подключен программатор. Если я отключаю программатор, отключаю питание, заново подаю питание, то контроллер зависает, светодиод в main загорится и тухнет, то есть входа, выхода, перефирия настраивается и все. И так без остановки. Такое ощущение как будто что-то перезагружает его, watchdog не используется. Если в это время я физически перезагружу, замкнув reset, то программа стартует как надо и работает нормально до следующего отключения питания.

Добавлено after 23 minutes 49 seconds:
Фьюзы. Кварц 16МГц

Изображение

Re: Не корректно работает прошивка на Atmega8A

Добавлено: Пт янв 03, 2025 15:23:47
planetcat
у меня получается так
Изображение

Re: Не корректно работает прошивка на Atmega8A

Добавлено: Пт янв 03, 2025 15:31:42
enjoykin2017
Котяра alex38779 с наступающим.

Сделайте сначала сброс МК Atmega8A. :)

Изображение

эыж: Корпус кристалла тоже нужно заземлит!

Re: Не корректно работает прошивка на Atmega8A

Добавлено: Сб янв 04, 2025 09:59:49
alex38779
Нашел проблему.

На плате еще есть esp266. Я просто уже весь мозг себе сломал и начал выпаивать детали с платы. вдруг что дает помехи. Когда выпаял стабилизатор на 3.3В питающий wifi модуль то мк начал стартовать. Припаял внешний dc-dc на питание еспшки, все так-же не стартует. Далее перерезал rx и tx, чудо заработало. Припаял rx - работает, припаял tx - не работает. tx мне не нужен на плате, но почему не работает? До этого усе работало как надо.

Схема включения esp такая

Изображение

Re: Не корректно работает прошивка на Atmega8A

Добавлено: Сб янв 04, 2025 10:16:50
veso74
При таком подключении каким напряжением питается ATmega8? Если напряжение 5V, попробуйте подключать какой-нибудь преобразователь уровней.

Re: Не корректно работает прошивка на Atmega8A

Добавлено: Сб янв 04, 2025 10:19:42
alex38779
[uquote="veso74",url="/forum/viewtopic.php?p=4667561#p4667561"]При таком подключении каким напряжением питается ATmega8?[/uquote]

Re: Не корректно работает прошивка на Atmega8A

Добавлено: Сб янв 04, 2025 10:49:57
BOB51
Диапазон питания для атмеги8А 5-2,7 вольт...
Правда насчет кварца 16МГц и пониженном напряжении...
мега328 такое вполне выдерживает - можно попробовать кормить от 3 вольт или ставить преобразователь уровня ежли не получится работать от 3 вольт...
:dont_know:
В данном случае явное зависание программы при начале работы - неверно считаны данные от низковольтной части схемы.
:roll:

Re: Не корректно работает прошивка на Atmega8A

Добавлено: Сб янв 04, 2025 11:36:44
Just_Fluffy
BOB51, Увы, не все меги старого поколения могут завестись на 16 МГц при пониженном питании. Именно старт HSE может не проходить. 328 - она уже более нового поколения, picopower, все дела.. Все мои ардуинки с 16 МГц кварцем даже при 3.0 вольтах заводились. А вот атмега128 на большой макетке на 3.3 вольта завелась только с 12 мгц кварцем, с 16 мгц не стартовала. А если питание подавать порядка 3.6-3.7 вольта - то стартовала и с 16 мгц кварцем и потом работала при понижении питания где то до 3.1 вольта. С 12 МГц кварцем - отрубалась ниже 3 вольт (уже не помню при скольки)

Может тут еще влияло, что это была макетка - такой "паук" из дорожек с разведенными питанием, фильтрующими еммкостями, заготовкой под кварц, но там достаточно длинные проводники....

Re: Не корректно работает прошивка на Atmega8A

Добавлено: Сб янв 04, 2025 11:58:35
veso74
Есть детали, о которых можем только догадываться. Ждем схему, хотя бы фрагмент программного кода, фото ...

Re: Не корректно работает прошивка на Atmega8A

Добавлено: Вс фев 16, 2025 21:29:57
74LS00
8L вроде как низковольтная.
У старой 8 аналоговое и цифровое питание внутри соединено, может у платы забыли одно из питаний развести и поэтому 8A берёт питание где попадя.

Re: Не корректно работает прошивка на Atmega8A

Добавлено: Пн фев 17, 2025 08:09:43
ARV
очень похожее поведение я наблюдал во времена знакомства с AVR, и причина была в неправильной установке фьюза CKOPT - этот фьюз отвечает за режим работы тактовго генератора с внешним кварцем. если он не правильно задан, то кварц может возбуждаться не на основной гармонике, или вообще не возбуждаться, или возбуждаться случайно... что в итоге приводит к тому, что программа то работает, то нет. то работает при касании вывода МК пальцем до выключения питания...

к сожалению, о том, как именно CKOPT влияет на генератор написано в каких-то апнотах, а не в обычных даташитах (там лишь перечислено, как обычно надо их ставить, но не объяснено, почему).

Re: Не корректно работает прошивка на Atmega8A

Добавлено: Пн фев 17, 2025 08:26:02
shonty
ARV писал(а):как именно CKOPT влияет на генератор написано в каких-то апнотах, а не в обычных даташитах
заинтересовало..

Нашёл "AVR042: AVR Hardware Design Considerations"

из 5.2
By programming the CKOPT Fuse(1), the user can enable internal capacitors on XTAL1 and XTAL2. The value of the internal capacitor is typical 20pF, but can vary. External capacitors are not required when using a 32.768kHz crystal that does not require more load.
Программируя предохранитель CKOPT (1), пользователь может включить внутренние конденсаторы на XTAL1 и XTAL2. Значение внутреннего конденсатора обычно составляет 20 пФ, но может меняться. Внешние конденсаторы не требуются при использовании кристалла 32,768 кГц, которому не требуется большая нагрузка.

Re: Не корректно работает прошивка на Atmega8A

Добавлено: Пн фев 17, 2025 10:20:59
ARV
вот-вот. еще и коэффициент усиления генератора меняется, т.е. он может быть более помехочувствительным или менее... так что лучше этот фьюз включать (но это не точно)

Re: Не корректно работает прошивка на Atmega8A

Добавлено: Пн фев 17, 2025 14:08:24
Вячеслав М.
Я бы ещё по питанию все дроссели убрал, проверял специально раньше, выяснилось что это полная фигня, особенно после дросселя конденсатор очень маленький 0.1uF, его точно не достаточно, лучше дроссель убрать.