понедельник, 22 сентября 2014 г.

Модификация преобразователя USB-RS232 для работы с Arduino


После нескольких попыток загрузки программ в Arduino Pro Mini через преобразователь USB-RS232 надоело ловить момент начала передачи информации, чтобы вовремя нажать сброс на плате. В инете много схем для автоматизации этого процесса, все они сводятся к тому, чтобы соединить вывод DTR преобразователя с RST платы через конденсатор.

Схема Pro Mini cо схемой подключения сигнала DTR к RST (RESET) есть на официальном сайте Arduino, можно скачать здесь. Важную здесь часть выделил на фрагменте.


Первые попытки почему-то не увенчались успехом, хотя я перепробовал, наверное, все варианты. Работа с COM-портами в Windows для меня всегда была довольно непредсказуемой, вероятно, это и сыграло роль. Промучившись весь вечер, решил продолжить на следующий день. И, о чудо, всё вдруг заработало идеально. Также обнаружилось, что вывод DTR на Pro Mini уже подключен к RST микроконтроллера через конденсатор, остаётся лишь протянуть провод от преобразователя к плате, что я и сделал. Схему сразу не посмотрел :-)

С преобразователем мне здесь повезло (если не считать того, что у него изначально нет провода DTR), все основные сигнальные линии у него выведены на плату в виде контактных площадок. Если у вас это не так, придётся подпаиваться к соответствующей ножке чипа, что может быть весьма затруднительно без хорошего инструмента.

Для дополнительного провода в корпусе пришлось сделать отдельный небольшой вырез рядом с вырезом для основного кабеля. Через каждые 10-15 см дополнительный провод привязывал к основному кабелю термоусадкой, сплетая их в одно целое. Можно, конечно, и изолентой, но на кабелях клей с неё обычно наиболее мерзко размазывается. К сожалению, не было в наличии готового коннектора на 5 ножек, так что я просто добавил еще один для дополнительного провода.


Проверка показала отличный результат, программы заливаются с первого раза без каких-либо проблем. Кабель использовал типа 1007 AWG 28.

Интереса ради попробовал подключиться таким же образом к плате Arduino Nano, там, напомню, уже есть встроенный преобразователь USB-RS232. Отдельного входа для линии DTR нет, поэтому подключил его через конденсатор 100 нФ к RST. Всё заработало с первого раза.

2 комментария:

  1. Автору за статью спасибо!
    У меня с Arduino Mega 2560 не хочет работать... Не подскажите в чем может быть причина??

    ОтветитьУдалить
    Ответы
    1. Вам лучше обратиться на профильные сайты по ардуино.
      У меня пока нет ни такой ардуины, ни опыта работы с ней.

      Удалить