Arduino aref: измеряем напряжение с больше точностью

Содержание

Функция analogReference() | Аппаратная платформа Arduino

Описание

Функция определяет опорное напряжение относительно которого происходят аналоговые измерения. Функция analogRead() возвращает значение с разрешением 10 бит пропорционально входному напряжению на аналоговом входе, и в зависимости от опорного напряжения.

Возможные настройки:

  • DEFAULT: стандартное опорное напряжение 5 В (на платформах с напряжением питания 5 В) или 3.3 В (на платформах с напряжением питания 3.3 В)
  • INTERNAL: встроенное опорное напряжение 1.1 В на микроконтроллерах ATmega168 и ATmega328, и 2.56 В на ATmega8.
  • INTERNAL1V1: встроенное опорное напряжение 1.1 В (Arduino Mega)
  • INTERNAL2V56: встроенное опорное напряжение 2.56 (Arduino Mega)
  • EXTERNAL: внешний источник опорного напряжения, подключенный к выводу AREF
Синтаксис
analogReference(type)
Параметры

type: определяет используемое опорное напряжение (DEFAULT, INTERNAL или EXTERNAL).

Возвращаемое значение

нет

Внимание

Внешнее напряжение рекомендуется подключать к выводу AREF через резистор 5 кОм.

Таким образом уменьшается риск повреждения микросхемы Atmega если настройки analogReference не совпадают с возможностями платформы. Однако при этом произойдет небольшая просадка напряжения, вследствие того, что имеется встроенный резистор 32 кОм, подключенный к выводу AREF. В этом случае оба резистора работают как делитель напряжения. Подсоединение внешнего резистора позволяет быстро переключаться на напряжение 3.3 В вывода AREF с напряжения 5 В DEFAULT без конфигурации аппаратной части и АЦП.

Использование вывода AREF

Напряжение, подключенное к выводу AREF, конвертируется АЦП и, затем, определяется значение напряжения, при котором АЦП выдает самое высокое цифровое значение, т.е 1023. Другие значения напряжения, поступающие в АЦП, конвертируются пропорционально. Таким образом, при настройке DEFAULT 5 В значение напряжения 2.5 В в АЦП будет конвертироваться в 512.

В стандартной конфигурации платформ Arduino вывод AREF (вывод 21 Atmega) не задействован. В этом случае при настройке DEFAULT к выводу подключается внутреннее напряжение AVCC. Соединение является низко-импедансным и любое напряжение подведенное к выводу в этот момент может повредить микросхему ATMEGA.

Настройкой INTERNAL к выводу AREF подключается внутреннее напряжение 1.1 В (или 2.56 микросхемы ATmega8). При этом напряжение соответствующее или превышающее 1.1 В будет конвертироваться АЦП в 1023. Другие значения напряжения конвертируются пропорционально.

Внутреннее подключение источника 1.1 В к выводу является высоко-импедансным, что означает, что для измерение напряжения на выводе может быть произведено только мультиметром с высоким сопротивлением. Ошибочное подключение напряжения к выводу AREF  при этой настройке функции analogReference не повредит микросхему, но превысит значение 1.1 В. В этом случае АЦП будет конвертировать напряжение внешнего источника. Во избежание вышеописанных проблем настоятельно рекомендуется подключать внешнее напряжение через резистор 5 кОм.

Рекомендуемой настройкой для вывода AREF является EXTERNAL. При этом происходит отключение обоих внутренних источников, и внешнее напряжение будет являться опорным для АЦП.

Смотрите также

Справочник языка

Arduino analogReference(type)

Описание

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

  • DEFAULT: опорное напряжение по умолчанию, равное 5 В (на 5В-платах Ардуино) или 3.3 В (на 3.3В-платах Ардуино)
  • INTERNAL: внутренне опорное напряжение, равное 1.1 В в микроконтроллерах ATmega168 и ATmega328, или 2.56 В в микроконтроллере ATmega8 (не доступно в Arduino Mega)
  • INTERNAL1V1: внутреннее опорное напряжение 1.1 В (только для Arduino Mega)
  • INTERNAL2V56: внутреннее опорное напряжение 2.56 В (только для Arduino Mega)
  • EXTERNAL: в качестве опорного напряжения будет использоваться напряжение, приложенное к выводу AREF (от 0 до 5В)

Параметры

type: тип источника опорного напряжения (DEFAULT, INTERNAL, INTERNAL1V1, INTERNAL2V56 или EXTERNAL).

Возвращаемые значения

Нет.

Примечание

Сразу после изменения источника опорного напряжения, несколько первых значений, возвращаемых функцией analogRead(), могут быть неточными.

Предупреждение

При использовании внешнего источника опорного напряжения, напряжение на выводе AREF должно быть строго в пределах от 0 до 5 В! При этом перед вызовом функции analogRead() нужно обязательно установить тип источника как EXTERNAL. В противном случае, возможно короткое замыкание внутреннего источника опорного напряжения с выводом AREF, что может привести к повреждению микроконтроллера на вашей плате Ардуино.

Подобную ситуацию также можно предотвратить, если внешний источник опорного напряжения соединять с выводом AREF через резистор номиналом 5 кОм. Такое соединение даст возможность переключаться между внутренним и внешним опорным напряжением. Однако, при этом следует иметь ввиду, что резистор изменит величину опорного напряжения, поскольку вывод AREF соединяется с внутренним резистором номиналом 32 КОм. Два резистора образуют делитель напряжения, таким образом, например, 2.5В, приложенные через резистор, в итоге дадут 2.5 * 32 / (32 + 5) = ~2,2 В на выводе AREF.

Смотрите также

Что такое Arduino? | Электронные конструкторы и наборы | Блог

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

Возможности

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

Arduino — это не просто универсальный микроконтроллер, который можно адаптировать под любой проект за минимальное время. Это простейшая и доступная для изучения среда разработки Arduino IDE, которая служит для вовлечения в программирование и робототехнику, а также для быстрой разработки проектов. На основе Arduino можно собрать 3D-принтер или станок с ЧПУ. Все это происходит благодаря тому, что у платформы Arduino одно из самых больших сообществ, а также доступно огромное количество примеров, руководств и готовых библиотек для разработки.

Модули Arduino

Модули базовых контроллеров Arduino  получили широкое распространение благодаря своей универсальности. Популярные платы Arduino Uno и Leonardo имеют достаточный набор периферии, а платы Mega и Due — расширенный. Даже компактные модули типа Pro, Micro и Nano подойдут для собственного проекта. В последнее время появились модули Mega сразу с установленным SoC ESP8266 и беспроводной связью Wi-Fi на борту.

Модули Arduino представляют собой платы со встроенным процессором, памятью и периферией, которая позволяет реализовать базовый функционал посредством одной всего платы. Для расширения возможностей служат дополнительные модули-шилды, которые работают с двигателями и сенсорами различных типов, а также способны читать и писать на карты памяти и накопители, поддерживают USB Host, умеют работать с Ethernet, Bluetooth и Wi-Fi. Модули расширения уровня Industrial имеют гальваническую развязку, а модули для умного дома подойдут с целью прототипирования устройств IoT ( «интернета вещей»). Вы даже можете сделать свой собственный web-сервер на основе Arduino.

