Реанимация Arduino

Обсуждаем Arduino, Raspberry Pi и другие электронные компоненты и проекты DIY
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
Сообщения: 1018
Зарегистрирован: 22 окт 2010, 23:57

Реанимация Arduino

Сообщение Mr.Kubikus »

От пользователя Marvin в нашу arduino-реанимацию поступили две платы - Uno и Mega 2560. Описание болезни на сайте roboforum.ru. Попробуем разобраться и если получится, то оживить их.

Начнем с Arduino Uno.

По внешним признакам - это китайский клон Arduino Uno R1.

Пациент
uno-3.jpg
uno-3.jpg (54.55 КБ) 34377 просмотров
Оригинал
uno-4.jpg
uno-4.jpg (49.04 КБ) 34377 просмотров
Адаптер USB-Serial выполнен на чипе ATmega8U2. При подключении к компу (Windows 7) опредеяется как "Communications Port".

Для проверки пробую слать в COM-порт символы из терминала (putty). На плате Arduino в это время должен загораться индикатор RX, но он не горит. Ага. Может быть дело в кривой прошивке 8U2 как в прошлый раз.

Пробую залить прошивку через Arduino ISP с помощью avrdude.
uno-6.jpg
uno-6.jpg (117.6 КБ) 34377 просмотров
avrdude показывает вот такую сигнатуру чипа:
avrdude: Device signature = 0xffffff
А должно быть 0x1e9389. Похоже, что ATmega8U2 каюк.

С платой Mega 2560 ситуация такая же.

Считаю, что решением проблемы в обоих случаях будет замена чипов ATmega8U2.
С уважением, Григорий
GitHub FB ВК
Marvin
Сообщения: 22
Зарегистрирован: 05 май 2012, 19:04

Re: Реанимация Arduino

Сообщение Marvin »

Не пробовали ли Вы заливать скейтчи мимо ATmega8U2 ?
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
Сообщения: 1018
Зарегистрирован: 22 окт 2010, 23:57

Re: Реанимация Arduino

Сообщение Mr.Kubikus »

Нет. Скетчи не пробовал заливать.

На Меге обновил загрузчик через ICSP - с ATMEGA2560 все нормально.
С уважением, Григорий
GitHub FB ВК
Marvin
Сообщения: 22
Зарегистрирован: 05 май 2012, 19:04

Re: Реанимация Arduino

Сообщение Marvin »

Mr.Kubikus писал(а):Нет. Скетчи не пробовал заливать.

На Меге обновил загрузчик через ICSP - с ATMEGA2560 все нормально.
Доктор, вы волшебник!
Marvin
Сообщения: 22
Зарегистрирован: 05 май 2012, 19:04

Re: Реанимация Arduino

Сообщение Marvin »

Mr.Kubikus писал(а):Нет. Скетчи не пробовал заливать.
На Меге обновил загрузчик через ICSP - с ATMEGA2560 все нормально.
Подключаю в винде, Led13 мигает сериями "один длинный, два коротких", ОС устройство не видит.

Отдолжили на день Arduino Mega R3, пытаюсь попробовать скейтчи залить на свои полутрупы, пока ни чего не получается.
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
Сообщения: 1018
Зарегистрирован: 22 окт 2010, 23:57

Re: Реанимация Arduino

Сообщение Mr.Kubikus »

ОС видеть не будет. Там же контроллер 8U2 мертвый. На этой плате ATMEGA2560 я прошивал через ICSP без 8U2.
С уважением, Григорий
GitHub FB ВК
Marvin
Сообщения: 22
Зарегистрирован: 05 май 2012, 19:04

Re: Реанимация Arduino

Сообщение Marvin »

Mr.Kubikus писал(а):ОС видеть не будет. Там же контроллер 8U2 мертвый. На этой плате ATMEGA2560 я прошивал через ICSP без 8U2.
Как это сделать при помощи живой Меги? В сети что-то попадается, но большей частью это прошивка загрузчика :(
Делаю по http://arduino.cc/en/Tutorial/ArduinoISP : заливаю скейтч программатора, подключаю мегу к меге через ICSP (но reset больного подключаю к 10 ноге "программатора" ), ставлю какой-то резистор между ресетом и +5 программатора. Прицепляю светодид на 9 пин. Наблюдаю мерцание 9пин. Гружу в IDE blink, выбираю tools->Programmer->Arduino as ISP, говорю "загрузить". Наблюдаю несколько минут:
9 пим мерцает, кратковременно мигают TX/RX и сразу перестает мерцать 9 пин. Через некоторре время мигание TX/RX вновь запускает мерцание 9 пин. Затем все начинается сначала... Дождаться окончания я не смог.
Marvin
Сообщения: 22
Зарегистрирован: 05 май 2012, 19:04

Re: Реанимация Arduino

Сообщение Marvin »

На Mega2560 yа других ногах же ICSP! Поэтому схема подключения не верная. Читаем мануалы, код скейтча, переделываем..

В меню Arduino IDE выбираю Tools -> Programmer -> Arduino as ISP
Превращаю живую Мегу при помощи скечтча ArduinoISP(из примеров) в программатор. На ней начинает мерцать LED_HB.

Подключаю светодиодны на программаторе к:
#define LED_HB 9
#define LED_ERR 8
#define LED_PMODE 7
Резистором 1кОм замыкаю на программаторе Reset и 5v.

Далее подключаю Mega(программатор)->Mega(труп)
50-50
51-51
52-52
53-reset
Земля, питание.

При наличии кабелей мама-мама, например от CD-ROM, можно подключать через разъемы ICSP (которые справа на плате).

В меню Arduino IDE выбираю Tools -> Programmer -> AVR ISP
Заливаю Blink, который прошивается в... программатор :)))
Пробую несколько раз, думаю...

Подключаю Mega(программатор)->Uno(труп)
50-12
51-11
52-13
53-reset
Земля, питание.

Tools -> Board -> Arduino Uno.
После того, как Blink скомпилился, на программаторе гаснет LED_HB, несколько раз RX, затем пауза, еще несколько раз RX, потом пару раз LED_PMODE, пару раз LED_ERR, начинает мерцать LED_HB.
После чего получаю
Binary sketch size: 1026 bytes (of a 32256 byte maximum)
avrdude: stk500_getsync(): not in sync: resp=0x00

Почему в случае с двумя Мегами Blink оказывается в программаторе? Не нужно ли резать Reset-En на программаторе?
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
Сообщения: 1018
Зарегистрирован: 22 окт 2010, 23:57

Re: Реанимация Arduino

Сообщение Mr.Kubikus »

Ага. Я то в качестве программатора использовал UNO.
С уважением, Григорий
GitHub FB ВК
Marvin
Сообщения: 22
Зарегистрирован: 05 май 2012, 19:04

Re: Реанимация Arduino

Сообщение Marvin »

Mr.Kubikus писал(а):Ага. Я то в качестве программатора использовал UNO.
Чем определяется льеться скейтч в программатор или в труп?
Ответить