ЭФО предлагает со своего склада новую серию преобразователей интерфейсов USB UART компании FTDI FT232RNL-REEL
РадиоЛоцман - Все об электронике

Ruggeduino - усовершенствованная Arduino-совместимая платформа

Ruggeduino

Журнал РАДИОЛОЦМАН, май 2014

ruggedcircuits.com

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

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Открытый исходный код, доступность документации и различных программных библиотек, большая база готовых проектов и приложений подтолкнули многих инженеров и разработчиков встраиваемых систем к созданию собственных клонов Arduino-совместимых плат и плат расширения, к примеру, Freeduino, Freetronics Eleven, Seeeduino, CraftDuino, Diavolino, Japanino, Boarduino, iDuino, Roboduino.

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

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

Ruggeduino – плата с интегрированными цепями защиты от перегрузки по току/напряжению для всех линий ввода/вывода и шины питания 5 В/3.3 В, а также со схемами защиты от электростатического разряда для линий ввода/вывода и порта USB. Плата полностью совместима с платформой Arduino, в частности с платой Arduino UNO SMD (Рисунок 1). Плата также снабжена схемой защиты микроконтроллера (МК) от перегрузки по току и может работать от источника питания с выходным напряжением до 24 В.

Ruggeduino - усовершенствованная Arduino-совместимая платформа
Рисунок 1. Плата Ruggeduino полностью совместима с Arduino UNO SMD.

Название платы происходит от слова «ruggedized» и характеризует повышенную надежность. Команда разработчиков утверждает, что их аппаратное решение идеально подходит для начинающих радиолюбителей, которые могут допускать ошибки при подключении к плате внешней периферии и исполнительных устройств. При разработке интегрированных схем защиты учитывались общие ошибки пользователей при работе с платами Arduino, нередко приводившие к полной неработоспособности последних. Однако, несмотря на усложнившуюся конструкцию и использование дополнительных электронных компонентов защиты, стоимость платы Ruggeduino намного меньше стоимости двух плат Arduino Uno и составляет $39.95.

Ниже мы рассмотрим немного подробнее ключевые особенности платы, но сначала по Таблице 1 быстро сравним основные параметры Ruggeduino и Arduino Uno SMD.

Таблица 1. Сравнение основных характеристик плат Ruggeduino и Arduino Uno SMD.
Параметр
Arduino UNO SMD
Ruggeduino
Основной МК
ATmega328P SMD
ATmega328P SMD
Тактовая частота
основного МК
16 МГц
(резонатор)
16 МГц
(прецизионный осциллятор,
точность 0.005%)
МК, реализующий интерфейс USB
ATmega8U2
ATmega8U2
Тактовая частота
USB МК
16 МГц
(кварцевый резонатор)
16 МГц
(кварцевый резонатор)
Загрузчик основного МК
Optiboot
Optiboot
Загрузчик USB МК
LUFA DFU / Serial
LUFA DFU / Serial
Диапазон напряжений питания
7 – 12 В
7 – 24 В
Выходной ток по линии 3.3 В
50 мА
350 мА
Переключение напряжения
питания USB/Vext
Автоматическое
Автоматическое
Защита от перегрузки
по току на линиях ввода/вывода
Нет
Самовосстанавливающийся
предохранитель (30 мА)
на каждой линии
Защита по напряжению
на линиях ввода/вывода
Нет
Выдерживаемое напряжение до 24 В
Общая защита МК
от перегрузки по току
Нет
150 мА
Защита на выходе 5 В
Нет
Выдерживаемое напряжение до 24 В
Защита на выходе 3.3 В
Нет
Выдерживаемое напряжение до 24 В
Защита интерфейса USB
от перегрузки по току
Самовосстанавливающийся
предохранитель (500 мА)
Самовосстанавливающийся
предохранитель
(500 мА)
Защита от переполюсовки
напряжения питания
Нет
Выдерживаемое напряжение до 30 В
Общая защита платы
от перегрузки по току
Нет
Самовосстанавливающийся
предохранитель
(500 мА)

Далее подробнее остановимся на основных отличительных характеристиках платы Ruggeduino.

Питание платы

Для подачи напряжения питания на плату Ruggeduino предусмотрено несколько разъемов:

