Не удается запустить собранную платку
- Войдите на сайт для отправки комментариев
Добрый день
наверное это 100500-я подобная тема, извините )
Собрал плату основываясь на этой схеме http://arduino.cc/en/Main/ArduinoBoardSerialSingleSided3
на макетке. Фотки
http://saveimg.ru/show-image.php?id=fdf5a5eb1f2c31b9cb4b35e4c6450048
http://saveimg.ru/show-image.php?id=306cb995e28fce83d855bccb35b3914f
http://saveimg.ru/show-image.php?id=ea9166eb39a31820628dd13caa05388b
МК Atmega328P-PU
Слепил LPT программатор, могу прошить загрузчик в том числе и через Arduino IDE, но МК не проявляет признаков жизни, не мигает светодиодом на 13й ноге. Загрузчики пробовал шить разные.
Питание пробовал сначала от usb, потом от батарейки, резет привязан к +5, все уже по нескольку раз проверил.
Сломал уже весь мозг, посоветуйте что еще попробовать? (лет 10 не имел дел с паяльником, а с avr так и вообще не имел, так что, возможно, делаю какую-то глупую ошибку).
Не понятно.. т.е. загрузчик успешно шьется через ЛПТ ,а через загрузчик загрузка не работает ?
может от самого простого - перепутана полярность светодиода.
если можете из Ардуино ИДЕ шить загрузчик, то попробуйте из примеров блинк "Загрузить с помощью программатора", а затем уже разбираться с загрузчиками.
или переделайте схему под usbasploader - можно будет по USB заливаться.
http://www.obdev.at/products/vusb/usbasploader.html
https://metalab.at/wiki/Metaboard
Не понятно.. т.е. загрузчик успешно шьется через ЛПТ ,а через загрузчик загрузка не работает ?
com-порт я проверял монитором порта, если коротить 2 и 3 ноги, ответы приходят. Так что подозреваю дело в том что МК по какой-то причине не работает.
при прошивке загрузчика Ардуино ИДЕ в консоли(внизу) пишет, что всё получилось?
может от самого простого - перепутана полярность светодиода.
если можете из Ардуино ИДЕ шить загрузчик, то попробуйте из примеров блинк "Загрузить с помощью программатора", а затем уже разбираться с загрузчиками.
или переделайте схему под usbasploader - можно будет по USB заливаться.
http://www.obdev.at/products/vusb/usbasploader.html
https://metalab.at/wiki/Metaboard
Блинк тоже прошить догадался, но результат пока тот же.
Подозреваю, что и USBASP не поможет, т.к. заливка и вериф прошивки проходят, но дальше МК не работает.
Все делал на двух контроллерах, так что версия о том что контроллер дохлый отпадает (ну или я их оба попалил как-то одинаково).
Может в кварце дело? Как-то тестером можно его проверить?
Да, после прошивки обычно пишет что все нормально, иногда вериф не проходит, но это и понятно - программатор такой.
Да, после прошивки обычно пишет что все нормально, иногда вериф не проходит, но это и понятно - программатор такой.
на всякий случай в настройках Ардуино ИДЕ установите галки "подробный вывод при загрузке", "проверка кода после загрузки".
но, подозреваю, что со светодиодом что-то не то, иначе как оно так - успешно прошивается, но не работает?
Подозреваю, что и USBASP не поможет
не USBASP, а USBASPloader - удобней же, чем с компортом.
Загрузил еще раз блинк через программатор, на 13й ножке постоянно 5-6 мВ, а должно мигать раз в секунду.
Вот и я хотел спросить - при каких условиях прошивка через ISP проходит нормально, а дальше МК не работает? Мои скудные познания намекают на кварц?
Загрузил еще раз блинк через программатор, на 13й ножке постоянно 5-6 мВ, а должно мигать раз в секунду.
Вот и я хотел спросить - при каких условиях прошивка через ISP проходит нормально, а дальше МК не работает? Мои скудные познания намекают на кварц?
если шьётся, то с кварцем всё нормально.
фиг его знает - может из загрузчика не выходит.
в целом то всё работает.
вроде нашёл причину странного - светодиод на 13-й ноге дуино, но на 19-й ноге корпуса должен быть.
по факту на 13-й ноге корпуса.
*создателям номеров ног дуино - гореть в аду за преумножение сущностей и введение ползателей в заблуждение.
Схемотехники рекомендуют располагать кварц и его кондеры как можно ближе к коробочке
Первое правило:
1. Начинаем со считывания фьюзов. И пока не считались- разговор ни о чём....
Если считались- фьюзы в студию!
Фьюзы софтинкой AVR Burn-O-Mat
Если в Hex, то lfuse = EF, hfuse = D8, efuse = 05
Сейчас прошит скетч блинк без загрузчика.
Вот еще скрин из uniprof
Вроде фьюзы подходят, хотя efuse = 05..... Обычно: FF- выкл, FC - 4.3 Вольта, FD - 2.7 Вольта
Хорошо, пусть диод не работает, попробуйте классику залить:
Попробовал, вижу строчку на компе в терминале!
Но при попытке залить скетч через ком-порт TX моргает три раза и дальше ошибка:
При этом ком-порт проверял, если вынуть МК из панельки и закоротить 2 и 3 контакты, отправленное возвращается нормально.
Какую сточку? Hello, World ?
Какой загрузчик прошит? У родного ( ATmegaBOOT_168_atmega328.hex) размер 1024 байт, hfuse = DA
Попробуйте его прошить.
Да, ее самую, скетч залил программатором через LPT
Прошил этот загрузчик из Arduino IDE через LPT, все так же: диод на 13й ноге не мигает, при попытке залить скетч через ком-порт:
при прошивке загрузчика были строчки что флэш проверена успешно.
А не D8
Шью фьюзы такие: EXT=FD; h=DE; L=FF;LOC=CF
Работает нормально на ATMega328 16Мгц
Вот я их даже считал из МК для верности
А разве бывает загрузчик на 1кб ?
Видел на 512 байт для UNO ,и 2кб для Duemilanove . В зависимости от размера загрузчика необходима верная установка битов фьюзов BOOTSZ0 и BOOTSZ1 .В калькуляторах фьюзов указывается размер загрузчика в словах,т.е. 256 слов - это 512 байт..
Даже конструктор такой делал.. http://homes-smart.ru/index.php/oborudovanie/arduino/avr-zagruzchik
microduster, а rx и tx точно не перепутаны? Нужно ещё посмотреть осциллографом отработку сигнала RESET. Если нет осцилла, то вручную попробуйте ресетить после компиляции.
Может быть вы OptiBoot прошили?
Тогда его надо дописать в boards.txt
##############################################################
atmega328o.name=[Optiboot] Arduino Duemilanove w/ ATmega328
atmega328o.upload.protocol=arduino
atmega328o.upload.maximum_size=32256
atmega328o.upload.speed=115200
atmega328o.bootloader.low_fuses=0xff
atmega328o.bootloader.high_fuses=0xde
atmega328o.bootloader.extended_fuses=0x05
atmega328o.bootloader.path=optiboot
atmega328o.bootloader.file=optiboot_atmega328.hex
atmega328o.bootloader.unlock_bits=0x3F
atmega328o.bootloader.lock_bits=0x0F
atmega328o.build.mcu=atmega328p
atmega328o.build.f_cpu=16000000L
atmega328o.build.core=arduino:arduino
atmega328o.build.variant=arduino:standard
##############################################################
Попробуйте ......
http://code.google.com/p/optiboot/downloads/list
microduster, а rx и tx точно не перепутаны?
У него бутлодер не грузит скетчи.
Или запрещён, или не прошит, или указан не тот размер, или не та скорость.
Хотя судя по фьюзам - просто не прошит или не тот
А Hello, World выдаёт
Про Optibot не совсем понял, я выбирал при прошивке в менюшке Arduino IDE 1.0.5-r2 плату Arduino Duemilanove w/Atmega328 (вторая сверху)
Советуете прошить hex с этой ссылки? А какой именно?
Осциллографа нет, но как я понимаю после прошивки если платка была дернута по питанию, то резет уже не важен? +5 на нем есть.
Как прошивал загрузчик ? Через ардуину ? Там можно выбрать пункт "записать загрузчик" ,если её нажать,то ардуино иде сама прошьет загрузчик и установит необходимые фьюзы - после этого должно все работать.
Единственно что у UART должна выбрана та же скорость что и в конфиге boarts.txt в строке speed
да, через ардуину тоже прошивал, скорость сейчас проверю
Единственно что у UART должна выбрана та же скорость что и в конфиге boarts.txt в строке speed
НЕТ !!!!!!
В boarts.txt - это скорость на которой бутлодер принимает прошивку от IDE.
Она константа для данного бутлодера. И только на этой скорости пойдёт прошивка !!!!
Она задаётся в параметрах avrdude, а берётся из boarts.txt
А в UART мы можем её выбирать как нам надо. (Serial.begin(9600);
Вроде все, отбой. Я похоже научился заливать через ком. )
как я сразу и думал - что-то не то делаю, так и вышло, авторезет не отрабатывал, а то, что перед загрузкой надо МК ребутить я только сейчас догадался )
Большое спасибо всем кто помогал.
microduster, вот я на него и сразу сказал, это самая частая проблема у тех, кто сам собирает. Некоторые люди умудрядись 100 пик ставить вместо 0,1мкф. Кстати заодно - никогда не задумывались, что пришло время осваивать современные технологии изготовления плат? На дворе 21 век :)
dimax, да, я сразу так и подозревал что делаю не то или не делаю то, что необходимо из разряда чего-то элементарного, очевидного для тех кто имеет хотя бы минимальный опыт.
Да, макетка с проводами это конечно некрасиво, но зато очень доступно и на ней можно быстро вносить изменения. Беспаечная еще не доехала из Китая. А в целом я конечно согласен, лучше заранее планировать, а потом делать, но для этого надо хотя бы знать конечный необходимый результат, а я делал так, для попробовать.
ну, и чего? - светодиод перепаял на правильную ногу?
Клапауций, ага, при загрузке один раз загрузчик подмигивает этим диодом.