Страница 1 из 3
Китайский Atmega8-16AU
Добавлено: Чт сен 04, 2014 18:32:03
KaiTheKat
Китайкий Atmega8 (заказывал в aliexpress.com) с трудом включается. Нужно подключить питание, отключить на несколько мс и опять подключить. Иногда приходится так довольно таки долго дрочить, чтобы заработал. Видимо начинает работать только при уменьшении питания. Источник питания - стабилизатор на 5 вольт. Внутренний генератор. Фьюзы sut устанавливал по разному. Результат: нужно дрочить с др. частатой или мс дрочки другой. Режим DOB тоже пробовал отключать и включать, не помогло. Конденсаторы устанавливал тоже, много разных. Результат: подбором конденсатора, добился, что иногда включается с первого раза, а иногда нужно по край ной мере меньше дрочить, но все же от этого эффекта никак не смог избавиться. Мк срабатывает, только при уменьшении питания. Может это из-за того, что микроконтроллер китайский? Возможно ли исправить это и как? Кто нибудь пользовался китайскими avr, и где лучше покупать avr в таком случае?
Re: Китайский Atmega8-16AU
Добавлено: Чт сен 04, 2014 19:15:56
НАПАЛМ
Выложите пожалуйста файл печатной платы.
Re: Китайский Atmega8-16AU
Добавлено: Чт сен 04, 2014 19:47:52
KaiTheKat