Порт USB:
Напряжение +5 В поступает непосредственно от порта USB. Самовосстанавливающийся предохранитель (PTC) 500 мА защищает ПК от перегрузки по току.

Разъем DС power:
Напряжение в диапазоне 7 … 24 В может подаваться от адаптера со стандартным штырьковым разъемом диаметром 2.1 мм с (плюс в центре);

Разъем Vin:
Дублирующий разъем, который может использоваться для подачи напряжения питания 7 … 24 В на плату или на внешние устройства от разъема DC Power.

В случае, когда на отладочную плату одновременно подаются напряжения питания от различных источников, схема автоматического переключения выбирает внешний источник (DC Power или Vin, в зависимости от того, где напряжение выше), если они доступны, в противном случае выбирается порт USB. Такой же подход используется и в плате Arduino UNO.

Питание внешних устройств и плат расширения

Отладочная плата Ruggeduino способна обеспечить питание внешних схем и плат расширения. Для этого на плате предусмотрен специальный разъем с выводами питания. Пользователю доступны следующие три опции:

Выход +5 В:
С контакта платы +5V снимается напряжение, соответствующее напряжению питания МК. Выходной ток ограничивается встроенной схемой температурной защиты регулятора напряжения +5 В при питании от внешнего источника, или самовосстанавливающимся предохранителем 500 мА при питании от порта USB.

Типовое значение выходного тока 500 мА обеспечивается при входном напряжении (Vext) на разъеме DC Power, равном 9 В или менее. Значение выходного тока шины +5 В снижается при увеличении внешнего входного напряжения, что связано с температурной нагрузкой на регулятор напряжения +5 В.

Указанный выход +5 В снабжен схемой защиты от случайной подачи повышенного напряжения. Например, если вы ошибочно подали на этот выход напряжение 24 В, отладочная плата Ruggeduino не выйдет из строя. Заметим, что плата Arduino UNO в таких же условиях получит необратимые повреждения.

Выход +3.3 В:
Контакт с маркировкой +3.3V может использоваться для питания внешней периферии и плат расширения. Выходной ток при напряжении питания платы 9 В и меньше составляет 350 мА. Напомним, что схема регулятора напряжения 3.3 В на плате Arduino UNO обеспечивает выходной ток 50 мА.
Выход +3.3 также снабжен защитой от случайной подачи повышенного напряжения.

Разъем Vin:
На этот разъем подается напряжение с входа DC Power, а выходной ток ограничивается самовосстанавливающимся предохранителем 500 мА, который также защищает этот выход в условиях короткого замыкания (которые могут вывести из строя Arduino UNO).

Установка и программирование

Для операционных систем (ОС) Linux или Mac OS X установка какого-либо дополнительного ПО не требуется. Плата Ruggeduino определяется в системе как устройство USB CDC (Communication Device Class), и функционирует в системе как стандартный последовательный порт.

Для ОС Windows потребуется установка специального INF-файла (доступен для скачивания в секции загрузок), с помощью которого ОС определяет Ruggeduino как устройство USB CDC. При установке INF-файла необходимо следовать инструкции по установке Arduino UNO. Только помните, что используется INF-файл для Ruggeduino вместо Arduino UNO. Следует отметить отсутствие конфликтов между двумя INF-файлами: пользователь может одновременно подключать к компьютеру платы Ruggeduino и Arduino UNO.

Программирование платы Ruggeduino ничем не отличается от Arduino UNO:

  • В меню Tools->Board menu интегрированной среды разработки Arduino IDE необходимо выбрать плату Arduino UNO;
  • В основном МК Ruggeduino предустановлен загрузчик Optiboot, поэтому после установки ПО плата готова к загрузке пользовательских программ (скетчей);
  • Загрузчик LUFA DFU/serial также предустановлен в МК Ruggeduino, и тоже может использоваться для загрузки скетчей. Он может быть модифицирован или заменен на другой таким же образом, как это делается в Arduino UNO: используя DFU/FLIP или интерфейс внутрисхемного программирования (ICSP);
  • МК ATmega328P можно запрограммировать с помощью загрузчика или посредством интерфейса ICSP;
  • Ruggeduino использует аналогичный Arduino UNO механизм автоматического сброса. Перемычка J3 используется для отключения этой опции.

Ключевые особенности интегрированных схем защиты