На сегодняшний день существует множество оригинальных разновидностей и популярных клонов, а также огромное количество совместимых модулей-шилдов. Обратите внимание на приведенную Arduino Nano — это компактный модуль с 8-битным контроллером, на борту которого размещается приличный набор периферии (аналого-цифровые преобразователи, ШИМ-генераторы и таймеры, последовательные интерфейсы и так далее).  

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

Для создания проектов не требуется специальных навыков, так как для создания скетчей-программ (прошивок) для микроконтроллеров Arduino, а также для подключения, загрузки кода и мониторинга обмена данными служит специальная программная оболочка Arduino IDE, которая постоянно обновляется сообществом. На сегодняшний день Arduino IDE имеет качественные дополнения и расширения, в том числе позволяющие программировать 32-битные микроконтроллеры. Для работы с платами Arduino не требуется специальный загрузчик-отладчик или программатор, вся основная работа осуществляется средствами платформы Arduino.

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

Базовый механизм можно создать, имея всего две серво-машинки и два аналоговых источника сигнала для управления. Для прототипа даже не понадобятся паяльные принадлежности — весь проект собирается на монтажных беспаечных платах Arduino. 

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

Что может быть лучше и интереснее, чем собрать за вечер управляемого робота или автомобиль? Одновременно, возможности среды Arduino позволяют профессионалам разрабатывать прикладные проекты для промышленной автоматики и для умного дома. Arduino — это открытая платформа, и вы тоже можете стать разработчиков, создать собственный проект и присоединиться к сообществу Arduino.

Урок 2. Что такое Arduino Uno

Начинаем наш второй урок. В этом уроке мы рассмотрим все части Arduino. Arduino, по сути, — это крошечный компьютер, который может подключаться к электрическим цепям и к которому можно подключать огромное количество датчиков и сенсоров. Большинство проектов начинающих (и не только) электронщиков основаны на плате Arduino Uno.

Arduino Uno работает на чипе Atmega 328P и это самый большой чип на плате (см. изображение ниже). Этот чип способен выполнять программы, хранящиеся в его (очень ограниченной) памяти.

  1. Кнопка сброса
  2. USB соединение
  3. Питание платы
  4. Чип Atmel
  5. Земля
  6. Цифровые пины (входы/выходы)
  7. Подключение питания
  8. Аналоговые пины

Мы можем загружать программы на чип через USB (2) с помощью Arduino IDE. Порт USB также обеспечивает питание платы Arduino. В качестве альтернативы, мы могли бы запитать запрограммированную плату с помощью разъема питания, в этом случае нам не нужно USB-соединение.

Arduino имеет несколько рядов контактов, к которым мы можем подключить провода (см. изображение выше). Контакты питания также отмечены на рисунке выше. Arduino имеет напряжение

3,3 В или 5 В. В этом курсе мы будем использовать источник питания 5 В, но вы можете найти некоторые микросхемы или компоненты, для работы которых требуется напряжение 3,3 В. На Arduino вы также найдете несколько контактов с надписью «GND», это заземляющие контакты. Электрический ток всегда течет от некоторого положительного напряжения на землю, поэтому эти выводы важны и полезны для замыкания цепей, мы будем их часто использовать.

Выводы, помеченные символом ~, могут имитировать аналоговый выход

Arduino имеет 14 цифровых выводов, обозначенных

0-13 (см. изображение выше), которые подключаются к цепям для их включения или выключения, или для кнопок и других цепей с двумя состояниями (кнопка имеет два состояния, потому что она либо нажата, либо не нажата). Эти контакты могут действовать как входы или выходы, то есть они могут управлять цепью или получать данные от неё.

Рядом с разъемами питания находятся контакты аналогового входа с маркировкой A0-A5. Эти контакты используются для аналоговых измерений датчиков или других компонентов. Аналоговые входы особенно хороши для измерений с диапазоном возможных значений.

Например, аналоговый входной вывод позволит нам измерить величину изгиба датчика изгиба или величину, на которую повернут циферблат.

Давайте ниже пройдемся по всем компонентам, которые составляют плату Arduino, и какова каждая из их функций:

  1. Кнопка сброса (Reset Button) — это перезапустит любой код, который загружен на плату Arduino
  2. AREF или Analog Reference — используется для установки внешнего опорного напряжения
  3. Штырь заземления
    (GND, земля) — на Arduino есть несколько штырей заземления, и все они работают одинаково
  4. Цифровые входы/выходы — контакты 0-13 могут использоваться для цифрового ввода или вывода
  5. ШИМ (PWM) — выводы, помеченные символом (~), могут имитировать аналоговый выход
  6. USB-соединение — используется для включения питания Arduino и загрузки эскизов
  7. TX / RX — светодиоды индикации передачи и приема данных
  8. Микроконтроллер ATmega — это мозг и место хранения программ
  9. Светодиодный индикатор питания — этот светодиод загорается каждый раз, когда плата подключена к источнику питания
  10. Регулятор напряжения — контролирует количество напряжения, поступающего на плату Arduino
  11. Разъем питания платы (DC Power Jack) — разъем питания постоянного тока, используется для питания вашего Arduino с помощью блока питания
  12. 3,3 В контакт — этот контакт обеспечивает 3,3 вольт питания для ваших проектов
  13. Штырь 5 В — этот штырь подает 5 В на ваши проекты
  14. Штыри заземления — на Arduino есть несколько штырей заземления и все они работают одинаково
  15. Аналоговые контакты — эти контакты могут считывать сигнал с аналогового датчика и преобразовывать его в цифровой

Вы можете использовать аналоговый вход для измерения цифрового компонента (например, кнопки) или даже действовать как цифровой выход. По факту, это в принципе цифровые выводы с дополнительными возможностями.

Питание Arduino

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

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

Что нельзя делать с Arduino: 10 способов убить контроллер

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

Напиши свою первую игру на C++

О платах

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

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

Что нельзя делать с Arduino: 10 способов убить контроллер

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

Ошибка 1: Высокое напряжение

Не подавайте напряжение на Arduino выше 5V через пины вывода (или выше 3.3V для контроллеров с этим рабочим напряжением)!

Почему-то люди иногда путают пины 5V и vin и подают напряжение именно на вывод с надписью 5V. Он является выводом, поэтому можно не удивляться, если ваша Arduino после такого эксперимента больше не включается.

Ошибка 2: Два источника питания

Не питайте Arduino от двух разных источников одновременно! Это приводит к перекосу напряжения, и как следствие, через некоторое время контроллер может просто выйти из строя.

Ошибка 3: Программное сопротивление

Никогда не включайте в контроллерах Arduino сопротивление программно! При задействованном выводе оно должно быть обязательно подключено через подтягивающий резистор в 10кОм на землю. Это делается для исключения наводок от внешних источников питания.

У контроллера Arduino существуют внутренние подтягивающие резисторы на каждом выводе (pull-up), они включаются через код программы, и их можно использовать в качестве защиты от ложных срабатываний. Но если такой вывод перегрузить или нечаянно замкнуть, он просто сгорит и больше работать не будет.

Ошибка 4: Замыкание

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

