Страница 1 из 1

Hyжно отладить этот способ программирования Arduino

Добавлено: Ср май 13, 2015 10:39:15
port_wine777
Здравствуйте. Возникла задача, с которой я уже 3 дня не могу справиться. Мне нужно программировать Arduino Uno через COM-порт (не через USB). Программировать хочу через IDE Arduino (стандартную среду разработки), поэтому нужно программировать не через SPI-интерфейс (пины SCK, MISO, MOSI), а через пины TX и RX, используя стандартный загрузчик, прошитый в контроллер. Пробую пока не через COM-порт, а через внешний преобразователь USB -> UART на микросхеме FTDI (MMusb232RL). Не получается! Появляется куча ошибок при загрузке прошивки: avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00. Вообще, например, Arduino Mini, как раз таки программируется только за счёт внешнего преобразователя интерфейсов FTDI, правда не такого, как у меня, но микросхема у него та-же FT232RL. Ну а почему я не могу? Подключаю по стандартной схеме: "VCC" к "VCC"; "GND" к "GND"; "TX" к "RX"; "RX" к "TX"; "reset (out) FTDI" к "RESET Arduino" через конденсатор 100 пФ, как говорят люди и как сделано и в самой плате Arduino Uno (посмотрел в схеме). Так-же в качестве ресета предлагают использовать вывод DTR преобразователя USB->UART, подключал и его (и через конденсатор и напрямую) - всё равно не прошивается! Что я делаю не так? Выбирал "Arduino Mini" вместо "Arduino Uno" в IDE - не помогло! Ну порт естественно выбрал правильно и драйвера поставил правильно. В момент программирования, мой Arduino к USB не подключен, а питание идёт на него через проводки со штыревыми разъёмами. Я подозреваю, что мешает ему программироваться свой собственный преобразователь USB-UART на контроллере ATMEGA16U2, но отключить линии TX и RX от него там не получится, ну я и не хочу что-то испортить на плате.
Нужно всё это за тем, чтобы программировать его удалённо (помимо программирования, ещё буду принимать с него данные с пина TX и передавать на RX). Arduino будет располагаться на расстоянии 12 от компа (по кабелю). Можно конечно купить 2 USB хаба и поставить их через каждые 5 метров по USB кабелю от компа до Arduino, но это во первых будет не надёжно, во вторых нету лишних денег.
ПОМОГИТЕ, ПРОШУ ВАС!

Re: Hyжно отладить этот способ программирования Arduino

Добавлено: Ср май 13, 2015 12:45:56
Morroc
Конденсатор 100 пф - это описка в вашем сообщении ? Там 100nF надо. Может и встроенный USB-UART мешает. Оторвите дорожки аккуратно, а то можем долго гадать что там не так. Есть платы без USB - я такую применял в удаленном устройстве, через 7 метров витой пары шьется нормально на штатной скорости.

По идее там резисторы должны стоять между tx/rx контроллеров и при прямом подключении к внешнему UART (без резисторов) внешний перетянет уровень как надо.

Re: Hyжно отладить этот способ программирования Arduino

Добавлено: Чт май 14, 2015 05:45:56
port_wine777
Morroc писал(а):Конденсатор 100 пф - это описка в вашем сообщении ? Там 100nF надо. Может и встроенный USB-UART мешает. Оторвите дорожки аккуратно, а то можем долго гадать что там не так. Есть платы без USB - я такую применял в удаленном устройстве, через 7 метров витой пары шьется нормально на штатной скорости.

По идее там резисторы должны стоять между tx/rx контроллеров и при прямом подключении к внешнему UART (без резисторов) внешний перетянет уровень как надо.
Нет, не опечатка, это я ТУПАНУЛ, припаял сейчас кондёр на 0,1 мкФ, но проблема не исчезла.
Но в самой плате ардуино, сделано всё на прямую, без резюков, и терминал Arduino у меня данные принимает через FTDI (так как он уже был запрограмирован ранее)

Ещё вот такую схему попробовал, тоже всё печально.