Как отмечалось выше, плата Ruggeduino снабжена дополнительными компонентами и схемами защиты, которые в случае неправильного подключения исключают ее повреждение и повышают надежность. Далее мы подробно рассмотрим отдельные защитные схемы.

Защита линий ввода/вывода

Каждая линия ввода/вывода снабжена защитным стабилитроном (5.1 В) и самовосстанавливающимся предохранителем на 30 мА с сопротивлением 220 Ом. Эквивалентная схема защиты линий ввода/вывода изображена на Рисунке 2.

Ruggeduino - усовершенствованная Arduino-совместимая платформа
Рисунок 2. Эквивалентная схема цепей защиты линий ввода/вывода платы Ruggeduino.

Изображенная схема гарантирует, что любая линия ввода/вывода выдержит:

  • случайную подачу стороннего напряжения до 24 В;
  • короткое замыкание на «землю»;
  • короткое замыкание на другую линию ввода/вывода.

Кроме того, самовосстанавливающиеся предохранители (термисторы с положительным температурным коэффициентом) сопротивлением 220 Ом могут быть полезны во многих других случаях, например, при управлении светодиодами или транзисторами. На Рисунке 3 изображены примеры подключения транзистора к плате Arduino с использованием дополнительного резистора 220 Ом, и к плате Ruggeduino, где резистор не требуется.

Ruggeduino - усовершенствованная Arduino-совместимая платформа
Рисунок 3. Вариант подключения транзистора к плате Arduino (а) и Ruggeduino (б).

Аналогично, вы можете без дополнительных резисторов подключать светодиоды непосредственно к цифровым выходам Ruggeduino, не беспокоясь о возможном повреждении портов МК повышенным током (Рисунок 4).

Ruggeduino - усовершенствованная Arduino-совместимая платформа
Рисунок 4. Подключать светодиоды к цифровым выходам Ruggeduino можно без резистора (б), в отличие от плат Arduino, где последовательно со светодиодом необходимо включать резистор (а).

Если в вашем приложении резисторы 220 Ом не нужны, вы с легкостью сможете их отключить. У посадочных мест самовосстанавливающихся предохранителей на линиях ввода/вывода дополнительно имеются сквозные отверстия, в которые можно установить перемычку или другой резистор (Рисунок 5).

Ruggeduino - усовершенствованная Arduino-совместимая платформа
Рисунок 5. На печатной плате Ruggeduino в местах расположения самовосстанавливающихся предохранителей 220 Ом на линиях ввода/вывода предусмотрена возможность установки перемычек или резисторов.

Общая схема защиты по току потребления основного микроконтроллера

Ограничение выходного тока каждой линии ввода/вывода не будет эффективным решением без схемы ограничения потребляемого МК тока и рассеиваемой мощности. Эти функции выполняет микросхема IC3 (MIC2009A), ограничивающая общий ток потребления МК на уровне 150 мА (Рисунок 6), независимо от того, сколько портов являются источниками тока.

Ruggeduino - усовершенствованная Arduino-совместимая платформа
Рисунок 6. Схема ограничения тока потребления микроконтроллера.

Микросхема MIC2009A ограничивает ток по шине питания МК +5 В (на схеме обозначается +5V/1). Как только суммарный выходной ток на выводах МК превысит значение 150 мА, микросхема IC3 автоматически уменьшит напряжение питания, чтобы ток потребления установился ниже этого уровня. Вы можете замкнуть любой порт ввода/вывода микроконтроллера на «землю» и программно установить на них высокий логический уровень – можете быть уверены, МК не выйдет из строя. Но не пытайтесь это проделать с платой Arduino!

Схема защиты по выходу 5 В (выход +5VIO)

Как отмечалось выше, ограничение тока на выходе 5 В реализуется схемой тепловой защиты интегрального регулятора напряжения 5 В. Дополнительно этот выход снабжен защитой от повышенного напряжения. Любое напряжение на нем, превысившее 5.5 В (типовое значение), приведет к отключению оставшейся части схемы Ruggeduino, предотвращающему подачу повышенного напряжения на другие компоненты и узлы.

Схема защиты сохраняет работоспособность при входных напряжениях до 24 В.

