Содержание

Arduino Pro Mini | Аппаратная платформа Arduino

Общие сведения

Arduino Pro Mini построена на микроконтроллере ATmega168 (техническое описание). Платформа содержит 14 цифровых входов и выходов (6 из которых могут использоваться как выходы ШИМ), 6 аналоговых входов, резонатор, кнопку перезагрузки и отверстия для монтажа выводов. Блок из шести выводов может подключаться к кабелю FTDI или плате-конвертеру Sparkfun для обеспечения питания и связи через USB.  

Arduino Pro Mini предназначена для непостоянной установки в объекты или экспонаты. Платформа поставляется без установленных выводов, что позволяет пользователям применять собственные выводы и разъемы. Расположение выводов совместимо с платформой Arduino Mini.

Существует две версии платформы Pro Mini. Одна версия работает при напряжении 3.3 В и частоте 8 МГц, другая при напряжения 5 В и частоте 16 МГц.

Arduino Pro Mini разработана и производится SparkFun Electronics.

Схема и исходные данные

Файлы EAGLE: arduino-pro-mini-reference-design.zip

Принципиальная схема: Arduino-Pro-Mini-schematic.pdf

Характеристики

 

Микроконтроллер

ATmega168

Рабочее напряжение

3.3 В или 5 В (в зависимости от модели)

Входное напряжение

3.35-12 В (модель 3.3 В) или 5-12 В (модель 5 В)

Цифровые Входы/Выходы

14 (6 из которых могут использоваться как выходы ШИМ)

Аналоговые входы

6

Постоянный ток через вход/выход

40 мА

Флеш-память

16 Кб (2 используются для загрузчика)

ОЗУ

1 Кб

EEPROM

512 байт

Тактовая частота

8 МГц (модель 3.3 В) или 16 МГц (модель 5 В)

Питание

Arduino Pro Mini может получать питание: через кабель FTDI, или от платы-конвертора, или от регулируемого источника питания 3.3 В или 5 В (зависит от модели платформы) через вывод Vcc, или от нерегулируемого источника через вывод RAW.

Выводы питания:

  • RAW. Для подключения нерегулируемого напряжения.
  • VCC. Для подключения регулируемых 3.3 В или 5 В.
  • GND. Выводы заземления.
Память

Микроконтроллер ATmega168 имеет: 16 кБ флеш-памяти для хранения кода программы (2 кБ используется для хранения загрузчика), 1 кБ ОЗУ и 512 байт EEPROM (которая читается и записывается с помощью библиотеки EEPROM).

Входы и Выходы

Каждый из 14 цифровых выводов Pro, используя функции 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, которая, хотя и поддерживается аппаратной частью, не включена в язык Arduino.
  • LED: 13. Встроенный светодиод, подключенный к цифровому выводу 13. Если значение на выводе имеет высокий потенциал, то светодиод горит. 

На платформе Pro Mini установлены 6 аналоговых входов, каждый разрешением 10 бит (т.е. может принимать 1024 различных значения). Четыре из них расположены на краю платформы, а другие два (входы 4 и 5) ближе к центру. Измерение происходит относительно земли до значения VCC.  Некоторые выводы имеют дополнительные функции:

  • I2C: A4 (SDA) и A5 (SCL). Посредством выводов осуществляется связь I2C (TWI), для создания которой используется библиотека Wire.

Существует дополнительный вывод на платформе:

  • Reset. Низкий уровень сигнала на выводе перезагружает микроконтроллер. Обычно применяется для подключения кнопки перезагрузки на плате расширения, закрывающей доступ к кнопке на самой плате Arduino.

Обратите внимание на соединение между выводами Arduino и портами ATmega168.

Связь

На платформе Arduino Pro Mini установлено несколько устройств для осуществления связи с компьютером, другими устройствами Arduino или микроконтроллерами.ATmega168 поддерживает последовательный интерфейс UART TTL, осуществляемый выводами 0 (RX) и 1 (TX). Мониторинг последовательной шины (Serial Monitor) программы Arduino позволяет посылать и получать текстовые данные через подключение USB.