На платах типа Arduino Mega уже предусмотрена так называемая «защита от дурака» и от невнимательных юзеров. Но на платах типа Nano предохранитель отсутствует из-за физических ограничений. Хорошо, если сгорит всего лишь обвязка на плате. Поменять диод или резистор не проблема, но спалить контроллер из-за неосторожного движения – большая досада.

Ошибка 5: Замыкание без нагрузки

Не замыкайте выводы Arduino между собой без какой-либо нагрузки! Просто не делайте так. В самом крайнем случае если вам кажется, что оно должно работать так, и по-другому не может быть, подключайте только через резистор.

Ошибка 6: Перегруз

Не перегружайте выводы Arduino по напряжению и току. Выводы контроллера рассчитаны на суммарный ток до 200мА. При превышении этого порога контроллер начнет перегреваться и выйдет из строя.

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

Ошибка 7: Переполюсовка контроллера

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

Ошибка 8: Статическое электричество

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

Ошибка 9: Включенный контроллер

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

Страшно, когда половина выводов перестанут подавать признаки жизни. Такой контроллер больше никогда не будет работать адекватно (если он вообще будет работать).

Ошибка 10: Двенадцать вольт

Не подавайте на плату напряжение выше 12V. Модули, подсоединяемые к плате, могут работать при напряжении выше номинального, отличного от предусмотренного напряжения на плате.

Инженеры, проектирующие Arduino, учли этот нюанс, и микросхема способна выдержать большое напряжение, но при этом она будет сильно греться. При превышении порога по напряжению в 12 вольт контроллер просто сгорит!

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

Arduino Due (дополнено) | Аппаратная платформа Arduino

Arduino Due, вид спереди Arduino Due, вид сзади
Общие сведения

Arduino Due — плата микроконтроллера на базе процессора Atmel SAM3X8E ARM Cortex-M3 (описание). Это первая плата Arduino на основе 32-битного микроконтроллера с ARM ядром. На ней имеется 54 цифровых вход/выхода (из них 12 можно задействовать под выходы ШИМ), 12 аналоговых входов, 4 UARTа (аппаратных последовательных порта), a генератор тактовой частоты 84 МГц, связь по USB с поддержкой OTG, 2 ЦАП (цифро-аналоговых преобразователя), 2 TWI, разъем питания,  разъем SPI, разъем JTAG, кнопка сброса и кнопка стирания.

Внимание! В отличие от других плат Arduino, Arduino Due работает от 3,3 В. Максимальное напряжение, которое выдерживают вход/выходы составляет 3,3 В. Подав более высокое напряжение, например, 5 В, на выводы Arduino Due, можно повредить плату.

Плата содержит все, что необходимо для поддержки микроконтроллера. Чтобы начать работу с ней, достаточно просто подключить её к компьютеру кабелем микро-USB, либо подать питание с AC/DC преобразователя или батарейки.  Due совместим со всеми платами расширения Arduino, работающими от 3,3 В, и с цоколевкой Arduino 1.0.

Расположение выводов Due повторяет цоколевку Arduino 1.0:

  • TWI: Выводы SDA и SCL расположены рядом с выводом AREF.
  • Вывод IOREF, который позволяет с помощью правильной конфигурации адаптировать присоединенную плату расширения к напряжению, выдаваемому Arduino. Благодаря этому платы расширения могут быть совместимы и с 3,3-вольтовыми платами типа Due и с платами на базе AVR, работающими от 5 В.
  • Неподключенные выводы, зарезервированные для использования в будущем.

Преимущества ядра ARM

На Due установлено 32-битное ARM ядро, превосходящее по производительности обычные 8-битные микроконтроллеры. Наиболее значимые отличия:

32-битное ядро, позволяющее выполнять операции с данными шириной 4 байта за 1 такт (более подробную информацию смотри на странице int type).

  • частота процессора (CPU) 84 МГц.
  • 96 КБ ОЗУ.
  • 512 КБ флеш-памяти для хранения программ.
  • контроллер DMA, который разгружает центральный процессор от выполнения интенсивных операций с памятью.
Схема, исходные данные и расположение выводов

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

Схема: arduino-Due-schematic.pdf

Расположение выводов: SAM3X Pin Mapping page

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

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

AT91SAM3X8E

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

3,3 В

Входное напряжение (рекомендуемое)

7-12 В

Входное напряжение (предельное)

6-20 В

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

54 (на 12 из которых реализуется выход ШИМ)

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

12
Аналоговые выходы 2 (ЦАП)
Общий выходной постоянный ток
на всех входах/выходах

50 мА

Постоянный ток через вывод 3,3 В 800 мА
Постоянный ток через вывод 5 В 800 мА
Флеш-память 512 КБ доступно всего для пользовательских приложений
ОЗУ 96 КБ (два банка: 64 КБ и 32 КБ)
Тактовая частота 84 МГц
Питание

Питание Arduino Due может осуществляться через USB соединитель или с помощью внешнего источника питания. Выбор источника питания выполняется автоматически.

Внешним (не USB) источником питания может быть либо AC/DC преобразователь («wall wart» — адаптер в одном корпусе с вилкой), либо батарея. Адаптер подключается к разъему питания платы 2,1 мм штепсельной вилкой с центральным положительным контактом. Выводы батареи подключаются к контактам Gnd и Vin разъема POWER. Плата может функционировать при внешнем питании от 6 до 20 В. Но если напряжение питания опускается ниже 7 В, на выводе 5 В  может оказаться меньше пяти вольт, и плата будет работать нестабильно. Если же подается напряжение более 12 В, может перегреться стабилизатор напряжения, что приведет к повреждению платы. Рекомендуемый диапазон напряжений – от 7 до 12 В.

Ниже перечислены выводы питания:

  • VIN. Это входное напряжение для платы Arduino, когда она питается от внешнего источника питания (в противоположность 5 вольтам, поступающим через USB соединение или от иного регулируемого источника питания). Напряжение питания может подаваться на этот вывод, или сниматься с этого вывода в случае питания через разъем питания.
  • 5V. Данный вывод служит выходом регулируемого напряжения 5 В со встроенного стабилизатора на плате. Сама плата может питаться через разъем питания постоянного тока (7-12 В), либо через USB соединитель (5 В), либо через вывод VIN на плате (7-12V). Питающее напряжение через выводы 5 В и 3,3 В подается в обход стабилизатора и может повредить вашу плату. Мы не советуем так делать.
  • 3.3V. Питание 3,3 В, вырабатываемое встроенным стабилизатором. Максимальный выходной ток 800 мА. Стабилизатор также обеспечивает питание микроконтроллера SAM3X.
  • GND. Земляные выводы.
  • IOREF. Данный вывод платы Arduino обеспечивает опорное напряжение, при котором работает микроконтроллер. Верно сконфигурированная плата расширения может считать напряжение на выводе IOREF и выбрать соответствующий источник питания, или разрешить использование выходных преобразователей напряжения для работы с 5 В или 3,3 В.
Память

Флеш-память SAM3X составляет 512 КБ (2 блока по 256 КБ) для хранения программ. Загрузчик (бутлодер) записывается Atmel при производстве и хранится в специально отведенном для него ПЗУ. Доступный объем ОЗУ составляет 96 КБ в двух смежных банках – 64 КБ и 32 КБ. Вся доступная память (флеш-память, ОЗУ и ПЗУ) может адресоваться напрямую как плоское адресное пространство.