На Рисунке 7 изображена схема, реализующая указанные защитные функции. Компаратор постоянно контролирует выходное напряжение +5 В (+5VIO), сравнивая его с опорным напряжением 2.4 В, которое устанавливается стабилитроном. Если напряжение на линии +5VIO становится слишком высоким, компаратор срабатывает и отключает MOSFET, предотвращая, тем самым, подачу завышенного напряжения с линии +5VIO на выводы питания МК.

Ruggeduino - усовершенствованная Arduino-совместимая платформа
Рисунок 7. Принципиальная схема узла, выполняющего контроль напряжения питания микроконтроллера.

Схема защиты по выходу 3.3 В (выход +3.3V)

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

Предохранитель и блокирующий диод на входе внешнего питания

После разъема внешнего питания (DC Power Jack) установлен самовосстанавливающийся предохранитель (500 мА). Основная задача этого предохранителя – защита выхода Vin, когда он используется для питания внешних устройств и плат расширения. Функции защиты микроконтроллера и периферии платы от перегрузки по току возложены на интегральный регулятор напряжения 5 В.

Стоит отметить, что на плате Arduino UNO на шине Vin отсутствует диод, защищающий от переполюсовки питания. Если вы ошибочно подадите на разъем Vin напряжение питания с неправильной полярностью, то непременно выведете из строя плату Arduino UNO. На плате Ruggeduino после разъема Vin установлен защитный диод, предотвращающий негативные последствия подобной ситуации (Рисунок 8).

Ruggeduino - усовершенствованная Arduino-совместимая платформа
Рисунок 8. Защитные элементы (предохранитель и диод) в цепи разъема внешнего питания платы Ruggeduino.

Защита вывода Reset (Сброс)

На входе сброса (Reset) основного МК последовательно установлен резистор сопротивлением 1 кОм (R15 на схеме), ограничивающий входной ток в случае подачи повышенного напряжения.

Защита входа опорного напряжения AREF

На входе опорного напряжения АЦП AREF последовательно установлен резистор номиналом 600 Ом (R14 на схеме).

Защита интерфейса USB

Линии данных интерфейса USB, как и линии питания, имеют выполненную на супрессорах защиту от электростатического разряда.

Защита выводов интерфейса внутрисхемного программирования МК

На выводах интерфейса внутрисхемного программирования МК ATmega8U2 последовательно установлены резисторы 1 кОм и стабилитроны с напряжением стабилизации 5.1 В. Выводы интерфейса внутрисхемного программирования основного МК ATmega328P имеют такую же защиту, как порты ввода/вывода МК (см. выше).

Другие особенности платы Ruggeduino

Прецизионный генератор тактовых сигналов:
Основной МК тактируется от прецизионного осциллятора 16 МГц (точность 0.005%), в отличие от Arduino UNO, где для синхронизации используется кварцевый резонатор.

Изолированный светодиод на выходе D13:
Светодиод, подключенный к выходу D13, изолирован от выхода МК с помощью транзистора Q3, в отличие от Arduino UNO, где этот светодиод подключен непосредственно к выводу МК. При таком решении выходной ток порта МК значительно снижается, позволяя использовать его для других целей.

Возможность отключения встроенных светодиодов:
В некоторых приложениях нет необходимости использовать установленные на плату светодиоды. Каждый из четырех светодиодов Ruggeduino включен через перемычку (J1, J2, J4, J5), которую можно удалить, чтобы отключить соответствующий светодиод.

Кнопка сброса USB МК ATmega8U2:
Для перепрограммирования МК ATmega8U2 на плате предусмотрено место для установки кнопки (на схеме S2), с помощью которой будет легко перевести МК в режим обновления прошивки.

Резистор ограничения тока по линии DTR:
Механизм автоматического сброса Arduino UNO оказывает негативное влияние на USB МК ATmega8U2, поскольку он должен немедленно разрядить конденсатор, подключенный к выводу сброса МК ATmega328P. Это мгновенное значение тока может, с течением времени, ухудшить характеристики драйвера порта, и даже привести к его повреждению. В Ruggeduino резистор 100 Ом (на схеме R41) ограничивает этот ток и защищает МК ATmega8U2.

Загрузки

Принципиальная схема отладочной платы Ruggeduino

INF-файл драйвера Ruggeduino

Перевод: Vadim по заказу РадиоЛоцман

На английском языке: Ruggeduino - Ruggedized Arduino-compatible microcontroller board

Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя