Не удается запустить собранную платку

microduster
Offline
Зарегистрирован: 05.02.2014

Добрый день

наверное это 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 так и вообще не имел, так что, возможно, делаю какую-то глупую ошибку).

MaksMS
Offline
Зарегистрирован: 11.03.2013

Не понятно.. т.е. загрузчик успешно шьется через ЛПТ ,а  через загрузчик загрузка не работает ?

Клапауций
Offline
Зарегистрирован: 10.02.2013

может от самого простого - перепутана полярность светодиода.

если можете из Ардуино ИДЕ шить загрузчик, то попробуйте из примеров блинк "Загрузить с помощью программатора", а затем уже разбираться с загрузчиками.

или переделайте схему под usbasploader - можно будет по USB заливаться.

http://www.obdev.at/products/vusb/usbasploader.html

https://metalab.at/wiki/Metaboard

microduster
Offline
Зарегистрирован: 05.02.2014

MaksMS пишет:

Не понятно.. т.е. загрузчик успешно шьется через ЛПТ ,а  через загрузчик загрузка не работает ?

Да, загрузчик шьется через ЛПТ нормально, и я пробовал цеплять платку к ком-порту (переходник usb2com) но IDE ничего залить не может, не помню ошибку.

com-порт я проверял монитором порта, если коротить 2 и 3 ноги, ответы приходят. Так что подозреваю дело в том что МК по какой-то причине не работает.

Клапауций
Offline
Зарегистрирован: 10.02.2013

при прошивке загрузчика Ардуино ИДЕ в консоли(внизу) пишет, что всё получилось?

microduster
Offline
Зарегистрирован: 05.02.2014

Клапауций пишет:

может от самого простого - перепутана полярность светодиода.

если можете из Ардуино ИДЕ шить загрузчик, то попробуйте из примеров блинк "Загрузить с помощью программатора", а затем уже разбираться с загрузчиками.

или переделайте схему под usbasploader - можно будет по USB заливаться.

http://www.obdev.at/products/vusb/usbasploader.html

https://metalab.at/wiki/Metaboard

Полярность диода проверял, напряжение на ножке мерял, стабильно стоит 5 мВ.

Блинк тоже прошить догадался, но результат пока тот же.

Подозреваю, что и USBASP не поможет, т.к. заливка и вериф прошивки проходят, но дальше МК не работает.

Все делал на двух контроллерах, так что версия о том что контроллер дохлый отпадает (ну или я их оба попалил как-то одинаково).

Может в кварце дело? Как-то тестером можно его проверить?

microduster
Offline
Зарегистрирован: 05.02.2014

Да, после прошивки обычно пишет что все нормально, иногда вериф не проходит, но это и понятно - программатор такой.

Клапауций
Offline
Зарегистрирован: 10.02.2013

microduster пишет:

Да, после прошивки обычно пишет что все нормально, иногда вериф не проходит, но это и понятно - программатор такой.

на всякий случай в настройках Ардуино ИДЕ установите галки "подробный вывод при загрузке", "проверка кода после загрузки".

но, подозреваю, что со светодиодом что-то не то, иначе как оно так - успешно прошивается, но не работает?

Клапауций
Offline
Зарегистрирован: 10.02.2013

microduster пишет:

Подозреваю, что и USBASP не поможет

не USBASP, а USBASPloader - удобней же, чем с компортом.

microduster
Offline
Зарегистрирован: 05.02.2014

Загрузил еще раз блинк через программатор, на 13й ножке постоянно 5-6 мВ, а должно мигать раз в секунду.

Вот и я хотел спросить - при каких условиях прошивка через ISP проходит нормально, а дальше МК не работает? Мои скудные познания намекают на кварц?

Клапауций
Offline
Зарегистрирован: 10.02.2013

microduster пишет:

Загрузил еще раз блинк через программатор, на 13й ножке постоянно 5-6 мВ, а должно мигать раз в секунду.

Вот и я хотел спросить - при каких условиях прошивка через ISP проходит нормально, а дальше МК не работает? Мои скудные познания намекают на кварц?

если шьётся, то с кварцем всё нормально.

фиг его знает - может из загрузчика не выходит.

в целом то всё работает.

Клапауций
Offline
Зарегистрирован: 10.02.2013

