Урок 46. Другие платы Ардуино с микроконтроллерами ATmega168/328. Плата Arduino Pro Mini.

Arduino Pro Mini

В уроке расскажу о плате Arduino Pro Mini.

Предыдущий урок     Список уроков     Следующий урок

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

 

Преобразователя интерфейсов плата не содержит. Для подключения к компьютеру через интерфейс USB, в том числе для загрузки программы из Arduino IDE, необходимо использовать внешний USB-UART конвертер.

Размеры платы Arduino Pro Mini всего 18 x 33 мм, что позволяет применять ее в проектах критичных к габаритам электроники.

Плата поставляется без впаянных разъемов. Это дает возможность выбрать свой способ подключения платы: впаять разъемы или выполнить соединение пайкой проводов.

Естественно, простота и миниатюрные размеры платы отразились на ее стоимости. Это одна из самых дешевых плат Ардуино. На момент написания статьи (февраль 2017 г.) по моей партнерской ссылке плата Arduino Pro Mini с микроконтроллером ATmega328 стоит всего 180 руб.

Arduino Pro Mini

Все вышесказанное делает привлекательным применение Arduino Pro Mini:

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

Платы выпускаются в модификациях:

  • тип микроконтроллера ATmega168 или ATmega328;
  • напряжение питания 3,3 или 5 В.

В варианте с микроконтроллером ATmega168 объемы всех типов памяти (ОЗУ, FLASH и EEPROM) уменьшены в 2 раза.

В вариантах с питанием 3,3 В уменьшена тактовая частота с 16 до 8 мГц.

 

Характеристики платы Arduino Pro Mini.

Большей частью плата имеет такие же параметры, как и другие платы Ардуино с микроконтроллерами ATmega168/328.

Тип микроконтроллера ATmega168 ATmega328
Архитектура AVR
Напряжение питания микроконтроллера 3,3  или 5 В (в зависимости от модификации)
Напряжение питания платы 3,35 - 12 В (модификация 3,3 В) или 5,2 – 12 В (модификация 5 В)
Тактовая частота 8 мГц (модификация 3,3 В) или 16 мГц (модификация 5 В)
Объем оперативной памяти  (SRAM) 1 кбайт 2 кбайт
Объем памяти программ (FLASH) 16 кбайт 32 кбайт
Объем энергонезависимой памяти (EEPROM) 512 байт 1 кбайт
Дискретные входы/выходы 14 ( 6 могут быть использованы для генерации ШИМ сигналов)
Аналоговые входы 6 или 8 входов
Максимально-допустимый ток цифрового выхода 40 мА (суммарный ток выводов не более 200 мА)
Размеры платы 18 x 33 мм

 

Назначение выводов платы Arduino Pro Mini.

Распиновка Arduino Pro Mini

Питание.

Arduino Pro Mini может получать питание следующими способами.

  • От внешнего стабилизированного источника питания напряжением 5 В. В этом случае используется вывод VCC.
  • От USB порта компьютера через преобразователь интерфейсов USB-UART, подключенный к 6 контактному разъему платы. Используется вывод VCC 6 контактного разъема.
  • От внешнего не стабилизированного источника питания напряжением до 12 В. В этом случае используется встроенный стабилизатор напряжения платы. Питание подключается через вывод RAW.

Схема питания платы Arduino Pro Mini  выглядит так.

Схема питания Arduino Pro Mini

Перемычка SJ1 используется для отключения внутреннего стабилизатора платы в приложениях с низким энергопотреблением. На моем варианте платы этой перемычки нет.

В качестве стабилизатора напряжения питания микроконтроллера используется микросхема MIC5205. Это линейный стабилизатор с низким падением напряжения.

При внешнем питании платы через вывод RAW этот стабилизатор может быть использован для питания внешнего устройства через вывод VCC. Ток потребления ограничен нагрузочной способностью MIC5205 и не должен превышать 150 мА. Кроме того необходимо учитывать максимально-допустимую мощность рассеивания стабилизатора. По этой ссылке mic5205.pdf можно получить подробную информацию  о MIC5205 и расчете максимальной мощности для этого стабилизатора.

 