Схему сброса ставил, потом убрал. Т. к. не помогло и только мешался. Программа, обычное переключение светодиодов на выводах PB3 и PB4 поочередно (т. е. один загорается другой гаснет и так далее). Резисторы подключены к транзисторным ключам. Программы тоже делал разные, на всех так работает.
Re: Китайский Atmega8-16AU
Добавлено: Чт сен 04, 2014 20:11:32
Martin76
А с другой стороны чипа не считаете нужным питание подавать (AVCC, AGND)?
Re: Китайский Atmega8-16AU
Добавлено: Чт сен 04, 2014 20:50:09
НАПАЛМ
Подключите 21 ножку к земле и 18 к плюсу питания. 29 ножку подключие к плюсу питания через резистор 10 кОм.
Re: Китайский Atmega8-16AU
Добавлено: Чт сен 04, 2014 20:53:54
KaiTheKat
AVCC, AGND подавал, так как эффект был абсолютно такой же, в последствии убрал. Такое явление вообще нормально для мк?
Re: Китайский Atmega8-16AU
Добавлено: Чт сен 04, 2014 21:19:13
НАПАЛМ
Вы изначально при первом включении запитывали и цифровую и аналоговую часть, или же только цифровую? Если второе, то вы такими действиями могли убить микроконтроллер.
На счет вашего вопроса - опыта работы с мк у меня мало, но если рассуждать логически, то при правильном подключении всё должно работать как часы, если мк исправен изначально.
Спойлер
Я прошиваю клоном AVR ISP mk-II, когда он подключен к моей отладочной плате, то мк частенько запускается не на своей частоте, а много меньшей. Лечится ресетом.
Re: Китайский Atmega8-16AU
Добавлено: Чт сен 04, 2014 21:37:33
KaiTheKat
Не помню, но только цифровую без аналоговой части я точно питал. У меня есть новые не использованные мк, попробую сразу и аналоговую и цифровую за питать. Чо получится отпишу потом.
Re: Китайский Atmega8-16AU
Добавлено: Пт сен 05, 2014 00:19:43
АлександрЛ
Я "поглядывал на обсуждение.. вот вопрос у меня возник- А каким флюсом вы микросхему паяли, и удалили ли вы "побочные продукты" с платы после пайки?
зы.. Если вы воспользовались каким - нибудь "суперфлюсом", который "значительно облегчает пайку"- то он заодно значительно увеличивает время поиска "почему не работает"
зызы.. фотка, конечно мелкая, но мне показалось, что плата после пайки не отмыта...
Re: Китайский Atmega8-16AU
Добавлено: Пт сен 05, 2014 20:27:34
KaiTheKat
Пробовал за питать новый мк сразу и аналоговую и цифровую. Та же фигня. Естественно плату после пайки чистил. Паял обычной паяльной кислотой. Сам микроконтроллер включается же, прошивается, компьютер видит мк. С первого раза не хочет работать сама программа залитая в мк. Программа зарабатывает только при спаде напряжения питания. Это хорошо видно, когда подключаю электролитический конденсатор на питание. Т. е. подключаешь питание, отключаешь на несколько мс (заряд в конденсаторе уменьшается, и в это время включается программа залитая в мк), потом опять вкл. питание. И все программа работает нормально, но это же не нормально два раза подавать питание с определенным интервалом еще. Я все же думаю, что это из-за того, что мк китайский. Попробую купить оригинальный, если будет работать норм., то это точно из-за китай. На офф магазине atmel в Америке даже оптовая цена 2-4 доллара, а в Китаи он стоит не больше 20 руб. Если так, то нет смысла покупать Китайские, они работают не адекватно. Неужели никто не заказывал их?
Re: Китайский Atmega8-16AU
Добавлено: Пт сен 05, 2014 20:36:12
Martin76
Вообще, учитывая, что такие контроллеры года 4 уже не производят, а вместо них идут мега 8А, то брак конечно возможен. М8А дешевле, чем просто М8. И еще, стесняюсь спросить, заливаемая программа какого происхождения? Сам писал, или откуда то? Не в ней дело случаем?
Re: Китайский Atmega8-16AU
Добавлено: Пт сен 05, 2014 20:43:15
dream088
KaiTheKat писал(а):Я все же думаю, что это из-за того, что мк китайский. Попробую купить оригинальный, если будет работать норм., то это точно из-за китай. На офф магазине atmel в Америке даже оптовая цена 2-4 доллара, а в Китаи он стоит не больше 20 руб. Если так, то нет смысла покупать Китайские, они работают не адекватно. Неужели никто не заказывал их?
ссылку на магазин где брали на всякий случай...я брал на али, шьются и работают норм, atmega8A, 328р
Re: Китайский Atmega8-16AU
Добавлено: Пт сен 05, 2014 20:57:26
KaiTheKat
http://ru.aliexpress.com/item/Free-ship ... .html?null
Вы тоже можете дать ссылку? Может там попробую заказать, проверенную.
Re: Китайский Atmega8-16AU
Добавлено: Сб сен 06, 2014 09:19:39
Мурик
KaiTheKat, я покупал у этого продавца и МК работают нормально.
Скорее всего проблема не в МК, а в чем-то другом, тем более что отзывы все положительные.
Re: Китайский Atmega8-16AU
Добавлено: Сб сен 06, 2014 13:03:03
dream088
KaiTheKat писал(а):Вы тоже можете дать ссылку? Может там попробую заказать, проверенную.
вот
http://www.aliexpress.com/item/Free-Shi ... 98157.html как выше написали, попробуйте более тщательно разобраться
Мурик писал(а):KaiTheKat, я покупал у этого продавца и МК работают нормально.
Скорее всего проблема не в МК, а в чем-то другом, тем более что отзывы все положительные.
на али 99% отзывов оставлены просто тупо по получению посылки, без всяких проверок на работоспособность и прочего...при чем иногда положительный отзыв идет в обмен на беспроблемный возврат денег
Re: Китайский Atmega8-16AU
Добавлено: Сб сен 06, 2014 13:44:16
Мурик
Как писал выше, я покупал у этого продавца. МК проверял (не все конечно, а несколько, выборочно) и проблем не обнаружил.
Думаю дело не в контроллерах, а в чем-то другом. Может пульсации питающего напряжения выше допустимых или имеются импульсные помехи? Это кстати объясняет почему МК нормально работает питаясь от конденсатора. Пусть KaiTheKat запитает контролер от батарейки и посмотрит как он будет работать.
Re: Китайский Atmega8-16AU
Добавлено: Сб сен 06, 2014 17:21:36
KaiTheKat
Спасибо всем за ответы и советы. Пока решения данной проблемы не нашел. Пробовал разные варианты. Сначала питал от 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 ; выйти из подпрограммы
Re: Китайский Atmega8-16AU
Добавлено: Сб сен 06, 2014 20:08:45
НАПАЛМ
Про стек то забыли

Re: Китайский Atmega8-16AU
Добавлено: Сб сен 06, 2014 20:37:53
Мурик
Залейте в МК прошивку из архива и посмотрите будет ли нормально работать. Рассчитана на тактовый генератор 1 МГц.
Re: Китайский Atmega8-16AU
Добавлено: Сб сен 06, 2014 21:02:32
KaiTheKat
РАБОТАЕТ!!! Приятно удивлен. Дело в коде было оказывается. Спасибо всем. Тогда другой вопрос, что с моим кодом не так?