Usb ttl programmer arduino

Как прошить Arduino Pro Mini (от А до Я)

Опубликовано: 31.08.2017 20:48

Введение

Приветствую Вас, читатели нашего ресурса. Сегодня мы поговорим об одном контроллере из серии Arduino, а именно об Arduino Pro Mini. Это маленький, компактный контроллер, имеющий все преимущества Arduino, но при этом очень компактный, можно сказать самый маленький из всех существующих Arduino контроллеров на данный момент. Многих так же привлекает и цена его Китайский копий, а стоят они от одного до двух долларов за штуку (местами и того меньше), что так же заставляет задуматься об его приобретении. Но существует и одна проблема, его не так-то уж и просто прошить, особенно Китайские копии, которые оснащают процессором Atmel ATmega168P, которыми некогда не оснащали официальные контроллеры Arduino Pro Mini и как следствие Arduino IDE отказывается их прошивать, сообщая о неправильной сигнатуре процессора.

Вот об этом мы сегодня и поговорим. Как прошить, что для этого нужно, ну и как заставить Arduino IDE работать с китайскими копиями.

Что для этого нужно?

Arduino Pro Mini очень компактный, а компактность требует жертв и жертва это — USB интерфейс который полностью выкосили в данном контроллере т.е. подключить Pro Mini к компьютеру напрямую у вас не получится и как следствие для этого понадобится либо специальный переходник USB в TTL или другой контроллер Arduino.

Далее мы разберем три способа как прошить Pro Mini и для всех трех способов нам что-то понадобиться:

  • Первый способ. Прошиваем через адаптер USB в TTL – нужен сам адаптер в количестве одной штуки.
  • Второй способ. Прошиваем через Arduino UNO – нужна Arduino UNO, но не простая, а в классическом исполнении, это та Arduino, в которой процессор выполнен в DIP корпусе и вставлен в черный разъем.
  • Третий способ. Прошиваем через SPI интерфейс – нужна любая Arduino: UNO, Nano, Mega, Leonardo – не важно, главное чтобы был USB разъем для подключения к ПК.

Первый способ. Прошиваем через адаптер USB в TTL

Первым и самым простым способом загрузить свой скетч в Arduino Pro Mini — это приобрести специальный адаптер USB в TTL или как его называют UART переходник. Как правило, этот переходник это и есть та часть, которую вырезали из Arduino Nano, превратив ее в Arduino Pro Mini. Стоимость подобных переходников копеечная, а выбор и того больше. Китайцы наштопали их столько, что глаза разбегаться какой из них выбрать. При этом цена сего девайса не более одного вечно зеленого. После того как вы соедините Pro Mini и UART переходник проводами или шлейфом, остаётся только воткнуть его (переходник) в ПК, установить драйвер (не для всех переходников они требуются) и на этом собственно все. Ваш ПК определит переходник как очередной COM-порт, который появляется при подключении любой Arduino к ПК. Выбираете его, плату, с которой будете работать (Arduino Pro Mini) и спокойно загружаете свой скетч.

Единственным нюансом в данных переходниках, является наличие или отсутствие контактов RST или DTR. Рекомендую покупать переходники, на которых эти контакты есть. Они значительно упрощают жизнь и делают процесс прошивки беспроблемным. Если же вы купили уже переходник, на котором подобных контактов нет, то при каждой загрузке скетча в Arduino вам придется нажимать на кнопку Reset, что не всегда получается сделать вовремя, и это вносит свои неудобства.

Подключение переходник вы можете посмотреть по таблице ниже:

USB в TTL (UART) Arduino Pro Mini
RX RX
TX TX
GND GND
5V VCC
RST или DTR или GRN RST или DTR

Второй способ. Прошиваем через Arduino UNO

Для этого способа нам понадобиться классическая Arduino UNO. Классическая эта та, в которой корпус микросхемы выполнен в DIP корпусе и вставлен в специальный разъем. Вот эту микросхему нам надо аккуратно поддеть отверткой. Тут важно не сломать процессор, поддевайте аккуратно, не погнув ноги.