Существует возможность стереть флеш-память SAM3X с помощью встроенной кнопки стирания. При этом из микропроцессора удалится текущая загруженная программа. Для стирания нажмите и несколько секунд удерживайте кнопку стирания при включенном питании платы. 

Входы и Выходы
  • Цифровые входы/выходы: выводы с 0 по 53
    Каждый из 54 цифровых выводов Due может использоваться в качестве входа или выхода, с помощью функций pinMode(), digitalWrite() и digitalRead(). Выводы работают от 3,3 В. Каждый вывод может выдавать (как источник) ток 3 мА или 15 мА, в зависимости от вывода, или получать (как приемник) ток 6 мА или 9 мА, в засимости от вывода. На них также имеются внутренние нагрузочные резисторы (по умолчанию они отключены) номиналом 100 кОм. Кроме этого, некоторым выводам назначены специализированные функции:
  • Последовательная линия: 0 (RX) и 1 (TX)
  • Последовательная линия 1: 19 (RX) и 18 (TX)
  • Последовательная линия 2: 17 (RX) и 16 (TX)
  • Последовательная линия 3: 15 (RX) и 14 (TX)
    Эти выводы используются для приема (RX) и передачи (TX) последовательных данных TTL (с уровнем 3,3 В). Выводы 0 и 1 соединены с соответствующими выводами последовательного контроллера ATmega16U2 USB-to-TTL. 
  • ШИМ: выводы с 2 по 13 
    На них реализуется 8-битный выход ШИМ с помощью функции analogWrite(). Разрешение ШИМ можно менять, используя функцию analogWriteResolution().
  • SPI: разъем SPI (разъем ICSP на других платах Arduino)
    Данные выводы служат для связи по SPI с использованием библиотеки SPI. Сигналы SPI выведены на центральный 6-контактный разъем, который физически совместим с Uno, Leonardo и Mega2560. Разъем SPI можно использовать только для связи с другими устройствами SPI, но не для программирования SAM3X по технологии внутрисхемного последовательного программирования (ICSP). SPI на Due также имеет расширенные функции, доступные при использовании Расширенных методов SPI для Due.
  • CAN: CANRX и CANTX
    На этих выводах поддерживается протокол связи CAN, но пока его не поддерживают программные интерфейсы (API) Arduino. 
  • «L» LED: 13 
    Встроенный светодиод, подключенный к цифровому выводу 13. При высоком уровне сигнала на данном выводе, светодиод включается, при низком – выключается. Возможно также убавить яркость светодиода, поскольку вывод 13 одновременно является выходом ШИМ.
  • TWI 1: 20 (SDA) и 21 (SCL)
  • TWI 2: SDA1 и SCL1 
    На данных выводах с использованием библиотеки  Wire поддерживается связь по TWI.
  • Аналоговые входы: выводы с A0 по A11 
    Плата Arduino Due имеет 12 аналоговых входов, каждый из которых может обеспечить разрешение 12 бит (т.е. 4096 различных значений). По умолчанию установлено разрешение 10 бит для совместимости с другими платами Arduino. Разрешение АЦП можно менять при помощи функции analogReadResolution(). Аналоговые ходы Due производят измерения от уровня земли до максимального значения 3,3 В. Приложение к этим выводам напряжения свыше 3,3 В вызовет повреждение кристалла SAM3X. Функция analogReference() на Due игнорируется.
    Вывод AREF подключен к аналоговому выводу опорного напряжения SAM3X через резисторный мост. Для активации вывода AREF необходимо отпаять с печатной платы резистор BR1.
  • DAC1 и DAC2 
    На выводах ЦАП  DAC1 и DAC2 предоставляются достоверные аналоговые выходы с 12-битным разрешением (4096 уровней) при помощи функции analogWrite(). Данные выводы можно использовать для создания аудиовыхода, используя при этом библиотеку Audio. 

Другие выводы:

  • AREF 
    Опорное напряжение для аналоговых входов. Используется с функцией analogReference().
  • Reset 
  • По низкому уровню на этой линии происходит сброс микроконтроллера. Типичное применение вывода Reset – добавление кнопки сброса на плату расширения, которая перекрывает эту кнопку на микроконтроллере. 
Связь

В Arduino Due есть ряд средств для взаимодействия с компьютером, платами Arduino и другими микроконтроллерами, а также различными устройствами, такими как телефоны, планшеты, фотокамеры и т.п. SAM3X имеет один аппаратный UART и три аппаратных USARTа  для последовательной связи  TTL-уровня (3,3 В).

Порт программирования соединен с  ATmega16U2, предоставляющей виртуальный COM порт для программ на подключенном компьютере. (Для определения этого устройства компьютеру с ОС Windows потребуется файл  .inf, на машинах же с OSX и Linux плата автоматически будет распознана как COM порт). Чип 16U2 также соединен с аппаратным UARTом  SAM3X. Последовательная шина на выводах RX0 и TX0 предоставляет преобразование Serial-to-USB для программирования платы через микроконтроллер ATmega16U2. В программное обеспечение Arduino входит монитор последовательной шины, который дает плате возможность отправлять и принимать простые текстовые сообщения. Светодиоды RX и TX на плате будут мигать, когда идет передача данных через кристалл ATmega16U2 и через USB подключение к компьютеру (но не во время последовательного обмена по выводам 0 и 1).

Собственный USB порт  (Native USB port) подключен к SAM3X. Это позволяет осуществлять последовательную связь (CDC) посредством USB. Таким образом обеспечивается подключение к монитору последовательной шины, или другим приложениям на вашем компьютере. Также это дает Due возможность эмулировать для присоединенного компьютера  USB мышь или клавиатуру. Для использования этих возможностей смотрите справочные страницы Библиотека мыши и клавиатуры.

Собственный USB порт может также работать как USB хост для подключенных периферийных устройств: мыши, клавиатуры и смартфотонов. Чтобы использовать эти свойства, обратитесь к справочным страницам USB хост.

Контроллер SAM3X поддерживает, кроме того, связь по интерфейсам  TWI и SPI.  Программное обеспечение Arduino включает в себя библиотеку Wire для облегчения работы с шиной TWI; смотрите более детальное описание в документации. Для связи через SPI воспользуйтесь библиотекой SPI.

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

Arduino Due можно запрограммировать с помощью программных средств Arduino (скачать). Более детальная информация содержится в справочнике.

Загрузка программ для SAM3X отличается от таковой для микроконтроллеров AVR, находящихся на других платах Arduino, поскольку необходимо стереть флеш-память перед тем как перепрограммировать её. Загрузка в кристалл управляется из ПЗУ контроллера SAM3X и запускается, только когда флеш-память кристалла пуста.

Плату можно программировать через оба USB порта, хотя рекомендуется использовать порт программирования, в связи с тем, что он поддерживает стирание кристалла:

  • Порт программирования: Для использования этого порта выберите в Arduino IDE в качестве вашей платы «Arduino Due (Programming Port)». Подключите порт программирования платы Due (ближайший к разъему питания постоянного тока) к вашему компьютеру. Порт программирования использует микросхему 16U2 в качестве преобразователя USB-to-serial, соединенный с первым UARTом контроллера SAM3X (RX0 и TX0). Два вывода 16U2 подключены к выводам Reset и Erase SAM3X. Открытие и закрытие порта программирования, подключенного на скорости передачи 1200 бит в секунду, запускает процедуру «аппаратного стирания» чипа SAM3X, активирование выводов Erase и Reset на SAM3X перед установлением связи с UART. Это рекомендуемый порт для программирования Due. Аппаратное стирание более надежно, чем «программное стирание», которое происходит на собственном USB порте, и будет работать даже в случае повреждения главного микропроцессора.
  • Собственный порт: Чтобы использовать этот порт, выберите в Arduino IDE тип вашей платы  «Arduino Due (Native USB Port)». Собственный USB порт подсоединен напрямую к  SAM3X. Подключите собственный USB порт Arduino Due (ближний к кнопке Reset) к вашему компьютеру. Открытие и закрытие собственного порта при скорости передачи 1200 бит в секунду запускает процедуру «программного стирания»: флеш-память стирается и плата перезапускается с помощью загрузчика. Если главный микроконтроллер по какой-либо причине поврежден, то, вероятно, программное стирание не будет работать, так как эта процедура на SAM3X происходит полностью программно. Открытие и закрытие собственного порта на других скоростях передачи не вызовет сброса SAM3X.

В отличие от других плат Arduino, использующих для загрузки avrdude,  Due полагается на bossac.

Исходный код программы для ATmega16U2 доступен в  архиве Arduino. К разъему ISP можно подключать внешний программатор (перезаписывая загрузчик DFU). Более подробную информацию можно найти в инструкциях для помощи пользователям.

Токовая защита разъема USB

На Arduino Due имеется самовосстанавливающийся предохранитель, назначение которого – защитить USB порты вашего компьютера от короткого замыкания и перегрузки по току. Несмотря на то, что в большинстве компьютеров есть встроенная защита по току, этот предохранитель дает дополнительную защиту. При токе через USB порт более 500 мА связь автоматически обрывается предохранителем до прекращения перегрузки или короткого замыкания.

Физические характеристики и совместимость с платами расширения

Максимальная длина печатной платы Arduino Due равна 4 дюйма, а ширина – 2,1 дюйма, без учета USB соединителей и разъема питания, которые выступают за приведенные габаритные размеры. Три отверстия под винты позволяют закрепить плату на поверхности или в корпусе. Обратите внимание, что расстояние между цифровыми выводами  7 и 8 составляет  160 мил (0.16″, 4,064 мм), не кратно промежуткам в 100 мил (2,54 мм) между остальными выводами.

Arduino Due сделан совместимым с большинством плат расширения, разработанных для Uno, Diecimila или Duemilanove. Цифровые выводы с 0 по 13 (и соседние выводы AREF и GND), аналоговые входы с 0 по 5, разъем питания, разъем «ICSP» (SPI) расположены одинаково на всех платах. Более того, основной UART (последовательный порт) находится на тех же выводах (0 и 1).
Пожалуйста, обратите внимание, что шина  I2C расположена в Arduino Due на других выводах (20 и 21), не так как в Duemilanove / Diecimila (аналоговые входы  4 и 5).

распиновка, схема подключения и программирование [Амперка / Вики]

Arduino Due — первая плата семейства Ардуино на основе 32-битного микроконтроллера Atmel SAM3X8E с ARM-процессором на базе ядра ARM Cortex-M3. Обладая тактовой частотой 84 МГц и 32-битной архитектурой, он позволяет выполнять большинство операций над целыми числами в 4 байта за один такт. На плате предусмотрено 54 цифровых вход/выхода (из них 12 можно задействовать под выходы ШИМ), 12 аналоговых входов, 4 UARTа (аппаратных последовательных порта), связь по USB с поддержкой OTG, 2 ЦАП (цифро-аналоговых преобразователя), 2 TWI, разъем питания, разъем SPI, разъем JTAG, кнопка сброса и кнопка стирания.

Подключение и настройка

Для работы с платформой Arduino Due в операционной системе Windows скачайте и установите на компьютер интегрированную среду разработки Arduino IDE.

Добавление платформы

Элементы платы

Микроконтроллер Atmel SAM3X8E ARM Cortex-M3

Сердцем платы Arduino Due является 32-битное ARM ядро AT91SAM3X8E с тактовой частотой 84 МГц, 512 КБ флеш-памяти и 96 ОЗУ, превосходящее по производительности обычные 8-битные микроконтроллеры.

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

Микроконтроллер ATmega16U2 создает порт программирования для связи микроконтроллера SAM3X с USB-портом компьютера . При подключении к ПК Arduino Due определяется как виртуальный COM-порт. Перепрошивка микросхемы 16U2 производится через ICSP разъём используя стандартные драйвера USB-COM.

Пины питания

  • VIN: Напряжение от внешнего источника питания (не связано с 5 В от USB или другим стабилизированным напряжением). Через этот вывод можно как подавать внешнее питание, так и потреблять ток, когда устройство запитано от внешнего адаптера.

  • 5V: На вывод поступает напряжение 5 В от стабилизатора напряжения на плате, независимости от того, как запитано устройство: от адаптера (7–12 В), от USB (5 В) или через вывод VIN (7–12 В). Питать устройство через вывод 5V не рекомендуется — в этом случае не используется стабилизатор напряжения, что может привести к выходу платы из строя.

  • 3.3V: 3,3 В от стабилизатора напряжения платы. Максимальный ток — 800 мА. Cтабилизатор также обеспечивает питание микроконтроллера SAM3X.

  • GND: Выводы земли.

  • IOREF: Этот вывод предоставляет платам расширения информацию о рабочем напряжении микроконтроллера. В зависимости от напряжения на нём, плата расширения может переключиться на соответствующий источник питания либо задействовать преобразователи уровней, что позволит ей работать как с 5 В, так и с 3,3 В устройствами.

Порты ввода/вывода

Внимание! В отличие от других плат Arduino, Arduino Due работает от 3,3 В. Максимальное напряжение, которое могут выдержать вход/выходы составляет 3,3 В. Подав напряжение, например 5 В, на выводы Arduino Due, можно вывести плату из строя.

  • Цифровые входы/выходы: пины 053
    Логический уровень единицы — 3,3 В, нуля — 0 В. Максимальный ток выхода — 3 или 15 мА в зависимости от вывода микроконтроллера, или ток входа — 6 или 9 мА. К контактам подключены подтягивающие резисторы 100 кОм, которые по умолчанию выключены, но могут быть включены программно.

  • ШИМ: пины 213
    Позволяют выводить аналоговые значения в виде ШИМ-сигнала. Разрешение ШИМ позволяет менять функция analogWriteResolution().

  • АЦП: пины A0A11
    12 аналоговых входов, каждый из которых может представить аналоговое напряжение в виде 12-битного числа (4096 значений). По умолчанию выставлена разрядность — 10 бит, для совместимости с другими платами. Разрешение АЦП можно менять с помощью функции analogReadResolution(). Аналоговые входы платы производят измерения от 0 до максимального значения 3,3 В. Если подать на вход напряжения свыше 3,3 В — это вызовет повреждение кристалла SAM3X.

  • TWI/I²C: пины 20(SDA), 21(SCL)и TWI 2/I²C 2: SDA1 и SCL1
    Для общения с периферией по синхронному протоколу, через 2 провода. Для работы используйте библиотеку Wire.

  • SPI: Пины SPI выведены на центральный 6-контактный разъем, совместимый с Uno, Leonardo и Mega2560.
    Для коммутации по интерфейсу SPI используйте библиотеку SPI.

  • UART: Serial: пины 0(RX) и 1(TX); Serial1: пины 19(RX1) и 18(TX1);Serial2: пины 17(RX2) и 16(TX2); Serial3: пины 15(RX3) и 14(TX3).
    Эти выводы используются для получения (RX) и передачи (TX) данных по последовательному интерфейсу. Выводы 0(RX) и 1(TX) соединены с соответствующими выводами микросхемы ATmega16U2, выполняющей роль преобразователя USB-UART. Для связи Arduino Due с компьютером через порт программирования, используйте класс Serial.

  • DAC1/DAC2: На выводах ЦАП DAC1 и DAC2 доступны аналоговые выходы с 12-битным разрешением (4096 уровней) при помощи функции analogWrite(). Данные выводы можно использовать в качестве аудиовыхода, используя библиотеку Audio.

