Электропитание Arduino
Arduino — гибкая платформа в отношении возможностей подключения и на неё можно подавать напряжение несколькими способами. Это очень удобно, но иногда можно запутаться. Давайте посмотрим на возможные способы питания платы:
Способ 1 — питание Arduino через разъём DC (5,5мм/2,1мм)
Напряжение
У полноразмерных плат Arduino (Duemilanove, Uno, Mega, Leonardo и т. п.) есть линейный регулятор напряжения и разъём подключения блока питания 5,5мм/2,1мм (внешний / внутренний диаметр). К нему можно подключать источник питания постоянного тока с напряжением от 9 до 12 Вольт.
Если у вас есть блок питания с напряжением меньше 7 В, то плата, возможно, будет работать, но на портах ввода-вывода платы будет уже не 5 Вольт, а меньше и ваша схема будет работать менее предсказуемо.
С другой стороны, напряжение выше рекомендуемого заставить регулятор напряжения на плате работать в режиме перегрузки, перегреваться и выделять слишком много тепла.
Золотая середина — 9. 12 Вольт — позволит регулятору напряжения рассеивать выделяемое на радиаторе тепло без перегрузок и подавать на микроконтроллер требуемое напряжение.
Следует отметить, что на выводе Vin платы будет не стабилизированное напряжение 5 В, а напряжение на входе в плату. Это удобно, например, в случае если у вас есть реле с обмоткой на 12 В и у ваш блок питания на 12 В — просто подавайте напряжение с Vin!
Ток
Потребляемый платой ток зависит от того, какие части микроконтроллера работают в данный момент и какая нагрузка подключена к плате. Чем больший ток может обеспечить ваш блок питания, тем лучше, это значит что при большой нагрузке на него он не будет перегреваться.
Минимальное требование — 250 мА, что позволят запустить только лишь одну плату Arduino без подключённых к ней датчиков или актюаторов. Лучше — источник питания на ток от 0,5 А до 2 А.
Вот некоторые ограничения по току для разных устройств:
- порты USB имеют автоматический предохранитель на 500 мА, который должен отключить порт при его перегрузке. Любое устройство, потребляющее ток большее 500 мА, подключённое к порту, будет работать непредсказуемо или не работать совсем.
- максимальный ток для порта вводы-выводы микроконтроллера ATmega составляем 40 мА (рекомендуется не более 35 мА) при общем токе потребления микроконтроллером не более 200 мА.
- максимальный ток, который может выдержать порт 5V платы Arduino, составляет 0,8 А, однако рекомендуется допускать не более 500 мА.
- порт Vin платы Arduino мог-бы выдержать такой же ток, как и источник питания, но его ток ограничен защитным диодом этой цепи, а он рассчитан та ток 1А.
- некоторая периферия (такие как двигатели, реле, нагревательные элементы и т.п.) могут потреблять очень большой ток, так что вам следует внимательно читать описание компоненты и обеспечивать требуемый ток. Фактически, устройство, потребляющее ток более 0,5 А, должно быть запитано от своего источника.
Способ 2 — питание Arduino через USB (5 В, 500 мА)
Плата Arduino может получать электропитание от порта USB, который должен быть подключен к стабилизированному источнику напряжения 5В или компьютеру. Выше мы уже писали, что ограничение для порта USB по току составляет 500 мА.
При подключении к питанию через порт USB входящее напряжение подаётся прямо на линию питания микроконтроллера 5В и при превышении его можно повредить.
На плате установлен автоматический предохранитель, который отключит порт USB от платы при потреблении более 500 мА до тех пор пока нагрузка не будет отключена. При этом работа вашей платы будет выглядеть как постоянная перезагрузка.
Если к плате Arduino одновременно подключены и порт USB и отдельный источник питания, то плата переключится на внешний источник если напряжение на нём больше 6-7 Вольт.
Способ 3 — через разъёмы ввода-вывода

Vin — порт может быть использовать как вход напряжения для источника питания, например от батареек, аккумулятора или блока питания. Напряжение должно быть в пределах 9 — 12 В и будет снижено регулятором на плате до 5 В
5V — порт выдаёт стабилизированное регулятором напряжение 5 В. Вы можете подавать через этот порт напряжение питания прямо на микроконтроллер, однако оно должно быть стабилизировано!
3V3 — выход 3,3 В от отдельного стабилизатора на плате. Максимальный ток — 150 мА
Arduino.ru
Arduino Uno контроллер построен на ATmega328 (техническое описание, pdf). Платформа имеет 14 цифровых вход/выходов (6 из которых могут использоваться как выходы ШИМ), 6 аналоговых входов, кварцевый генератор 16 МГц, разъем USB, силовой разъем, разъем ICSP и кнопку перезагрузки. Для работы необходимо подключить платформу к компьютеру посредством кабеля USB, либо подать питание при помощи адаптера AC/DC или батареи.
В отличие от всех предыдущих плат, использовавших FTDI USB микроконтроллер для связи по USB, новый Ардуино Uno использует микроконтроллер ATmega8U2 (техническое описание, pdf).
«Uno» переводится как один с итальянского и разработчики тем самым намекают на грядущий выход Arduino 1.0. Новая плата стала флагманом линейки плат Ардуино. Для сравнения с предыдущими версиями можно обратиться к полному списку плат Arduino.
Характеристики
Микроконтроллер
Рабочее напряжение
Входное напряжение (рекомендуемое)
Входное напряжение (предельное)
Цифровые Входы/Выходы
14 (6 из которых могут использоваться как выходы ШИМ)
Аналоговые входы
Постоянный ток через вход/выход
Постоянный ток для вывода 3.3 В
Флеш-память
32 Кб (ATmega328) из которых 0.5 Кб используются для загрузчика
2 Кб (ATmega328)
1 Кб (ATmega328)
Тактовая частота
Схема и исходные данные
Питание
Arduino Uno может получать питание через подключение USB или от внешнего источника питания. Источник питания выбирается автоматически.
Внешнее питание (не USB) может подаваться через преобразователь напряжения AC/DC (блок питания) или аккумуляторной батареей. Преобразователь напряжения подключается посредством разъема 2.1 мм с центральным положительным полюсом. Провода от батареи подключаются к выводам Gnd и Vin разъема питания.
Платформа может работать при внешнем питании от 6 В до 20 В. При напряжении питания ниже 7 В, вывод 5V может выдавать менее 5 В, при этом платформа может работать нестабильно. При использовании напряжения выше 12 В регулятор напряжения может перегреться и повредить плату. Рекомендуемый диапазон от 7 В до 12 В.
- VIN. Вход используется для подачи питания от внешнего источника (в отсутствие 5 В от разъема USB или другого регулируемого источника питания). Подача напряжения питания происходит через данный вывод.
- 5V. Регулируемый источник напряжения, используемый для питания микроконтроллера и компонентов на плате. Питание может подаваться от вывода VIN через регулятор напряжения, или от разъема USB, или другого регулируемого источника напряжения 5 В.
- 3V3. Напряжение на выводе 3.3 В генерируемое встроенным регулятором на плате. Максимальное потребление тока 50 мА.
- GND. Выводы заземления.
Память
Микроконтроллер ATmega328 располагает 32 кБ флэш памяти, из которых 0.5 кБ используется для хранения загрузчика, а также 2 кБ ОЗУ (SRAM) и 1 Кб EEPROM.(которая читается и записывается с помощью библиотеки EEPROM).
Входы и Выходы
Каждый из 14 цифровых выводов Uno может настроен как вход или выход, используя функции pinMode(), digitalWrite(), и digitalRead(), . Выводы работают при напряжении 5 В. Каждый вывод имеет нагрузочный резистор (по умолчанию отключен) 20-50 кОм и может пропускать до 40 мА. Некоторые выводы имеют особые функции:
- Последовательная шина: 0 (RX) и 1 (TX). Выводы используются для получения (RX) и передачи (TX) данных TTL. Данные выводы подключены к соответствующим выводам микросхемы последовательной шины ATmega8U2 USB-to-TTL.
- Внешнее прерывание: 2 и 3. Данные выводы могут быть сконфигурированы на вызов прерывания либо на младшем значении, либо на переднем или заднем фронте, или при изменении значения. Подробная информация находится в описании функции attachInterrupt().
- ШИМ: 3, 5, 6, 9, 10, и 11. Любой из выводов обеспечивает ШИМ с разрешением 8 бит при помощи функции analogWrite().
- SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Посредством данных выводов осуществляется связь SPI, для чего используется библиотека SPI.
- LED: 13. Встроенный светодиод, подключенный к цифровому выводу 13. Если значение на выводе имеет высокий потенциал, то светодиод горит.
На платформе Uno установлены 6 аналоговых входов (обозначенных как A0 .. A5), каждый разрешением 10 бит (т.е. может принимать 1024 различных значения). Стандартно выводы имеют диапазон измерения до 5 В относительно земли, тем не менее имеется возможность изменить верхний предел посредством вывода AREF и функции analogReference(). Некоторые выводы имеют дополнительные функции:
- I2C: 4 (SDA) и 5 (SCL). Посредством выводов осуществляется связь I2C (TWI), для создания которой используется библиотека Wire.
Дополнительная пара выводов платформы:
- AREF. Опорное напряжение для аналоговых входов. Используется с функцией analogReference().
- Reset. Низкий уровень сигнала на выводе перезагружает микроконтроллер. Обычно применяется для подключения кнопки перезагрузки на плате расширения, закрывающей доступ к кнопке на самой плате Arduino.
Обратите внимание на соединение между выводами Arduino и портами ATmega328.
Связь
На платформе Arduino Uno установлено несколько устройств для осуществления связи с компьютером, другими устройствами Arduino или микроконтроллерами. ATmega328 поддерживают последовательный интерфейс UART TTL (5 В), осуществляемый выводами 0 (RX) и 1 (TX). Установленная на плате микросхема ATmega8U2 направляет данный интерфейс через USB, программы на стороне компьютера «общаются» с платой через виртуальный COM порт. Прошивка ATmega8U2 использует стандартные драйвера USB COM, никаких стороних драйверов не требуется, но на Windows для подключения потребуется файл ArduinoUNO.inf. Мониторинг последовательной шины (Serial Monitor) программы Arduino позволяет посылать и получать текстовые данные при подключении к платформе. Светодиоды RX и TX на платформе будут мигать при передаче данных через микросхему FTDI или USB подключение (но не при использовании последовательной передачи через выводы 0 и 1).
Библиотекой SoftwareSerial возможно создать последовательную передачу данных через любой из цифровых выводов Uno.
ATmega328 поддерживает интерфейсы I2C (TWI) и SPI. В Arduino включена библиотека Wire для удобства использования шины I2C.
Программирование
Платформа программируется посредством ПО Arduino. Из меню Tools > Board выбирается «Arduino Uno» (согласно установленному микроконтроллеру). Подробная информация находится в справочнике и инструкциях.
Микроконтроллер ATmega328 поставляется с записанным загрузчиком, облегчающим запись новых программ без использования внешних программаторов. Связь осуществляется оригинальным протоколом STK500.
Имеется возможность не использовать загрузчик и запрограммировать микроконтроллер через выводы ICSP (внутрисхемное программирование). Подробная информация находится в данной инструкции.
Автоматическая (программная) перезагрузка
Uno разработана таким образом, чтобы перед записью нового кода перезагрузка осуществлялась самой программой Arduino на компьютере, а не нажатием кнопки на платформе. Одна из линий DTR микросхемы ATmega8U2, управляющих потоком данных (DTR), подключена к выводу перезагрузки микроконтроллеру ATmega328 через 100 нФ конденсатор. Активация данной линии, т.е. подача сигнала низкого уровня, перезагружает микроконтроллер. Программа Arduino, используя данную функцию, загружает код одним нажатием кнопки Upload в самой среде программирования. Подача сигнала низкого уровня по линии DTR скоординирована с началом записи кода, что сокращает таймаут загрузчика.
Функция имеет еще одно применение. Перезагрузка Uno происходит каждый раз при подключении к программе Arduino на компьютере с ОС Mac X или Linux (через USB). Следующие полсекунды после перезагрузки работает загрузчик. Во время программирования происходит задержка нескольких первых байтов кода во избежание получения платформой некорректных данных (всех, кроме кода новой программы). Если производится разовая отладка скетча, записанного в платформу, или ввод каких-либо других данных при первом запуске, необходимо убедиться, что программа на компьютере ожидает в течение секунды перед передачей данных.
На Uno имеется возможность отключить линию автоматической перезагрузки разрывом соответствующей линии. Контакты микросхем с обоих концов линии могут быть соединены с целью восстановления. Линия маркирована «RESET-EN». Отключить автоматическую перезагрузку также возможно подключив резистор 110 Ом между источником 5 В и данной линией.
Токовая защита разъема USB
В Arduino Uno встроен самовостанавливающийся предохранитель (автомат), защищающий порт USB компьютера от токов короткого замыкания и сверхтоков. Хотя практически все компьютеры имеют подобную защиту, тем не менее, данный предохранитель обеспечивает дополнительный барьер. Предохранитель срабатыват при прохождении тока более 500 мА через USB порт и размыкает цепь до тех пока нормальные значения токов не будут востановлены.
Физические характеристики
Длина и ширина печатной платы Uno составляют 6.9 и 5.3 см соответственно. Разъем USB и силовой разъем выходят за границы данных размеров. Четыре отверстия в плате позволяют закрепить ее на поверхности. Расстояние между цифровыми выводами 7 и 8 равняется 0,4 см, хотя между другими выводами оно составляет 0,25 см.
Блок питания для Arduino. Чем запитывать Ардуину?
Есть несколько способов питания ардуины — от внешнего адаптера 220V/9V, от USB-порта и просто от постоянных 5V.
У начинающих пользователей Ардуины может возникнуть вопрос, от какого источника лучше питать эту плату. Есть несколько вариантов.
1) Питание от компьютера через USB-порт . Это самый простой вариант, поскольку прошивка платы и так (в большинстве случаев) осуществляется через USB-порт, так что не требуется городить какие-то дополнительные схемы или покупать отдельный блок питания. Конечно, недостаток здесь в том, что плата должна быть всё время подключена к компьютеру, но можно и какому-либо другому устройству. Оптимальный вариант, если нужно просто протестировать работоспособность платы.
2) Питание от +5В . Эти 5 вольт нужно прост подать на вывод 5V — и всё будет работать: микроконтроллер и остальная перефирия будут питаться непосредственно от этих 5 вольт. Поэтому нужно быть осторожными, чтобы не спалить здесь всё подряд. Поэтому питание должно быть стабильно 5V. Например, я обычно использую блока питания десктопного компьютера — «дежурные +5».
3) Ардуину можно запитывать от внешнего адаптера (блока питания) со специальным разъемом, чтобы подошел к плате, смотри рисунок:
На этом вход ардуины стоит стабилизатор — поэтому туда нужно подавать напряжение несколько больше 5В, а именно в районе от 7В до 12В. Оптимально — 9В . Мощность блока питания зависит от того, какая перефирия будет подключаться. Обычно достаточно блока на 1A. Они стоят совсем недорого. Я покупаю их здесь .
Чем запитать ардуино
Arduino Nano — это полнофункциональное миниатюрное устройство на базе микроконтроллера ATmega328 (Arduino Nano 3.0) или ATmega168 (Arduino Nano 2.x), адаптированное для использования с макетными платами. По функциональности устройство похоже на Arduino Duemilanove, и отличается от него размерами, отсутствием разъема питания, а также другим типом (Mini-B) USB-кабеля. Arduino Nano разработано и выпускается фирмой Gravitech.
![]() |
![]() |
Схема и исходный проект
Arduino Nano 2.3 (ATmega168): руководство (pdf), файлы Eagle. Примечание: печатная плата этой версии Arduino Nano содержит 4 слоя, в то время как бесплатная версия Eagle позволяет работать только с двухслойными платами. Поэтому, для возможности работы со схемой в бесплатной версии, проект выложен без трассировки печатной платы.
Характеристики:
| Микроконтроллер | Atmel ATmega168 или ATmega328 |
| Рабочее напряжение (логический уровень) | 5В |
| Напряжение питания (рекомендуемое) | 7-12В |
| Напряжение питания (предельное) | 6-20В |
| Цифровые входы/выходы | 14 (из которых 6 могут использоваться как ШИМ-выходы) |
| Аналоговые входы | 8 |
| Максимальный ток одного вывода | 40 мА |
| Flash-память | 16 КБ (ATmega168) или 32 КБ (ATmega328) из которых 2 КБ используются загрузчиком |
| SRAM | 1 КБ (ATmega168) или 2 КБ (ATmega328) |
| EEPROM | 512 байт (ATmega168) или 1 КБ (ATmega328) |
| Тактовая частота | 16 МГц |
| Размеры платы | 1.85 см х 4.3 см |
Питание
Arduino Nano может быть запитан через кабель Mini-B USB, от внешнего источника питания с нестабилизированным напряжением 6-20В (через вывод 30) либо со стабилизированным напряжением 5В (через вывод 27). Устройство автоматически выбирает источник питания с наибольшим напряжением.
Напряжение на микросхему FTDI FT232RL подается только в случае питания Arduino Nano через USB. Поэтому при питании устройства от других внешних источников (не USB), выход 3.3В (формируемый микросхемой FTDI) будет неактивен, в результате чего светодиоды RX и TX могут мерцать при наличии высокого уровня сигнала на выводах 0 и 1.
Память
Объем памяти программ микроконтроллера ATmega168 составляет 16 КБ (из них 2 КБ используются загрузчиком); в ATmega328 — этот объем составляет 32 КБ (из которых 2 КБ также отведены под загрузчик). Помимо этого, ATmega168 имеет 1 КБ оперативной памяти SRAM и 512 байт EEPROM (для взаимодействия с которой служит библиотека EEPROM); а микроконтроллер ATmega328 — 2 КБ SRAM и 1 КБ EEPROM.
Входы и выходы
С использованием функций pinMode(), digitalWrite() и digitalRead() каждый из 14 цифровых выводов Arduino Nano может работать в качестве входа или выхода. Рабочее напряжение выводов — 5В. Максимальный ток, который может отдавать или потреблять один вывод, составляет 40 мА. Все выводы сопряжены с внутренними подтягивающими резисторами (по умолчанию отключенными) номиналом 20-50 кОм. Помимо основных, некоторые выводы Ардуино могут выполнять дополнительные функции:
- Последовательный интерфейс: выводы 0 (RX) и 1 (TX). Используются для получения (RX) и передачи (TX) данных по последовательному интерфейсу. Эти выводы соединены с соответствующими выводами микросхемы-преобразователя USB-UART от FTDI.
- Внешние прерывания: выводы 2 и 3. Данные выводы могут быть сконфигурированы в качестве источников прерываний, возникающих при различных условиях: при низком уровне сигнала, по фронту, по спаду или при изменении сигнала. Для получения дополнительной информации см. функцию attachInterrupt().
- ШИМ: выводы 3, 5, 6, 9, 10 и 11. С помощью функции analogWrite() могут выводить 8-битные аналоговые значения в виде ШИМ-сигнала.
- Интерфейс SPI: выводы 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Данные выводы позволяют осуществлять связь по интерфейсу SPI. В устройстве реализована аппаратная поддержка SPI, однако на данный момент язык Ардуино пока ее не поддерживает.
- Светодиод: вывод 13. Встроенный светодиод, подсоединенный к цифровому выводу 13. При отправке значения HIGH светодиод включается, при отправке LOW — выключается.
В Arduino Ethernet есть 8 аналоговых входов, каждый из которых может представить аналоговое напряжение в виде 10-битного числа (1024 различных значения). По умолчанию, измерение напряжения осуществляется относительно диапазона от 0 до 5 В. Тем не менее, верхнюю границу этого диапазона можно изменить, используя вывод AREF и функцию analogReference(). Помимо этого, некоторые из выводов имеют дополнительные функции:
- I2С: выводы 4 (SDA) и 5 (SCL). С использованием библиотеки Wire (документация на веб-сайте Wiring) данные выводы могут осуществлять связь по интерфейсу I2C (TWI).
Помимо перечисленных на плате существует еще несколько выводов:
- AREF. Опорное напряжение для аналоговых входов. Может задействоваться функцией analogReference().
- Reset. Формирование низкого уровня (LOW) на этом выводе приведет к перезагрузке микроконтроллера. Обычно этот вывод служит для функционирования кнопки сброса на платах расширения
Связь
Arduino Nano предоставляет ряд возможностей для осуществления связи с компьютером, еще одним Ардуино или другими микроконтроллерами. В ATmega168 и ATmega328 есть приемопередатчик UART, позволяющий осуществлять связь по последовательным интерфейсам посредством цифровых выводов 0 (RX) и 1 (TX). Микросхема FTDI FT232RL обеспечивает связь приемопередатчика с USB-портом компьютера, и при подключении к ПК позволяет Ардуино определяться как виртуальный COM-порт (драйвера FTDI включены в пакет программного обеспечения Ардуино). В пакет программного обеспечения Ардуино также входит специальная программа, позволяющая считывать и отправлять на Ардуино простые текстовые данные. При передаче данных компьютеру через USB на плате будут мигать светодиоды RX и TX. (При последовательной передаче данных посредством выводов 0 и 1 данные светодиоды не задействуются).
Библиотека SoftwareSerial позволяет реализовать последовательную связь на любых цифровых выводах Arduino Nano.
В микроконтроллерах ATmega328 и ATmega168 также реализована поддержка последовательных интерфейсов I2C (TWI) и SPI. В программное обеспечение Ардуино входит библиотека Wire, позволяющая упростить работу с шиной I2C; для получения более подробной информации см. документацию. Для работы с интерфейсом SPI см. даташиты микроконтроллеров ATmega168 и ATmega328.
Программирование
Arduino Nano программируется с помощью программного обеспечения Ардуино (скачать). Для этого из меню Tools > Board необходимо выбрать «Arduino Diecimila, Duemilanove, or Nano w/ ATmega168» или «Arduino Duemilanove or Nano w/ ATmega328» (в зависимости от микроконтроллера на вашей плате). Для получения более подробной информации см. справку и примеры.
ATmega168 и ATmega328 в Arduino Nano выпускается с прошитым загрузчиком, позволяющим загружать в микроконтроллер новые программы без необходимости использования внешнего программатора. Взаимодействие с ним осуществляется по оригинальному протоколу STK500 (справка, заголовки C-файлов).
Тем не менее, микроконтроллер можно прошить и через разъем для внутрисхемного программирования ICSP (In-Circuit Serial Programming), не обращая внимания на загрузчик; более подробно об этом см. соответствующие инструкции.
Автоматический (программный) сброс
Чтобы каждый раз перед загрузкой программы не требовалось нажимать кнопку сброса, Arduino Nano спроектирован таким образом, который позволяет осуществлять его сброс программно с подключенного компьютера. Один из выводов микросхемы FT232RL, участвующий в управлении потоком данных (DTR), соединен с выводом RESET микроконтроллера ATmega168 или ATmega328 через конденсатор номиналом 100 нФ. Когда на линии DTR появляется ноль, вывод RESET также переходит в низкий уровень на время, достаточное для перезагрузки микроконтроллера. Данная особенность используется для того, чтобы можно было прошивать микроконтроллер всего одним нажатием кнопки в среде программирования Ардуино. Такая архитектура позволяет уменьшить таймаут загрузчика, поскольку процесс прошивки всегда синхронизирован со спадом сигнала на линии DTR. Такая архитектура позволяет уменьшить таймаут загрузчика, поскольку процесс прошивки всегда синхронизирован со спадом сигнала на линии DTR.
Однако эта система может приводить и к другим последствиям. При подключении Arduino Nano к компьютерам, работающим на Mac OS X или Linux, его микроконтроллер будет сбрасываться при каждом соединении программного обеспечения с платой. После сброса на Arduino Nano активизируется загрузчик на время около полсекунды. Несмотря на то, что загрузчик запрограммирован игнорировать посторонние данные (т.е. все данные, не касающиеся процесса прошивки новой программы), он может перехватить несколько первых байт данных из посылки, отправляемой плате сразу после установки соединения. Соответственно, если в программе, работающей на Ардуино, предусмотрено получение от компьютера каких-либо настроек или других данных при первом запуске, убедитесь, что программное обеспечение, с которым взаимодействует Ардуино, осуществляет отправку спустя секунду после установки соединения.
- Последние новости
- подписаться на новости
- Последние темы с форума