После того как мы вытащили процессор из Arduino UNO мы по сути получили тот самый переходник USB в TTL, осталось только соединить проводами наш новый переходник и Arduino Pro Mini по следующей схеме:

Arduino UNO (без процессора) Arduino Pro Mini
RX RX
TX TX
GND GND
5V VCC
RST RST

После того как вы соединили две Arduino воедино, можно приступать к прошивке Arduino Pro Mini. Подключаем Arduino UNO по USB к ПК. Выбираем в настройках Arduino IDE COM-порт, указываем, что мы теперь работаем не с Arduino UNO, а с Arduino Pro Mini и все, заливаем наши скетчи. Способ довольно интересный, если вы не боитесь испортить Arduino и рядом не оказалось переходника USB в TTL.

Третий способ. Прошиваем через SPI интерфейс

Третьим и самым неудобным способом загрузить свой скетч в Arduino Pro Mini это прошить его при помощи ICSP интерфейса. Данный интерфейс присутствует на большинстве плат Arduino. Основные контакты данного интерфейса выведены на порты с 10 по 13, а так же выведены отдельно в виде шести контактной колодки с подписью ICSP. Располагается колодка, как правило, в центральной правой части Arduino.

Прошивка Arduino Pro Mini в этом случае делиться на два этапа:

  1. Прошивка платы Arduino как ISP программатора.
  2. Настройка Arduino IDE и загрузка скетча в Arduino Pro Mini.

Первым делом мы должны подготовить наш будущий программатор. Возьмем для примера всю туже Arduino UNO. Далее пошагово:

  1. Запускаем Arduino IDE.
  2. Файл — Примеры — 11.ArduinoISP — ArduinoISP.
  3. Инструменты — Плата — Arduino UNO.
  4. Инструменты — Порт — Выбираем COM-порт.
  5. Компилируем и заливаешь в Arduino UNO.

Далее нам необходимо соединить две Arduino проводами по следующей схеме:

Arduino UNO (ISP) Arduino Pro Mini
5V VCC
GND GND
10 RST
11 (MOSI) 11 (MOSI)
12 (MISO) 12 (MISO)
13 (SCK) 13 (SCK)

Теперь опять открываем Arduino IDE. Открываем в ней скетч который вы хотите залить в Pro Mini и выполняете следующие действия:

2. Инструменты — Плата — Arduino Pro Or Pro Mini
3. Инструменты — Процессор — ATmega168 (5V, 16 MHz)
4. Инструменты — Порт — Выбираете порт
5. Инструменты — Программатор — Arduino as ISP
6. Скетч — Загрузить через программатор

Как видите загружать скетч в этом режиме надо через специальное меню «Загрузить через программатор», а не через кнопку «Загрузить» на главной форме Arduino IDE. В этом и связано все неудобство. Если вы нажмете кнопку «Загрузить» как это делаете обычно, то вы зальете скетч в Arduino UNO, а не Arduino Pro Mini, что затрет там скетч программатора. Так же в этом режиме недоступен класс Serial, то есть отлаживать свой скетч обмениваясь сообщениями по COM-порту у вас так же не получится. Ну и еще одна ложка дегтя в том, что после данной перепрошивки, в большинстве случаев, перепрошить Arduino Pro Mini через переходник у вас так же больше не получиться. Исправляется это заливкой нового bootloader-а через меню «Инструменты» — «Записать Загрузчик».

Добавляем китайский Pro Mini в Arduino IDE

Как я уже говорил в данной статье, Китайские клоны порой оснащают процессорами которыми не оснащали официальные версии Arduino Pro Mini и как следствие при прошивке их вы можете увидеть следующую или подобную ошибку.

