Ремонт аналога Arduino Diecimila
- Войдите на сайт для отправки комментариев
Случайно подал на 2 (или 4) ногу +12В. После этого ATMega168 стала жутко греться. Купил новую, почитал - понял, что нужно прошить бутлоадер, с помощью этого вроде даже успешно (это не факт) прошил. Но вот Ардуиновская софтина всячески не хочет работать с платой: на венде (win7) говорит "stk500_getsync() not in sync resp=0x00", на линуксе (ubuntu 12.04) - "avrdude: stk500_recv(): programmer is not responding". Один раз через ужасно нестабильный (постоянно отключается и работает 1 из 10 раз) переходник USB<->UART (кабель от старого самсунга x100), подключеный к 0, 1 и gnd выводам ардуины, смог залить на нее програмку, но больше повторить такой подвиг не могу. Вытащил МК, замкнул на панельке от МК выводы соответствующие Tx и Rx, через PuTTY посмотрел - все, что отправляю назад приходит. Есть мнение что спалил не только МК. Что делать?
>смог залить на нее програмку,
Ну значит бутлоадер прошился.
>но больше повторить такой подвиг не могу.
Нужно еще соорудить авторесет, или вовремя руками кнопку reset нажимать (перез самой заливкой, в самом конеце процесса компиляции)
> Есть мнение что спалил не только МК. Что делать
Попробуйте как работает на внешнем питании.
Потыкайте тестером что у вас происходит на пине 5v при внешнем питании и при USB.
>Вытащил МК, замкнул на панельке от МК выводы соответствующие Tx и Rx, через PuTTY посмотрел - все, что отправляю назад приходит
Ну значит FTDI тоже "минимально живо". Так что где-то "питание, контакты". Либо, все-таки, где-то еще дорогу попалили. Глазами и тестором, позвонить от пинов, до разъемов панельки.
Соотсвествие пинов и ног камня тут http://arduino.cc/it/Hacking/PinMapping168
И да, еще, случайно, после подачи питания, через несколько секунд не начинает "быстро-быстро" и "без конца" мигать светик на 13-том пине?
Нужно еще соорудить авторесет, или вовремя руками кнопку reset нажимать (перез самой заливкой, в самом конеце процесса компиляции)
А вот тут можно по-подробнее? Вообще, у меня программка, которая смогла успешно залиться, после запуска (void setup()) мигает светодиодом, поэтому видно, что девайс перезагружается, когда пытаюсь залить програмку.
С питанием все нормально, пины протестил - тоже все нормально - дороги целы остались.
>поэтому видно, что девайс перезагружается, когда пытаюсь залить програмку.
В таком случе, если честно, идеи исчерпались :( Раз перегружается - значит авторесет работает.
Подробнее: как правило, когда используется внешний USB конвертер, у которго подключены только RX,TX пины - нужно перед самым моментом заливки нажать Reset. Что-бы контроллер перезапустился и стартанул бутлоадер (который и принимает новый скетч от ардуины). Но выходит - вам это не нужно.
Но, по вашим словам, reset и так происходит. Значит руками кнопку reset жать не нужно.
А вообще выглядит как мистика. По вашему описанию каждая "часть" работает нормально.
Все вместе - должно работать :(
Может плата неправильно выбрана? В ArduinoIDE пункт boards?
Ну, смутно, можно еще попытася на кварц погрешить (или кондеры при нем). Но как это проверить и может ли он быть виновным - я не знаю (просто больше деталей вроде как и не осталось).
Может "не тот бутлоадер влили"? Или с фьюзами что-то чепухнули (например включили работу от внутреннего осцилятора).
Ну или, все-таки, где-то искать "гуляющий" контакт.
Ну можно еще попытатся отложить дуину в сторону и запустить голый кристал на макетке (с внешним кварцем). Отдельно. С помощью внешнего USB конвертера.
Кажется починил. Вчера ночью внезапно решил, что стоит перепрошить бутлоадер. В обычном режиме постоянно прошивалось с ошибками. В итоге ничего не перепрошил, с утра попробывал медленный режим. В нем все нормально прошилось. Вдруг я решил почитать даташит, и вдруг у меня закрались подозрения насчет назначения lock bits'ов. Я делал раньше так: в lock пишем 3F, заливаем прошивку, high fuse ставим DD, low fuse FF, ext 00, потом в lock пишем 0F. Раньше думал, что в lock сначала нужно записать, что то для разблокировки, а в конце какую-то последовательность для блокировки. Интуитивно решил, что может стоит попробывать без последнего действия (опыт работы с МК - 1 ночь, так что не пинайте сильно). Ну и теперь всё работает. Но все равно у меня остался вопрос: что я сделал и как на самом деле обстоят дела с lock bits?