Не заливаются скетчи через USB, через ICSP все льется ОК...

Lexey78
Offline
Зарегистрирован: 15.06.2016

Здравствуйте! Укажите пожалуйста пути решения следующей проблемы:

Штатным способом (через USB) никак не хотят заливаться скетчи на китайский UNO R3 на конвертере Atmega16U2. Через ICSP и программатор USBASP все работает. В системе плата тоже определяется нормально. Кабели USB менять пробовал - не помогает. Loop-Back тест с arduino.cc тоже проходит...

Sketch uses 1,066 bytes (3%) of program storage space. Maximum is 32,256 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2,039 bytes for local variables. Maximum is 2,048 bytes.
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM4 -b115200 -D -Uflash:w:D:\TEMP\build9c9ef3bdfe2fccb480bc6e4bac749e41.tmp/Blink.ino.hex:i 

avrdude: Version 6.0.1, compiled on Apr 15 2015 at 19:59:58
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : COM4
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x20
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x20
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x20
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x20
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x20
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x20
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x20
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x20
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x20
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x20

avrdude done.  Thank you.

Problem uploading to board.  See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.

 

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Lexey78, бутлоадер  для uno перешивали?

Lexey78
Offline
Зарегистрирован: 15.06.2016

Да, перепрошивал. Думал вся причина в этом - не помогло.

Как вообще должна вести себя исправная плата с прошитым бутлоадером и без микропрограммы при подключении питания? И на всякий случай: как можно полностью "обнулить" atmega328p?

Lexey78
Offline
Зарегистрирован: 15.06.2016

Почистил кристалл при помощи AVRDUDE_PROG, залил бутлоадер еще раз - без изменений.

Вижу, что Arduino IDE пытается заливать скетч на скорости 115200. Может можно как-то до 9600 скорость снизить?

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Lexey78, в качестве следующего шага логично было бы попробовать внешний преобразователь UART-COM.

Lexey78
Offline
Зарегистрирован: 15.06.2016

dimax, согласен, но я начинающий и как сделать так, чтобы обойти штатный atmega16u2 пока не представляю.

Есть CH340G USB TTL-UART преобразователь. Буду благодарен за подсказку чего куда подключать и где жать.

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Подключаете преобразователь к ардуино: 5V - VCC, GND - GND, RX - TX, TX - RX. В Arduino IDE выбираете другой COM-порт, который появится после подключения преобразователя в USB компа. Саму ардуину в USB не подключать, только преобразователь.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Lexey78 да проще простого. Смотрите на свою Uno. Нужно посадить ресет чипа 16U2 на "ноль"  - Около гнезда USB есть 6-пиновый разъём, возможно не распаянный, как например тут. Нужно 5 пин соединить с 6 пином (или просто с GND) , удобно одеть джампер. Первый пин отмечен точкой, важно не перепутать. Потом соединить проводниками выход Tx UART ->d0 UNO;   Rx UART ->d1 UNO.  Gnd-Gnd. ну и питание по вкусу, можно от переходника и UNO запитать. И шить, нажав ресет в нужный момент.

Lexey78
Offline
Зарегистрирован: 15.06.2016

Увы, не работает. Ошибка та же. Только код каждый раз разный (теперь resp=0x61).