вроде нашёл причину странного - светодиод на 13-й ноге дуино, но на 19-й ноге корпуса должен быть.

по факту на 13-й ноге корпуса.

*создателям номеров ног дуино - гореть в аду за преумножение сущностей и введение ползателей в заблуждение.

kand
Offline
Зарегистрирован: 28.01.2014

Схемотехники рекомендуют располагать кварц и его кондеры как можно ближе к коробочке

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Первое правило:

1. Начинаем со считывания фьюзов.  И пока не считались- разговор ни о чём....

   Если считались- фьюзы в студию!

microduster
Offline
Зарегистрирован: 05.02.2014

Фьюзы софтинкой AVR Burn-O-Mat

Если в Hex, то lfuse = EF, hfuse = D8, efuse = 05

Сейчас прошит скетч блинк без загрузчика.

microduster
Offline
Зарегистрирован: 05.02.2014

Вот еще скрин из uniprof

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Вроде фьюзы подходят, хотя efuse = 05.....   Обычно:  FF- выкл,  FC -  4.3 Вольта,     FD -  2.7 Вольта

Хорошо, пусть диод не работает, попробуйте классику залить:

void setup() { 
  Serial.begin(9600); 
  pinMode (13, OUTPUT);
} 
void loop() { 
   digitalWrite (13, HIGH);
   Serial.println ("Hello, World!"); 
   delay(1000);
   digitalWrite (13, LOW);
} 

 

 

microduster
Offline
Зарегистрирован: 05.02.2014

Попробовал, вижу строчку на компе в терминале!

Но при попытке залить скетч через ком-порт TX моргает три раза и дальше ошибка:

C:\Documents and Settings\user\Desktop\arduino-1.0.5-r2\hardware/tools/avr/bin/avrdude -CC:\Documents and Settings\user\Desktop\arduino-1.0.5-r2\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega328p -carduino -P\\.\COM3 -b57600 -D -Uflash:w:C:\DOCUME~1\user\LOCALS~1\Temp\build5034639200492831595.tmp\blink.cpp.hex:i 

avrdude: Version 5.11, compiled on Sep  2 2011 at 19:38:36
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "C:\Documents and Settings\user\Desktop\arduino-1.0.5-r2\hardware/tools/avr/etc/avrdude.conf"

         Using Port                    : \\.\COM3
         Using Programmer              : arduino
         Overriding Baud Rate          : 57600
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Recv: 
avrdude: stk500_getsync(): not in sync: resp=0x00

avrdude done.  Thank you.

При этом ком-порт проверял, если вынуть МК из панельки и закоротить 2 и 3 контакты, отправленное возвращается нормально.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Какую сточку?  Hello, World  ?

Какой загрузчик прошит? У родного ( ATmegaBOOT_168_atmega328.hex) размер 1024 байт, hfuse = DA


atmega328.name=Arduino Duemilanove w/ ATmega328
atmega328.upload.protocol=arduino
atmega328.upload.maximum_size=30720
atmega328.upload.speed=57600
atmega328.bootloader.low_fuses=0xFF

atmega328.bootloader.high_fuses=0xDA

atmega328.bootloader.extended_fuses=0x05
atmega328.bootloader.path=atmega

atmega328.bootloader.file=ATmegaBOOT_168_atmega328.hex

atmega328.bootloader.unlock_bits=0x3F
atmega328.bootloader.lock_bits=0x0F
atmega328.build.mcu=atmega328p
atmega328.build.f_cpu=16000000L
atmega328.build.core=arduino
atmega328.build.variant=standard

Попробуйте его прошить.

microduster
Offline
Зарегистрирован: 05.02.2014

Да, ее самую, скетч залил программатором через LPT

microduster
Offline
Зарегистрирован: 05.02.2014

Прошил этот загрузчик из Arduino IDE через LPT, все так же: диод на 13й ноге не мигает, при попытке залить скетч через ком-порт:

avrdude: stk500_getsync(): not in sync: resp=0x00

при прошивке загрузчика были строчки что флэш проверена успешно.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011
Проверить:

atmega328.bootloader.low_fuses=0xFF
atmega328.bootloader.high_fuses=0xDA
atmega328.bootloader.extended_fuses=0x05

atmega328.bootloader.high_fuses=0xDA

А не D8

