- Описание платы
- Работа в Arduino IDE
- Прошивка загрузчика
- Как убрать загрузчик?
- Загрузка скетча
- Фьюзы
- ISP программатор
- USBasp
- Решение проблем
- Основные ошибки в логе Arduino IDE
- Arduino as ISP
- Решение проблем
- Как прошить Arduino Pro Mini (от А до Я)
- Что для этого нужно?
- Первый способ. Прошиваем через адаптер USB в TTL
- Второй способ. Прошиваем через Arduino UNO
- Третий способ. Прошиваем через SPI интерфейс
- Arduino mini размеры. Самостоятельная перепрошивка Arduino Pro Mini
- Общие сведения
- Характеристики
- Питание
- Память
- Связь
- Автоматический (программный) сброс
- Физические характеристики
- Arduino Pro Mini 5 В
- Купить Arduino Pro Mini
- Подключение питания к Arduino Pro Mini
- Широтно-импульсная модуляция (ШИМ) Arduino Pro Mini
- Другие пины:
- Аппаратная часть
- USB-TTL (UART)
- Схема и распиновка Pro Mini
- Прошивка arduino pro mini
- Прошивка через адаптер USB в TTL
- Прошивка через Ардуино Уно
- Прошивка через SPI интерфейс
- Программирование на Ардуино про мини
Описание платы
Свойства arduino pro mini аналогичны свойствам плат Arduino Uno и Nano. Их отличие заключается в невозможности прошивки Pro Mini через USB-UART. Вместо этого для подключения к компьютеру используется проводник FTDI с преобразователем интерфейса или дополнительная карта Sparkfun. Также есть различия в скорости работы чипа. Arduino pro mini имеет меньшую скорость, чем arduino uno, но это практически не влияет на дизайн.
Работать с Arduino pro mini нужно осторожно. Если пользователь сожжет микросхему, приложив к ней чрезмерное напряжение, удалить и заменить ее будет невозможно.
Разъемы не припаяны к платформе. Подключение может производиться как через разъемы, так и путем поверхностного монтажа. Ножки можно приварить.
Существует 2 модели микроконтроллера arduino pro mini: 3,3 В и 5 В. Первая использует тактовую частоту 8 МГц, вторая работает на частоте 16 МГц. Какая это модель, должна быть указана на корпусе.
Скетч традиционно пишется на микроконтроллере через Arduino IDE. Для загрузки кода вам потребуются специальные переходники. Изначально продается с уже установленной прошивкой.
Технические характеристики микроконтроллера Arduino pro mini:
- Рабочее напряжение 3,3 В и 5 В (в зависимости от модели);
- 14 контактов, из которых 6 используются как контакты ШИМ;
- Постоянный ток на входе и выходе 40 мА;
- Суммарный ток клемм не более 200 мА;
- 16 КБ флэш-памяти, 2 КБ используется для загрузчика;
- 1 КБ оперативной памяти;
- 512-байтный EEPROM;
- Тактовая частота — 8 МГц или 16 МГц в зависимости от модели;
- Интерфейс I2c;
- Размеры стола 18х33 мм.
Еду можно подавать тремя способами:
- Через переходник FTDI;
- Когда на контакт Vcc подается стабилизированное напряжение;
- Когда напряжение подается на вывод RAW.
Какие проекты можно сделать на базе Arduino Pro Mini:
- Управляемые конструкции для квадрокоптера;
- Таймер;
- Прибор для анализа влажности почвы;
- Автоматический полив растений;
- Устройство для измерения осадков и скорости ветра;
- Автоматика для аквариумов.
И многие другие проекты для дома и дачи.
Работа в Arduino IDE
Прошивка загрузчика
Из Arduino IDE с помощью программатора ISP мы можем написать другой загрузчик (по сути, загрузчик + предохранители) и загрузить скетч, а также настроить / прошить предохранители и биты блокировки, но не очень удобным способом. Когда мы выбираем плату в Tools> Board and Bootloader в Tools> Board (bootloader), Arduino IDE автоматически делает желаемый загрузчик «активным». Нажав «Инструменты»> «Записать загрузчик», мы прошиваем загрузчик, соответствующий выбранной карте и ее настройкам.
Кроме того, одновременно с загрузчиком мигают предохранители и биты блокировки, соответствующие плате, выбранной в Arduino IDE. Как и где их менять, смотрите ниже. Давайте посмотрим на пример записи загрузчика для atmega328 на китайской плате Arduino NANO. На данный момент китайцы устанавливают в МК старую версию загрузчика, которая в меню карты называется старым загрузчиком.
Оригинальные карты поставляются с более современным загрузчиком, поэтому при работе с китайскими картами нам нужно выбрать старый загрузчик для загрузки прошивки через встроенный USB-порт. Подключаем usbasp по схеме выше, выбираем его как программатор в Tools> Programmer, выбираем плату Arduino NANO, загрузчик для atmega328 (первый в списке). Жмем написать загрузчик. Все! Теперь карту можно зашить через встроенный USB порт, выбрав первый загрузчик. Кстати он светлее, быстрее «мигает», да и сама прошивка быстрее «загружается”.
Как убрать загрузчик?
В стандартном ядре Arduino нет опции «без загрузчика». Чтобы вручную удалить поддержку загрузчика, вам необходимо иметь возможность работать с board.txt и предохранителями — вам нужно будет изменить предохранитель BOOTRST и настроить максимальный размер эскиза.
Есть вариант попроще: найти и установить ядро, в котором реализован выбор загрузчика с опцией «без загрузчика», например, для ATmega328 это miniCore и наш GyverCore. Вам необходимо установить поддержку ядра согласно описанным выше инструкциям, выбрать карту, указать опцию «без загрузчика» и нажать «Записать загрузчик». Соответствующие предохранители будут вшиты в МК.
Загрузка скетча
В Arduino IDE вы можете загрузить скетч через программатор, для этого вам нужно нажать Sketch> Download via programmer. Это очень удобно, когда MC используется без загрузчика или просто без MC.
Фьюзы
Конфигуратор платы в Arduino IDE организован следующим образом: каждая плата в Tools> Board имеет свой собственный набор настроек, включая предохранители, которые сшиты вместе с загрузчиком. Некоторые из них:
- Загрузчик (путь к файлу)
- Скорость загрузки (через загрузчик)
- Доступна флэш-память и sram-память
- Полный комплект предохранителей и битов блокировок
Файл конфигурации называется board.txt и находится в основной папке Arduino: C: Program Files (x86) Arduino hardware arduino avr boards.txt. Вы можете прочитать документацию для board.txt здесь. При желании вы можете просмотреть необходимые предохранители с помощью калькулятора (см. Выше), отредактировать их в board.txt (важно не запутаться, на какой конфигурации платы было выбрано изменение) и прошить их в MC с помощью нажав Инструменты> Тип загрузчика.
- Предохранители обозначены как предохранители low / high / extended, вы можете ввести полученное значение в калькулятор.
- Биты блокировки работают следующим образом: Биты разблокировки — это блоки, которые будут зашиты перед записью загрузчика (при нажатии кнопки «Записать загрузчик»). Но после прошивки загрузчика автоматически будет прошиваться lock_bits, который определит доступ к памяти контроллера во время его работы. Для защиты прошивки от чтения установите lock_bits 0x3C.
Такая работа с предохранителями максимально неудобна, но есть и другие варианты:
- Core GyverCore для atmega328, в нем мы создали серию готовых настроек предохранителей в настройках платы. Несколько загрузчиков, в том числе отсутствие параметров загрузчика, выбор источника синхронизации и другие настройки одним щелчком мыши.
- Программа AVRdudeprog, о ней мы поговорим ниже
ISP программатор
USBasp
Недорогие ISP-программаторы есть и у китайцев, рекомендую брать USBasp как самый распространенный. Поищите на алиэкспресс, версия нравится на всякий случай. USBasp не имеет очень удобного 10-контактного выхода на кабеле, поэтому мы рекомендуем приобрести переходник с 10-контактного на 6-контактный, который позволяет сразу подключаться к разъему ISP, который есть на большинстве плат Arduino. Внимание! Чаще всего встречается дефект в виде непаянных контактов, поэтому во избежание проблем рекомендуется припаять переходник и промыть флюс (зубная щетка + бензиновые калоши).
Быстрый старт:
- Подключите usbasp к компьютеру
- Скачать и установить драйвера на usbasp (скачать с моего сайта, скачать с яндекс диска, подробнее здесь и здесь)
- Откройте Диспетчер устройств и убедитесь, что программист обнаружен системой
- Откройте Arduino IDE
- Выберите usbasp в Инструменты> Программист
Решение проблем
Решение большинства проблем с загрузкой через программатор (вне зависимости от того, что написано в журнале ошибок):
- Вытаскиваем и вставляем usbasp в порт USB
- Вставить в другой порт USB
- Переустанавливаем драйвера на usbasp
- Проверяем качество соединения USBasp с МК
- Припаиваем переходник и чистим ручей
Для прошивки микроконтроллера с низкочастотной синхронизацией (внутренние часы менее 1 МГц):
- USBasp: на карте есть перемычка JP3, которая включает режим низкой скорости загрузки. В более новых версиях прошивки для USBasp скорость выбирается автоматически, но китайцы продают старую версию. Как прошить новую: поискать в интернете.
Основные ошибки в логе Arduino IDE
avrdude: ошибка: невозможно найти USB-устройство с vid = 0x16c0 pid = 0x5dc vendor = ‘www.fischl.de’ product = ‘USBasp’ Причина: компьютер не видит USB ASP
- Проверить и поменять порт USB
- Попробуйте переустановить драйвер
- Проверить пайку разъема USB на плате программатора
- Проверить наличие и целостность элементов возле USB-разъема программатора, кварцевого резонатора
- Возможно программатор зашит не так — по возможности попробуйте перепрошить
- Возможно, микроконтроллер на плате программатора неисправен или мертв, попробуйте заменить, и он мигает
avrdude: ошибка: программа включена: цель не отвечает. Причина: usbasp не видит подключенный микроконтроллер
- Проверить правильность и целостность связи с МК
- Попробуйте снизить частоту прошивки с помощью перемычки или указав более низкую скорость в вашей среде программирования
- Проверьте пайку 10-контактного разъема и переходника 10- 6-контактный
- Может микроконтроллер прошивки попался со свадьбой, или сдох.
Arduino as ISP
Программистом ISP могут стать практически все остальные платы Arduino, для этого достаточно загрузить в него скетч ArduinoISP:
- Откройте файл эскиза> Примеры> 11. ArduinoISP> ArduinoISP
- Все! Ваш Arduino теперь программист ISP
- Подключаем еще один Arduino или голый чип по схеме ниже
- Выбор Arduino в качестве ISP в Инструменты> Программист
- И мы можем писать загрузчики, предохранители или загружать прошивку прямо во Flash
Программатор ISP подключается к четырем выводам микроконтроллера, не считая питания: один вывод отправляет сброс, остальные — передачу данных. Чтобы плата программатора не сбрасывалась при запуске, вам необходимо:
- Или поместите конденсатор ~ 10 мкФ между RST и GND (рекомендуется)
- Или просто замкните контакты RST и 5V проводом
Решение проблем
Для прошивки микроконтроллера с низкочастотной синхронизацией (внутренние часы менее 1 МГц):
- Arduino ISP: вам нужно изменить частоту загрузки прошивки в скетче Arduino ISP, а затем снова выполнить прошивку в программаторе Arduino (см. Строку на скетче 45 и ниже);
Как прошить Arduino Pro Mini (от А до Я)
Приветствую вас, читатели нашего ресурса. Сегодня мы поговорим о контроллере серии 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 |
Техас | Техас |
GND | GND |
5В | VCC |
RST или DTR или GRN | RST или DTR |
Второй способ. Прошиваем через Arduino UNO
Для этого метода нам понадобится классический Arduino UNO. Классическим считается тот, в котором корпус микросхемы выполнен в DIP-корпусе и вставлен в специальный разъем. Надо аккуратно приподнять эту микросхему отверткой. Здесь важно не сломать процессор, аккуратно отсоединить его, не сгибая ножки.
Arduino UNO. Процессор выполнен в DIP-корпусе, осторожно подденьте и снимите процессор отверткой.
После извлечения процессора из Arduino UNO мы, по сути, получили тот же переходник USB to TTL, осталось только подключить наш новый переходник и Arduino Pro Mini проводами по следующей схеме:
Arduino UNO (без процессора)
Arduino Pro Mini
RX | RX |
Техас | Техас |
GND | GND |
5В | 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 делится на два этапа:
- Прошивка платы Arduino как ISP-программист.
- Настройка IDE Arduino и загрузка скетча в Arduino Pro Mini.
Прежде всего, нам нужно подготовить нашего будущего программиста. Взять, к примеру, всю Arduino UNO. Далее пошагово:
- Запустите Arduino IDE.
- Файл — Примеры — 11.ArduinoISP — ArduinoISP.
- Инструменты — Плата — Arduino UNO.
- Инструменты — Порт — Выберите COM-порт.
- Скомпилируйте и загрузите в Arduino UNO.
Далее нам нужно соединить две Ардуино проводами следующим образом:
Arduino UNO (ISP)
Arduino Pro Mini
5В | VCC |
GND | GND |
10 | RST |
11 (MOSI) | 11 (MOSI) |
12 (MISO) | 12 (MISO) |
13 (SCK) | 13 (SCK) |
Теперь снова откройте IDE Arduino. Откройте внутри скетч, который вы хотите скомпилировать в Pro Mini, и сделайте следующее:
- Инструменты — Плата — Arduino Pro или Pro Mini
- Инструменты — Процессор — ATmega168 (5 В, 16 МГц)
- Инструменты — Порт — Выбор порта
- Инструменты — Программист — Arduino как ISP
- Скетч — Скачать через программатор
Как видите, вы должны загрузить скетч в этом режиме через меню «Загрузить через программатор», а не через кнопку «Загрузить» на главном модуле Arduino IDE. В этом весь недостаток. Если вы нажмете кнопку «Загрузить», как обычно, вы загрузите скетч в Arduino UNO, а не в Arduino Pro Mini, который перезапишет там скетч программиста.
Также в этом режиме недоступен класс Serial, то есть вы не сможете отлаживать свой скетч, обмениваясь сообщениями через COM-порт. Что ж, еще одна ложка дегтя заключается в том, что после этой прошивки в большинстве случаев вы больше не сможете перепрошить Arduino Pro Mini через переходник.
Это решается вставкой нового загрузчика через меню «Инструменты» — «Записать загрузчик».
Arduino mini размеры. Самостоятельная перепрошивка Arduino Pro Mini
Инструкции
Сначала несколько слов о самом программисте. Вы можете купить его за 2 доллара в любом китайском интернет-магазине. Разъем USB-A, конечно же, используется для подключения программатора к компьютеру. Разъем ISP необходим для подключения к программируемой плате. Перемычка JP1 регулирует напряжение на выводе VCC разъема ISP. Это может быть 3,3 В или 5 В.
Если программируемое целевое устройство имеет собственный источник питания, перемычку необходимо удалить, перемычка JP2 используется для того, чтобы сам программатор мигал; В этой статье не рассматривается. Перемычка JP3 требуется, если тактовая частота целевого устройства меньше 1,5 МГц.
Два светодиода показывают: G — питание на программатор, R — программатор подключен к целевому устройству.
Подключаем программатор к USB-порту компьютера. Скорее всего, через некоторое время операционная система сообщит, что не смогла найти драйвер для этого устройства.
В этом случае загрузите драйвер для программатора с официального сайта http://www.fischl.de/usbasp/. Распаковать архив и стандартным способом установить драйвера. Программатор USBasp должен появиться в диспетчере устройств.
Теперь программатор готов к работе. Отключите его от компьютера.
Воспользуемся макетной платой и соединительными кабелями — это будет быстро и надежно. Подключаем разъем программатора к пинам Arduino Pro Mini согласно схеме выше.
Общие сведения
Arduino Pro Mini — это устройство на базе микроконтроллера ATmega328.
В его состав входят: 14 цифровых входов / выходов (6 из которых могут использоваться как выходы ШИМ), 8 аналоговых входов, кварцевый резонатор, кнопка сброса и площадки для пайки разъемов.
Шестиконтактный разъем можно использовать для питания и связи с платой через USB с помощью адаптера FTDI или платы разработки Sparkfun.
Arduino Pro Mini предназначен для полупостоянного монтажа в различном оборудовании или установках. Плата специально поставляется без припаянных разъемов, что позволяет пользователю припаивать провода или использовать необходимые типы разъемов по желанию. Распиновка Arduino Mini Pro совместима с Arduino Mini.
Существует две версии Pro Mini: одна работает от 3,3 В до 8 МГц, другая — от 5 В до 16 МГц.
Arduino Pro Mini разработан и изготовлен SparkFun Electronics.
Характеристики
Микроконтроллер | ATmega168 или ATmega328 |
Рабочее напряжение | 3,3 В или 5 В (в зависимости от модели) |
Напряжение питания | 3,35-12 В (для модели 3,3 В) или 5-12 В (для модели 5 В) |
Цифровой цифровой ввод / вывод | 14 (из которых 6 могут использоваться как выходы ШИМ) |
Аналоговые входы | восемь |
Максимальный ток выхода | 40 мА |
Флэш-память | 16 КБ (из которых 2 КБ используются загрузчиком) |
SRAM | 1 КБ |
EEPROM | 512 байт |
Тактовая частота | 8 МГц (для модели 3,3 В) или 16 МГц (для модели 5 В) |
Питание
Arduino Pro Mini может питаться от различных источников:
- через макет;
- через переходник FTDI, подключенный к шестиконтактному разъему;
- от стабилизированного блока питания с напряжением 3,3 В или 5 В (в зависимости от модели), подключенного к выводу Vcc.
Кроме того, на плате есть встроенный стабилизатор напряжения, благодаря которому на плату можно подавать напряжение питания до 12В. Если вы используете нерегулируемый источник питания для питания карты, убедитесь, что он подключен к выводу RAW, а не к VCC.
На плате расположены следующие выводы питания:
- СЫРОЙ. Для питания платы от нерегулируемого источника напряжения.
- VCC. Стабилизированное напряжение 3,3 В или 5 В.
- GND. Рельефы на местности.
Память
ATmega328 имеет 32 КБ флэш-памяти (из которых 2 КБ используются загрузчиком). Микроконтроллер также имеет 1 КБ SRAM и 512 байтов EEPROM (информация из которых может быть прочитана или записана с помощью библиотеки EEPROM).
Связь
Arduino Pro Mini предлагает несколько вариантов связи с компьютером, другим Arduino или другими микроконтроллерами.
ATmega328 имеет приемопередатчик UART, который обеспечивает последовательную связь через цифровые контакты 0 (RX) и 1 (TX).
Программный пакет Arduino включает специальную программу, которая позволяет вам читать и отправлять простые текстовые данные на Arduino через USB-соединение.
ATMega328 в Arduino Pro Mini оснащен загрузчиком прошивки, который позволяет загружать новые программы в микроконтроллер без необходимости использования внешнего программатора. Взаимодействие с ним осуществляется по оригинальному протоколу STK500 (,).
Автоматический (программный) сброс
Чтобы избежать необходимости нажимать кнопку сброса каждый раз перед загрузкой программы, Arduino Pro Mini спроектирован таким образом, что его можно сбросить с помощью программного обеспечения с подключенного компьютера. Один из выводов шестиконтактного разъема подключен к выводу RESET микроконтроллера ATmega328 через конденсатор емкостью 100 нФ.
При подключении к компьютеру этот вывод также связан с одной из линий, участвующих в аппаратном управлении потоком через преобразователь USB-Serial: с кабелем FTDI, с линией RTS, с платой разработки Sparkfun, с линией DTR.
Когда в этой строке появляется ноль, вывод RESET, следовательно, также опускается на время, достаточное для перезапуска микроконтроллера. Эта функция используется для того, чтобы вы могли прошить микроконтроллер одним нажатием кнопки в среде программирования Arduino.
Эта архитектура позволяет уменьшить тайм-аут загрузчика, так как процесс прошивки всегда синхронизируется с падением сигнала на линии RESET.
Однако эта система может привести к другим последствиям. Когда вы подключаете Pro Mini к компьютерам под управлением Mac OS X или Linux, его микроконтроллер сбрасывается каждый раз, когда программное обеспечение подключается к карте.
После сброса настроек на Pro Mini загрузчик активируется примерно на полсекунды. Хотя загрузчик запрограммирован на игнорирование посторонних данных (например.
все данные, не относящиеся к процессу перепрошивки новой программы), могут перехватывать первые байты данных из пакета, отправленного на карту, сразу после установления соединения.
В результате, если программа, запущенная на Arduino, ожидает получить какие-либо настройки или другие данные с компьютера при первом запуске, убедитесь, что программное обеспечение, с которым взаимодействует Arduino, отправляет секунду после установления соединения.
Физические характеристики
Размеры платы Arduino Pro Mini составляют 1,8 см x 3,3 см.
Эта карта предназначена для использования в готовом устройстве. Поэтому в этом микроконтроллере нет встроенного чипа для связи USB-UART. Также нет разъемов USB для подключения и прошивки. Это позволяет значительно уменьшить размер и стоимость карты. Для подключения к компьютеру и прошивке используется специальный программатор.
Существует две версии этой карты: 3,3 В на 8 МГц и 5 В на 16 МГц. В младшей версии этой ардуинки используется чип ATmega168. Этот чип имеет меньший объем флэш-памяти, энергонезависимую память и более низкую тактовую частоту.
Поскольку цена на разные версии Arduino Pro Mini практически одинакова, мы поговорим о предыдущей версии с чипом ATmega328 и тактовой частотой 16 МГц.
Arduino Pro Mini 5 В
Эта версия оснащена микроконтроллером ATmega328. В отличие от своего младшего брата, у него вдвое больше энергонезависимой и флеш-памяти. И он может похвастаться тактовой частотой 16 МГц. О способах прошивки этого микроконтроллера вы можете узнать в моей статье:
Купить Arduino Pro Mini
- По качеству практически не отличается от оригинальных столов итальянского производства.
- Цена в несколько раз ниже. Итальянский arduino pro mini стоит около 7 долларов, а в Китае этот микроконтроллер будет стоить 1,5 доллара
- В российских магазинах наценка 100-500%. При этом очень часто под видом оригинальной платы могут продаваться китайские и даже очень некачественные доски.
- На aliexpress легко найти солидных продавцов с хорошими отзывами.
- Вы можете воспользоваться скидочными купонами и кэшбэком.
Подключение питания к Arduino Pro Mini
Этот микроконтроллер можно запитать тремя способами:
- Адаптер FTDI, подключенный к соответствующим 6 контактам.
- Путем подачи стабилизированного напряжения на вывод Vcc. 3,3 В или 5 В в зависимости от версии
- Подача напряжения на вывод RAW. 3,3-12 В или 5-12 В в зависимости от версии
Как упоминалось выше, карта имеет 14 цифровых контактов. Они отмечены на карте серийным номером. Они могут быть как входными, так и выходными. Рабочее напряжение этих контактов составляет 3,3 В или 5 В.
Аналоговые контакты на плате помечены буквой «A». Эти контакты являются входами и не имеют подтягивающих резисторов. Они измеряют приложенное напряжение и возвращают значение от 0 до 1024 при использовании функции analogRead (). Эти контакты измеряют напряжение с точностью до 0,005 В.
Широтно-импульсная модуляция (ШИМ) Arduino Pro Mini
Выходы PWM этой карты никак не промаркированы. Вам просто нужно запомнить номера цифровых выводов, подключенных к генератору ширины импульса. Arduino Pro Mini имеет 6 контактов PWM, это контакты 3, 5, 6, 9, 10 и 11. Arduino имеет специальную функцию для использования PWM .
Другие пины:
- 0 (Rx) и 1 (Tx) используются для последовательной передачи данных.
- Контакты 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) предназначены для связи по SPI.
- Также на выводе D13 есть светодиод, встроенный в плату.
- A4 (SDA) и A5 (SCL) могут использоваться для связи с другими устройствами через шину I2C. Вы можете прочитать больше об этом интерфейсе в Википедии. В Arduino IDE есть встроенная библиотека «wire.h» для упрощения работы с I2C.
Аппаратная часть
В следующей таблице описывается оборудование Arduino pro mini. Arduino mini pro уделяет особое внимание входам и выходам.
Как мы уже отмечали ранее, размеры Arduino mini pro компактны и подходят для сборки любого устройства.
Аппаратное обеспечение
Питание | На платформе Arduino mini pro есть разъем для подключения кабеля FTDI, по которому устройство получает питание. Также можно включить Arduino через выход Vcc или RAW. Рассмотрим подробнее блоки питания для Arduino mini:
|
Состояние памяти | Распределение памяти в схеме Arduino mini pro:
|
Количество входов и выходов и их назначение | Для распиновки разработчики Arduino pro выделили 14 контактов, которые пользователь независимо настраивает как вход или выход. Для вывода потребуется 3,3 Вольта. В настройках по умолчанию подтягивающий резистор, установленный для выхода, превышает 40 мА. Специальные функции для распиновки Arduino mini pro:
|
USB-TTL (UART)
Этот метод реализован непосредственно на платах Arduino через преобразователь USB-TTL (USB-UART), поэтому мы можем подключить плату к компьютеру и загрузить код. USB-TTL позволяет загружать данные только во флеш-память, другие функции (например, программатор ISP) недоступны. При этом ограничивается только возможностями загрузчика, но в этом уроке мы рассматриваем только стандартные.
Кроме того, мост USB-TTL позволяет микроконтроллеру связываться с компьютером через последовательное соединение (тот же монитор последовательного порта и com). Есть платы без встроенного USB-TTL, например Arduino Pro Mini. Для работы с ними необходимо приобрести внешний конвертер USB-TTL. Также есть возможность загрузить прошивку через UART на «голый» микроконтроллер при наличии загрузчика, который запишет полученный код во флеш-память.
О регистрации загрузчика мы поговорим ниже. «Загрузчик» UART подключается к контактам RX и TX Arduino (или микроконтроллера), RX-> TX и TX-> RX и GND также должны быть подключены. Если мигающая карта не имеет собственного источника питания, также подключается источник питания. Загрузчик работает при запуске МК, поэтому непосредственно перед загрузкой прошивки МК необходимо сбросить (перезапустить), а для этого на картах USB-UART есть пин DTR (Data Terminal Ready), который подключен к Пин сброса RST и фактически выполняет сброс перед загрузкой прошивки… Карты Pro Mini имеют отдельный контакт DTR.
USB-TTL | Ардуино |
DTR | DTR |
RX | Техас |
Техас | RX |
GND | GND |
VCC / 5 В / 3,3 В | VCC |
Китайцы выпускают модули USB-TTL в большом количестве, но в целом все они по своей природе одинаковы. Ссылка на результат поиска на aliexpress и ссылка на все USB-TTL в моем любимом магазине WAVGAT. Что я использую? В основном шарф на CP2102. Перед заказом модуля убедитесь, что у него есть выход DTR, в противном случае этот модуль можно использовать только для «связи» с контроллером через COM-порт.
Для работы с таким преобразователем необходимо установить драйвер микросхемы, на базе которой собран модуль, это могут быть CP2102, CH340 / 341, FT232, PL2303 и другие. Прошивка загружается как обычно: выбираем порт, на котором расположен конвертер, версию загрузчика и нажимаем скачать, все! Важный момент: на некоторых китайских версиях плат Arduino Pro Mini вывод DTR не распаян, т.е он не переходит в RST и не сбрасывается автоматически перед загрузкой прошивки.
В этом случае сброс необходимо произвести вручную, с помощью клавиши RST, непосредственно перед загрузкой прошивки… Загрузка прошивки через загрузчик возможна с любого устройства UART, даже через Bluetooth. Но об этом мы поговорим в отдельном уроке.
Схема и распиновка Pro Mini
Принципиальная схема платы Arduino показана ниже.
Схема и распиновка Pro Mini
Микроконтроллер имеет 14 контактов, каждый из которых может быть настроен как вход или выход. Клеммы обозначены цифровым номером, аналоговые — буквой A. Рабочее напряжение составляет 3,3 В или 5 В.
Назначение контактов:
- Последовательная шина — 0 и 1 (RX, TX). Предназначен для приема и передачи данных.
- Внешнее прерывание — 2 и 3. Может использоваться для запуска прерывания.
- Вывод ШИМ — 3, 5, 6, 9, 10, 11.
- SPI — 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK).
- Светодиодный индикатор — 13.
6 аналоговых контактов имеют разрешение 10 бит. Некоторые выводы имеют дополнительные особенности:
- I2C — A4 (SDA), A5 (SCL).
Плата также оснащена дополнительным контактом сброса. Когда он станет низким, перезапустите микроконтроллер.
Прошивка arduino pro mini
Прошивка Arduino pro mini
Миниатюрный размер карты делает перепрошивку невозможной без посторонней помощи. Загрузить скетч в микроконтроллер можно несколькими способами:
- Через переходник USB на TTL;
- Через Arduino Uno;
- Через интерфейс SPI с помощью любой платы Arduino с разъемом для подключения к компьютеру.
Самый простой способ — первый.
Прошивка через адаптер USB в TTL
В продаже можно найти специальный переходник — переходник UART. Типов таких переходников много, стоимость каждого изделия невысока. Рекомендуется покупать переходники с контактами RST или DTR, они упрощают процесс прошивки.
Для прошивки необходимо подключить адаптер к Arduino: необходимо подключить землю обоих устройств, Vcc — к + 5В или +3,3 В (в зависимости от модели), RX — TX, TX — RX. Затем необходимо подключить проект к компьютеру, установить драйвер и запустить прошивку. Компьютер определит, к какому порту подключена карта. Драйвер можно скачать с официального сайта. Скачанный архив необходимо разархивировать и установить.
Затем нужно запустить среду разработки Adruino IDE, выбрать нужную карту и номер порта и загрузить прошивку. Это делается следующим образом:
- Нажмите «Скачать»;
- Затем начнется компиляция — появится слово «Скетч-компиляция»;
- После появления сообщения «Загрузка» необходимо нажать кнопку Reset на плате (в адаптерах с RST или DTR нажимать кнопку не нужно).
Важно! Нажатие Reset должно быть недолгим.
Скетч будет загружен в микроконтроллер. Об успешном исходе процедуры можно судить по миганию светодиода.
Прошивка через Ардуино Уно
Для прошивки потребуется классическая плата Arduino Uno в DIP-корпусе. На нем должен быть специальный разъем, из которого нужно аккуратно вытащить микроконтроллер. Важно выполнять все действия аккуратно, чтобы не погнуть ножки процессора.
необходимо подключить arduino pro mini к разъему с проводами. Как подключить контакты — RX-RX, TX-TX, GND-GND, 5V-VCC, RST-RST.
После подключения вы можете начать стандартную загрузку скетча через Arduino IDE.
Прошивка через SPI интерфейс
Этот способ наиболее неудобен и трудоемок. Карта прошивается в 2 этапа:
- Прошивка микроконтроллера Arduino Uno в качестве ISP-программиста;
- Настройка среды разработки и загрузка кода на Arduino Pro Mini.
Алгоритм первого этапа:
- Запуск среды разработки Arduino IDE;
- Открытие «Файл» — «Примеры» — «11. ArduinoISP» — «ArduinoISP»;
- Далее «Инструменты» — «Плата» — «Arduino uno»;
- «Инструменты» — «Порт» и выбирается нужный номер COM-порта;
- Далее вам нужно скомпилировать и загрузить код в Arduino Uno.
Затем обе платы необходимо соединить проводниками по следующей схеме: 5V — VCC, GND — GND, MOSI (11) — MOSI (11), MISO (12) — MISO (12), SCK (13) — SCK (13).
Теперь вам нужно настроить Arduino IDE для Arduino Pro Mini. Это делается следующим образом:
- «Инструменты» — «Доска» — выбираем нужную плату Arduino Pro Mini;
- В том же меню выберите «Процессор» — выберите соответствующий процессор с необходимой тактовой частотой;
- Затем нужно установить порт, к которому подключена карта;
- «Инструменты» — «Программист» — Arduino как ISP;
- Затем нужно загрузить скетч через программатор.
важно отметить, что загрузка кода должна производиться через специальное меню «загрузка программиста». Здесь можно запутаться, потому что этот способ неудобен. Загрузка обычным способом потребует оплаты кода в Arduino Uno.
Как только загрузка будет завершена, перепрошить микроконтроллер через адаптер будет невозможно. Нам нужно будет загрузить новый загрузчик через «запись загрузчика».
Если возникают проблемы с загрузкой прошивки любого типа, необходимо проверить подключение карты.
Программирование на Ардуино про мини
Используется стандартная среда разработки Arduino IDE
Используется стандартная среда разработки Arduino IDE. После подключения устройства к компьютеру вам необходимо выбрать правильную карту из списка. Главное, не перепутать Arduino 3.3V и 5V.Какая из них используется, должно быть написано на корпусе.
В пункте «Последовательный порт» выберите нужный порт, к которому подключена карта. Затем вы можете загрузить программу на доску, нажав кнопку «Загрузить.
Загрузка может занять много времени и закончиться с ошибкой. Чтобы этого не произошло, при заливке скетча нужно нажать кнопку сброса, когда появится надпись Двоичный размер скетча: xxx байт. Светодиоды на плате загораются во время запуска. После составления скетча нужно отключить микроконтроллер и подать на него напряжение.
Читайте также: Ардуино: примеры аппаратного прерывания по таймеру