Светодиодная индикация

Имя светодиода Назначение
RX и TX Мигают при обмене данными между Arduino Due и ПК.
L Светодиод вывода 13. При задании значения HIGH светодиод включается, при LOW – выключается.
ON Наличие питания на Arduino Due.

Разъём Programming USB

Разъём предназначен для прошивки платформы Arduino Due с помощью компьютера. Для использования этого порта выберите в Arduino IDE в качестве вашей платы «Arduino Due (Programming Port)». При этом также производится стирание предыдущей прошивки. Аппаратное стирание более надежно, чем «программное стирание», которое происходит на собственном USB порте, и будет работать даже при повреждении главного микропроцессора. В программное обеспечение Arduino входит монитор последовательной шины, который дает возможность компьютеру обмениваться простыми текстовыми сообщениями с платой подключенной через Programming USB посредством контроллера ATmega16U2.

Разъём Native USB

Чтобы использовать этот порт, выберите в Arduino IDE тип вашей платы «Arduino Due (Native USB Port)». Native USB port подключен к SAM3X, тем самым осуществляя последовательную связь (CDC) посредством USB обеспечивая подключение к монитору последовательной шины, или другим приложениям на вашем компьютере. Открытие и закрытие собственного порта при скорости передачи 1200 бит в секунду запускает процедуру «программного стирания»: флеш-память стирается и плата перезапускается с помощью загрузчика. Также это дает Due возможность эмулировать USB мышь или клавиатуру.

Native USB может также работать как USB хост для подключенных периферийных устройств: мыши, клавиатуры и прочего.

Разъём для внешнего питания

Разъём для подключения внешнего питания от 7 В до 12 В.

ICSP-разъём для ATmega2560

ICSP-разъём предназначен для внутрисхемного программирования микроконтроллера ATmega2560. Также с применением библиотеки SPI данные выводы могут осуществлять связь с платами расширения по интерфейсу SPI. Линии SPI выведены на 6-контактный разъём, а также продублированы на цифровых пинах 50(MISO), 51(MOSI), 52(SCK) и 53(SS).

ICSP-разъём для ATmega16U2

ICSP-разъём для внутрисхемного программирования микроконтроллера ATmega16U2.

Распиновка

Принципиальная и монтажная схемы

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

  • Микроконтроллер: AT91SAM3X8E

  • Тактовая частота: 84 МГц

  • Напряжение логических уровней: 3,3 В

  • Входное напряжение питания: 7–12 В

  • Портов ввода-вывода общего назначения: 54

  • Максимальный ток с пина ввода-вывода: 3 или 15 мА (в зависимости от вывода)

  • Максимальный выходной ток пина 3.3V: 800 мА

  • Максимальный выходной ток пина 5V: 800 мА

  • Портов с поддержкой ШИМ: 12

  • Портов, подключённых к АЦП: 12

  • Разрядность АЦП: 12 бит

  • Flash-память: 512 КБ

  • Оперативная память: 96 КБ

  • Габариты: 101×53 мм

Ресурсы

Функция analogReference () | Аппаратная платформа Arduino

Описание

Функция определяет опорное напряжение относительно которого происходит аналоговые измерения. Функция analogRead () возвращает значение с разрешением 10 бит пропорциональна входное напряжение на аналоговом входе, и в зависимости от опорного напряжения.

Возможные настройки:

  • НАСТРОЙКА: стандартное опорное напряжение 5 В (на платформах с напряжением питания 5 В) или 3.3 В (на платформех с напряжением питания 3.3 В)
  • ВНУТРЕННИЙ: встроенный опорное напряжение 1,1 В на микроконтроллерах ATmega168 и ATmega328, и 2,56 В на ATmega8.
  • INTERNAL1V1: встроенное опорное напряжение 1,1 В (Arduino Mega)
  • INTERNAL2V56: встроенное опорное напряжение 2,56 (Arduino Mega)
  • ВНЕШНЕЕ: внешний источник опорного напряжения, подключенный к выводу Ареф
Синтаксис
аналоговая ссылка (тип) 
Параметры

Типа: определяет используемый опорное напряжение (по умолчанию, или внутренний ВНЕШНИЙ).

Возвращаемое значение

нет

Внимание

Внешнее напряжение рекомендуется подключать к выводу AREF через резистор 5 кОм.

Таким образом уменьшается риск повреждения микросхемы Atmega, если настройки аналогичны Ссылка не совпадают с возможностями платформы. Однако при этом создается небольшая просадка напряжения, что встроенный резистор 32 кОм, подключенный к выводу AREF. В этом случае оба резистора работают как делитель напряжения.Подсоединение внешнего резистора позволяет быстро переключаться на напряжение 3.3 В выводе AREF с напряжения 5 В ПО УМОЛЧАНИЮ без аппаратной конфигурации части и АЦП.

Использование вывода AREF

Напряжение, подключенное к выводу AREF, конвертируется АЦП и затем, определяет значение напряжения, при котором АЦП выдает самое высокое цифровое значение, т.е 1023. Другие значения напряжения, поступающие в АЦП, конвертируются пропорционально. Таким образом, при настройке напряжения ПО УМОЛЧАНИЮ 5 В значение 2.5 В в АЦП будет конвертироваться в 512.

Стандартная конфигурация платформы Arduino: вывод AREF (вывод 21 Atmega) не задействован. В этом случае при настройке DEFAULT к выводу подключается внутреннее напряжение AVCC. Соединение является низко-импедансным напряжением подведенное к выводу в этот момент может повредить микросхему ATMEGA.

Настройкой ВНУТРЕННИЙ к выводу AREF подключается внутреннее напряжение 1.1 В (или 2.56 микросхемы ATmega8). При этом напряжение соответствующее или превышающее 1.1 В будет конвертироваться АЦП в 1023. Другие значения напряжения конвертируются пропорционально.