Входы и выходы платы.

  • Все выводы, аналоговые или цифровые, могут работать в диапазоне от 0 до 5 В (от 0 до 3,3 В для модификации платы с питанием 3,3 В).
  • Для дискретного вывода в режиме выхода втекающий или вытекающий ток не должен превышать 40 мА. Суммарный ток выводов микроконтроллера должен быть не более 200 мА.
  • Все выводы микроконтроллера подключены к источнику питания через подтягивающие резисторы сопротивлением 20-50 кОм. Подтягивающие резисторы могут быть отключены программно.
  • Если на любой аналоговый или дискретный вход подать напряжение ниже 0 В или свыше 5 В (свыше 3,3 В для модификации с питанием 3,3 В), то оно будет ограничено защитными диодами микроконтроллера.

Защитные диоды на входах микроконтроллера

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

Цифровые выводы. У платы есть 14 цифровых выводов. Каждый из них может работать в режиме входа и выхода. Некоторые выводы еще имеют дополнительные функции.

Последовательный интерфейс UART: выводы 0(RX) и 1(TX). Используются для обмена данными по интерфейсу UART и загрузки программы в микроконтроллер из Arduino IDE. Плата не содержит преобразователя интерфейса USB-UART. Для связи с компьютером необходимо использовать внешний конвертер интерфейсов.

Входы внешних прерываний: выводы 2 и 3. К выводам могут быть подключены сигналы внешних аппаратных прерываний.

ШИМ: выводы 3,5,6,9, 10, 11. На этих выводах может быть сформирован аппаратным способом  сигнал ШИМ. После сброса в системе установливаются параметры ШИМ: 8 бит, 500 Гц.

Интерфейс SPI: выводы 10 (SS), 11 (MOSI), 13 (SCK). Выводы аппаратного последовательного интерфейса SPI.

Интерфейс  I2C: выводы 4 (SDA) и 5 (SCL). Сигналы аппаратного интерфейса I2C.

Светодиод: вывод 13. К этому выводу подключен светодиод общего назначения. Светится при высоком уровне сигнала на выводе 13.

Аналоговые входы: A0…A8. 6 или 8 аналоговых входов, предназначенных  для измерения напряжения. Разрядность АЦП – 10 бит, что соответствует 1024 градациям сигнала. Время измерения порядка 100 мкс. Для сохранения точности выходное сопротивление источника сигнала не должно превышать 10 кОм.

RST. Сигнал сброса микроконтроллера. Низкий уровень приводит к перезагрузке системы. Вывод RST на 6 контактном разъеме имеет несколько другое назначение и используется при загрузке программы в микроконтроллер.

На плате есть 2 светодиода.

Светодиоды Arduino Pro Mini

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

 

Принципиальная схема платы Arduino Pro Mini.

Принципиальная схема Arduino Pro Mini

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

 

Загрузка программы в плату Arduino Pro Mini.

На платах Ардуино со встроенным конвертером интерфейсов эта операция происходит очень просто. Плата подключается стандартным кабелем к USB порту компьютера, нажимается кнопка в Arduino IDE и программа автоматически загружается в плату.

С платой Arduino Pro Mini все сложнее. Некуда подключать стандартный USB кабель.

 

Как происходит загрузка программ в платы Ардуино из среды Arduino IDE.

При нажатии кнопки ”Загрузка” в Arduino IDE происходит компиляция скетча.  О чем сообщает надпись “Компиляция скетча” в нижней части окна.

Окно компиляция программы

Затем автоматически появляется сообщение “Загрузка”.

Окно загрузка программы

В этот момент Arduino IDE инициирует импульс низкого уровня на выходе DTR. DTR это один из сигналов управления передачей данных COM порта. Обычно он формируется на выходе встроенного преобразователя интерфейсов USB-UART.

Во всех платах Ардуино сигнал DTR подключен к выводу сброса микроконтроллера через конденсатор емкостью 0,1 мкФ. Получается простейшая дифференцирующая цепочка с постоянной времени 1 мс.

У платы Arduino Pro Mini внутреннего конвертера интерфейсов нет, поэтому сигнал DTR выведен на 6 контактный разъем. Схема сброса от сигнала DTR для Arduino Pro Mini  выглядит так.

Схема сброса от сигнала DTR Arduino Pro Mini

Независимо от длительности импульса DTR на входе ”RESET” микроконтроллера будет сформирован короткий импульс сброса.

По любому сбросу микроконтроллер передает управление программе загрузчика. В течение примерно 1 секунды загрузчик ожидает связи с компьютером по протоколу STK500. Если данные от компьютера поступают, то происходит загрузка программы из Arduino IDE.

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