Библиотекой SoftwareSerial возможно создать последовательную передачу данных через любой из цифровых выводов Pro Mini.

ATmega168 поддерживает интерфейсы I2C (TWI) и SPI. В Arduino включена библиотека Wire для удобства использования шины I2C. Более подробная информация находится в документации. Для использования интерфейса SPI обратитесь к техническим данным микроконтроллера ATmega168.

Программирование

Платформа программируется посредством ПО Arduino. Подробная информация находится в справочнике и инструкциях.

Микроконтроллер ATmega168 поставляется с записанным загрузчиком, облегчающим запись новых программ без использования внешних программаторов. Связь осуществляется оригинальным протоколом STK500.

Имеется возможность не использовать загрузчик и запрограммировать ATmega168 с помощью внешнего программатора. Подробная информация находится в данной инструкции.

Автоматическая (программная) перезагрузка

Arduino Pro Mini разработана таким образом, чтобы перед записью нового кода перезагрузка осуществлялась самой программой, а не нажатием кнопки на платформе. Один из выводов на блоке из шести выводов подключен к линии перезагрузки микроконтроллеров ATmega168 через конденсатор 100 нФ.  Данный вывод соединен с одной из линий управления потоком конвертора USB-to-serial, подключенного к блоку: к линий RTS при использовании кабеля FTDI или к линии DTR при использовании платы-конвертора Sparkfun. Активация данной линии, т.е. подача сигнала низкого уровня, перезагружает микроконтроллер. Программа Arduino, используя данную функцию, загружает код одним нажатием кнопки Upload в самой среде программирования. Подача сигнала низкого уровня по линии перезагрузки скоординирована с началом записи кода, что сокращает таймаут загрузчика.

Функция имеет еще одно применение. Перезагрузка Pro Mini происходит каждый раз при подключении к программе Arduino на компьютере с ОС Mac X или Linux (через USB).  Следующие полсекунды после перезагрузки работает загрузчик. Во время программирования происходит задержка нескольких первых байтов кода во избежание получения платформой некорректных данных (всех, кроме кода новой программы). Если производится разовая отладка скетча, записанного в платформу, или ввод каких-либо других данных при первом запуске, необходимо убедиться, что программа на компьютере ожидает в течение секунды перед передачей данных.

Физические характеристики

Габаритные размеры печатной платы Pro Mini составляют 1,8х3,3 см.

arduino.ru

Arduino Pro Mini||Arduino-diy.com

Оригинальные платы Arduino – это open-source микроконтроллеры, документация которых выложена в сети в свободном доступе. То есть, вы можете свободно создать собственную плату на базе обширной документации в сети.

Одной из компаний, которая пошла по пути клонирования Arduino, является SparkFun. Ребята несколько модифицируют платы, изменяют размеры, добавляют небольшие фичи и благополучно заполняют рынок. В этой статье пойдет речь о работе с платой Arduino Pro Mini 3.3V, копию которой вы можете приобрести как на сайте SparkFun так и в китайских интернет магазинах.

В статье рассмотрены все особенности этой миниатюрной платы-микроконтроллера Arduino Pro Mini 3.3 V: начиная со сборки и заканчивая программированием этого чудного девайса.

Кстати, для сборки Arduino Pro Mini вам надо будет поработать паяльником. Так что поищите в закромах паяльник и припой.

Что такое Arduino Pro Mini?

Для начала давайте разберемся в основных отличиях Arduino Pro Mini от одной из самых популярных плат Arduino Uno.

Итак, самое первое – очевидная разница в размерах. Плата Arduino Pro Mini достаточно… миниатюрная. Ее габаритные размеры составляют всего навсего 1.3×0.70″. Это примерно 1/6 часть Arduino Uno! Очевидно, компактность данной платы обуславливает ее широкое применение в мобильных малогабаритных устройствах. Естественно, шилды, которые садятся на Arduino Uno, на Arduino Pro Mini никак не установишь, но! Подключить эти шилды можно с использованием дополнительных коннекторов, ведь пинов на плате вполне достаточно.

На рисунке ниже можно визуально оценить размеры Arduino Uno и Arduino Pro Mini.

Arduino Pro Mini очень схож по характеристикам со стандартными платами Arduino, но перед адаптацией ваших проектов под этот миниатюрный микропроцессор, надо кое-что помнить. Первое основное отличие – Arduino Pro Mini работает с питанием 3.3 В. В отличие от Arduino Uno, на котором есть регулятор 5 В и 3.3 В, на Mini установлен только один регулятор. Это значит, что если вы используете в проекте периферийные устройства с питанием от 5 В, вам надо использовать дополнительный регулятор уровня при подключении Pro Mini (или изначально приобрести модель Arduino Pro Mini 5 V, такие тоже есть).

Второе основное отличие – скорость, с которой работает чип ATmega328. Плата Pro Mini 3.3V работает с частотой микропроцессора 8 МГц, что составляет половину скорости Arduino Uno. Это обусловлено тем, что на плате установлен более медленный резонатор, благодаря чему гарантируется безопасность работы ATmega. Уменьшение скорости работы не сильно скажется на ваших проектах. Практически любая идея, которая реализуема на Arduino Uno, может быть реализована и на Arduino Pro Mini.

И последнее отличие. На Arduino Pro отсутствует Atmega16U2 USB-to-Serial конвертер и USB выход. Благодаря этому, плата значительно выигрывает в размерах, но возникает необходимость использовать дополнительный модуль вроде FTDI Basic Breakout или его аналогов. Только с помощью внешнего USB–to-Serial конвертера мы сможем загрузить программу на плату.

Электросхема и контакты Arduino Pro Mini

Электросхема Pro Mini состоит из трех основных блоков: регулятор напряжения, ATmega328 и его обвязка и контакты для подключения внешних устройств.

Пины на Arduino Pro Mini расположены по трем из четырех сторон. Контакты на короткой стороне используются для программирования. Пины на двух длинных сторонах – это контакты для питания, вывода/ввода сигналов (как и на стандартных платах).

На Arduino Pro Mini предусмотрено три разных пина, которые связаны с питанием: GND, VCC и RAW. GND, как вы уже догадались – это земля. RAW – это контакт для напряжения, которое подается на регулятор. На этот контакт можно подавать напряжение в диапазоне от 3.4 до 12 В. Напряжение на контакте VCC подается непосредственно на Pro Mini, так что на этом контакте у вас всегда будет отрегулированное напряжение 3.3 В.

Есть еще четыре пина, которое располагаются не с края платы, а ближе к центру. Это контакты: A4, A5, A6 и A7. Каждый из этих контактов помечен на задней части платы.

Расположение контактов A4 и A5 очень важно, если вы планируете использовать подключение периферийных устройств с использованием I2C. Именно эти контакты на Arduino Pro Mini выполняют роль пинов SDA и SCL.

Сборка Arduino Pro Mini

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

Во первых, определитесь, как вы будете подключать внешний USB конвертер для заливки программы на вашу плату Arduino Pro Mini. Контакты для программирования платы – это отдельная рельса из шести пинов, которые подписаны “BLK”, “GND”, “VCC”, “RXI”, “TXO”, и “GRN”. Так как модуль FTDI Basic поставляется с контактами типа мама, лучше всего установить рельсу с контактами типа папа.

На фото ниже показана плата Arduino Pro Mini, на которой установлены все пины типа папа. Таким образом, очень удобно устанавливать Arduino Pro Mini непосредственно на макетную плату. Обратите внимание, что контакты для программирования припаяны “наоборот”.

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

На фото ниже приведен пример проекта на Arduino Pro Mini, в котором на плате используются как прямые рельсы контактов так и рельсы под углом 90 градусов.

Эта возможность – припаять контакты именно так как вам удобно под проект – одна из потрясающих фич Arduino Pro Mini.

Питание Arduino Pro Mini

Самый важный аспект любого проекта – источник питания. На Areuino Pro Mini нет отдельного джека для подключения питания. Как будем питать плату?