Исправляется это легко:

  • Для начала необходимо открыть папку в которой расположена Arduino IDE.
  • Затем переходим в следующую папку «Папка с Arduino IDE\hardware\arduino\avr\».
  • Ищем там файл «boards.txt» и открываем его в текстовом редакторе.
  • Ищем в файле следующую строку «pro.menu.cpu.16MHzatmega168.build.mcu=atmega168».
  • И заменяем ее на «pro.menu.cpu.16MHzatmega168.build.mcu=atmega168p».
  • Перезапускаем Arduino IDE и на этом все.
  • Если у вас к примеру 328 процессор то делаем все так же, только ищем строку с цифрами 328.

Заключение

В данной статье я привел аж три варианта загрузки скетчей в Arduino Pro Mini. Лично я использую второй. Мне он больше нравиться.

Что будете использовать вы — выбирать вам. Оставьте в комментарии какой вариант вы предпочитаете.

Источник

Анатолий Беляев (aka Mr.ALB). Персональный сайт

Да пребудут с вами Силы СВЕТА!

2022-09-23
Добавлено изречение
№117

2022-09-22
Добавлено изречение
№116

2022-09-22
Добавлено изречение
№115

2022-09-22
Добавлено изречение
№114

2022-09-22
Добавлено изречение
№113

2022-09-22
Добавлено изречение
№112

2022-09-22
Добавлено изречение
№111

2022-09-22
Добавлено изречение
№110

2022-09-22
Добавлено изречение
№109

2022-09-22
Добавлено изречение
№108

2022-09-22
Добавлено изречение
№107

2022-09-22
Добавлено изречение
№106

2022-09-22
Добавлено изречение
№105

2022-09-22
Добавлено изречение
№104

2022-09-22
Добавлено изречение
№103

2022-09-22
Добавлено изречение
№102

2022-09-22
Добавлено изречение
№101

2022-09-22
Добавлено изречение
№100

2017-01-19
Добавлен раздел
Веды

Программатор из конвертера USB-TTL CH340

Для разных поделок купил недорогие и миниатюрные платы Arduino Pro Mini. Всем они хороши: маленькие размеры, много выводов, на два больше, чем у Arduino UNO R3 (ещё есть А6 и А7) , однако есть и пара недостатков для их использования.

Во-первых, чтобы запрограммировать Arduino Pro Mini нужен внешний программатор, так как использовать, к примеру, Arduino UNO R3 в качестве программатора не всегда удобно.

Во-вторых, у Arduino Pro Mini нет стабилизатора на 3.3В (если это 5В плата) , что ограничивает сферу применения. Как обойти эти недостатки читайте ниже.

2022-04-04 Публикую как можно сделать самодельный USB-TTL конвертер для программирования Arduino Pro Mini и для подключения устройств по UART к компьютеру.

Подразделы

  • Программатор на CH340
  • Стабилизатор на +3.3В
  • Самодельный USB-TTL конвертер 2022-04-04
  • Самодельный USB-TTL конвертер v2 2022-09-29
  • Приложение 2022-04-04

Программатор на CH340

Покопавшись в море информации на просторах Интернета, пришёл к мнению, что наиболее недорогой и быстрый способ сделать программатор для Arduino Pro Mini и ему подобных – это использование конвертера уровней USB/TTL на основе микросхемы CH340G. На aliexpress купил его за 57 Р , что совсем смешные деньги по нынешним меркам .

Pic 1. Конвертер USB/TTL на чипе CH340G

Собственно такой конвертер можно сразу использовать для программирования Arduino Pro Mini, необходимо только в момент окончания компилирования скетча нажать кпопку RESET на плате Arduino и скетч загрузится, но это не совсем удобно – ловить момент окончания компиляции и жать на кнопки . Гораздо интереснее сделать загрузку скетча автоматической, как это происходит в Arduino UNO R3 или Arduino Nano. Оказывается для этого всё есть в данном конвертере. У чипа CH340 на 13-й ноге выведен сигнал DTR, а у Arduino Pro Mini уже есть такая ножка под этот сигнал. Остаётся небольшая доработка. Требуется подпаять к 13-й ножке CH340 штырёк, для подключения к плате Arduino.

