Народ, помогите с Arduino ISP

Тема в разделе "Микроконтроллеры AVR", создана пользователем int33h, 28 окт 2014.

  1. int33h

    int33h Нуб

    Понимаю, что, наверняка, я не единственный с такой проблемой, но гугл, яндекс, форум и т.д. мне не помогли... Имею Arduino Leonardo (вроде бы от UNO особенно ничем не отличается), хочу с его помощью прошить ATtiny85... всё делал по инструкции, перепроверил 100500 раз все подключения, перепробовал все совета из интернета... но, все равно при попытке прошить тиньку получаю ошибку:
    avrdude: usbdev_open(): did not find any USB device "usb". Сам Leonardo нормально работает, перепроверял 10 раз, скетчи кушает, выполняет... а вот с тинькой прям беда... Подскажите идиоту что ещё можно сделать дабы получить результат? (скорости порта менял, подключения верны, кондер 100нФ на reset вешать пробовал и т.д... все советы по решению проблемы, которые находил в сети пробовал - ничего не помогло).
     
  2. geher

    geher Гуру

    Leonardo (как и его меньшой брат Micro) от UNO отличается среди прочего поведением при установлении соединения по последовательному порту.
    Сложно сказать, что там происходит такого особенного, но проявляется оно в частности тем, что при попытке загрузить скетч оно частенько выдает ошибку. И если успеть быстро выдать команду загрузки скетча, пока оно не перестало моргать лампочками, то загрузка завершается успешно.
    Получается, что в большинстве случаев загрузка скетча у меня и происходит так, двойными попытками.
    Так что для начала можно попробовать повторить прошивку немедленно после получения ошибки.

    И чисто на всякий случай вопросы для проверки:
    1. В Arduino IDE выбраны соответствующие плата (AtTiny85) и программатор (Arduino ISP)
    2. Куда подключена Tiny?
    Сам использовать Leonardo для прошивки микроконтроллеров не пробовал, но есть смутное подозрение, что Tiny надо подключать не к пинам 10-13, а к ISP разъему, т.е. к штатному ISP, как оно следует теоретически из комментариев в начале кода ArduinoISP.
     
    int33h нравится это.
  3. int33h

    int33h Нуб

    1. Да. плата - ATtiny85 @ 1 MHz (internal oscillator, BOD disabled)
    2. Тинька подключена как во всех примерах с UNO на 10-13 пины...
    к ISP не пробовал - нет клеммника такого, что бы на штырьки надеть ((((
    Попробовал Ваш способ, сразу после ошибки повторный аплоад - не помогло... Кстати, у меня ошибка выпадает уже после того, как Leonardo отморгался лампочками... он несколько раз моргает Rx, потом тишина секунд 7, далее ещё один раз моргает Rx, пауза с секунду, ошибка...
     
  4. geher

    geher Гуру

    Фокус в том, что одно из отличий Leonardo в том, что у него ISP не разведен на пины 10-13. Только на ICSP разъеме.
     
    int33h нравится это.
  5. int33h

    int33h Нуб

    Спасибо! Нашел инфу об этом.. ))) Попробовал расключить через ICSP разъем - всё та же ошибка ((( Не мог ли я убить тиньку пока стопицот раз пытался прошить её, подключенную к пинам 10-13? И еще вопрос - пины ICSP на UNO и Leonardo эдентичны?
     
  6. geher

    geher Гуру

    Разъем ICSP стандартный, везде должен быть одинаковым по распиновке.

    Тут наткнулся на статейку как раз по поводу Arduino ISP на Leonardo.
    http://petervanhoyweghen.wordpress.com/2012/09/16/arduinoisp-on-the-leonardo/
    Там пишут, что не все так просто, как на самом деле, что нужно внести правки в исходники Arduino ISP и стандартных библиотек, и предпринять еще ряд различных шагов.
    После всех манипуляций то, что подключалось на Uno на пинах 11-13 уходит на ICSP, а пин 10 остается как было на Uno.
     
    int33h нравится это.
  7. int33h

    int33h Нуб

    Спасибо! Сегодня днем так же наткнулся на эту статью... все рекомендации в ней выполнил и, вуаля, всё завелось и заработало! Как раз хотел сейчас отписаться об этом! Но Вы меня опередили! )))