Подберите источник питания, который подойдет для вашего проекта. Отличный выбор , который подойдет для Arduino Pro Mini – это батарея (литиевая, алкалиновая и т.д. и т.п.).

Если ваш источник питания дает на выходе больше 3.3 В (но меньше 12!), подключите его к контакту RAW на Mini. Это контакт, который выполняет аналогичную функцию с пином VIN или джеком для отдельного источника питания на Arduino Uno. Напряжение, которое подается на этот контакт, преобразуется в 3.3 В перед тем как попасть на процессор.

Если у вас есть уже отрегулированный источник питания 3.3 В, вы можете подключить его напрямую к контакту VCC. По этой цепи питание не будет проходить через регулятор, а пойдет напрямую к ATmega328. Не забудьте и в первом и во втором случае подключить землю к контакту GND!

Есть еще один вариант питания. Этот вариант доступен только в процессе программирования Arduino Pro Mini. Упомянутая выше плата FTDI Basic Breakout тоже запитывает ваш Arduino Pro Mini через USB порт персонального компьютера. Учтите, что как только вы отключите конвертер, питание пропадет!

Программирование Arduino Pro Mini

Если вы никогда не использовали Arduino, вам надо скачать оболочку для программирования Arduino IDE. Скачать Arduino IDE можно на официальном сайте.

Вполне вероятно, вам надо будет установить драйвера для 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-diy.com

Как прошить Arduino Pro Mini

Загрузить прошивку на этот микроконтроллер можно несколькими способами:

  • Через другую плату ардуино, у которой есть встроенный USB-UART
  • С помощью специального программатора
  • Используя USBasp-программатор

Последние два способа очень похожи. Они отличаются лишь типом программатора. Поэтому в этой статье мы рассмотрим только прошивку с помощью другой 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 as ISP»:


Теперь мы можем прошить нашу Arduino Pro Mini. Откройте или напишите нужную вам прошивку. Будьте внимательны! Стандартная кнопка загрузки скетча нам не подходит. По умолчанию она заливает прошивку без использования программатора. Таким образом мы прошьем микроконтроллер, который должен выступать в качестве программатора. Чтобы этого не произошло нужно перейти в меню Скетч >> Загрузить через программатор.

Готово!

Прошивка Arduino Pro Mini с помощью специального программатора

Купить специальный программатор можно здесь. Стоит он меньше одного доллара. Если вы часто используете ардуино про мини, то этот программатор сильно упростит и ускорит прошивку.

Для преобразования USB-to-Serial используется микросхема Ch440. Что бы она определялась компьютером правильно необходимо установить специальный драйвер. Скачать и установить драйвер Ch440

Прошить ардуино с помощью программатора очень просто. Нужно подключить программатор к Arduino Pro Mini следующим образом:

Arduino Программатор

  • Vcc Vcc
  • GND GND
  • RX1 TXD
  • TX0 RXD

Подключаем программатор к компьютеру и проверяем, что он не требует драйверов. Если же он определяется как «неопознанное устройство» скачайте и установите драйвер. Его легко найти, набрав в поисковике «*модель вашего программатора* драйвер». Например «CP2102 драйвер». Далее запускаем Arduino IDE. Выбираете модель вашей платы. Потом переходим в меню Инструменты -> Программатор и выбираете ваш программатор. Далее открываете нужный вам скетч и загружаете его с помощью пункта в меню Скетч -> Загрузить через программатор.

Если ваш программатор не поддерживает программный сброс, то вам придется вручную нажать кнопку перезагрузки на вашей Arduino Pro Mini в момент компиляции скетча. Это нужно сделать сразу как только в Arduino IDE появится строка, что скетч скомпилирован.

Вот и все. Мы успешно прошили Arduino Pro Mini с помощью программатора.

all-arduino.ru

Как прошить 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. Процессор выполнен в 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 и как следствие при прошивке их вы можете увидеть следующую или подобную ошибку.

avrdude: Expected signature for ATmega168 is 1E 94 06
         Double check chip, or use -F to override this check.
