Arduino NANO не заливается скетч
- Войдите на сайт для отправки комментариев
Добрый день, форумчанам
На алишечке приобрел Arduino Nano на ATmega328P c CH340 для прошивки ESC BLhelly для квадрика. Прошил 2 ESC, и Ардуинка просто отвалилась. Была подключена к USB минут 15.
Теперь не могу до неё достучаться. Как COM-адаптер видится, порт присваивается. В ArduinoIDE тоже порт видится, по примитивнейший скетч BlinK залить не могу, Загрузчик не записывается... на всё один ответ:
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xfd
Из светодиодов только горит один POW. L, RX, TX не мыргают вообще.
При попытке "получить информацию о плате":
"BN: Неизвестная плата
VID:IA86
PID:7522
SN: загрузить любой скетч для использования"
Что делать с ней? В помойку, или как то можно реанимировать?
10 стр. форума прошерстил, своей ситуации не нашёл. Укажите направление, куда копать?
в режиме мониторинга порта и замкнутых TX1 RX0 - эха нет.
Эту придётся отложить до покупки людского программатора типа USBASP или какого нибудь подобного. При помощи 340 го ни фьюзов ни еепром ни флэш не увидишь. 340 работает через бутлодер. Если бутлодер слетел или послетали фьюзы то 340 бесполезен. Ищи у кого по-близости есть нормальный программатор. Только после детального обследования микры можно решать что с ней делать. Ремонт или мусорка.
Спасибо, за консультацию. Откурыл спор на алишке, заказал Нану тут.
А программатор USBASP не порекомендуете?
Почему же? Я сам им иногда пользуюсь. Но как я уже говорил планирую собрать программатор по материалам Dimax. Полагаю что для комфортной работы нужно иметь пару программаторов. Желательно разных.
По вашему случаю думаю можно восстановить работоспособность платы. Скорее это софтовая проблема, но как я уже говорил попадались мне платы Mega2560 с Али с убитыми CH340G. Спор не открывал, заказал десяток CH340, отремонтировал самостоятельно.
Можно попытаться прошить по SPI с помощью другой НАНО залив в неё скетч "Arduino as ISP" из стандартной поставки примеров в ИДЕ. Действовать по интсрукции в скетче.
Спасибо. Жду новую Nano, постараюсь восстановить первую.
а с помощью USB/UART CP2102 нельза Nano прошить?
или вместо СН340 со слетевшим бутлодером использовать внешний USB-UART CP2102?
На TX/RX Nano подать RX/TX от CP2102, питание внешнее подать от UBEC 7V.... Слетевший СН340 будет мешать? CP2102 не спалю?
Бутлодера в CH340 не содержится. Это всего лишь конвертер. Я всего лишь предположил, что вероятно слетел бутлодер в микро, или неправильные фьюзы в контроллере. Бутлодер для того и нужен чтобы при помощи дешевого USB-UART конвертера записывать скетчи. Если программировать контроллеры через ISP то бутлодер не нужен. Просто имея дешёвый USB-UART переходник, внешний для проминек или интегрированный в плату, как на микро, уно и др, и микропроцессор с бутлодером удобно заливать скетчи, мониторить работу ардуинки по сериал, да и питания через сериал конвертор обычно хватает на поморгалки и другие мелочи. Если глубоко заниматься микроконтроллерами то программу удобно отладить на плате ардуино, а конечное устройство реализовать на голом контроллере вообще без бутлодера.
То что предлагаете Вы, сделать можно. Надо только аккуратно отсоединить контакты RxTx идущие к atmega от CH340, присоединить к ним одноименные проводники от другого USBUART конвертера и попытаться залить скетч. Но ещё раз повторю - это имеет смысл если CH340 неисправная. В случае со слетевшим бутлодером или неверно выставленными фьюзами это все равно не поможет.
Нужет нормальный программатор.
Ок, а залить бутлодер на МК через внешний USB/UART нельзя? Только через USBASP или ISP-программатор, верно?
Да.
Usb asp ардуину можно прочитать через ISP разьем флеш и еепром (через сторонние программы), если НЕ залочен isp интерфейс (через фьюсы в процессоре). Иначе только сдувать 328P феном паяльным и читать параллельным программатором через переходник ( или fuse доктор еще есть), но оно по затратам того не стоит.
в режиме мониторинга порта и замкнутых TX1 RX0 - эха нет.
Способ проверки замыканием Rx Tx относился к старым платам на ft232rl, у CH340 иная схема включения, и тут нужно замыкать не на плате, а на самой микросхеме. Это выводы 2и 3 на чипе ch340.
От ch340 через резисторы 1к rx tx идут к атмеге. Параллельно от проца выходят на выводы RX0 TX1. При замыкании все равно должно выходить на эхо.
Oleg_707, не должно, резисторы и светодиоды работают как делитель с подтяжкой к питанию.
Ну проверьте на рабочей плате, делов-то :)
да, проверил на рабочей ардуине, через перемычку не проходит. Не продавливает подтяжку.
ТС не сказал самое главное, а другой интерфейс, не 4-х проводный он из конфигуратора Blheli пробовал в ардуино залить?
Попробовал залить другие интерфейсы. Результат один - "stk500_getsync():not sync: resp=0x00" :(
Пробовали перезалить загрузчик, используя рабочую НАНУ как программатор, что получилось?
Попробовал залить другие интерфейсы. Результат один - "stk500_getsync():not sync: resp=0x00" :(
Остается попробовать другой наной залить, у меня такое было, когда в нано был залит бутлоадер со скоростью обмена на порту 115200 (загрузчик от UNO) ну или попробовать повыставлять другие скорости на порту при заливке.
Если загрузчик Blheli (2-х проводный интерфейс) то у него скорость на порту другая насколько я помню
Друая Нана в пути. А скорость менять необходимо в IDE или Blhelisuite и на com-порту в дисптечере устройств, или в диспетчере можно максимум ставить 115200, а играться только в программах? Какая по умолчанию у CH340G?
Друая Нана в пути. А скорость менять необходимо в IDE или Blhelisuite и на com-порту в дисптечере устройств, или в диспетчере можно максимум ставить 115200, а играться только в программах? Какая по умолчанию у CH340G?
Дело не в CH340, а в загрузчике, это в нем произведена настройка скорости сериального порта, загрузчик BLHELI установил ее в соответствии с требования программы конфигурации BLHELI, здесь на работе нет возможности посмотреть какая именно, пробуйте 115200 и на понижение и прошить 2 проводный интерфейс с загрузчиком BLHELI
бесполезно. на трёх скоростях, которые предлагает BLHeliSuite - 19200, 57600, 115200, пробовал залить все возможные прошивки...
stk500_getsync():not sync: resp=0x00
iarduino.ru дали сегодня трекномер. дождусь, буду реанимировать через ArduinoISP
бесполезно. на трёх скоростях, которые предлагает BLHeliSuite - 19200, 57600, 115200, пробовал залить все возможные прошивки...
stk500_getsync():not sync: resp=0x00
iarduino.ru дали сегодня трекномер. дождусь, буду реанимировать через ArduinoISP
В boot скорость выставлена 38400, остается шить через ISP, хотя зная команды можно попытаться прошить из командной строки, лично я не пробовал, может кто отзовется на форуме, как это сделать
Поискал схему заливки бутлодера из Нано в Нано.... что-то не нашел. я правильно понял, что по разъёмам ICSP их соединять MISO - MISO; MOSI-MOSI; SCK-SCK и питание GND и +5V в паралель с одной на другую? Или еще на прошиваемую, на RST подать надо? Тоже с ICSP на ICSP по 5-му пину?
вот из скетча arduino as isp
т е 10 к reset target
я еще у программатора между ресет и землей конденсатор 10 мкФ вешал чтоб не перезагружалась лишний раз
Да, кондер там необходим категорически, особенно если шьете из Линукс. 10мкф - достаточно.
В НАНО, которая программатор, заливаете обычным способом сектч "Arduino As ISP" из примеров. В нем есть детальное описание что куда надо подключить (вот не помню MISO-MISO + MOSI-MOSI или встречно MISO-MOSI - уточните. Да, 10-й пин на ресет прошиваемого МК). К ресету той, что программатор - кондер между пином и землей, дабы не дать программатору уйти в ресет раньше срока.
Там, в скетче, есть ещё пины для подключения лампочек, тогда можно визуально смотреть процесс прошивки. Подключаю трехцветный светодиод.. :)
я тут как то писал уже - случай был у человека - не заливалось в его NANO с первого раза, на плате на reset был конденсатор. Увеличил в скетче delay задержку чтоб дольше период сброса был - стало лучше. Потом проще нашли решение - подряд два раза запускали "загрузить через программатор" и все прошивалось в 100 % случаях. Так что наши Китайские друзья разные непредсказуемые платы делают :)
у меня на ROBODYN NANO и без конденсаторов проблем не было, всё шилось с полпинка
у меня на ROBODYN NANO и без конденсаторов проблем не было, всё шилось с полпинка
у меня тоже, но мы не знаем какая NANO у ТС
у меня китайская "DIY MORE"
Попробуйте поменять платы в Ардуино IDE перед заливкой. Бывает чина-братья вместо нано-загрузчика заливают от Уно и наоборот, а бывает и вовсе забывают залить, она хоть какие признаки жизни подает?
Попробовал от Uno... результат тот же. Горит только светодиод питания и раз в 10 секунд коротко моргает зеленый сигнал L
попробовал, после прошивки платы arduino nano c с загрузчиком от UNO прошивкой двухпроводного интерфейса BLHELI BOOTLOADER она легко перешивается в IDE блинком из примеров, то-есть плата TC убитая
у меня в IDE для nano имеется возможность выбора двух загрузчиков со скоростью 115200 и 57600
.... двух загрузчиков со скоростью 115200 и 57600
115200 - это ATmega328P, а 57600 - это ATmega 328P (Old Bootloader)?
и ещё вопрос: о каком двухпроводном интерфейсе BLHeli Вы говорите? Это тот что "С SILABS BLHeli Bootloader (USB/COM)"?
1. Да Да
2. это 1-wire интерфейс, то-есть и "С" и "1"
после прошивки 4-х проводного интерфейса блинк тоже перезашился успешно
Всем привет. Получил с этого сайта arduino Nano. Под BLheliSuite прошился под четырёхпроводной интерфейс, прошил регули. Всё ОК.
Решил реанимировать первую Nano. На полученную, залил Blink через IDE - заливка прошла только при выборе в иструментах "ATmega 328P (Old Bootloader)", видимо на данной плате от DCCduino старый проц? Или просто старый загрузчик? Его потом можно перезалить сторонним программатором?
Далее на новую Нано залил скетч ArduinoISP, без проблем.
Собираю схему заливки загрузчика Нано-Нано... Подаю питание, на обоих Нано загорается POW, 7 раз моргает L, жму "Записать Загручик" в Инструментах и получаю:
"avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x15
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x15
avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14
avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x01
avrdude: stk500_initialize(): (a) protocol error, expect=0x14, resp=0x10
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude: stk500_disable(): unknown response=0x12
Ошибка при записи загрузчика."
Проверил на несколько раз соединения проводов. Вроде всё верно. Единственное не вешал конденсатор на "программатор".
Нашёл кондёр на 470 мкФ, повесил на "программатор" "-" на GND, "+" на RST. Попробовал записать загрузчик на скоростях 128000, 115200, 57600, 38400. Получаю:
"avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.
Ошибка при записи загрузчика."
Куда дальше? Или всё, пациент скорее мертв чем жив?
Есть фотки сборки, если нужно могу вывесить.
дальше нужон осилограф и милипильметр )))
то есть проблема в железе?
С высокой вероятностью пациент - мертв.
я бы предположил, что кварец сдох (так как для того, чтобы работала микросхема нужно питание и кварец с обвязкой двумя конденсаторами, большему там неработать нечему, милипильметр чтобы померить питание, осилограф посмотреть синусоиду)
Зачем там кварц, если оно от внутреннего генератора вполне работать могет?
Мне кажется ТСу тяжело понять про кварц, ему попроще надо.
Да и попроще не надо ) Осцилографа нет, в дебри не полезу.
Спасибо форумчанам и на этом.
Зачем там кварц, если оно от внутреннего генератора вполне работать могет?
так это ардуино нано, оно там по умолчанию присутствует, проверить можно легко, приемник включить и послушать частоты кратные 16мгц, в том числе и вниз, если сигнал есть ардуина работает, ну а ежели нет пропаять кварец и два конденсатора, если там пьеза, то только её, но питание надеюсь ТС проверил, что на ножках присутсвует, тоже кстати пропаять в том числе и минус
Так она вроде бы уже работала, только потом гавкнулась.. можно, не вредно - всяко. Но, мне кажется что это уже не поможет. У меня из десятка несколько НАН оказалось косячных, писал уже где-то .. да и фиг с ними. Не та стоимость. Купил новую и всех делов.
Привет! У меня аналогичная проблема была на ARDUINO UNO с ALIEXPRESS с надписью
WAVGAT.
Проблему удалось решить изменив скорость соединения с 115200 бит/с на скорость 57600 бит/с в файле:
Эта строка именно для ARDUINO UNO.
Для ARDUINO NANO будет LINE: 147 nano.menu.cpu.atmega328.upload.speed=115200
При работе с портами время задержки оператора DELAY в 4 раза больше, чем указано в СКЕТЧе.
Для урока с мигающим светодиодом для получения частоты мигания 1 Гц пришлось ставить не DELAY(500), а DELAY(125) Для высокого и низкого уровня..
Кроме того при выводе данных через порт скорость бывода данных тоже в 4 раза меньше, чем указано в СКЕТЧе.
Для того, чтобы получить нужную скорость я указывал не 9600 бит/с, а 38400, второй вариант в СКЕТЧе 9600, а в мониторе 2400.
Booc, это все значит, что Вы неправильно указали плату в меню.
В списке плат нет такой, которая работала бы адекватно. Есть несколько плат, которые работают в 2 раза быстрее, чем "Arduino / Genuino Uno", но тоже неправильно.
В данный момент выбрана плата "Arduino / Genuino Uno"
Просто UNO в списке отсутствует.
В данный момент выбрана плата "Arduino / Genuino Uno"
это и есть просто UNO
Booc - платы
WAVGAT.
это подделка под подделку. это мало того. что "не настоящие" арудино (это-то не беда, они на Али все ненастоящие) - но ВАВГАТовские еще не полностью совместимы с обычными ардуино.
Эти платы на 15-20% дешевле нормальных, но брать их категорически НЕ СОВЕТУЮ. Не гоняйтесь за дешевизной.