Рубрики
Схемы на Arduino

Аппаратное обеспечение платы Arduino Uno и назначение ее компонентов

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

Так что же такое Arduino? Говоря простыми словами, Arduino – это платформа разработки, состоящая из аппаратной и программной частей. В данной статье мы достаточно подробно рассмотрим ее аппаратную часть. Как и другие платы разработки (отладочные платы), плата Arduino состоит из ряда основных компонентов, их назначение мы и рассмотрим в этой статье.

Структура аппаратной части платы Arduino Uno

Что представляет собой аппаратное обеспечение платы Arduino? Это микроконтроллер и другие компоненты, установленные на макетной плате, которые можно использовать для простых ежедневных задач, математических вычислений, прототипирования, тестирования и многого другого. Плата разработки Arduino состоит из центрального микроконтроллера с дополнительными окружающими его компонентами и цепями для взаимодействия с компьютером, которые можно также использовать для программирования микроконтроллера. Для подключения и компьютеру и программирования микроконтроллера в плату Arduino Uno встроен преобразователь интерфейса USB в логику TTL (USB to TTL converter). Структура аппаратной части платы Arduino Uno показан на следующем рисунке.

Назначение компонентов платы Arduino Uno

Рассмотрим основные компоненты платы Arduino Uno. Их внешний вид и местоположение на плате показаны на следующем рисунке.

Основным компонентом платы Arduino Uno является микроконтроллер ATMega328P. Можно сказать что он является «сердцем» платы. Рядом с микроконтроллером расположен кварцевый резонатор на 16 МГц, который обеспечивает микроконтроллеру необходимую тактовую частоту для его работы. Рядом с ним расположен разъем под названием ICSP – он предназначен для внутрисистемного программирования/»программирования в системе» (In System Programming). Также же через него в микроконтроллер записывается загрузчик (bootloader) Arduino.

Если вы посмотрите на другую сторону платы Arduino Uno, то там вы увидите еще один микроконтроллер в корпусе QFN. Это микроконтроллер ATMega16U – он используется в качестве USB –TTL конвертера.

На левой стороне платы расположены USB порт и разъем постоянного тока (DC barrel jack). Вы можете подавать питание на плату Arduino Uno через USB порт или данный разъем постоянного тока – на него можно подавать питающее напряжение в диапазоне 7-12V. Более подробно о способах подачи питания на плату Arduino Uno вы можете прочитать в данной статье. Далее по схеме за разъемом постоянного тока расположены два регулятора напряжения – на 5V и 3.3V.

Рассмотрим более подробно назначение компонентов платы Arduino Uno.

Разъем USB B-типа

Разъем USB на плате Arduino Uno выполняет две основные функции. Одна из них – коммуникационная, с помощью данного разъема осуществляется взаимодействие (обмен данными) платы с компьютеров и загрузка прошивки в плату при помощи загрузчика (bootloader). Вторая его функция – подача питания на плату. Вы можете использовать USB порт непосредственно для подачи питания на плату Arduino Uno.

Контакты ISCP

На плате Arduino Uno расположены два 6-контактных разъема ISCP. Один из них расположен около чипа USB – TTL, а другой – в конце платы. Эти контакты используются для внутрисистемного программирования двух микроконтроллеров платы – ATMgega16U, используемого в качестве конвертора USB-TTL, и ATMega328.

Кнопка сброса (Reset Button)

Как следует из ее названия, данная кнопка используется для сброса микроконтроллера ATMega328. Она подключена к контакту PC6/Reset pin с помощью подтягивающего резистора на 10 кОм. При нажатии кнопки контакт «подтягивается» к земле и происходит сброс микроконтроллера.

Чип интерфейса USB-TTL

Для взаимодействия с компьютером плата Arduino использует USB-TTL интерфейс. В плате Arduino Uno его роль выполняет микроконтроллер ATMega16U.

Кварцевый генератор/керамический резонатор

Для работы микроконтроллера ему необходим источник тактовой частоты, который определяет скорость работы микроконтроллера. Именно от тактовой частоты зависит количество инструкций, которые микроконтроллер может исполнять за одну секунду. Микроконтроллеры серии ATMega могут использовать два типа источника тактовой частоты. Первым из них является внутренний (встроенный в микроконтроллер) RC генератор. Но его максимальная частота ограничена и ее стабильность не очень высока.

Вторым способом является использование внешнего генератора тактовой частоты. Для этих целей мы можем использовать кварцевый генератор или керамический резонатор. На представленном ниже рисунке выделены оба этих элемента в составе платы Arduino Uno. Первый из них – это кварцевый генератор 16 МГц, используемый для чипа ATMega16U2, а второй – резонатор 16 МГц, используемый для микроконтроллера ATMega328P.

Управление подачей питающего напряжения (Power Path control)

Если вы внимательно посмотрите на плату Arduino Uno, то вы обнаружите на ней микросхему LM358. У вас может возникнуть вопрос зачем она здесь нужна. Данная микросхема играет роль компаратора для управления подачей питающего напряжения. Когда питание на плату Arduino Uno подается через разъем постоянного тока или контакт Vin, данная схема управления подачей питающего напряжения отключает цепь подачи питания через USB порт и, таким образом, предохраняет его от возможного повреждения.