Из всего вышесказанного становится понятно, что если плату Arduino Pro Mini подключить через полноценный конвертер интерфейсов с сигналами RXD, TXD и DTR, то загрузка будет происходит совершенно так же, как и в других платах Ардуино со встроенным преобразователем интерфейсов. Дополнительно можно использовать для питания платы сигнал 5 В интерфейса USB. Или 3,3 В для плат с питанием 3,3 В.

Для подключения внешнего преобразователя интерфейсов предназначен 6 контактный разъем платы Arduino Pro Mini (при необходимости его можно впаять). Разъем содержит все сигналы, необходимые для загрузки программы в плату.

6 контактный разъем Arduino Pro Mini

Надо только учитывать, что на некоторых платах сигналы RXI и TXO 6 контактного разъема могут соответствовать сигналам RXD и TXD микроконтроллера, а могут и быть включены наоборот. Например, как на этой плате.

Сигналы программирования Arduino Pro Mini

Лучше прозвонить цепи выводов RXI и TXO. На моей плате сигналы соответствуют. Схема подключения конвертера USB-UART к моей плате выглядит так.

Схема подключения конвертера USB-UART для программирования Arduino Pro Mini

Обратите внимание, что сигнал DTR надо подключать к выводу RST именно на 6 контактном разъеме. Он соединен с входом сброса микроконтроллера через дифференцирующий конденсатор. На плате есть еще один вывод RST. Он подключен непосредственно ко входу “RESET” микроконтроллера.

В качестве внешнего USB-UART конвертера можно использовать любой модуль, например, PL2303 USB-UART BOARD или модуль CH340. Не забудьте установить на компьютер драйвер для модуля преобразователя интерфейсов.

Беда в том, что большинство модулей – конвертеров интерфейсов не имеют на выходном разъеме сигнала DTR. Можно, конечно, припаять проводок к выводу DTR микросхемы конвертера. Практически на всех микросхемах преобразователей интерфейсов этот сигнал есть. Просто он не выведен на разъем модуля.

Другой способ – использовать кнопку ”RESET” платы Arduino Pro Mini.

Кнопка Arduino Pro Mini

При загрузке программы ее надо вовремя нажать. В момент, когда появилось сообщение ”Загрузка” в окне Arduino IDE необходимо кратковременно нажать эту кнопку. На это есть время примерно 1 секунда. В принципе это сделать несложно, но когда голова забита разработкой программы такая простая операция несколько напрягает.

 

В следующем уроке собираюсь начать новую большую тему – обмен данными между платами Ардуино.

 

Предыдущий урок     Список уроков     Следующий урок

0

Автор публикации

не в сети 2 дня

Эдуард

280
Комментарии: 1936Публикации: 197Регистрация: 13-12-2015

5 комментариев на «Урок 46. Другие платы Ардуино с микроконтроллерами ATmega168/328. Плата Arduino Pro Mini.»

  1. «В следующем уроке собираюсь начать новую большую тему – обмен данными между платами Ардуино.»

    Вот это здорово!
    Распределение ресурсозатратной задачи на несколько недорогих контроллеров – это тема!

    0
  2. Между платами ардуино и желательно бы выводом на «верхний» уровень. Сбор информации на компьютере для хранения, обработки и формирования управляющих сигналов… Умный дом, в общем. Ну или SCADA система.

    0
  3. Ждём с нетерпением!!! Интересно построить систему из нескольких arduino с использованием беспроводных каналов передачи информации.

    0
  4. Я горе- новичок…
    купил pro-mini и программатор USBasP(не разбираясь наугад на али) мучился с ним не видит его IDE как СОМ порт…
    В итоге запрограммировал мини через уно(с перемычкой на RST) и тоже не сразу, и с нажатием кнопки…
    Если бы Вы раскрыли тему может кому полегче будет в будущем. Я например и не знаю как подступится и с чего начать с MOSI-MISO так и буду через уно ковырять пока.

    0
  5. Поправьте пожалуйста в этом и предыдущем уроке
    Интерфейс I2C: выводы 4 (SDA) и 5 (SCL).
    На выводы А4 и А5.
    Большое спасибо за ваши уроки, они очень помогли в
    разработке нескольких нестандартных киповских проектов.
    С уважением.

    0

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных".