Программаторы для Arduino, 3Д принтеров и не только
В прошлой статье про обзор рынка китайских ардуино я писал про китайские Arduino ProMini. Особенность этих плат состоит в том, что их нельзя подключить к компьютеру напрямую. Для подключения Arduino ProMini необходимо использовать USB-TTL преобразователь. Собственно этим устройствам и посвящена моя статья. Как всегда, я описываю только те устройства, которые покупал лично. Это не реклама. Просто делюсь информацией с миром, о том где их можно купить и какие я использовал. Это не истина в последней инстанции, у каждого может быть свое мнение. Кому интересно, добро пожаловать под кат.
И так. На сегодняшний день рынок USB-TTL преобразователей очень обширный. Есть куча разновидностей этих самых переходников. Основная их задача – подружить микроконтроллер и компьютер. Наиболее часто встречающиеся USB-FTDI и USB-TTL. Если говорить про платформу arduino, то иногда возникает надобность в USBASP / USBISP преобразователе. По большому счету USB-FTDI это тот же USB-TTL все они просто построены на базе разных чипов и по большому счету в большинстве случаев обладают одинаковым функционалом, что для обычного радиолюбителя делает их одинаковыми. Остановимся на USB-TTL преобразователях по подробнее.
И так. На сегодняшний день на нашем и китайском рынке USB-TTL преобразователи широко представлены на базе следующих чипов: MAX3232, FT232, CH340, CP2102. Мне довелось поработать с программаторами на последних двух чипах. Программаторы на чипе MAX меня не интересовали, т.к. попадались только с COM портом для подключения к ПК, что значительно сужало круг компов к которому его можно подключить. Про программаторы на FT232 я читал не очень хорошие отзывы, так что решил не рисковать. Не факт, что они такие уж и плохие, просто я решил с ними не связываться. Короче, дальше рассказ пойдет о программаторах на чипах CH340, CP2102.
Начнем с программатора на чипе CH340. Устройство примечательно тем, что данный чип используется на китайских клонах Arduino Nano, NodeMCU v3, Wemos D1 и прочих. Что позволяет в некотором роде назвать его родным для этой платформы. Хотя встречаются NodeMCU и Wemos и c USB-TTL на базе CP2102.
На фото представлены программаторы на базе чипа CH340 производства компании RobotDyn. Это российская компания, которая занимается разработкой устройств, а китайцы их для них делают. По большому счету нормальные качественные адаптеры. К отличительным особенностям данных образцов можно отнести возможность работы с логиками 3,3 и 5 Вольт. Наличие вывода RST для подключения к Arduino Promini чтобы осуществлять ввод ее в режим заливки прошивки. Это бывает полезно. Сами знаете, не всегда удается перезагрузить плату в нужный момент чтобы она начала шиться.
По умолчанию драйверов в операционной системе для данного адаптера нет. Так что Вам понадобится их дополнительно скачать и установить. Чтобы не заставлять вас заниматься поисками нужных драйверов, я обо всем позаботился. Нажмите “СКАЧАТЬ ДРАЙВЕРЫ для CH340” и скачайте драйверы с моего репозитория на GITHUB. Подборка драйверов делалась с сайтов производителей. В подборке драйвера для Windows, Linux, Mac OS.
Для работы с данным модулем на Windows нужно ставить драйверы. В комплекте еще идут и драйверы на MAC OS X. Так вот, почему-то на MAC OS этот преобразователь заработал вообще без установки драйверов. Я просто подключил его к моему macbook и все заработало. Из чего я делаю вывод, что на mac OS X не всегда требуется установка драйвера. Есть шанс, что я ставил драйвер когда-то давно, а потом забыл. Так что рекомендую проверить, прежде чем плясать с бубном :)
Купить такие адаптеры можно по ссылкам:
USB-TTL адаптер на базе CH340 от RobotDYN c обычным USB
USB-TTL адаптер на базе CH340 от RobotDYN c Micro USB
Теперь перейдем к адаптерам на базе чипа CP2102. Мой адаптер выглядит следующим образом:
У данного переходника. Я имею в виду конкретно мой экземпляр, а не все модули на таких чипах, отсутствует пин RST, ч помощью которого можно автоматом перезагружать ардуинки. В остальном по компоновке он схож с предыдущей моделью. Ну а по функциям, практически одинаков. Разве что это китайский нонейм. Но тем не менее прекрасно работает и свои функции выполняет. Забавно, я купил один такой модуль на пробу, а потом в том же магазине заказал второй. Так вот первый пришел в термоусадке, а второй уже без. По ходу китайцы решили чутка сэкономить.
Касаемо драйверов. Для работы на OS Windows 10 они мне не понадобились. Устройство определилось сразу. Но опять таки, может когда-то я их случайно поставил. Вот ссылка “Скачать драйверы для CP2102” они тоже расположены в моем репозитории на GITHUB. Если с виндой проблем не возникло, то проблемы возникли с Mac OS X. Что я только не делал, какие мануалы не пробовал, переходник не определился. На всякий случай, в репозитории есть драйвера и под mac os. Может для Вас они будут полезны.
Купить такие адаптеры можно по ссылкам:
USB-TTL адаптер на базе CP2102 Магазин:GREAT WALL Electronics Co., Ltd.
USB-TTL адаптер на базе CP2102 Магазин:WAVGAT Store
Выше я привел информацию о самых распространенных программаторах. Но есть и более специфические модели. Иногда так бывает, что ардуинки ломаются. Например, после неудачно перепрошивки слитает загрузчик (bootloader). Что в таком случае делать? Или вот вам еще задачка. У нас имеется 3Д принтер Ender 3, на который нужно залить прошивку, однако, на его плате загрузчик вовсе не прошит, что в таком случае делать? Ну и еще вариант. Вы решили осваивать новые горизонты и приобрели плату на базе чипа STM32F103C8T6, вам надо зашить правильный загрузчик для работы с Arduino IDE. Для таких задач обычные USB-TTL конвертеры не всегда подходят. Тогда приходится прибегать к колхозингу с Arduino Uno, либо обзаводиться нормальным программатором.
Для решения таких задач я приобрел 2 программатора:
Этот программатор я приобретал для для прошивки плат с STM32. так называемый ST-Link
А вот этот программатор я приобретал для прошивки загрузчиков в ардуины и платы 3Д принтеров (например для прошивки Ender 3):
Программатор шел в комплекте со шлейфом на 10 контактов, однако, не на всех платах есть выводы на 10 контактов. Для того чтобы не париться, я дополнительно приобрел переходник:
Как позже выяснилось, оба эти программатора взаимозаменяемы. И не просто взаимозаменяемы, но и могут быть перепрошиты друг в друга. Так что по большему счету достаточно одного. Однако прошивка этих штук, это уже другая история.
Кстати, применение этих программаторов позволяет зашивать в ардуины прошивки без загрузчика и работать с микроконтроллерами на более низких уровнях. Шифровать прошивки, а так же устанавливать разного рода защиты, но это уже функционал для гуру.
Должен предупредить, что для работы и этих программаторов нужны драйвера. Скачать драйвера для USBASP/USBISP программатора.
К сожалению, у меня пока не дошли руки для того чтобы с ними серьезно поработать. Но я решил запастись ими заранее, если вдруг понадобится, то чтобы они были под рукой. Ибо у нас таких штук не найти, е если найдешь, то будут они стоить не дешево. Вот ссылки на покупку этих программаторов по нормальным ценам:
USBASP адаптер Магазин:GREAT WALL Electronics Co., Ltd.
USBASP адаптер Магазин:WAVGAT Store
Переходник для USBASP адаптера Магазин:WAVGAT Store
ST-Link адаптер Магазин:GREAT WALL Electronics Co., Ltd.
ST-Link адаптер Магазин:WAVGAT Store
Ну а теперь пара слов о подключении USB-TTL преобразователей на базе чипов CH340 и CP2102. Пускай мы будем подключать к компьютеру Arduino ProMini (с напряжением 5 Вольт). Для этого нужно подключить ардуинку как показано на схеме:
С питанием все просто. + программатора соединяем с + ардуины. – программатора (GND) соединяем с – ардуины (GND). RX программатора соединяем c TX ардуины, TX программатора соединяем с RX ардуины. Все, теперь можно подключать устройство к компьютеру и прошивать.
Я рассмотрел общую схему подключения. Ну а дальше, заходите в Arduino IDE и заливаете свой скетч.
Чистого Вам кода и стабильной работы вашего железа.