Перезапись загрузчика в Arduino Pro Mini
17 Июл 2014
Arduino Pro Mini весьма привлекательная плата из семейства Ардуино в первую очередь маленькими габаритами и ценой.
Зачем перезаписывать загрузчик
- Если загрузчик «слетел» и плата не прошивается. Выдает всегда: «avrdude: stk500_recv(): programmer is not responding».
- Если нужно переустановить ФЬЮЗ-биты, например, как в моем случае, отключить контроль напряжения питания для того чтобы запитать плату от 3.3В
- Или же вы решили совсем убрать загрузчик с целью экономии памяти и увеличения скорости загрузки, тогда вместо загрузчика заливается ваша программа по нулевому адресу.
Что для этого нужно
- Недорогой программатор USBASP
- Стандартные проводочки для подключения модулей к платам Arduino
- Драйвер USBASP (если программировать по Windows)
- Среда разработки Arduino IDE
Подключение
Все Arduino имеющие 6-пиновый IСSP разъем подключаются к программатору через такой переходник
Arduino Pro Mini ICSP на плате не имеет, поэтому подключаем проводками по следующей схеме
Подключаем программатор к USB компьютера, устанавливаем драйвер USBAsp (если он еще не установлен) и запускам среду Arduino IDE
Выбираем тип программатора USBASP
Выбираем тип контроллера. Если мы хотим просто восстановить загрузчик — выбираем Arduino Pro Mini 5В (или 3.3В в зависимости от платы). Если нам нужен OPTIBOOT без лишней головной боли — выбираем Arduino UNO
Затем жмем «Записать загрузчик»
Если все подключено и настроено правильно, то программатор довольно долго мигает лампочками.
Настройка параметров загрузчика
Последнее время применяю Aduino Pro Mini 5В с модулями NRF24L01+, требующих для питания 3.3В. Для питания таких плат от низкого напряжения нужно отключить во фьюзах контроль напряжения питания. Для этого открываем файл c:\Program Files (x86)\Arduino\hardware\arduino\boards.txt и прописываем в нем характеристики желаемой прошивки:
atmega328_16.name=Atmega328_16 (3.3V, 16 MHz external)
atmega328_16.upload.protocol=arduino
atmega328_16.upload.maximum_size=32256
atmega328_16.upload.speed=115200
atmega328_16.bootloader.low_fuses=0xff
atmega328_16.bootloader.high_fuses=0xde
atmega328_16.bootloader.extended_fuses=0x07
atmega328_16.bootloader.path=optiboot
atmega328_16.bootloader.file=optiboot_atmega328.hex
atmega328_16.bootloader.unlock_bits=0x3F
atmega328_16.bootloader.lock_bits=0x0F
atmega328_16.build.mcu=atmega328p
atmega328_16.build.f_cpu=16000000L
atmega328_16.build.core=arduino
atmega328_16.build.variant=standard
1 |
atmega328_16.name=Atmega328_16(3.3V,16MHz external) atmega328_16.upload.protocol=arduino atmega328_16.upload.maximum_size=32256 atmega328_16.upload.speed=115200 atmega328_16.bootloader.low_fuses=0xff atmega328_16.bootloader.high_fuses=0xde atmega328_16.bootloader.extended_fuses=0x07 atmega328_16.bootloader.path=optiboot atmega328_16.bootloader.file=optiboot_atmega328.hex atmega328_16.bootloader.unlock_bits=0x3F atmega328_16.bootloader.lock_bits=0x0F atmega328_16.build.mcu=atmega328p atmega328_16.build.f_cpu=16000000L atmega328_16.build.core=arduino atmega328_16.build.variant=standard |
После этого шьем выбираем тип контроллера «Atmega328_16 (3.3V, 16 MHz external)» и пишем загрузчик.
Программируя «перешитый» Arduino Pro Mini через стандартный порт не нужно забывать устанавливать нужный тип контроллера
Posted in Arduino, Технологии | Метки: Arduino, ATMEGA328, USBASP
Программирование
Все программы программируются с помощью бесплатной среды разработки для Arduino pro mini. В Arduino mini включен ATmega328, в который предварительно вшивается загрузчик. Поэтому пользователь может свободно загружать программы в память микроконтроллера.
Связь обеспечивает протокол STK500.
Распиновка ATmega328
Как прошить Ардуино про мини без загрузчика с помощью внешнего программатора? Легко и просто.
Для начала потребуется отменить требование на нажатие кнопки перезагрузки перед тем, как прошивать код написанной программы.
Ардуино mini pro сконструирован так, что перезагрузка посредством программного обеспечения доступна напрямую с любого компьютерного устройства. В 6-контактных выводах есть один, который напрямую связан с линией сброса Arduino 328 pro с помощью конденсатора на 100 нФ.
Через управление вышеописанным выводом возможно преобразовать USB или последовательный порт путем подключения к разъему. Если сделать так, что появится уровень ниже нормы в течение продолжительного времени, платформа автоматически перезагрузится.
Arduino IDE дает возможность пользователю, чтобы тот загрузил программный код при одном нажатии на кнопку для загрузки бесплатной среды разработки.
Arduino IDE
Однако повышается риск неоправданных последствий и поломки платформы. Если на компьютере электронщика установлена операционная система Мак Ос или Линукс, то сбрасывание на микроконтроллере будет происходить каждый раз, когда программное обеспечение с помощью USB-кабеля с платформой.
Спустя половину секунды с момента сброса начинает свою работу загрузчик. В основном, загрузчик устроен так, чтобы не перехватывать другие данные, однако нередко все происходит наоборот: перехватываются первые байты данных программы, которые отправляются на плату при установленном соединении.
Чтобы устранить такой «баг», необходимо в коде программы, которая будет работать на Ардуино, проверить, как осуществляется процесс передачи данных программы с компьютера на платформу. Оптимальное время для отправления кода – секунда с момента установки соединения между устройствами.
ESP32 WROOM DevKit v1
Подключение периферии
-
Цифровые входы/выходы: 21 пин 1–5, 12–19, 21–23, 25–27, 32 и 33Контакты ввода-вывода общего назначения. Пины могут быть настроены на вход или на выход. Логический уровень единицы — 3,3 В, нуля — 0 В. Максимальный ток выхода — 12 мА.
-
Цифровые входы: 4 пина 34–36 и 39Контакты ввода общего назначения. Могут быть настроены только на вход.
-
ШИМ: все пины ввода-выводаПозволяет выводить аналоговые значения в виде ШИМ-сигнала с разрядность 16 бит. Максимальное количество каналов 16.
-
АЦП: 15 пинов 2, 4, 12–15, 25–27, 32–36 и 39Позволяет представить аналоговое напряжение в цифровом виде с разрядностью 12 бит.
-
ЦАП: пины 25(DAC1) и 26(DAC2)Аналоговый выход цифро-аналогового преобразователя, который позволяет формировать 8-битные уровни напряжения.
Максимальный выходной ток пина 3V3: 1 А
Подключение к IoT
1) Выбираем плату: Tools (Инструменты) -> Board(Плата) DOIT ESP32 DEVKIT V1.
2) Вставляем подготовленный код.
3) Задаем данные для подключения Wi-Fi и идентификатор своего объекта на платформе.
4) Компилируем и загружаем скетч на плату.
5) Видим появление данных на платформе.
Где купить
В России
В Китае
Надеюсь, что данная инструкция станет полезной для всех, кто начнет работать с представленными модулями или их аналогами, поможет в выборе, а также сократит время на поиски алгоритмов подключения.
Прошивка arduino pro mini
Прошивка arduino pro mini
Миниатюрные размеры платы не позволяют прошить ее без внешней помощи. Есть несколько способов заливки скетча в микроконтроллер:
- Через адаптер USB в TTL;
- Через Ардуино Уно;
- Через SPI интерфейс с помощью любой платы ардуино с разъемом для подключения к компьютеру.
Самым простым методом является первый.
Прошивка через адаптер USB в TTL
В продаже можно найти специальный адаптер – UART переходник. Видов таких переходников много, стоимость каждого изделия невысокая. Советуется приобретать переходники с контактами RST или DTR, они упрощают процесс прошивки.
Для прошивки нужно подключить адаптер в Ардуино: нужно соединить земли с одного и другого устройства, Vcc – на +5В или +3,3 В (в зависимости от модели), RX – TX, TX – RX. Затем конструкцию нужно подключить к компьютеру, установить драйвер и начать прошивку. Компьютер определит, к какому порту подключена плата. Драйвер можно скачать с официального сайта. Скачанный архив нужно распаковать и установить.
Затем нужно запустить среду разработки Adruino IDE, выбрать нужную плату и номер порта и загрузить микропрограмму. Это делается следующим образом:
- Нажать «Загрузить»;
- Затем начнется компиляция – появится надпись «Компиляция скетча»;
После появление надписи «Загружаем» нужно нажать на плате кнопку Reset (в переходниках с RST или DTR нажимать кнопку не нужно).
Важно! Нажатие на Reset должно быть кратковременным.
Скетч будет загружен в микроконтроллер. Об успешном окончании процедуры можно понять по мигающему светодиоду.
Прошивка через Ардуино Уно
Для прошивки потребуется классическая плата Ардуино Уно в DIP корпусе. На ней должен быть специальный разъем, из которого нужно вытащить аккуратно микроконтроллер
Важно делать все действия внимательно, чтобы не погнуть ножки процессора
Проводами нужно подключить arduino pro mini к разъему. Как подключить контакты – RX-RX, TX-TX, GND-GND, 5V-VCC, RST-RST.
После подключения можно начать стандартную загрузку скетча через Arduino IDE.
Прошивка через SPI интерфейс
Этот способ является самым неудобным и трудоемким. Прошивание платы производится в 2 этапа:
Прошивка микроконтроллера Ардуино Уно как ISP программатора;
Настройка среды разработки и загрузка кода в Arduino Pro Mini.
Алгоритм проведения первого этапа:
- Запуск среды разработки Arduino IDE;
- Открытие «Файл» – «Примеры» – «11. ArduinoISP» – «ArduinoISP»;
- Далее «Инструменты» – «Плата» – «Ардуино уно»;
- «Инструменты» – «Порт», и выбирается нужный номер COM порта;
- Далее нужно произвести компиляцию и загрузить код в Ардуино Уно.
Затем обе платы нужно соединить проводниками по приведенной схеме: 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 as ISP;
- Затем нужно загрузить скетч через программатор.
Важно отметить, что загрузка кода должна происходить через специальное меню «загрузить через программатор». Здесь можно запутаться, потому такой способ и неудобен
Загрузка обычным способом приведет тому, что код зальется в Ардуино Уно.
После проведенной загрузки перепрошить микроконтроллер через переходник больше не получится. Придется заливать новый bootloader через «записать загрузчик».
Если при каком-либо виде загрузки прошивки возникают проблемы, нужно проверить подключение платы.
Прошивка arduino pro mini
Миниатюрные размеры платы не позволяют прошить ее без внешней помощи. Есть несколько способов заливки скетча в микроконтроллер:
- Через адаптер USB в TTL;
- Через Ардуино Уно;
- Через SPI интерфейс с помощью любой платы ардуино с разъемом для подключения к компьютеру.
Самым простым методом является первый.
Прошивка через адаптер USB в TTL
В продаже можно найти специальный адаптер – UART переходник. Видов таких переходников много, стоимость каждого изделия невысокая. Советуется приобретать переходники с контактами RST или DTR, они упрощают процесс прошивки.
Для прошивки нужно подключить адаптер в Ардуино: нужно соединить земли с одного и другого устройства, Vcc – на +5В или +3,3 В (в зависимости от модели), RX – TX, TX – RX. Затем конструкцию нужно подключить к компьютеру, установить драйвер и начать прошивку. Компьютер определит, к какому порту подключена плата. Драйвер можно скачать с официального сайта. Скачанный архив нужно распаковать и установить.
Затем нужно запустить среду разработки Adruino >
- Нажать «Загрузить»;
- Затем начнется компиляция – появится надпись «Компиляция скетча»;
После появление надписи «Загружаем» нужно нажать на плате кнопку Reset (в переходниках с RST или DTR нажимать кнопку не нужно).
Важно! Нажатие на Reset должно быть кратковременным. Скетч будет загружен в микроконтроллер
Об успешном окончании процедуры можно понять по мигающему светодиоду
Скетч будет загружен в микроконтроллер. Об успешном окончании процедуры можно понять по мигающему светодиоду.
Прошивка через Ардуино Уно
Для прошивки потребуется классическая плата Ардуино Уно в DIP корпусе. На ней должен быть специальный разъем, из которого нужно вытащить аккуратно микроконтроллер
Важно делать все действия внимательно, чтобы не погнуть ножки процессора
Проводами нужно подключить arduino pro mini к разъему. Как подключить контакты – RX-RX, TX-TX, GND-GND, 5V-VCC, RST-RST.
После подключения можно начать стандартную загрузку скетча через Arduino >
Прошивка через SPI интерфейс
Этот способ является самым неудобным и трудоемким. Прошивание платы производится в 2 этапа:
Прошивка микроконтроллера Ардуино Уно как ISP программатора;
Настройка среды разработки и загрузка кода в Arduino Pro Mini.
Алгоритм проведения первого этапа:
- Запуск среды разработки Arduino >
- Открытие «Файл» – «Примеры» – «11. ArduinoISP» – «ArduinoISP»;
- Далее «Инструменты» – «Плата» – «Ардуино уно»;
- «Инструменты» – «Порт», и выбирается нужный номер COM порта;
- Далее нужно произвести компиляцию и загрузить код в Ардуино Уно.
Затем обе платы нужно соединить проводниками по приведенной схеме: 5V – VCC, GND – GND, MOSI (11) – MOSI (11), MISO (12) – MISO (12), SCK (13) – SCK (13).
Теперь нужно настроить Arduino >
«Инструменты» – «Плата» – выбор нужной платы Arduino Pro Mini;
- В том же меню выбирается «Процессор» – выбор соответствующего процессора с нужной тактовой частотой;
- Затем нужно установить порт, к которому подключена плата;
- «Инструменты» – «Программатор» – Arduino as ISP;
- Затем нужно загрузить скетч через программатор.
Важно отметить, что загрузка кода должна происходить через специальное меню «загрузить через программатор». Здесь можно запутаться, потому такой способ и неудобен
Загрузка обычным способом приведет тому, что код зальется в Ардуино Уно.
После проведенной загрузки перепрошить микроконтроллер через переходник больше не получится. Придется заливать новый bootloader через «записать загрузчик».
Если при каком-либо виде загрузки прошивки возникают проблемы, нужно проверить подключение платы.
Входы и выходы
Каждый из 14 цифровых выводов Pro Mini, используя функции pinMode(), digitalWrite() и digitalRead(), может настраиваться как вход или выход. Выводы работают при напряжении 3,3 В. Каждый вывод имеет нагрузочный резистор (стандартно отключен) 20-50 кОм и может пропускать до 40 мА. Некоторые выводы имеют особые функции:
- Последовательная шина: 0 (RX) и 1 (TX) — выводы используются для получения (RX) и передачи (TX) данных TTL. Данные выводы имеют соединение с выводами TX-0 и RX-1 блока из шести выводов.
- Внешнее прерывание: 2 и 3 — данные выводы могут быть сконфигурированы на вызов прерывания либо на младшем значении, либо на переднем или заднем фронте, или при изменении значения. Подробная информация находится в описании функции attachInterrupt().
- ШИМ: 3, 5, 6, 9, 10, и 11 — любой из выводов обеспечивает ШИМ с разрешением 8 бит при помощи функции analogWrite().
- SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) — данными выводами осуществляется связь по шине SPI.
- LED: 13 — встроенный светодиод, подключенный к цифровому выводу 13. Если значение на выводе имеет высокий потенциал, то светодиод горит.
На платформе Pro Mini установлены 6 аналоговых входов, каждый разрешением 10 бит (т.е. может принимать 1024 различных значения). Четыре из них расположены на краю платформы, а другие два (входы 4 и 5) ближе к центру. Измерение происходит относительно земли до значения VCC. Некоторые выводы имеют дополнительные функции:
I2C: A4 (SDA) и A5 (SCL) — осуществляется связь по шине I2C (TWI), для создания которой используется библиотека Wire.
Существует дополнительный вывод на платформе:
Reset — низкий уровень сигнала на выводе перезагружает микроконтроллер. Обычно применяется для подключения кнопки перезагрузки на плате расширения, закрывающей доступ к кнопке на самой плате Arduino.
Прошивка ардуино про мини с помощью Arduino Uno или Nano
Для того что бы прошить одну ардуинку через другую, нам понадобятся 2 платы Arduino, соединительные провода, USB кабель и компьютер. Я покажу как прошить Arduino Pro Mini с помощью Arduino Nano, но по этой же инструкции можно использовать и другие платы Arduino, такие как Uno, Mega и тд.
Для начала надо настроить нашу плату, которая будет выступать в роли программатора. Для этого подключим ее к USB компьютера и перейдем в Arduino IDE. В примерах уже есть готовый скетч, написанный специально для этой цели.
Выбор программатора
Выбираем этот скетч и прошиваем. Теперь мы готовы подключать Arduino Pro Mini. Подключаем следующим образом:
Arduino Nano -> Arduino Pro Mini
- +5v -> Vcc
- GND -> GND
- D10 -> RST
- D11 -> D11
- D12 -> D12
- D13 -> D13
У меня это выглядит так:
Arduino Pro Mini через Arduino Nano
Далее нам нужно выставить в меню «Инструменты» нашу прошиваемую плату и тип программатора «Arduino as ISP»:
Теперь мы можем прошить нашу Arduino Pro Mini. Откройте или напишите нужную вам прошивку. Будьте внимательны! Стандартная кнопка загрузки скетча нам не подходит. По умолчанию она заливает прошивку без использования программатора. Таким образом мы прошьем микроконтроллер, который должен выступать в качестве программатора. Чтобы этого не произошло нужно перейти в меню Скетч >> Загрузить через программатор.
Готово!
2Установка драйвера для программатора
Подключим программатор к USB-порту компьютера. Скорее всего, через какое-то небольшое время операционная система сообщит, что ей не удалось найти драйвер для данного устройства.
Сообщение об отсутствии драйвера для USBasp программатора
В этом случае скачаем драйвер для программатора с официального сайта. Распакуем архив и установим драйвер стандартным способом. В диспетчере устройств должен появиться программатор USBasp. Теперь программатор готов к работе. Отключаем его от компьютера.
Установка драйвера для USBasp программатора
Если вы испытываете трудности с установкой драйвера для USBasp программатора, то вам поможет статья «Как установить драйвер для программатора USBasp в Windows 8 и Windows 10».
3Схема подключенияArduino к программатору
Соединяем ISP-разъём программатора с выводами на Arduino Pro Mini согласно приведённой схеме.
Схема подключения Arduino Pro Mini к USBasp программатору
Воспользуемся макетной платой и соединительными проводами – это будет быстро и надёжно.
Плата Arduino Pro Mini подключена к USBasp программатору
Если вы планируете часто использовать платы Arduino Pro или Pro Mini в своей работе, то удобно будет спаять специальный переходник для быстрого подключения платы Arduino к программатору. На фото представлен мой вариант такого переходника.
Переходник для быстрого подключения платы Arduino Pro Mini к программатору USBasp
Автоматическая (программная) перезагрузка
Arduino Pro Mini разработана таким образом, чтобы перед записью нового кода перезагрузка осуществлялась самой программой, а не нажатием кнопки на платформе. Один из выводов на блоке из шести выводов подключен к линии перезагрузки микроконтроллеров ATmega168/328 через конденсатор 100 нФ. Данный вывод соединен с одной из линий управления потоком конвертора USB-to-serial, подключенного к блоку — к линии RTS при использовании кабеля FTDI. Активация данной линии, т.е. подача сигнала низкого уровня, перезагружает микроконтроллер. Программа Arduino IDE, используя данную функцию, загружает код одним нажатием кнопки Upload в самой среде программирования. Подача сигнала низкого уровня по линии перезагрузки скоординирована с началом записи кода, что сокращает таймаут загрузчика.
Функция имеет еще одно применение. Перезагрузка Pro Mini происходит каждый раз при подключении к программе Arduino на компьютере с ОС Mac X или Linux (через USB). Следующие полсекунды после перезагрузки работает загрузчик. Во время программирования происходит задержка нескольких первых байтов кода во избежание получения платформой некорректных данных (всех, кроме кода новой программы). Если производится разовая отладка скетча, записанного в платформу, или ввод каких-либо других данных при первом запуске, необходимо убедиться, что программа на компьютере ожидает в течение секунды перед передачей данных.
Программирование Arduino Pro Mini
Вполне вероятно, вам надо будет установить драйвера для FTDI Basic Breakout или аналогичного конвертера, когда вы подключите плату с конвертером впервые.
После того как драйвера для FTDI и Arduino установлены, можно переходить к программированию. Предлагаем начать с самого популярного скетча: Blink. Откройте Areuino IDE, после этого откройте скетч Blink, который находится в
File > Examples > 01.Basics > Blink:
Перед загрузкой программы на Pro Mini, надо сообщить оболочке для программирования, какую именно плату вы используете. Для этого надо выбрать Tools > Board и там из списка выбрать Arduino Pro или Pro Mini.
После этого возвращаемся в Tools > Processor и выбираем ATmega328 (3.3V, 8MHz). Эта настройка сообщает IDE, что надо компилировать код с учетом частоты 8 МГц.
После этого надо выбрать серийный порт, к которому вы подключили Pro Mini с помощью FTDI Basic Breakout. В Windows это будет что-то вроде COM2, COM3, и т.д. и т.п. На Mac это будет что-то вроде /dev/tty.usbserial-A6006hSc.
Наконец то все готово к загрузке программы на вашу Arduino Pro Mini. Нажмите кнопку Upload (стрелка вправо под меню). После этого красный и зеленый светодиоды RX/TX на вашем USB конвертере загорятся и в строке состояния Arduino IDE появится надпись «Done Uploading». Вуаля, светодиод на Arduino Pro Mini начал мигать! Хоть на плате Mini не уместились некоторые компоненты обвязки, самый важный из них — светодиод — на плате есть!
Оставляйте Ваши комментарии, вопросы и делитесь личным опытом ниже. В дискуссии часто рождаются новые идеи и проекты!
Arduino Pro Mini: распиновка платы
Характеристики Arduino Pro Mini 5V не отличаются от платы Arduino Nano. Основное различие состоит в отсутствии микросхемы для прошивки Pro Mini по USB-UART. Связь с ПК производится по кабелю FTDI или с помощью дополнительной платы Sparkfun. Благодаря этому размеры платы более компактные, что позволяет использовать платформу в готовых мини-проектах, где важны небольшие габариты комплектующих.
Распиновка Arduino Pro Mini ATmega328 / ATmega168
Нумерация портов и их назначение полностью дублируют плату Arduino UNO r3. Из 14 портов ввода – вывода, 6 портов могут работать в режиме ШИМ с разрешением 8 бит. Последовательная шина UART находится на портах 0 (RX) и 1 (TX), связь по протоколу I2C на Pro Mini Arduino с LCD дисплеем осуществляется на аналоговых портах с дополнительными функциями в работе: порт A4 (SDA) и порт A5 (SCL).
Подключение платы Arduino Pro Mini
Для соединения с компьютером используется специальный кабель FTDI FT232RL (или CH340G), содержащий преобразователь интерфейса USB–USART. Микроконтроллер содержит интерфейс USART, его сигналы RX и ТХ выведены на торцевую часть платы. Специальный кабель подключается к этим входам Arduino Pro Mini, а также к контактам VCC и GND. При этом питание 5 В поступает в модуль от персонально компьютера. Существуют соединители, имеющие также очень важный контакт DTR. Сигнал на этом контакте автоматически формирует сигнал сброса перед обновлением программы в МК. Без сброса в нужный момент в начале записи программы невозможно записать новую программу. Следует учитывать порядок подключения контактов. Правильно соединение USART выполняется по схеме:
/*
DTR <——————> DTR
TXD <——————> RXD
RXD <——————> TXD
VCC <——————> VCC
GND НЕ ПОДКЛЮЧЁН CTS
GND <——————> GND
*/
1 |
/* DTR <——————> DTR TXD <——————> RXD RXD <——————> TXD VCC <——————> VCC GND НЕ ПОДКЛЮЧЁН CTS GND <——————> GND */ |
Описание платы
Свойства arduino pro mini аналогичны, как и у платы Ардуино Уно и Нано. Их отличие заключается в невозможности прошить Pro Mini по USB-UART. Вместо этого для создания связи с компьютером используется проводник FTDI с преобразователем интерфейса или дополнительная плата Sparkfun. Также есть отличия по скорости, с которой работает чип. У arduino про мини скорость ниже, чем у Ардуино уно, но это практически не сказывается на проектах.
Работать с Ардуино про мини нужно аккуратно. Если пользователь сожжет чип, подав на него чрезмерное напряжение, его будет невозможно вытащить и заменить.
Разъемы не припаяны к платформе. Произвести подключение можно как через разъемы, так и навесным монтажом. Ножки можно припаять.
Существует 2 модели микроконтроллера arduino pro mini – на 3,3 В и 5 В. В первой используется тактовая частота 8 МГц, вторая работает на 16 МГц. Какая именно это модель, должно быть указано на корпусе.
Скетч в микроконтроллер традиционно записывается через среду разработки Arduino >
Технические характеристики микроконтроллера 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 Pro Mini ATmega168 3.3V/8MHz 5V/16MHz
Микроконтроллер | ATmega168PA |
Рабочее напряжение | 3.3 В или 5 В (в зависимости от модели) |
Напряжение питания (рекомендуемое) | 3.35-12 В (модель 3.3 В) или 5-12 В (модель 5 В) |
Напряжение питания (предельное) | 3.35-20 В |
Цифровые входы/выходы | 14 (6 из которых могут использоваться как выходы ШИМ) |
Аналоговые входы | 6 |
ШИМ (PWM) пины | 6 |
Постоянный ток через вход/выход | 40 мА |
Максимальный выходной ток вывода 3.3V | 50 мА |
Flash-память | 16 Кб из которых 2 Кб используются загрузчиком |
SRAM | 1 Кб |
EEPROM | 512 байт |
Тактовая частота | 8 МГц (модель 3.3 В) или 16 МГц (модель 5 В) |
Встроенный светодиод | 13 |
Длина | 33.0 мм |
Ширина | 18.0 мм |
Вес | 5 г |
Arduino Pro Mini ATmega328 3.3V/8MHz 5V/16MHz
Микроконтроллер | ATmega328P |
Рабочее напряжение | 3.3 В или 5 В (в зависимости от модели) |
Напряжение питания (рекомендуемое) | 3.35-12 В (модель 3.3 В) или 5-12 В (модель 5 В) |
Напряжение питания (предельное) | 3.35-20В |
Цифровые входы/выходы | 14 (6 из которых могут использоваться как выходы ШИМ) |
Аналоговые входы | 6 |
ШИМ (PWM) пины | 6 |
Постоянный ток через вход/выход | 40 мА |
Максимальный выходной ток вывода 3.3V | 50 мА |
Flash-память | 32 Кб из которых 2 Кб используются загрузчиком |
SRAM | 2 Кб |
EEPROM | 1 Кб |
Тактовая частота | 8 МГц (модель 3.3 В) или 16 МГц (модель 5 В) |
Встроенный светодиод | 13 |
Длина | 33.0 мм |
Ширина | 18.0 мм |
Вес | 5 г |
Arduino Pro Mini: питание платы, порты
Платы Arduino Pro выпускаются с двумя вариантами питания – 3,3 Вольта для микроконтроллера с частотой 8 МГц и 5 Вольт для микроконтроллера с частотой 16 МГц. Обе версии подключаются к источнику питания через кабель FTDI или плату Sparkfun. Стабилизированное напряжение 3,3 В или 5 В (в зависимости от модели) можно подать на порт VCC, не регулируемый источник подключается к порту RAW.
Схема портов на плате Arduino Pro Mini ATmega168 / ATmega328
Pro Mini : питание от внешнего источника
5V – на пин подается 5 В от внутреннего стабилизатора
3.3V – на пин подается 3,3 В, можно использовать для подключения устройств
GND – пин для вывода земли
VIN – пин для подключения внешнего источника питания
IREF – пин для информирования о рабочем напряжении платы
Подключение
Все Arduino имеющие 6-пиновый IСSP разъем подключаются к программатору через такой переходник
Arduino Pro Mini ICSP на плате не имеет, поэтому подключаем проводками по следующей схеме
Подключаем программатор к USB компьютера, устанавливаем драйвер USBAsp (если он еще не установлен) и запускам среду Arduino IDE
Выбираем тип программатора USBASP
Выбираем тип контроллера. Если мы хотим просто восстановить загрузчик — выбираем Arduino Pro Mini 5В (или 3.3В в зависимости от платы). Если нам нужен OPTIBOOT без лишней головной боли — выбираем Arduino UNO
Затем жмем «Записать загрузчик»
Если все подключено и настроено правильно, то программатор довольно долго мигает лампочками.
3Схема подключенияArduino к программатору
Соединяем ISP-разъём программатора с выводами на Arduino Pro Mini согласно приведённой схеме.
Схема подключения Arduino Pro Mini к USBasp программатору
Воспользуемся макетной платой и соединительными проводами – это будет быстро и надёжно.
Плата Arduino Pro Mini подключена к USBasp программатору
Если вы планируете часто использовать платы Arduino Pro или Pro Mini в своей работе, то удобно будет спаять специальный переходник для быстрого подключения платы Arduino к программатору. На фото представлен мой вариант такого переходника.
Переходник для быстрого подключения платы Arduino Pro Mini к программатору USBasp
Плата Pro Mini
Arduino pro mini – специализированная электронная платформа в виде микросхемы, предназначение которой состоит в создании электронных устройств. Следовательно, в контроллере отсутствует привычная микросхема, роль которой заключается в поддержании связи с помощью USB-UART.
Цена намного дешевле, в отличие от других представителей Arduino. Pro Mini или просто pro – модельный ряд, не оснащенный разъемами USB, которые используются для подключения и прошивания устройства.
Вместо этого существует программатор. Начинающий электронщик может выбрать из двух доступных вариантов изделия: Ардуино с 3,3 В и 8 МГц или Ардуино про мини 5 V, в котором доступна распиновка. Статья ниже познакомит читателя с особенностями модели и покажет, где можно использовать электронную плату.
Схема и распиновка Pro Mini
Принципиальная схема платы Ардуино изображена ниже.
Схема и распиновка Pro Mini
Пинов у микроконтроллера 14, каждый из которых может настраиваться как вход или выход. Выводы помечены цифровым номером, аналоговые имеют маркировку А. Рабочее напряжение – 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 бит. Некоторые выводы имеют дополнительный функционал:
Также плата оснащена дополнительным выводом Reset. При низком уровне перезагружает микроконтроллер.
Заключение
В этой статье мы рассмотрели различные аспекты загрузки скетчей в Arduino Uno и Nano. Прошивка плат на базе микроконтроллеров ATmega328 и ATmega256, как правило, не сложна и может выполняться одним нажатием кнопки в Arduino IDE. За эту простоту мы должны благодарить встроенную программу-загрузчик, выполняющую за нас все основные действия на низком уровне.
Еще одним вариантом перепрошивки контроллера является использование другой платы адуино или специальных программаторов, использующих микросхемы CP2102 CH340, FTDI и другие. Этот метод требует дополнительных усилий и затрат, но позволяет гибко изменять параметры прошивки. Какой из двух вариантов выбрать – решать вам. Для новичков, безусловно, первым шагом станет использование Arduino IDE, благо, ее создатели сделали все, чтобы упростить этот процесс.
И поговорим о том, как мы будем записывать прошивку в Arduino.
Нас, прежде всего, интересуют три платы Arduino:
— Arduino Uno
– как самый распространенный вариант
— Arduino Nano
– компактный вариант, удобный для применения в небольших конструкциях
— Arduino Pro Mini
– дешевый компактный вариант без встроенного USB-UART преобразователя (для работы с ним понадобится внешний USB-UART преобразователь), но удобный в случае применения сети устройств.
Во всех вышеописанных платах используется микроконтроллер ATmega328 (в более старых версиях ATmega168).
ArduinoUploader.zip — Программа для записи Hex-файла в Arduino
Как и предыдущая, программка имеет простой интерфейс.
Процесс прошивки тот же:
— подключаем Arduino в USB-порт (отдельного питания не нужно)
— выбираем Hex файл
— выбираем тип Вашего Arduino
— выбираем COM порт
— жмем Upload
Программа при записи открывает дополнительные окна и визуально отображает свои действия, что позволяет следить за процессом записи.
Автоматизация ARP Uploader. ARP Uploader как и XLoader работает через AVR Dude, но, в отличие от XLoader, показывает командную строку. Это дает возможность использовать AVR Dude напрямую в Make или Bat файле.
Дополнительные материалы.Драйвера Arduino.
Считаю не лишним напомнить, что для связи Arduino с компьютером в последнем должны присутствовать драйвера. Оставляю здесь архив с драйверами для Arduino (включая и старые драйвера в Old_Arduino_Drivers.zip и драйвера для FTDI-чипа в папке «FTDI USB Drivers»
Arduino_drivers.zip — Драйвера для Arduino
Стали появляться недорогие китайские Ардуины с драйвером CH340GDriver CH340G.zip — Драйвер для преобразователя USB-UART
Загрузчики Arduino
Если Вы решите собрать свою плату Arduino (а сложного там ничего нет, фактически, это голый ATmega328 или ATmega168), Вам понадобится загрузчик Bootloader который должен содержать МК для работы со средой (или программками для заливки Hex-файлов). Конечно, Вам для записи Hex-файлов в чистый МК понадобится программатор и придется выставить фьюзы.
ATmegaBOOT_168_atmega328.hex — Bootloader для ATmega328
Для правильной работы нужно установить фьюзы следующим образом Low: FF High: DA Ext: 05
Здесь можно скачать прошивку для ЧПУ на Ардуино. Все прошивки написаны в IDE Arduino.