Для начала доработки – снимем защитную плёнку с платы. Затем выпаяем разъём с 6-ю штырьками и заменим его на разъём с 7-ю штырьками. К 7-му штырьку нужно подпаять перемычку с 13-й ножки чипа CH340.

Pic 2. Снимаем защитную плёнку и выпаиваем разъём Pic 3. Подпаиваем перемычку к 13-й ножке CH340 Pic 4. Обратная сторона конвертера CH340

Все ухищрения для программирования в автоматическом режиме вот этой платы Arduino Pro Mini.

Pic 5. Arduino Pro Mini

Чтобы запрограммировать с помощью нашего доработанного программатора Arduino Pro Mini, необходимо сделать соединения между Arduino Pro Mini и программатором на основе CH340.

Pic 6. Соединяем Arduino Pro Mini с CH340

Для проверки работоспособности собрал схему управления светодиодом и загрузил соответственный скетч (любой).

На этом программатор был закончен и принят в эксплуатацию. Попользовавшись, могу сказать, что очень удобная и недорогая штучка получилась, рекомендую к повторению. С помощью этого программатора уже много раз программировал разные Arduino Pro Mini.

Сделал корпус в стиле а-ля ардуино , чтобы руками не хватать за контакты. Корпус из оргстекла (акрила).

Pic 7. Программатор CH340 в корпусе Pic 8. Программатор CH340 в корпусе

Стабилизатор на +3.3В для Arduino Pro Mini

Переходим ко второму пункту доработки.

Ниже представлена схема этого стабилизатора. Он построен по линейному принципу. Основой стабилизатора является настраиваемый стабилитрон TL431. С помощью резисторов R2. R4 устанавливается напряжение стабилизации. Для точного подбора напряжения на выходе стабилизатора – изменяйте значение R2. Чем R2 меньше, тем меньше выходное напряжение. При указанных номиналах резисторов R2. R4, напряжение на выходе стабилизатора около 3.2В. Резистор R1 подобран такой, чтобы ток через TL431 был не менее 1 мА. Транзистор VT1 является регулирующим элементом.

Pic 9. Схема стабилизатора

Так как Arduino Pro Mini имеет размеры всего 30х17.5 мм, то собирать стабилизатор имеет смысл на планарных компонентах, для уменьшения размеров.

На кусочке фольгированного стеклотекстолита разместил все компоненты. Дорожки прорезаны небольшим резаком. Не стал заморачиваться с разводкой платы, схема простейшая, не имеет смысла. Получился модуль стабилизатора на 3.3В размерами 20х12.5 мм. Его использовал для барометра на BMP280 и Arduino Pro Mini. Всё замечательно работает.

Pic 10. Модуль стабилизатора. Вид сверху Pic 11. Модуль стабилизатора. Вид с боку

Самодельный USB-TTL конвертер

Ещё в прошлом 2021 году приобрёл себе несколько микросхем CH340G, которые применяются в конверторах USB-TTL. На основе этой микросхемы разработал плату своего конвертера для подключения устройств к компьютеру через USB для обмена данными с МК.

Схема USB-TTL конвертера

Ниже представлена электрическая принципиальная схема. Она стандартная. Сразу вывел контакт DTR, чтобы подключать к Arduino Pro Mini.

Pic 12. Схема электрическая принципиальная

Плату разработал под имеющиеся элементы. У меня не было планарных конденсаторов 22 пФ для кварцевого резонатора, поставил объёмные, которые конечно можно заменить любыми другими. Возможно сделаю второй вариант уже с планарными конденсаторами. На фотовиде ниже видно, что сама плата имеет размеры 51 * 20 мм, что вполне компактно.

Pic 13. Фотовид платы

