Китайский Atmega8-16AU
- Сообщения: 56
- Зарегистрирован: Чт сен 04, 2014 18:21:01
Китайкий Atmega8 (заказывал в aliexpress.com) с трудом включается. Нужно подключить питание, отключить на несколько мс и опять подключить. Иногда приходится так довольно таки долго дрочить, чтобы заработал. Видимо начинает работать только при уменьшении питания. Источник питания - стабилизатор на 5 вольт. Внутренний генератор. Фьюзы sut устанавливал по разному. Результат: нужно дрочить с др. частатой или мс дрочки другой. Режим DOB тоже пробовал отключать и включать, не помогло. Конденсаторы устанавливал тоже, много разных. Результат: подбором конденсатора, добился, что иногда включается с первого раза, а иногда нужно по край ной мере меньше дрочить, но все же от этого эффекта никак не смог избавиться. Мк срабатывает, только при уменьшении питания. Может это из-за того, что микроконтроллер китайский? Возможно ли исправить это и как? Кто нибудь пользовался китайскими avr, и где лучше покупать avr в таком случае?
- Реклама
- Сообщения: 56
- Зарегистрирован: Чт сен 04, 2014 18:21:01

Схему сброса ставил, потом убрал. Т. к. не помогло и только мешался. Программа, обычное переключение светодиодов на выводах PB3 и PB4 поочередно (т. е. один загорается другой гаснет и так далее). Резисторы подключены к транзисторным ключам. Программы тоже делал разные, на всех так работает.
А с другой стороны чипа не считаете нужным питание подавать (AVCC, AGND)?
Подключите 21 ножку к земле и 18 к плюсу питания. 29 ножку подключие к плюсу питания через резистор 10 кОм.
- Реклама
- Сообщения: 56
- Зарегистрирован: Чт сен 04, 2014 18:21:01
AVCC, AGND подавал, так как эффект был абсолютно такой же, в последствии убрал. Такое явление вообще нормально для мк?
Вы изначально при первом включении запитывали и цифровую и аналоговую часть, или же только цифровую? Если второе, то вы такими действиями могли убить микроконтроллер.
На счет вашего вопроса - опыта работы с мк у меня мало, но если рассуждать логически, то при правильном подключении всё должно работать как часы, если мк исправен изначально.
На счет вашего вопроса - опыта работы с мк у меня мало, но если рассуждать логически, то при правильном подключении всё должно работать как часы, если мк исправен изначально.
Спойлер
Я прошиваю клоном AVR ISP mk-II, когда он подключен к моей отладочной плате, то мк частенько запускается не на своей частоте, а много меньшей. Лечится ресетом.
Последний раз редактировалось НАПАЛМ Чт сен 04, 2014 22:00:44, всего редактировалось 1 раз.
- Сообщения: 56
- Зарегистрирован: Чт сен 04, 2014 18:21:01
Не помню, но только цифровую без аналоговой части я точно питал. У меня есть новые не использованные мк, попробую сразу и аналоговую и цифровую за питать. Чо получится отпишу потом.
Я "поглядывал на обсуждение.. вот вопрос у меня возник- А каким флюсом вы микросхему паяли, и удалили ли вы "побочные продукты" с платы после пайки?
зы.. Если вы воспользовались каким - нибудь "суперфлюсом", который "значительно облегчает пайку"- то он заодно значительно увеличивает время поиска "почему не работает"
зызы.. фотка, конечно мелкая, но мне показалось, что плата после пайки не отмыта...
зы.. Если вы воспользовались каким - нибудь "суперфлюсом", который "значительно облегчает пайку"- то он заодно значительно увеличивает время поиска "почему не работает"
зызы.. фотка, конечно мелкая, но мне показалось, что плата после пайки не отмыта...
- Сообщения: 56
- Зарегистрирован: Чт сен 04, 2014 18:21:01
Пробовал за питать новый мк сразу и аналоговую и цифровую. Та же фигня. Естественно плату после пайки чистил. Паял обычной паяльной кислотой. Сам микроконтроллер включается же, прошивается, компьютер видит мк. С первого раза не хочет работать сама программа залитая в мк. Программа зарабатывает только при спаде напряжения питания. Это хорошо видно, когда подключаю электролитический конденсатор на питание. Т. е. подключаешь питание, отключаешь на несколько мс (заряд в конденсаторе уменьшается, и в это время включается программа залитая в мк), потом опять вкл. питание. И все программа работает нормально, но это же не нормально два раза подавать питание с определенным интервалом еще. Я все же думаю, что это из-за того, что мк китайский. Попробую купить оригинальный, если будет работать норм., то это точно из-за китай. На офф магазине atmel в Америке даже оптовая цена 2-4 доллара, а в Китаи он стоит не больше 20 руб. Если так, то нет смысла покупать Китайские, они работают не адекватно. Неужели никто не заказывал их?
Вообще, учитывая, что такие контроллеры года 4 уже не производят, а вместо них идут мега 8А, то брак конечно возможен. М8А дешевле, чем просто М8. И еще, стесняюсь спросить, заливаемая программа какого происхождения? Сам писал, или откуда то? Не в ней дело случаем?
ссылку на магазин где брали на всякий случай...я брал на али, шьются и работают норм, atmega8A, 328рKaiTheKat писал(а):Я все же думаю, что это из-за того, что мк китайский. Попробую купить оригинальный, если будет работать норм., то это точно из-за китай. На офф магазине atmel в Америке даже оптовая цена 2-4 доллара, а в Китаи он стоит не больше 20 руб. Если так, то нет смысла покупать Китайские, они работают не адекватно. Неужели никто не заказывал их?
- Сообщения: 56
- Зарегистрирован: Чт сен 04, 2014 18:21:01
http://ru.aliexpress.com/item/Free-ship ... .html?null
Вы тоже можете дать ссылку? Может там попробую заказать, проверенную.
Вы тоже можете дать ссылку? Может там попробую заказать, проверенную.
- Сообщения: 3385
- Зарегистрирован: Пн окт 11, 2010 19:00:08
KaiTheKat, я покупал у этого продавца и МК работают нормально.
Скорее всего проблема не в МК, а в чем-то другом, тем более что отзывы все положительные.
Скорее всего проблема не в МК, а в чем-то другом, тем более что отзывы все положительные.
вот http://www.aliexpress.com/item/Free-Shi ... 98157.html как выше написали, попробуйте более тщательно разобратьсяKaiTheKat писал(а):Вы тоже можете дать ссылку? Может там попробую заказать, проверенную.
на али 99% отзывов оставлены просто тупо по получению посылки, без всяких проверок на работоспособность и прочего...при чем иногда положительный отзыв идет в обмен на беспроблемный возврат денегМурик писал(а):KaiTheKat, я покупал у этого продавца и МК работают нормально.
Скорее всего проблема не в МК, а в чем-то другом, тем более что отзывы все положительные.
- Сообщения: 3385
- Зарегистрирован: Пн окт 11, 2010 19:00:08
Как писал выше, я покупал у этого продавца. МК проверял (не все конечно, а несколько, выборочно) и проблем не обнаружил.
Думаю дело не в контроллерах, а в чем-то другом. Может пульсации питающего напряжения выше допустимых или имеются импульсные помехи? Это кстати объясняет почему МК нормально работает питаясь от конденсатора. Пусть KaiTheKat запитает контролер от батарейки и посмотрит как он будет работать.
Думаю дело не в контроллерах, а в чем-то другом. Может пульсации питающего напряжения выше допустимых или имеются импульсные помехи? Это кстати объясняет почему МК нормально работает питаясь от конденсатора. Пусть KaiTheKat запитает контролер от батарейки и посмотрит как он будет работать.
- Сообщения: 56
- Зарегистрирован: Чт сен 04, 2014 18:21:01
Спасибо всем за ответы и советы. Пока решения данной проблемы не нашел. Пробовал разные варианты. Сначала питал от 3 пальчиковых батареек. На вопрос почему он так, со второго раза включается, сказали питать от стабилизатора на 5 вольт. Поэтому, думаю дело не в питании. Код писал на avr (atmel) studio 6.1. Пробовал разные коды, в том числе с использованием прерываний таймеров. Вот последний код использованный на мк:
.def temp1=r17 ; директива .def назначает регистру r17 имя temp1
.def temp2=r18 ; директива .def назначает регистру r18 имя temp2
.def temp3=r19 ; директива .def назначает регистру r19 имя temp3
; =============== Начало программного кода
.cseg ; Выбор сегмента программного кода
.org 0 ; Установка текущего адреса на ноль
; =============== Инициализация портов
;DDR
ldi r16, 0b11111111
out DDRB, r16
ldi r20, 0b00000000
out PortB, r20
; =============== Основной функционал программы
Cicle:
ldi r20, 0b00010000
out PortB, r20
rcall delay
ldi r20, 0b00001000
out PortB, r20
rcall delay
rjmp Cicle
delay:
clr temp1 ; обнулить регистр temp1
clr temp2 ; обнулить регистр temp2
ldi temp3, 5 ; записать в регистр temp3 число 2
delay1:
dec temp1 ; вычесть из значения регистра temp1 единицу
brne delay1 ; если значение temp1 не равно 0 перейти к метке Pause1
dec temp2 ; вычесть из значения регистра temp2 единицу
brne delay1 ; если значение temp2 не равно 0 перейти к метке Pause1
dec temp3 ; вычесть из значения регистра temp3 единицу
brne delay1 ; если значение temp1 не равно 0 перейти к метке Pause1
ret ; выйти из подпрограммы
.def temp1=r17 ; директива .def назначает регистру r17 имя temp1
.def temp2=r18 ; директива .def назначает регистру r18 имя temp2
.def temp3=r19 ; директива .def назначает регистру r19 имя temp3
; =============== Начало программного кода
.cseg ; Выбор сегмента программного кода
.org 0 ; Установка текущего адреса на ноль
; =============== Инициализация портов
;DDR
ldi r16, 0b11111111
out DDRB, r16
ldi r20, 0b00000000
out PortB, r20
; =============== Основной функционал программы
Cicle:
ldi r20, 0b00010000
out PortB, r20
rcall delay
ldi r20, 0b00001000
out PortB, r20
rcall delay
rjmp Cicle
delay:
clr temp1 ; обнулить регистр temp1
clr temp2 ; обнулить регистр temp2
ldi temp3, 5 ; записать в регистр temp3 число 2
delay1:
dec temp1 ; вычесть из значения регистра temp1 единицу
brne delay1 ; если значение temp1 не равно 0 перейти к метке Pause1
dec temp2 ; вычесть из значения регистра temp2 единицу
brne delay1 ; если значение temp2 не равно 0 перейти к метке Pause1
dec temp3 ; вычесть из значения регистра temp3 единицу
brne delay1 ; если значение temp1 не равно 0 перейти к метке Pause1
ret ; выйти из подпрограммы
- Сообщения: 56
- Зарегистрирован: Чт сен 04, 2014 18:21:01
РАБОТАЕТ!!! Приятно удивлен. Дело в коде было оказывается. Спасибо всем. Тогда другой вопрос, что с моим кодом не так?


