Leonardo - Unknown Device
- Войдите на сайт для отправки комментариев
Пнд, 20/08/2012 - 08:16
Коллеги, проблема с Arduino!
Недавно Леонардо перестал корректно определятся. Сначала при подключении к компьютеру на самом устройстве начинает мигать светодиод L, а On постоянно горит. В диспечере задач определяется как Arduino Leonardo (COM4). Затем, светодиод L гаснет, в диспечере задач Arduino Leonardo (COM4) исчезает и появляется Unknown Device. В свойствах этого устройства написано "Это устройство было остановлено, поскольку оно сообщило о возникновении неполадок. (Код 43)". Любые попытки установить дрова на него увенчались провалом. После нажатия кнопки Reset происходит тоже самое по новой.
Помогите. Заранее, благодарен.
для начала попробуйте на другом ПК леонардо подключить и посомтреть, что будет...
Пробовал - эффект тот же.
А попробуйте переназначить номер Com-порта. Взять какой-нибудь 18, к примеру, если он не занят. Может конфликт устройст на 4-ом порту.
Если на другом компе эффект тот же, то проблемма в плате. Не помню точно, кажется на леонарде нет отдельного проца для связи по usb - это значит нужно проверить (или перепрошить) бутлодырь. Если отдельный проц для связи (на UNO это 8U2) - перепрошить ее
Ага, на Леонарде общий микроконтроллер. А как его проверить/перепрошить? Через ардуиновскую программу для создания и заливки скетчей не получается как раз из-за неправильного определения Леонардо.
Можно только через ISP - разъем. Или с помощью другой дуины, или программатором (в частности, можно и самым простым - LPT+5 проводков). Почитайте про программаторы для AVR.
Ага, на Леонарде общий микроконтроллер. А как его проверить/перепрошить? Через ардуиновскую программу для создания и заливки скетчей не получается как раз из-за неправильного определения Леонардо.
Можно только через ISP - разъем. Или с помощью другой дуины, или программатором (в частности, можно и самым простым - LPT+5 проводков). Почитайте про программаторы для AVR.
Спасибо! Как попробую, отпишусь:)
Вот тут нашёл схему для разъёма ICSP, вдруг кому пригодится.
Это и есть "5 проводков". Народ рекомендует ставить резисторы не более 150 Ом (смелые не ставят вообще) и проводки короткие - не более 20 см
Была подобная проблема. Появилась она после заливки скетча с WatchDog.
Решил следующим образом:
1. открываю IDE и открываю пример с миганием светодиода.
2. открываю Диспетчер устройств (для контроля)
3. нажимаю Reset (в системе плата появляется с номером COM4).
4. когда плата появилась в Диспетчере устройств, в IDE быстро меняю порт платы на COM4 (когда плата станет Unknown device будет невозможно выбрать COM4).
5. Потом нажимаю "Загрузка" счетча в плату.
6. Когда компиляция завершится (появится надпись "Размер скетча в двоичом виде..." нажимаю Reset на плате.
После нажатия ресета загрузка в плату должна завершиться.
Если не получилось, то возможно стоит попробовать нажимать Reset чуть раньше.
Возможно сначала придется отключить плату от USB и потом снова подключить.
В итоге в плату загружается простой 100% работающий скетч.
Если не получится, то возможно проблема с бутлоадером или с платой.
Была подобная проблема. Появилась она после заливки скетча с WatchDog.
Можно чуть-проще. Суть точно та же, но и чуть меньше ловкости требуется.
Делаем все при питании от USB. Без использования внешнего блока.
В итоге из ловкости требуется только "вовремя отпустить Reset".
А в перепрошивки не торопитесь лезть. Это уж когда "больше ничего не помогает". Вот на ней "умучать" плату, с непревычки - нанмого реальней (ну "умучать так", что новичку трудно будет реанемировать).
Попробуйте еще USB/кабель сменить. Взять покороче/потолще. Посмотрите что-бы он не лежал рядом с каким-нибудь трансформатором/блоком питания и т.п.
Оооо, премного благодарен! Работающий способ, всё вернулось на свои места:)
Ну тогда в двух словах почему "этот способ работает".
По какой-то причине у вас включился WatchDog (либо сами включили, либо скетч битый залили и "мусор его случайно включил").
По хорошему, бутлоадер должен, при включени, первым делом отключать его. Но в бутлоадере бага. Не выключает. И через малый промежуток времени WatchDog опять отправляет камень в перезагруз.
Держа ресет, мы "оттягиваем" момент старта бутлоадера. То есть не даем "часовой бомбе запустится". А отпустив его в нужный момент, мы даем ему шанс успеть "начать заливку" (которая отключит WatchDog) до того как WatchDog сработает.
Такая же фигня произошла и с моей Uno R2 (ошибка 43)
Еще вчера ардуина шерстела как не в чем не бывало... Сегодня после включения выдало неизвестным устройством, только куда хуже ... Она вообще не на секунду не определяется портом, пробовал сменить 4 компа, 6 кабелей... Подсовывал дрова разными всевозможными способами ... Реакции 0 ... Перелопатил буржуйские форумы с похожими проблемами, но как такового рабочего способа вернуть к жизни не нашел...
Может у кого нибудь есть идеи ?
UPD
Кстати еще момент, когда подключаю эзернет шилт - ТХ начинает непрерывно мигать
Собственно видео - db.tt/rYlv6aOp
Fess, вам сюда Перепрошивка контроллера Atmega8U2 только там на FLIP ссылка битая.
И кстати, в перечень прошиваемых МК входит и ATmega32u4 , который стоит на Leonardo, так что, в теории, остается только найти для него прошивку и можно шить без внешнего программатора или второй дуины.
maksim спасибо.
Еще вопрос, на второй версии Ардуино нет маста под картой италии :
Единственное похожее место - на лицевой части "RESET EN"
Но меня гложет сомнения что это именно то место ... На первой версии Uno оно тоже присутствует.
Еще вроде как где-то на буржуйских форумах проскакивало что во 2м релизе UNO - резистор уже включен в цепь .. не знаю , на сколько это правдивая инфа, так как при замыкании RESET на GND и скармливании Ардуино драйверов от FLIP - ничего не изменяется ... печаль вообщем :(
UPD
Вот что пишут разработчики:
"Latest versions of the Uno have a resistor already mounted between the hwb pin and ground.
this means that you just need to reset the processor by briefly shorting the two pins surrounded the red oval.
We are updating the tutorials."
Мол уже все впаянно - Вам нужно только замкнуть джампером контакты:
Проверенно - не канает.
UPD
Вариант описанный тут arduino.cc/forum/index.php - тоже не стработал ... Uno напрочь не хочет уходить в DFU mode :(
Я конечно не знаю что у них там предусмотренно, но когда вы ставите джампер у вас Аtmega8u2 "уходит в бесконечный ресет", то есть ресет всегда будет нажат.
Это тот самый RESET ENABLE не важно где он находится.
Вы пробовали повесить соплю припоя на RESET EN и сделать все как в инструкции?
Я конечно не знаю что у них там предусмотренно, но когда вы ставите джампер у вас Аtmega8u2 "уходит в бесконечный ресет", то есть ресет всегда будет нажат.
Это тот самый RESET ENABLE не важно где он находится.
Вы побовали просто замкнуть (повесить соплю припоя) RESET EN и сделать все как в инструкции?
Да, пробовал по разному ... и "соплю вешать" и джампером и на ногу резистора землю давать ... все равно "Неизвестное устройство" и не хочет есть дрова не на ФЛИП не на саму ардуино ....
Просто разочаровался в Arduino ... не с того не с сего взять и умереть :(
Пробуйте еще раз, все по шагам, как в инструкции, может чего упустили... что вам в ответ пишит FLIP ?
Пробуйте еще раз, все по шагам, как в инструкции, может чего упустили... что вам в ответ пишит FLIP ?
В том и проблемма, что дело не доходит до FLIP ... железка не определяется в системе ... не в норм режиме не в DFU и FLIP соответственно не может найти девайс подключенный к USB чтоб залить hex.
Посмотрите еще эту ветку:
http://arduino.ru/forum/apparatnye-voprosy/plata-slomalas-ili-ya-tuplyu
Посмотрите еще эту ветку:
http://arduino.ru/forum/apparatnye-voprosy/plata-slomalas-ili-ya-tuplyu
Прочитал, спасибо ... к сожалению сейчас нет возможности проверить напряжение на +5В .... по этому вопросу вечером отпишусь .... к слову от Внешнего БП результативность не изменилась .
еще момент .. при подключении к USB - LED на 13 пине мигает 3 раза и тухнет , и так же при ресете - на сколько я понимаю это признаки жизни бутлоадера ?
Посмотрите еще эту ветку:
http://arduino.ru/forum/apparatnye-voprosy/plata-slomalas-ili-ya-tuplyu
Прочитал, спасибо ... к сожалению сейчас нет возможности проверить напряжение на +5В .... по этому вопросу вечером отпишусь .... к слову от Внешнего БП результативность не изменилась .
Тогда, скорее всего дело не в этом. Но какой-никакой тестер под рукой иметь стоит. Самый простой-дешевый - все равно будет полезно.
еще момент .. при подключении к USB - LED на 13 пине мигает 3 раза и тухнет , и так же при ресете - на сколько я понимаю это признаки жизни бутлоадера ?
Да. Похоже на то. Но, если честно, не игрался с платами у на 8U2. Затрудняются четко товетить "нормально это для них или нет". У них могут быть чутка другие бутлоадеры.
Проверил показания на пинах:
DCV:
На +5 пине - 4.85В
На +3.3 пине -3.25 В
Выходит диод не погорел .... Мистика блин !
Fess, поторопился я с ответом по поводу RESET ENABLE, нужна не эта перемычка! Посмотрел внимательно схему и обнаружил, что замыкать нужно перемычку USB boot Enable.
И так, способ первый - без пайки, попробуйте одеть джампер на разъем ICSP Атмеги328, а не Атмеги8у2
А все остальное как в инструкции, попытайтесь несколько раз, с первого раза может не получиться.
Если не поможет, то перейдем ко второму способу...
Fess, поторопился я с ответом по поводу RESET ENABLE, нужна не эта перемычка! Посмотрел внимательно схему и обнаружил, что замыкать нужно перемычку USB boot Enable.
И так, способ первый - без пайки, попробуйте одеть джампер на разъем ICSP Атмеги328, а не Атмеги8у2
maksim - спасибо за ответ ... но к сожалению не помог первый способ, все так же неизвестное устройство, как на винде так и на Debian`е ...
Так у вас драйвера вот отсюда :\Program Files\Atmel\Flip 3.4.2\usb ставятся на "неизвестное устройство"?
Так у вас драйвера вот отсюда :\Program Files\Atmel\Flip 3.4.2\usb ставятся на "неизвестное устройство"?
Да и так же ардуиновские дрова .. воoбще не как ..не в ручную, не из списка установленных устройств, не с диска .... говорит"Нет подходящих драйверов для этого устройства" и ИД его "USB\UNKNOWN"
Тогда второй способ, но не уверен поможет ли он если не помог первый... но попытка не пытка. И так, вот интересующий нас кусок схемы:
на ней видно, что данная перемычка USB boot En замыкает 13 ногу Atmega8U2 на землю. Что бы сделать тоже самое без наличия этом перемычки нужно замкнуть накоротко конденсатор С5 и поставить джампер на ICSP разъем, замкнув ресет и землю, как показано на схеме ниже:
В теории должно работать и через конденсатор, но быть может он у вас мертвый. Вам нужно поставить ждампер на то самое место (показано стрелкой) и повесить соплю припоя на конденсатор С5 (обведен элипмсом) или аккуратно выпаять этот кондер и повесить соплю на его место.
Если и этот способ не поможет, то значит или нужно искать причину в чем-то другом или у вашей платы совершенно другая схема, я ее к сожалению не нашел, может вы найдете и дадите ссылку.
А, вот блин, сейчас перечитал сообщения выше, вы уже этот способ пробовали, это тоже самое:
Хотя как мне кажется вот ваша схема и на ней уже стоит подтягивающий резистор к земле и получается что эта перемычка всегда соеденена резистором.
а это может значить, что через USB у вас прошить нельзя, не зря, наверное, ICSP разъем еще впаян, в то время, как на более поздних версиях его нет. Так что делайте/покупайте SPI программатор и прошивайте через ICSP.
Так что делайте/покупайте SPI программатор и прошивайте через ICSP.
Приобрел программатор USBasp:
![](/sites/default/files/resize/u1433/img_1301-400x300.jpg)
Подключаю его к ICSP разъему на Arduino Uno по этой распиновке :
Шлейф USBasp:
![](/sites/default/files/resize/u1433/420160640_194-300x300.jpg)
И на Ардуине :
![](/sites/default/files/resize/u1433/arduinouno_r3_pinouts-400x308.png)
Вот так получается:
![](/sites/default/files/resize/u1433/img_1300-400x300.jpg)
Ардуина загорается зеленым диодом питания, мигает два раз LED13
Потом тухнет и мать его вылетает с вот такой вот херовиной (
Гуглеж ничего толком не дал ... только общее понятие что он не может записать загрузчик.
Надпись про обновление прошивки на USBasp - не страшна как пишут в интернетах ... она так-же отсутствует в версии Ардуино ИДЕ 021 ...
Я начинаю думать что мой ATMEGA328P - таки накрылся медным тазом ...
Может у кого то, есть еще идеи, что мешает avrdude залить загрузчик ?
Буду рад любым советам.
Спасибо !
Возьмите программу с авровского сайта для заливки/чтения проца и попробуйте его почитать. Да и "дудкой" можно почитать из командной строки.
Если Вас не затруднит, можно ли поподробней ... Название софта CodeVisionAVR или WINavr ?
или где можно почитать поподробней про всю эту конитель ... в принципе гугл выдает много всего по этой теме ... но я еще не разу не шил микроконтроллеры через программаторы, по этому теряюсь в темах находимого контента ..
Буду очень признателен, если окажите помощь.
Так а зачем вы Atmega328P шьете???? У вас же дуина компом не определяется - нужно шить Аtmega8u2 и не бутлоудером, а скорее всего тем же чем шили через флип.
Это я уже вычитал .. что за определение отвечает Аtmega8u2
Пробовал через флип - он не находит девайс (
А еще вот сейчас вычитал способ прошивки ... вот такой коммандой
вместо 1.hex там ATmegaBOOT_168_atmega328_pro_8MHz.hex вот отсюда: \hardware\arduino\bootloaders\atmega
что то шъется ... жду
Выдало ошибку:
Так я вам и пишу, что нужно прошить Аtmega8u2 через ICSP, а не через USB, но прошивать той же прошивкой, которую использует флип.
И перестаньте шить бутлоудер!!! это вам не поможет, вы только еще хуже сделаете!!!!
Да просто я обезьяна :( ....
Есть прекратить шить бутлоадер !
Дошло что к чему ...
А зачем Вы командной строкой мегу32 шьете? Он же Вам честно написал, что сигнатура не совпадает!
Могу предположить, что где-то в каталоге куда установлен Flip лежат прошивки, скорее всего c расширением .hex, попробуйте найти и залить через avrdude.exe эту прошивку.
Да, я уже разобрался что очень затупил ...
Другая проблемма по своей же тупости ... Через AVRdude GUI по тупости перепрошил фьюзы ...
после этого любое обращение к атмеги говорит что не возможно достучатся до него:
Я так понимаю я окончательно его запорол ?
Если изменили RSTDISBL то последовательным программатором прошить больше не получится.
Если изменили RSTDISBL то последовательным программатором прошить больше не получится.
Ну печальный опыт тоже опыт :(
Чуть позже гляну, его я все таки изменил или нет и выложу сюда комманду ...
Спасибо maksim
UPD:
Шил вот так вот:
И после этого он стал недоступен.
Вот что он говорит при попытки чтения
И ладно вам расстраиваться ATmega328 стоит 150р.
Сам являюсь обладателем Freeduino 2009 (Arduino Duemilanove) и Mega2560, так вот "слава богу" с 2560 пока проблем не было, а с Freeduino вообще никаких нареканий!!! Ни разу она не отвалилась, ниразу криво не подключилась!!! В то время как здесь на форуме раз в неделю появляется тема "Не определяется Ардуино Уно".
И даже более того если отключить дуину от компа в тот момент когда принимаются-передаются данные, то Фридуину просто подключаешь закрываешь, открываешь соединение и все и она может работать, а с Мегой нужно сначала подключить, закрыть, открыть соединение, после чего нужно опять отключить, подключить Мегу к компу и только после этого она заработает.
Так что хоть Уна и быстрее залавает скейтчи, зато Duemilanove надежнее и гемора с ней меньше.
И ладно вам расстраиваться ATmega328 стоит 150р.
да с 328 все впорядке ... это Atmel8 крякнулся, а он впаян в борд Ардуины .. так что прийдется ее всю хоронить ... жаль ...
Сам являюсь обладателем Freeduino 2009 (Arduino Duemilanove) и Mega2560, так вот "слава богу" с 2560 пока проблем не было, а с Freeduino вообще никаких нареканий!!! Ни разу она не отвалилась, ниразу криво не подключилась!!! В то время как здесь на форуме раз в неделю появляется тема "Не определяется Ардуино Уно".
И даже более того если отключить дуину от компа в тот момент когда принимаются-передаются данные, то Фридуину просто подключаешь закрываешь, открываешь соединение и все и она может работать, а с Мегой нужно сначала подключить, закрыть, открыть соединение, после чего нужно опять отключить, подключить Мегу к компу и только после этого она заработает.
Так что хоть Уна и быстрее залавает скейтчи, зато Duemilanove надежнее и гемора с ней меньше.
Уже посмартиваю в ее сторону ... как раз должны подойти и шилды( мотор, езернет, ИзиВР, ) от УНО для Duemilanove ...
УНО и Duemilanove отличаются только микрухой USB-UART(Аtmega8u2 или FT232), которая шьет ATmega328, в остальном они идентичны.
Нашел способ востановить фьюзы по умолчанию на Атмега8 ... осталось правда найти аналогичную живую.
кстате вот подробней какие фьюзы программировал.
Да вроде как ничего важного не затронуто...
Спасибо огромное
Ну тогда в двух словах почему "этот способ работает".
По какой-то причине у вас включился WatchDog (либо сами включили, либо скетч битый залили и "мусор его случайно включил").
По хорошему, бутлоадер должен, при включени, первым делом отключать его. Но в бутлоадере бага. Не выключает. И через малый промежуток времени WatchDog опять отправляет камень в перезагруз.
Держа ресет, мы "оттягиваем" момент старта бутлоадера. То есть не даем "часовой бомбе запустится". А отпустив его в нужный момент, мы даем ему шанс успеть "начать заливку" (которая отключит WatchDog) до того как WatchDog сработает.
Сработало, спасибо!