Плата изготавливалась по технологии ЛУТ. На зачищенный односторонний фольгированный стеклотекстолит перенесён рисунок платы с помощью утюга.

Pic 14. Подготовка платы

После травления лишней меди хлорным железом остался рисунок дорожек.

Pic 15. Лишняя медь вытравлена

Краска смыта и медные дорожки облужены. Просверлены необходимые отверстия.

Pic 16. Медные дорожки облужены

Произведён монтаж элементов на плату.

USB-TTL конвертера‘ data-lightbox=’Arduino’> Pic 17. Собранная плата USB-TTL конвертера

Обратная сторона платы, на которой установлены объёмные конденсаторы на 22 пФ, кварцевый резонатор, три перемычки и контакты.

USB-TTL конвертера‘ data-lightbox=’Arduino’> Pic 18. Собранная плата USB-TTL конвертера

Изготовленный USB-TTL конвертер успешно применил для AVR Fuse Bit Doctor.

USB-TTL конвертера для AVR Fuse Bit Doctor‘ data-lightbox=’Arduino’> Pic 19. Применение USB-TTL конвертера для AVR Fuse Bit Doctor

Самодельный USB-TTL конвертер v2

Разработал новую версию USB-TTL конвертера. Новая версия отличается от предыдущей тем, что выводы конвертера совпадают в порядке с выводами Arduino Pro Mini, что позволяет соединять конвертер с Ардуино напрямую. Для подключения к компьютеру применил розетку mini-USB. Такой вариант более компактен и удобен при использовании. Схема конвертера практически та же самая, с небольшими изменениями.

Pic 20. Схема электрическая принципиальная

При разработке платы в одном слое не удалось избавится от перемычек. Всего их 5 шт. на другой стороне платы. На ней же расположен и кварцевый резонатор на 12 МГц.

Pic 21. Фотовид платы Pic 22. Печатная плата

Разработанная плата была изготовлена методом ЛУТ. Ниже на фото уже протравлена лишняя медь, просверлены необходимые отверстия. Остаётся смыть краску, облудить и смонтировать конвертер.

Pic 23. Фотовид платы

Далее конечный вариант. Конветрер смонтирован, установлены все необходимые элементы. Контактные штырьки направлены вниз, что удобно при использовании конвертера совместно с монтажными панельками.

USB-TTL конвертера v2‘ data-lightbox=’Arduino’> Pic 24. Собранная плата USB-TTL конвертера v2

На обратной стороне видны контактные штырьки, проволочные перемычки и кварцевый резонатор.

USB-TTL конвертера v2. Обратная сторона’ data-lightbox=’Arduino’> Pic 25. USB-TTL конвертера v2. Обратная сторона

Подключение USB-TTL конвертера v2 к Arduino Pro Mini через монтажную панельку. Замечу, что на плате Arduino Pro Mini установлено всего пять контактов (один вывод GND) . На плате USB-TTL конвертера v2 шесть выводов, крайний верхний выводит +3,3В, которые можно использовать для питания датчиков.

USB-TTL конвертера v2 с Arduino Pro Mini‘ data-lightbox=’Arduino’> Pic 26. USB-TTL конвертера v2 с Arduino Pro Mini

В итоге получилось полезное устройство, которое востребовано. Однако можно использовать схему конвертера и микросхему CH340G для создания своих ардуино на базе микроконтроллеров имеющих UART (ATMega168, ATMega328, ATMega8, ATMega16 и им подобные) .

Используя покупные или самодельные USB-TTL конвертеры легко запрограммировать готовые платы Arduino Pro Mini. Опубликованные, на предыдущих страницах, скетчи легко загружаются в эти платы.

Если вам понравилась статья, то поделитесь в соцсетях, может быть кому-то из начинающих ардуинщиков пригодится такая информация.

Приложение

Все, что необходимо для повторения конструкции, можно скачать по ссылке:

Источник

Adblock
detector