kand
Offline
Зарегистрирован: 28.01.2014

Шью фьюзы такие: EXT=FD; h=DE; L=FF;LOC=CF

Работает нормально на ATMega328  16Мгц

microduster
Offline
Зарегистрирован: 05.02.2014

Вот я их даже считал из МК для верности

MaksMS
Offline
Зарегистрирован: 11.03.2013

А разве бывает загрузчик на 1кб ?

Видел на 512 байт для UNO ,и 2кб для Duemilanove . В зависимости от размера загрузчика необходима верная установка битов фьюзов BOOTSZ0 и BOOTSZ1 .В калькуляторах фьюзов указывается размер загрузчика в словах,т.е. 256 слов - это 512 байт..

Даже конструктор такой делал..  http://homes-smart.ru/index.php/oborudovanie/arduino/avr-zagruzchik

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

microduster, а rx и tx точно не перепутаны? Нужно ещё посмотреть осциллографом отработку сигнала RESET. Если нет осцилла, то вручную попробуйте ресетить после компиляции.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Может быть вы 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

 

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

dimax пишет:

microduster, а rx и tx точно не перепутаны?

У него бутлодер не грузит скетчи.

Или запрещён, или не прошит, или указан не тот размер, или не та скорость.

Хотя судя по фьюзам - просто не прошит или не тот

А Hello, World выдаёт

microduster
Offline
Зарегистрирован: 05.02.2014

Про Optibot не совсем понял, я выбирал при прошивке в менюшке Arduino IDE 1.0.5-r2 плату Arduino Duemilanove w/Atmega328 (вторая сверху)

Советуете прошить hex с этой ссылки? А какой именно?

Осциллографа нет, но как я понимаю после прошивки если платка была дернута по питанию, то резет уже не важен? +5 на нем есть.

MaksMS
Offline
Зарегистрирован: 11.03.2013

Как прошивал загрузчик ? Через ардуину ? Там можно выбрать пункт "записать загрузчик" ,если её нажать,то ардуино иде сама прошьет загрузчик и установит необходимые фьюзы - после этого должно все работать.

Единственно что у UART  должна выбрана та же скорость что и в конфиге boarts.txt в строке speed

microduster
Offline
Зарегистрирован: 05.02.2014

да, через ардуину тоже прошивал, скорость сейчас проверю

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

MaksMS пишет:

Единственно что у UART  должна выбрана та же скорость что и в конфиге boarts.txt в строке speed

НЕТ !!!!!!

В boarts.txt - это скорость на которой бутлодер принимает прошивку от IDE.

Она константа для данного бутлодера. И только на этой скорости пойдёт прошивка !!!!

Она задаётся в параметрах avrdude, а берётся из boarts.txt

А в UART  мы можем её выбирать как нам надо. (Serial.begin(9600);

microduster
Offline
Зарегистрирован: 05.02.2014

Вроде все, отбой. Я похоже научился заливать через ком. )

как я сразу и думал - что-то не то делаю, так и вышло, авторезет не отрабатывал, а то, что перед загрузкой надо МК ребутить я только сейчас догадался )

Большое спасибо всем кто помогал.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

microduster, вот я на него и сразу сказал, это самая частая проблема у тех, кто сам собирает. Некоторые люди умудрядись 100 пик ставить вместо 0,1мкф. Кстати заодно - никогда не задумывались, что пришло время осваивать современные технологии изготовления плат? На дворе 21 век :)

microduster
Offline
Зарегистрирован: 05.02.2014

dimax, да, я сразу так и подозревал что делаю не то или не делаю то, что необходимо из разряда чего-то элементарного, очевидного для тех кто имеет хотя бы минимальный опыт.

Да, макетка с проводами это конечно некрасиво, но зато очень доступно и на ней можно быстро вносить изменения. Беспаечная еще не доехала из Китая. А в целом я конечно согласен, лучше заранее планировать, а потом делать, но для этого надо хотя бы знать конечный необходимый результат, а я делал так, для попробовать.

Клапауций
Offline
Зарегистрирован: 10.02.2013

ну, и чего? - светодиод перепаял на правильную ногу?

microduster
Offline
Зарегистрирован: 05.02.2014

Клапауций, ага, при загрузке один раз загрузчик подмигивает этим диодом.