Последние комментарии
-
09.03.2023 10:51
Спасибо!Драйвер установил,и все заработало.
-
25.01.2023 16:05
Спасибо. Хорошая статья. Хотелось бы увидеть как ...
-
21.01.2023 22:58
Доброго дня! Як можна замовити? І чи є схема або ...
-
05.05.2022 19:14
Спасибо автору, понял почему блинк не работал
-
21.04.2022 13:18
В моём случае он используется совместно с AGP ...
Самое читаемое
- Многофункциональный программатор на CH341A
- Переходник USB to TTL (RS232) YP-01 на чипе PL2303HX
- Знакомство с Arduino Pro mini на примере китайского аналога
- Подключаем мощную нагрузку к Arduino, через реле модуль
- Твердотельное реле из симистора для коммутации мощной нагрузки через Ардуино
- Знакомство с Arduino Micro (ATmega32U4) на примере китайского аналога Pro Micro
- Знакомство с Arduino Nano на примере китайского аналога
- Знакомство с Arduino UNO на примере китайского аналога
- Обход блокировки Одноклассников, Вконтакте, Яндекс и Маил.ру с помощью OpenVPN
- Управляем Arduino через Bluetooth HC-06, с компьютера или смартфона
Знакомство с Arduino Micro (ATmega32U4) на примере китайского аналога Pro Micro
Arduino Micro, именно так без приставки Pro, звучит название оригинальной платы, которая была разработана совместно с компанией Adafruit. В китайском варианте плата была модифицирована, это отразилось на размерах и цене.
Оригинальная плата на момент написания этой статьи стоила €18, в то время как китайский аналог обошёлся мне за $3.63 с доставкой.
Для наглядности оригинальная плата Arduino Micro и китайский аналог Pro Micro. Размер оригинальной платы 48 х 18 мм.
Китайский аналог имеет такие же размеры (33 х 18 мм) как и плата Pro Mini, видимо поэтому в название была добавлена приставка Pro.
Обратная сторона плат.
Плату удалось уменьшить исключив из схемы некоторые узлы и разместив более плотно оставшиеся радиокомпоненты. Были исключены: разъем ICSP (для внутрисхемного программирования), физическая кнопка сброса, светодиод на 13 пине и ряд радиокомпонентов, которые необходимы для реализации соответствующих напряжений на пинах «5V» и «3V3».
В погоне за минимализмом и ценой, китайский аналог Pro Micro лишился следующих пинов, которые присутствуют на оригинальном Arduino Micro:
- цифровые пины 12, 11 и 13, два крайних по совместительству являются ШИМ выводами;
- аналоговые A4, A5 и A11;
- пин RX_LED/SS — данный вывод соединён со светодиодом RX, но так же может использоваться как вывод SS в SPI-интерфейсе;
- пины с напряжениями 5V и 3,3V;
- пин AREF
Несмотря на такой минимализм, в остальном китайский аналог совместим с оригиналом.
Плата построена на микроконтроллере ATmega32u4.
Отличия Ардуиносовместимых плат на ATmega32u4, от плат с другими микроконтроллерами:
1. В ATmega32u4 встроен USB-контроллер, поэтому отпадает необходимость в отдельных USB-UART микросхемах таких как: ATMEGA16U2, CH340G , PL2303 и FT232.
2. Может эмулировать клавиатуру, мышь или игровой манипулятор и определятся в системе как HID-устройство.
3. Устройства построенные на ATmega32u4 имеют виртуальный последовательный порт, что приводит к разрыву USB-соединения с компьютером, при каждом сбросе платы. Эту особенность нужно учитывать при установке драйверов, прошивки и взаимодействии с другими устройствами.
4. При обращении к аппаратному последовательному порту нужно использовать класс Serial1, вместо Serial, как в других Ардуино-платах.
В семействе платформы Arduino имеется две платы, построенные на ATmega32u4: Arduino Leonardo и Arduino Micro. Основное их отличие - форм-фактор. Плата Leonardo построена в форм-факторе Uno, что бы легко было цеплять различные шилды. Плата Micro построена в компактном корпусе, как Arduino Nano.
Оригинальная плата Arduino Micro бывает только в варианте 5В, с разведёнными на плате пинами 5 и 3,3В. Китайский аналог Pro Micro может быть в 2-х вариантах: 3,3 или 5 вольт питания. Если не знаете на какое напряжение ваша плата, посмотрите на частоту кварца, которая указана на его корпусе. 5-вольтовая плата работает на частоте 16 МГц, а 3,3-вольтовая на 8 МГц.
Ещё можно перевернуть плату, и увидеть отметку на какое напряжение она рассчитана. Поскольку мой экземпляр платы прошит загрузчиком от Leonardo, у меня не может быть никаких отметок, она 5-вольтовая.
Входы и выходы Pro Micro.
- 18 цифровых вывода могут работать как входами, так и выходами. Напряжение на выводах 5 или 3,3В в зависимости от версии платы, при токе в 40мА на каждом пине;
- последовательный интерфейс с пинами TX и RX;
- I2C интерфейс с пинами SDA и SCL;
- ШИМ выводы: 3, 5, 6, 9, 10;
- SPI интерфейс с пинами MISO, MOSI и SCK;
- Светодиоды сигнализирующие: наличие питания, RX и TX;
- 9 аналоговых входов A0-A3 и A6-A10;
- RESET – вывод для перезагрузки микроконтроллера, аналогичен физической кнопки сброса.
Защита от КЗ и перегрузки.
На плате имеется восстанавливающий предохранитель MF-MSMF050-2, который защитит USB-порты вашего компьютера, если будет короткое замыкание и перегрузка по току. Предохранитель автоматически разорвёт соединение, если к USB компьютера будет подключено более 500 мА. В таком состоянии он будет находится пока не будет устранено короткое замыкание или перегрузка.
Про питание Pro Micro.
Pro Micro может быть запитана от USB порта вашего ПК, для этого используется USB разъём на плате.
Для питания платы от внешнего не стабилизированного источника, питание нужно подавать на вывод RAW. На этот вывод рекомендуется подавать от 7 до 12В. Если питать плату от 6В, плата может работать не стабильно. При напряжении более 12В, встроенный стабилизатор напряжения может сгореть. С этого вывода, напряжение будет преобразовываться внутренним стабилизатором до необходимого и питать микроконтроллер.
VCC – данный пин можно использовать как для подачи напряжения для питания платы, так и для снятия напряжения, для запитки всевозможных датчиков / сенсоров. Для питания платы через этот пин, нужно строго подавать то стабилизированное напряжение, на которое рассчитана плата. С этого пина напряжение не идёт через внутренний стабилизатор, а напрямую подаётся на контроллер, поэтому если оно будет выше необходимого — плата сгорит.
При питании платы через USB разъём или RAW, на данном выводе будет присутствовать напряжение, равное напряжению питания Pro Micro. Этим напряжением можно запитывать различные датчики. Максимальный выходной ток для всей платы не должен превышать 500мА, на отдельный пин не больше 5 — 10мА.
J1 – Если плата прошита загрузчиком Arduino Micro, то эти контакты используются при конфигурировании версии платы. При 5-вольтовой версии контакты запаяны, при 3,3В — разомкнуты. Поскольку у меня плата распознаётся как «Leonardo», эта перемычка не используется и она разомкнута.
Установка драйвера на Pro Micro.
При подключении платы к компьютеру загорится красный светодиод, сигнализирующий о наличии питания на плате.
В диспетчере устройств появится неизвестное устройство "Arduino Leonardo". Почему так, а не "Pro Mini"? Потому что разработчик прошил микроконтроллер загрузчиком от Leonardo, на работе это никак не скажется.
Для Windows 10 ничего не придётся скачивать, драйвер установится автоматически.
Для остальных систем семейства Windows скачиваем драйвер и устанавливаем его в ручном режиме.
При установки драйвера на Windows 7 у меня появилось сообщение о невозможности проверки издателя драйверов. В таком случае выбираем «Всё равно установить этот драйвер».
В итоге, в диспетчере устройств появится устройство "Arduino Leonardo". Рядом будет указан номер виртуального COM-порта, в моём случае это COM14.
Загрузка скетча в Arduino Leonardo и Pro micro.
Попробуем загрузить в плату скетч Blink и убедится в её работоспособности. Открываем стандартный скетч "Blink". Выбираем в Arduino IDE плату.
Поскольку загрузчик в ней от Leonardo, значит эту плату и выбираем: "Инструменты" - Плата: "Arduino Leonardo".
Если у вас загрузчик будет от Arduino Micro, значит выбираете его. Не забывайте так же выбрать версию платы 5 или 3,3В, как это выбирается с платой Pro mini. Отсюда выплывает объяснение, почему 5-вольтовый китайский аналог Micro, прошит загрузчиком Leonardo. Плата Leonardo присутствует в Arduino IDE, а плату Pro Micro нужно добавлять вручную через менеджер плат. Видимо что бы пользователи не заморачивались в этих настройках, плату прошивают как Leonardo. Подобные доводы имеют место быть, если мы говорим про версию платы 5В. Если нужна плата на ATmega32u4 с логическими уровнями 3,3В, без ручного добавления платы в Arduino IDE не обойтись.
Выбираем номер виртуального COM-порта, который прописан в Диспетчере устройств, в моём случае это COM14.
Нажимаем кнопку "Вгрузить" (Upload) и ждём загрузку скетча.
В процессе загрузки в колонках услышите звук извлечения / подключения USB устройства. Это происходит потому что последовательный порт с которым взаимодействует устройство, на платах Leonardo и Micro является виртуальным. При каждом автоматическом сбросе платы, виртуальный порт исчезает, затем вновь появляется, чем объясняется характерный звук в колонках.
Обычно скетч загружается в плату без нажатия кнопки reset, видимо поэтому на китайском аналоге решили избавится от этой кнопки. В редких случаях, когда автоматический сброс не сработает, нужно использовать физическую кнопку сброса или пин reset.
Загрузив в плату скетч "Blink" мы не сможем наблюдать мигание светодиода. Дело в том, что на плате Pro Micro нет светодиода подключенного к 13 пину. Придётся его отдельно подключать к ножкам через резистор. Можно поступить по другому, на плате имеются светодиоды RX и TX, можно ими помигать.
Загружаем следующий скетч:
int LED_RX = 17; void setup() { Serial.begin(9600); pinMode(LED_RX, OUTPUT); } void loop() { Serial.println ("Hello World!"); digitalWrite(LED_RX, LOW); delay(1000); digitalWrite(LED_RX, HIGH); delay(1000); } |
Увидим как мигает RX светодиод.
Если открыть монитор последовательного порта, увидим надпись Hello World! и теперь светодиоды RX и TX будут перемигиваться.
Комментарии
RSS лента комментариев этой записи