Найден неправильный микроконтроллер. Вы указали правильную плату в меню Инструменты -> Плата?

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

  • Для начала необходимо открыть папку в которой расположена 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. Лично я использую второй. Мне он больше нравиться.

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

Успехов вам и удачи.


Пожалуйста, включите javascript для работы комментариев.

arduino.on.kg

Как запрограммировать Arduino Pro Mini с помощью программатора

В жизни начинающего ардуинщика рано или поздно наступает момент, когда хочется сэкономить на размере своего изделия, не жертвуя при этом функциональностью. И тогда Arduino Pro Mini – отличное для этого решение! За счёт того, что у этой платы отсутствует встроенный USB-разъём, она в полтора раза меньше Arduini Nano. Но для того, чтобы её запрограммировать, придётся приобрести дополнительный – внешний – USB-программатор. О том, как «залить» написанную программу в память микроконтроллера и заставить Arduino Pro Mini работать, и пойдёт речь в этой статье.

Нам понадобится:

1Программатор для Arduino

Сначала пара слов о самом программаторе. Купить такой можно за 2 доллара в любом китайском интернет-магазине, например, в этом.

  • Разъём типа USB-A используется, понятно, для подключения программатора к компьютеру.
  • ISP-соединитель нужен для подключения к программируемой плате.
  • Джампер JP1 контролирует напряжение на выводе VCC ISP-коннектора. Оно может быть 3,3 В или 5 В. Если целевое программируемое устройство имеет собственный источник питания, нужно убрать перемычку.
  • Джампер JP2 используется для перепрошивки самого программатора; в данной статье этот вопрос не рассматривается.
  • Перемычка JP3 нужна, если тактовая частота целевого устройства ниже 1,5 МГц.
  • Светодиоды показывают: G – питание подаётся на программатор, R – программатор соединён с целевым устройством.
USBasp-программатор и назначение его частей

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

3Настройка Arduino IDEдля работы с программатором

Открываем среду разработки Arduino IDE. Выбираем нужную плату через меню: Инструменты Плата Arduino Pro or Pro Mini (Tools Board Arduino Pro or Pro Mini).

Нужно также выбрать тип микроконтроллера, который задаётся через меню Инструменты Процессор. У меня это ATmega 168 (5V, 16 MHz), у вас может быть другой. Это обычно написано на самом корпусе микроконтроллера и хорошо видно под увеличительным стеклом.

Настройка Arduino IDE для работы с программатором

Выберем тип программатора: Инструменты Программатор USBasp (Tools Programmer USBasp).

Укажем тип программатора в Arduino IDE

4Загрузка скетча в Arduinoс помощью программатора USBasp

Откроем скетч, который хотим загрузить в память микроконтроллера. Для примера пусть это будет мигание светодиодом: Файл Образцы 01. Basics Blink.

Подключаем программатор с подключённым к нему Arduino Pro Mini к компьютеру. Для того чтобы загрузить скетч в Ардуино с помощью программатора, можно поступить несколькими способами.

  1. Через меню Файл Загрузить через программатор.
  2. Используя сочетание клавиш Ctrl + Shift + U.
  3. Зажав клавишу Shift, нажать на кнопку со стрелкой вправо , которая обычно используется для загрузки скетча в память Ардуино стандартным способом.
Загрузка скетча в Arduino Pro Mini с помощью программатора USBasp

Это абсолютно эквивалентные способы, выбирайте самый удобный для себя. Это всё, программа «залита» в память микроконтроллера.

Обратите внимание

Если Arduino IDE выдаст предупреждение: warning: cannot set sck period. please check for usbasp firmware update. Не паникуйте, скетч всё равно записался в память микроконтроллера и будет работать.

soltau.ru

Перезапись загрузчика в Arduino Pro Mini

Arduino Pro Mini весьма привлекательная плата из семейства Ардуино в первую очередь маленькими габаритами и ценой.

Например на АЛИ можно купить ее меньше чем за $2