Внутреннее подключение источника 1.1. Вывод является высоко-импедансным, что означает, что для измерения напряжения вывод может быть произведено только мультиметром с высоким сопротивлением. Ошибочное подключение напряжения к выводу AREF при этой настройке функции analogReference не повредит микросхему, но превысит значение 1.1 В. В этом случае АЦП будет конвертировать напряжение внешнего источника.Во избежание вышеописанных проблем рекомендуется подключать внешнее напряжение через резистор 5 кОм.

Рекомендуемой настройкой для вывода AREF является EXTERNAL. При этом происходит отключение обоих внутренних источников, и внешнее напряжение является опорным для АЦП.

Смотрите также

Справочник языка

.

Ардуино analogReference (тип)

Описание Устанавливает источник опорного напряжения, использующийся при считывании аналогового сигнала (другими словами, задает максимальное значение входного диапазона). Для выбора источника опорного напряжения доступны следующие значения:

  • УМОЛЧАНИЮ: опорное напряжение по умолчанию, равное 5 В (на 5В-платах Ардуино) или 3,3 В (на 3.3В-платах Ардуино)
  • ВНУТРЕННЕЕ: внутренне опорное напряжение, равное 1.1 В микроконтроллерах ATmega168 и ATmega328, или 2.56 В в микроконтроллере ATmega8 ( не доступно в Ардуином Меге )
  • INTERNAL1V1: внутренние опорное напряжение 1,1 В ( только для Ардуина Мега )
  • INTERNAL2V56: внутренние опорное напряжение 2,56 В ( только для Ардуина Мег )
  • ВНЕШНЕЕ: в качестве опорного напряжения будет использоваться напряжение, приложенное к выводу AREF (от 0 до 5В)

Параметры Тип: тип источника опорного напряжения (DEFAULT, INTERNAL, INTERNAL1V1, INTERNAL2V56 или ВНЕШНИЙ).

Возвращаемые значения

Нет.

Примечания Сразу после изменения источника опорного напряжения, несколько первых значения, возвращаемая функция analogRead (), может быть неточный.

Предупреждение При использовании внешнего источника опорного напряжения, напряжение на выводе AREF должно быть строго в пределах от 0 до 5 В! При этом перед вызовом функции analogRead () нужно обязательно установить тип источника как EXTERNAL. В противном случае, возможно короткое замыкание внутреннего источника опорного напряжения с выводом AREF, что может привести к повреждению микроконтроллера на вашей плате Ардуино.

Подобную ситуацию также можно предотвратить, если внешний источник опорного напряжения соединять с выводом AREF через резистор номиналом 5 кОм. Такое соединение даст возможность переключаться между внутренним и внешним напряжением. Однако, при этом следует иметь ввиду, что резистор изменит величину опорного напряжения, поскольку вывод AREF соединяется с внутренним резистором номиналом 32 КОм.Два резистора напряжения образуют делитель, таким образом, например, 2.5В, приложенные через резистор, в итоге дадут 2.5 * 32 / (32 + 5) = ~ 2,2 В на выводе AREF.

Смотрите также

.

Что такое Arduino? | Электронные конструкторы и наборы | Блог

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

Возможности

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

Arduino — это не просто универсальный микроконтроллер, который можно адаптировать под любой проект за минимальное время. Это простейшая и доступная для изучения среда разработки Arduino IDE, которая служит для вовлечения в программирование и робототехнику, а также для быстрой разработки проектов.На основе Arduino можно собрать 3D-принтер или станок с ЧПУ. Все это происходит благодаря тому, что у платформы Arduino доступно одно из самых больших сообществ, а также огромное количество примеров, руководств и готовых библиотек для разработки.

Модули Arduino

Модули базовых контроллеров Arduino получили широкое распространение своей универсальности. Популярные платы Arduino Uno и Leonardo имеют достаточный набор периферии, а платы Mega и Due — расширенный. Даже компактные модули типа Pro, Micro и Nano подойдут для собственного проекта.В последнее время устанавливаемые модули Mega сразу с установленным SoC ESP8266 и беспроводной связью Wi-Fi на борту.

Модули Arduino предоставляют собой плату со встроенным процессором, память и периферией, которая позволяет реализовать базовый функционал посредством одной всего платы. Для расширения возможностей среды расширения модули-шилды, которые работают с двигателями и сенсорами различными типами, также могут читать и писать на карты памяти и накопители, контейнеры USB, умеют с Ethernet, Bluetooth и Wi-Fi.Модули расширения промышленного уровня имеют гальваническую развязку, а модули для умного дома подойдут с прототипирования устройств IoT («интернета вещей»). Вы даже можете сделать свой собственный веб-сервер на основе Arduino.

На сегодняшний день существует множество оригинальных разновидностей и популярных клонов, а также огромное количество совместимых модулей-шилдов. Обратите внимание на приведенную Arduino Nano — это компактный модуль с 8-битным контроллером, на борту которого размещен приличный набор периферии (аналого-цифровые преобразователи, ШИМ-генераторы и таймеры, последовательные интерфейсы и так далее).

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

Для создания проектов не требуются специальные навыки, так как для создания скетчей-программ (прошивок) для микроконтроллеров Arduino, а также для подключения, кода и обмена данными служит специальная программная оболочка Arduino IDE, которая обновляется сообществом.На сегодняшний день Arduino IDE имеет качественные дополнения и расширения, в том числе позволяющие программировать 32-битные микроконтроллеры. Для работы с платами Arduino не требуется специальный загрузчик-отладчик или программа, вся основная работа осуществляется через платформу Arduino.

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

Базовый механизм можно создать, имея всего две серво-машинки и два аналоговых источника сигнала для управления. Для прототипа даже не понадобятся паяльные принадлежности — весь проект собирается на монтажных беспаечных платах Arduino.

Таким образом, Arduino может стать доступной платформой для первых шагов с изучением программирования: для детей и взрослых существует множество интересных наборов модулей и базовых проектов.

Что может быть лучше и интереснее, чем собрать за вечер робота или автомобиль? Одновременно, возможности среды Arduino позволяют профессионалам разрабатывать прикладные проекты для промышленной автоматики и для умного дома.Arduino — это открытая платформа, и вы тоже можете создать собственный проект и присоединиться к сообществу Arduino.

.

распиновка, схема подключения и программирование [Амперка / Вики]

Arduino Due — первая плата семейства Ардуино на основе 32-битного микроконтроллера Atmel SAM3X8E с ARM-процессором на базе ядра ARM Cortex-M3. Обладая тактовой характеристики 84 МГц и 32-битной архитектурой, он позволяет выполнять большинство операций над целыми числами в 4 байта за один такт. На плате предусмотрено 54 цифровых входа / выхода (из них 12 можно задействовать под выходы ШИМ), 12 аналоговых входов, 4 UARTа (аппаратных последовательных), связь по USB с поддержкой OTG, 2 ЦАП (цифро-преобразователя), 2 TWI, разъем питания, разъем SPI, разъем JTAG, кнопка сброса и кнопка стирания.

Подключение и настройка

Для работы с платформой Arduino Due в операционной системе Windows скачайте и установите в интегрированную среду разработки Arduino IDE.

Добавление платформы

Элементы платы

Микроконтроллер Atmel SAM3X8E ARM Cortex-M3

Сердечная плата Arduino Due — это 32-битное ядро ​​ARM AT91SAM3X8E с тактовой частотой 84 МГц, 512 КБ флеш-памяти и 96 ОЗУ, превосходящее по производительности обычные 8-битные микроконтроллеры.

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

Микроконтроллер ATmega16U2 создает порт программирования для связи микроконтроллера SAM3X с USB-портом компьютера. При подключении к ПК Arduino Due определяется как виртуальный COM-порт. Перепрошивка микросхемы 16U2 производится через ICSP разъём с использованием стандартного драйвера USB-COM.

Пины питания

  • VIN: Напряжение от внешнего источника питания (не связано с 5 В от USB или другим стабилизированным напряжением).Через этот вывод можно как подавать внешнее питание, так и потреблять ток, когда устройство запитано от внешнего адаптера.

  • 5V: На вывод поступает напряжение 5 В от стабилизатора напряжения на плате, независимо от того, как запитано устройство: от адаптера (7–12 В), от USB (5 В) или через вывод VIN (7–12 В) ). Питать устройство через вывод 5V не рекомендуется — в этом случае используется стабилизатор напряжения, что может привести к выходу платы из строя.

  • 3.3V: 3,3 В от стабилизатора напряжения платы. Максимальный ток — 800 мА. Cтабилизатор также обеспечивает питание микроконтроллера SAM3X.

  • GND: Выводы земли.

  • IOREF: Этот вывод предоставляет платам расширения информацию о рабочем напряжении микроконтроллера. В зависимости от источника питания на нём, плата расширения может переключиться на соответствующий источник либо задействовать преобразователи уровней, что позволит ей работать как с 5 В, так и с 3,3 В устройства.

Порты ввода / вывода

Внимание! В отличие от других плат Arduino, Arduino Due работает от 3,3 В. Максимальное напряжение, которое может выдержать вход / выходы составляет 3,3 В. Подав напряжение, например 5 В, на выводы Arduino Due, можно вывести плату из строя.

  • Цифровые входы / выходы: пины 0 53
    Логический уровень единицы — 3,3 В, ноль — 0 В. Максимальный ток выхода — 3 или 15 мА в зависимости от вывода микроконтроллера, или ток входа — 6 или 9 мА.К контактам подключены подтягивающие резисторы 100 кОм, которые по умолчанию выключены, но могут быть включены программно.

  • ШИМ: пины 2 13
    Позволяют выводить аналоговые значения в виде ШИМ-сигнала. Разрешение ШИМ позволяет менять функцию analogWriteResolution ().

  • АЦП: пины A0 A11
    12 аналоговых входов, каждый из которых может представить аналоговое напряжение в виде 12-битного числа (4096 значений).По умолчанию выставлена ​​разрядность — 10 бит, для совместимости с другими платами. Разрешение АЦП можно менять с помощью функции analogReadResolution (). Аналоговые входы платы производят измерения от 0 до значения 3,3 В. Если подать на вход напряжения свыше 3,3 В — это вызовет повреждение кристалла SAM3X.

  • TWI / I²C: пины 20 (SDA) , 21 (SCL) и TWI 2 / I²C 2: SDA1 и SCL1
    Для общения с периферией по синхронному протоколу, через 2 провода .Для работы в библиотеку Wire .

  • SPI: Пины SPI выведены на центральный 6-контактный разъем, совместимый с Uno, Leonardo и Mega2560.
    Для коммутации по интерфейсу SPI используйте библиотеку SPI .

  • UART: Серийный номер: пины 0 (RX) и 1 (TX) ; Serial1: пины 19 (RX1) и 18 (TX1) ; Serial2: пины 17 (RX2) и 16 (TX2) ; Serial3: пины 15 (RX3) и 14 (TX3) .
    Эти выводы используются для получения (RX) и передачи (TX) данных по последовательному интерфейсу. Выводы 0 (RX) и 1 (TX) соединены с поставми микросхемы ATmega16U2 , выполняющей роль преобразователя USB-UART. Для связи Arduino Due с компьютером через порт программирования, використовуйте класс Serial.

  • DAC1 / DAC2: На выводах ЦАП DAC1 и DAC2 доступны аналоговые выходы с 12-битным разрешением (4096 уровней) при помощи функции analogWrite ().Данные выводы можно использовать в аудиовыходах, используя библиотеку Audio.

Светодиодная индикация

Имя светодиода Назначение
RX и TX Мигают при обмене данных между Arduino Due и ПК.
L Светодиод вывода 13 . При задании значения HIGH включается, при LOW — выключается.
ON Наличие питания на Arduino Due.

Разъём Программирование USB

Разъём предназначена для прошивки платформы Arduino Due с помощью компьютера. Для использования этого портала выберите Arduino IDE в качестве вашей платы «Arduino Due (порт программирования)». При этом также производится стирание предыдущей прошивки. Аппаратное стирание более надежно, чем «программное стирание», которое происходит на собственном USB-порте, и будет работать даже при повреждении главного микропроцессора. В программное обеспечение Arduino входит монитор последовательной шины, который дает возможность компьютеру обмениваться простыми текстовыми сообщениями с платой подключенной через Программирование USB-контроллера контроллера ATmega16U2.

Разъём Родной USB

Чтобы использовать этот порт выбора в Arduino IDE тип вашей платы «Arduino Due (собственный порт USB)». Собственный USB-порт подключен самым к SAM3X, тем самым осуществляя последовательную связь (CDC) с помощью USB-подключения к монитору последовательной шины, или другим приложениям на вашем компьютере. Открытие и закрытие собственного порта при скорости передачи 1200 бит в секунду запускает «Программное обеспечение стирания»: флеш-память стирается и плата перезапускается с помощью загрузчика.Также это дает возможность эмулировать USB мышь или клавиатуру.

Встроенный USB может также работать как USB-хост для подключенных периферийных устройств: мыши, клавиатуры и прочего.

Разъём для внешнего питания

Разъём для подключения внешнего питания от 7 В до 12 В.

ICSP-разъём для ATmega2560

ICSP-разъём для внутрисхемного программирования микроконтроллера ATmega2560. Также с помощью библиотеки SPI данные выводы могут осуществлять связь с платами расширения интерфейса SPI.Линии SPI выведены на 6-контактный разъём, а также продублированы на цифровых пинах 50 (MISO) , 51 (MOSI) , 52 (SCK) и 53 (SS) .

ICSP-разъём для ATmega16U2

ICSP-разъём для внутрисхемного программирования микроконтроллера ATmega16U2.

Распиновка

Принципиальная и монтажная схемы

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

  • Микроконтроллер: AT91SAM3X8E

  • Тактовая частота: 84 МГц

  • Напряжение логических уровней: 3,3 В

  • Входное напряжение питания: 7–12 В

  • Портов вывода-вывода общего назначения: 54

  • Максимальный ток с пина ввода-вывода: 3 или 15 мА (в зависимости от вывода)

  • Максимальный выходной ток пина 3.3V: 800 мА

  • Максимальный выходной ток пина 5V: 800 мА

  • Портов с поддержкой ШИМ: 12

  • Портов, подключенных к АЦП: 12

  • Разрядность АЦП: 12 бит

  • Flash-память: 512 КБ

  • Оперативная память: 96 КБ

  • Габариты: 101 × 53 мм

Ресурсы

.

Оставить комментарий

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