Регулятор напряжения

Микроконтроллеры ATMega328 и ATmega16U2 имеют максимальное входное напряжение около 5V, а большинство модулей и периферийных устройств работает от напряжения 5V или 3.3V. Через разъем постоянного тока или контакт Vin на плату Arduino Uno может подаваться питающее напряжение в диапазоне 7-12V, поэтому для его понижения используются два регулятора напряжения. Один из них (обозначенный на представленном ниже рисунке цифрой 1, используется для понижения напряжения до 5V, а второй – для понижения напряжения до 3.3V, которое подается на контакт 3.3V платы.

Разъем постоянного тока (DC Barrel Jack)

Может использоваться для подачи питания на плату Arduino Uno. Поскольку подаваемое через него питающее напряжение может находиться в диапазоне 7-12V, то к нему мы можем подключить адаптеры на 12V DC или 9V DC. Также к нему можно подключить батарейку 9 В через специальный переходник.

Цифровые и аналоговые контакты ввода/вывода (I/O)

Плата Arduino Uno содержит 14 цифровых контактов ввода/вывода (I/O) и 6 аналоговых входов, которые также можно использовать в качестве цифровых контактов ввода/вывода. Цифровые контакты платы работают с логическими уровнями напряжения 5V. Плата содержит 6-канальный 10-битный АЦП (аналого-цифровой преобразователь), каналы которого подключены к аналоговым входам A0-A5 платы. Более подробно про использование АЦП в плате Arduino вы можете прочитать в этой статье.

Светодиоды

Плата Arduino Uno содержит 4 встроенных светодиода, расположение которых на плате показано на рисунке ниже. Один из этих светодиодов используется для индикации подачи питания на плату, еще два – для индикации активности на контактах Rx и Tx последовательного порта. А четвертый светодиод подключен к контакту 13 платы и никакой специальной роли не выполняет – его можно запрограммировать на индикацию любых событий.

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

Главным компонентом платы Arduino Uno является микроконтроллер ATMega328P. На плате Arduino Uno используется 28-контактная версия данного микроконтроллера в корпусе DIP. При производстве платы в микроконтроллер Atmega328P загружается специальная программа-загрузчик (bootloader), которая позволяет загружать программы в платы Arduino Uno непосредственно через USB порт, без использования каких либо внешних программаторов.

Схема платы Arduino Uno

Принципиальная схема платы Arduino Uno показана на следующем рисунке.

А на следующем рисунке показана часть схемы платы Arduino Uno, отвечающая за подачу на нее питающего напряжения. На ней показаны разъем постоянного тока (DC barrel jack), регуляторы напряжения на 5V и 3.3V и схема управления подачей питающего напряжения на основе компаратора LM358.

Роль регулятора напряжения 5V выполняет микросхема NCP1117ST50T3G, а контакт Vin данного регулятора подключен к разъему постоянного тока через диод M7, который в данном случае выполняет роль защиты от смены полярности питающего напряжения. Выход данного регулятора подключен к остальной части цепи 5V, а также ко входу регулятора напряжения 3.3V LP2985-33DBVR.

Другим источником напряжения 5V является контакт VCC, который подключен к стоку транзистора FDN340P, представляющего собой P-канальный MOSFET. Исток данного транзистора подключен к цепи 5V, а затвор – к выходу операционного усилителя LMV358, используемого в качестве компаратора. Он осуществляет сравнение между 3V3 и Vin/2. Когда на Vin/2 уровень напряжения больше это приводит к уровню high на выходе компаратора и P-канал MOSFET закрывается. Когда на плату не подается никакого напряжения Vin, выход V+ компаратора подтягивается к уровню GND и на его Vout будет уровень low. Соответственно, транзистор будет открыт и USB VCC подключается к цепи 5V.

На следующем рисунке показана структурная схема подачи питания на плату Arduino Uno.

А теперь рассмотрим часть схемы платы Arduino Uno, отвечающую за преобразование USB-TTL. Как мы уже отмечали, главным компонентом этой части схемы является микроконтроллер ATMega16U2. Данная часть схемы платы Arduino Uno содержит ICSP разъем, внешний кварцевый генератор с нагрузочными конденсаторами (CL) и конденсатор для фильтрации питающего напряжения. Варисторы (VDRs) Z1 и Z2 используются для защиты схемы от электростатического разряда. Также схема содержит два резистора, подключенных к контактам D+ и D-, они используются для корректного формирования импеданса линий данных интерфейса USB.

 

А на следующем рисунке показана главная часть схемы платы Arduino Uno, содержащая микроконтроллер ATMega328P и дополнительные компоненты для его работы.

В следующей таблице представлена спецификация компонентов платы Arduino Uno R3. Она вам может пригодиться если вы, к примеру, захотите самостоятельно собрать плату Arduino Uno. Для примера можете посмотреть статью на нашем сайте про сборку платы Arduino Uno на основе микроконтроллера AVR.

Источник статьи

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

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