Зачем перезаписывать загрузчик

  1. Если загрузчик «слетел» и плата не прошивается. Выдает всегда: «avrdude: stk500_recv(): programmer is not responding».
  2. Если вы решили разобраться со сторожевым таймером, как в этой статье, и использовать для этого OPTIBOOT.
  3. Если нужно переустановить ФЬЮЗ-биты, например, как в моем случае, отключить контроль напряжения питания для того чтобы запитать плату от 3.3В
  4. Или же вы решили совсем убрать загрузчик с целью экономии памяти и увеличения скорости загрузки, тогда вместо загрузчика заливается ваша программа по нулевому адресу.

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

Подключение

Все 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

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

После этого шьем выбираем тип контроллера «Atmega328_16 (3.3V, 16 MHz external)» и пишем загрузчик.

Программируя «перешитый» Arduino Pro Mini через стандартный порт не нужно забывать устанавливать нужный тип контроллера

со своего сайта.

samopal.pro

Работа с платами Arduino семейства “PRO”

Не так давно в ассортименте нашего магазина появилась Arduino PRO mini, однако вопросов об отличии от других плат Ардуино и о том как с ней работать было задано не мало.

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

 


 

Первое что хочется отметить, так это то, что данная плата не сопоставима с шилдами для Ардуино. Плата имеет очень маленький размер 1,8 х 3,3 см и по замыслу создателей (SparkFun Electronics) должна найти применение в компактных проектах. На данной плате присутствует стандартный для плат Arduino набор: контроллер Atmega 328, стабилизатор входного напряжения, кнопка сброса, светодиод наличия питания и светодиод подключенный к 13му пину.

 

Помимо разницы в установленных контроллерах существует два варианта комплектации.

1) Контроллер работает от 5 вольт и его тактовая частота 16 мГц

2) Контроллер работает от 3.3 вольт и его тактовая частота 8 мГц

В зависимости от данных факторов на плате будут установлены соответствующие стабилизаторы. Входное напряжение подается на вывод RAW. Для 3.3вольтовой версии входное напряжение лежит в диапазоне от 3.35 до 12В, для 5Вольтовой 5-12В. 


 

На плате Arduino PRO mini установлена шестипиновая гребенка. Для связи с компьютером необходим переходник USB-UART. Переходники которые рекомендует SparkFun основаны на микросхеме FT232RL. Помимо основных выводов (TX, RX, GND, +5V) переходник имеет вывод DTR, который позволяет автоматически заливать скетчи в дуину.

Далее приведу простенькую принципиальную схему 

 

Как видно из картинки, вывод DTR соединяется с выводом RESET. В момент заливки скетча на выводе DTR появляется низкий уровень и контроллер перезагружается. Хочется отметить что линии VCC могут быть раздельными. При наличии питания на контроллере, можно подключать только линии TX, RX, GND, DTR. Для работы в середе Arduino IDE в списке плат выбираем Arduino Pro mini (3.3V или 5V), а в COM портах выбираем порт которым определился USB to UART переходник. Далее приведем видео с заливкой скетча мигания (delay 50) с помощью переходника на базе FT232RL который имеет линию DTR.


 

Теперь рассмотрим более дешевый вариант переходника на базе микросхемы PL2303. Данный переходник имеет выводы 3.3V, 5V, TX, RX, GND. Как мы видим линии DTR здесь нет, а значит и при старте заливки низкий уровень не появится на выводе RESET и контроллер не перезагрузится автоматически. В связи с этим придется вручную нажимать на кнопку сброса на плате Arduino.

 

Начало загрузки скетча можно отследить по TX светодиоду на переходнике. После компиляции произойдет пара морганий, далее на видео это можно просмотреть.


 

Справедливости ради, хочется отметить что сама микросхема PL2303 имеет вывод DTR и на некоторых переходниках он присутствует. Например на более дорогом переходнике исполненном в виде кабеля, если снять корпус, то можно увидеть много вспомогательных линий.

 


 

P.S. Надеемся что в данной статье мы дали ответы на многие вопросы.  

В данный момент еще реализованы не все элементы нашего сообщества. Мы активно работаем над ним и в ближайшее время возможность комментирования статей будет добавлена.

zelectro.cc

alexxlab

leave a Comment