Меню

Arduino nano ток выхода

Arduino Nano выходы

Небольшой размер Arduino Nano очень удобен для проектирования. Nano ничем не уступает UNO. У них одинаковый процессор ATmega328P(у версии 3.0), питание, количество выходов. Такой размер достигается отсутствием гнезда для внешнего питания,но можно подключиться напрямую к пинам или использовать шилд. В плате используется чип FTDI FT232RL для USB-Serial преобразования и применяется mini-USB кабель для связи с ардуино вместо стандартного.

Характеристики
Напряжение питания 5В;
Входное питание 7-12В (рекомендованное);
Количество цифровых пинов – 14, из них 6 могут использоваться в качестве выходов ШИМ;
8 аналоговых входов;
Максимальный ток цифрового выхода 40 мА;
Флэш- память 16 Кб или 32 Кб, в зависимости от чипа;
ОЗУ 1 Кб или 2 Кб, в зависимости от чипа;
EEPROM 512 байт или 1 Кб;
Частота 16 МГц;
Размеры 19 х 42 мм;
Вес 7 г.

Цифровые и Аналоговые выходы работают в диапазоне от 0 до 5 Вольт. Цифровые могут выдавать 0(LOW) или 1(HIGH).
Максимальный ток не должен превышать 40 мА, а общий ток контактов должен быть не более 200 мА.

Цифровых пинов — 14 они обозначены буквой D (digital)
Рядом с некоторыми стоит знак

. Эти контакты можно использовать в качестве выходов ШИМ. Это пины D3, D5, D6, D9, D10, D11

Arduino Nano 3.0 (ATmega328)

Arduino Nano

Arduino Nano

Arduino Nano 2.3 (ATmega168)

Arduino Nano Arduino Nano

Дополнительную информацию можно прочитать

Arduino Nano Pro Mini Uno Mega Сравнение Ардуино NANO — UNO — MEGA — Pro Mini
Arduino Nano описание Описание разных версий плат
Arduino Nano shield Для удобства работы. Беспаечная сборка.
Arduino Nano datasheet Набор документации

Источник



Arduino.ru

Arduino Nano

Плата контроллер Arduino NanoПлата Arduino Nano

Общие сведения

Платформа Nano, построенная на микроконтроллере ATmega328 (Arduino Nano 3.0) или ATmega168 (Arduino Nano 2.x), имеет небольшие размеры и может использоваться в лабораторных работах. Она имеет схожую с Arduino Duemilanove функциональность, однако отличается сборкой. Отличие заключается в отсутствии силового разъема постоянного тока и работе через кабель Mini-B USB. Nano разработана и продается компанией Gravitech.

Принципиальные схемы и исходные данные

Arduino Nano 3.0 (ATmega328): схемы и файлы Eagle.

Arduino Nano 2.3 (ATmega168): руководство (pdf) и файлы Eagle. Примечание: т.к. свободная версия файлов Eagle не позволяет работать более чем с двумя слоями, а данная версия схем Nano содержит четыре слоя, то схемы публикуются не трассированными.

Краткие характеристики
Питание:

Arduino Nano может получать питание через подключение Mini-B USB, или от нерегулируемого 6-20 В (вывод 30), или регулируемого 5 В (вывод 27), внешнего источника питания. Автоматически выбирается источник с самым высоким напряжением.

Микросхема FTDI FT232RL получает питание, только если сама платформа запитана от USB. Таким образом при работе от внешнего источника (не USB), будет отсутствовать напряжение 3.3 В, генерируемое микросхемой FTDI, при этом светодиоды RX и TX мигаю только при наличие сигнала высокого уровня на выводах 0 и 1.

Память

Микроконтроллер ATmega168 имеет 16 кБ флеш-памяти для хранения кода программы, а микроконтроллер ATmega328, в свою очередь, имеет 32 кБ (в обоих случаях 2 кБ используется для хранения загрузчика). ATmega168 имеет 1 кБ ОЗУ и 512 байт EEPROM (которая читается и записывается с помощью библиотеки EEPROM), а ATmega328 – 2 кБ ОЗУ и 1 Кб EEPROM.

Входы и Выходы

Arduino Nano лицевая сторонаArduino Nano обратная сторона

Каждый из 14 цифровых выводов Nano, используя функции pinMode(), digitalWrite(), и digitalRead(), может настраиваться как вход или выход. Выводы работают при напряжении 5 В. Каждый вывод имеет нагрузочный резистор (стандартно отключен) 20-50 кОм и может пропускать до 40 мА. Некоторые выводы имеют особые функции:

  • Последовательная шина: 0 (RX) и 1 (TX). Выводы используются для получения (RX) и передачи (TX) данных TTL. Данные выводы подключены к соответствующим выводам микросхемы последовательной шины FTDI USB-to-TTL.
  • Внешнее прерывание: 2 и 3. Данные выводы могут быть сконфигурированы на вызов прерывания либо на младшем значении, либо на переднем или заднем фронте, или при изменении значения. Подробная информация находится в описании функции attachInterrupt().
  • ШИМ: 3, 5, 6, 9, 10, и 11. Любой из выводов обеспечивает ШИМ с разрешением 8 бит при помощи функции analogWrite().
  • SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Посредством данных выводов осуществляется связь SPI, которая, хотя и поддерживается аппаратной частью, не включена в язык Arduino.
  • LED: 13. Встроенный светодиод, подключенный к цифровому выводу 13. Если значение на выводе имеет высокий потенциал, то светодиод горит.

На платформе Nano установлены 8 аналоговых входов, каждый разрешением 10 бит (т.е. может принимать 1024 различных значения). Стандартно выводы имеют диапазон измерения до 5 В относительно земли, тем не менее имеется возможность изменить верхний предел посредством функции analogReference(). Некоторые выводы имеют дополнительные функции:

  • I2C: A4 (SDA) и A5 (SCL). Посредством выводов осуществляется связь I2C (TWI). Для создания используется библиотека Wire (информация на сайте Wiring).

Дополнительная пара выводов платформы:

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

На платформе Arduino Nano установлено несколько устройств для осуществления связи с компьютером, другими устройствами Arduino или микроконтроллерами. ATmega168 и ATmega328 поддерживают последовательный интерфейс UART TTL (5 В), осуществляемый выводами 0 (RX) и 1 (TX). Установленная на плате микросхема FTDI FT232RL направляет данный интерфейс через USB, а драйверы FTDI (включены в программу Arduino) предоставляют виртуальный COM порт программе на компьютере. Мониторинг последовательной шины (Serial Monitor) программы Arduino позволяет посылать и получать текстовые данные при подключении к платформе. Светодиоды RX и TX на платформе будут мигать при передаче данных через микросхему FTDI или USB подключение (но не при использовании последовательной передачи через выводы 0 и 1).

Библиотекой SoftwareSerial возможно создать последовательную передачу данных через любой из цифровых выводов Nano.

ATmega168 и ATmega328 поддерживают интерфейсы I2C (TWI) и SPI. В Arduino включена библиотека Wire для удобства использования шины I2C. Более подробная информация находится в документации. Для использования интерфейса SPI обратитесь к техническим данным микроконтроллеров ATmega168 и ATmega328.

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

Платформа программируется посредством ПО Arduino. Из меню Tools > Board выбирается «Arduino Diecimila, Duemilanove или Nano w/ ATmega168» или «Arduino Duemilanove или Nano w/ ATmega328» (согласно установленному микроконтроллеру). Подробная информация находится в справочнике и инструкциях.

Микроконтроллеры ATmega168 и ATmega328 поставляются с записанным загрузчиком, облегчающим запись новых программ без использования внешних программаторов. Связь осуществляется оригинальным протоколом STK500.

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

Автоматическая (программная) перезагрузка

Nano разработана таким образом, чтобы перед записью нового кода перезагрузка осуществлялась самой программой, а не нажатием кнопки на платформе. Одна из линий FT232RL, управляющих потоком данных (DTR), подключена к выводу перезагрузки микроконтроллеров ATmega168 или ATmega328 через конденсатор 100 нФ. Активация данной линии, т.е. подача сигнала низкого уровня, перезагружает микроконтроллер. Программа Arduino, используя данную функцию, загружает код одним нажатием кнопки Upload в самой среде программирования. Подача сигнала низкого уровня по линии DTR скоординирована с началом записи кода, что сокращает таймаут загрузчика.

Функция имеет еще одно применение. Перезагрузка Nano происходит каждый раз при подключении к программе Arduino на компьютере с ОС Mac X или Linux (через USB). Следующие полсекунды после перезагрузки работает загрузчик. Во время программирования происходит задержка нескольких первых байтов кода во избежание получения платформой некорректных данных (всех, кроме кода новой программы). Если производится разовая отладка скетча, записанного в платформу, или ввод каких-либо других данных при первом запуске, необходимо убедиться, что программа на компьютере ожидает в течение секунды перед передачей данных.

Источник

Характеристики платы Arduino Nano

Arduino Nano (AN) — одна из самых популярных плат семейства Arduino. В ней установлен тот же микроконтроллер, что и в модели Uno (ATmega328P), хотя размеры варианта Nano намного меньше. На основе платы можно собирать различные экспериментальные устройства. Для этого необходимо знать ее характеристики.

Распиновка платы Arduino Nano.

Распиновка платы Arduino Nano

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

  • 1, 2: работа с UART-интерфейсом;
  • 3, 28: сброс микроконтроллера;
  • 4, 29: общий провод;
  • 5: внешнее прерывание;
  • 6: внешнее прерывание / создание сигнала с широтно-импульсной модуляцией;
  • 7: работа с I2C-интерфейсом / таймер-счетчик 0;
  • 8: работа с I2C-интерфейсом / создание ШИМ-сигнала / таймер-счетчик 1;
  • 9, 12: создание ШИМ-сигнала;
  • 10, 11: цифровые пины ввода/вывода, специальных функций нет;
  • 13, 14, 15: работа с SPI-интерфейсом / создание ШИМ-сигнала;
  • 16: подключение светодиода / работа с SPI-интерфейсом;
  • 17: питание 3,3 В;
  • 18: опорное напряжение для АЦП;
  • 19-26: аналоговые входы (AP) для АЦП;
  • 27: питание 5 В;
  • 30: входной сигнал VIN 7-12 В.
Читайте также:  Генератор электрического тока в екатеринбурге

У Arduino Nano 14 цифровых портов (DP) и 8 AP.

Технические характеристики платы

Питание 5 В
Входной сигнал 7-12 В (DC)
Количество DP 14 (6 для ШИМ)
Количество AP 8
Максимальный ток DP 40 мА
Память формата Flash 16 / 32 Кб
Оперативная память 1 / 2 Кб
Память формата EEPROM 512 байт / 1 Кб
Тактовая частота работы микроконтроллера 16 МГц
Габариты Ширина — 19 мм, длина — 42 мм
Вес 7 г

Подробный обзор возможностей платы приведен в Datasheet — технической документации. Там же указаны детальные характеристики и описание AN.

Распиновка.

Схема электрическая

Важнейшими элементами платы Arduino Nano являются программатор (ISCP-разъем) и микроконтроллер (ATmega328P). Знать их структурные, принципиальные схемы и назначение контактов необходимо каждому, кто собирается работать с данной платой.

Схема ISCP «Ардуино Нано»

ISCP-разъем (или SPI) — программатор, через который скетч (код для микроконтроллера платы) загружается в ATmega328P. У него 6 контактов. Отверстие первого из них выполнено в форме квадрата для удобства отсчета.

  1. MISO: вход ведущего, выход ведомого при передаче данных.
  2. +VCC: напряжение питания.
  3. SCK: последовательный тактовый сигнал.
  4. MOSI: выход ведущего, вход ведомого при передаче данных.
  5. Reset: сброс.
  6. GND: общий провод.

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

Контроллер платы — ATmega328P. Ядро микросхемы — CPU, к которому идут 2 шины (шина данных и шина ввода/вывода данных), элементы управления (например, пин Reset, ответственный за сброс микроконтроллера) и памяти.

Типы памяти в контроллере:

  • SRAM;
  • Flash;
  • EEPROM.

К шине данных идут следующие элементы:

  1. Сторожевой таймер.
  2. АЦП.
  3. Внешнее прерывание.
  4. Первый и второй таймеры-счетчики.
  5. USART и I2C (у Atmel этот интерфейс называется TWI).

К шине ввода/вывода данных подключены:

  1. Порты ввода/вывода.
  2. Нулевой таймер-счетчик.
  3. SPI-интерфейс.

Порты ввода/вывода и питание

К портам ввода/вывода относят:

  • цифровые разъемы;
  • аналоговые разъемы;
  • разъемы, выводящие ШИМ-сигнал;
  • разъемы для работы с АЦП, I2C (TWI), SPI, UART.

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

Питание к плате модели «Нано» можно подключить 3 способами:

  1. Через разъем mini-USB. Этот способ удобен тем, что разработчику не надо подводить к плате дополнительный ток. Подобный источник питания поддерживает системы, позволяющие регулировать значение входного тока.
  2. Через нерегулируемые источники на 6-20 В.
  3. Через регулируемый источник питания 5 В.

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

Питание от внешнего источника

Питание через нерегулируемые источники на 6-20 В обеспечивается подсоединением блока источника сигнала к пину 30 и общему проводу соответственно.

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

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

Прошивка и память Arduino v3 0 CH340G

микросхема CH340G

Стандартный вариант платы Arduino Nano, работающий на микросхеме ATmega328P, можно прошить исключительно через программатор с SPI-интерфейсом.

Кроме того, производится модель AN, на которой дополнительно установлена микросхема CH340G. Преимущество данной сборки в том, что плата может быть прошита без подключения SPI-программатора через USB-порт. Это позволяет сделать встроенный загрузчик и преобразователь USB-COM.

При необходимости такую Nano-модель можно прошить и через SPI-интерфейс.

Чтобы загружать прошивки через mini-USB, потребуется:

  1. Подсоединить плату к ПК через USB. Система определит устройство как USB 2.0 SERIAL.
  2. Скачать и установить драйвер CH340G.

Виды памяти

ATmega328P поддерживает 3 вида памяти:

  1. Flash. Она выступает в качестве постоянного запоминающего устройства.
  2. ОЗУ.
  3. EEPROM. Эта память также является постоянным запоминающим устройством, но ее можно перепрограммировать.

В микроконтроллере от Atmel 32 Кб Flash-памяти (свободно 30 Кб, т. к. 2 Кб занято загрузчиком), 2 Кб ОЗУ и 1 Кб EEPROM.

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

Arduino Nano состоит из множества элементов, в числе которых:

  • микросхемы;
  • пассивные элементы (резисторы, конденсаторы, диоды);
  • разъемы;
  • регуляторы.

Микросхема платы FT232R

Микросхема позволяет подключать плату через USB. Чип, установленный в AN, не может работать напрямую с USB-интерфейсом, поэтому FT232R преобразует его в UART-интерфейс.

Микросхема платы FT232R.

Сердце платформы — микроконтроллер ATmega328P

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

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

В плату встроено 4 светодиода, у каждого из которых свое назначение:

  1. RX- и TX-светодиоды мигают, когда происходит передача данных по UART.
  2. L-диод зажигается, когда на него подается высокий уровень сигнала, и гасится при низком уровне.
  3. ON-светодиод горит при наличии питания на плате.

Дополнительно практически на любой пин микроконтроллера можно завести другие светодиоды, 7-сегментные индикаторы или даже дисплеи.

Разъем mini-USB

С помощью разъема mini-USB плату можно подключить к персональному компьютеру. Также AN может получать через этот интерфейс питание от внешних источников.

Линейный понижающий регулятор напряжения 5 В

В качестве регулятора используется микросхема LM1117MPX-5.0. Она обеспечивает преобразование сигнала питания AN в сигнал питания микроконтроллера ATmega и других логических элементов, которые не поддерживают питание более 5 В. Например, элементы транзисторно-транзисторной логики (ТТЛ) запитываются от сигнала такой величины.

ICSP-разъем для ATmega328

Этот интерфейс позволяет загружать прошивку в микроконтроллер стандартным способом. Специальный шлейф одним концом подключается к программатору, подсоединенному к ПК, а другим — к ICSP-разъему.

ATmega328

Особенности установки драйверов

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

Если же драйверы не были обнаружены и установлены системой, необходимо:

  1. Открыть панель управления.
  2. Перейти в раздел «Система и безопасность».
  3. Попасть во вкладку «Система».
  4. Открыть диспетчер устройств.
  5. Открыть вкладку с COM- и LPT-портами.
  6. Если во вкладке нет порта FT232R USB UART или раздела с COM- и LPT-разъемами, перейти во вкладку «Другие устройства» и зайти в раздел «Неизвестное устройство».
  7. Кликнуть ПКМ на FT232R USB UART.
  8. Выбрать «Обновить драйверы».
  9. Нажать «Выполнить поиск драйверов на компьютере».
  10. Выбрать FTDI USB Drivers в папке Drivers от Arduino.

Если все действия выполнены правильно, то система сама завершит установку программного обеспечения для AN.

Запуск Arduino Nano

Чтобы начать работать с платой, необходимо подключить ее через USB к ПК. Через этот же порт будет поступать сигнал питания. Как только оно будет подведено к плате, загорится индикаторный светодиод синего цвета (в модели v.2.x он находится в нижней части платы, в модели v.3.x — в верхней).

Настройка Arduino

Чтобы настроить плату для работы с написанным кодом, нужно в среде программирования:

  • зайти в Tools;
  • перейти в Board;
  • выбрать пункт Arduino Duemilanove or Nano w/ *модель микроконтроллера* (для v.2.x — ATmega168, для v.3.x — ATmega328);
  • перейти в Tools;
  • зайти в Serial Port;
  • нажать Upload.

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

Способы программирования

Запрограммировать плату можно с помощью как рукописного, так и графического кода.

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

Чтобы установить плагин Arduino IDE, следует:

  1. Установить среду программирования Arduino IDE (доступна на официальном сайте Arduino).
  2. Скачать плагин ArduBlock с сайта разработчиков.
  3. Переименовать скачанный файл в ardublock-all.
  4. Создать в разделе «Документы» папки Arduino, затем tools, ArduBlock и tool.
  5. В папку tool переместить скачанный и переименованный файл.

Чтобы работать с этим плагином, нужно:

  1. Запустить среду программирования.
  2. Зайти во вкладку «Инструменты».
  3. Нажать на раздел ArduBlock.

Под программированием платы подразумевают и способы загрузки прошивки в микроконтроллер. Самым популярным методом является внутрисхемное программирование (ISP), при котором ATmega прошивается через программатор, подключенный через SPI-интерфейс к плате и через USB-кабель к ПК. Этим же методом можно перепрошить AN.

Платы, использующие в составе микросхему CH340, могут прошиваться через USB.

Проверить работоспособность кода можно в таких программах, как:

  • Proteus;
  • AutoCAD 123D;
  • Tinkercad.

Связь с устройствами

Связь с устройствами в Arduino Nano осуществляется через:

  • SPI-интерфейс;
  • UART-интерфейс;
  • TWI-интерфейс (I2C-аналог от Atmel с линиями SCL и SDA).

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

Примеры проектов с Arduino Nano

Реализовывать проекты на AN удобно из-за наличия библиотек, упрощающих написание кода.

Читайте также:  Ток проходящий постоянный магнит

Подключение светодиодов к Arduino Nano

Запитать LED-диод можно, например, с помощью пина 13 через ограничительный резистор на 220 Ом. Чтобы этим диодом мигать, следует написать такой код:

Для создания пиксельного изображения, где пиксель — это 1 диод, используется адресная лента WS2812.

Подключение LCD 1602 к Arduino Nano

LCD 1602 — это монохромный программируемый дисплей. Для его подключения к плате нужно написать такой скетч:

Подключение NRF24L01 к Arduino Nano

NRF24L01 — радио-модуль, который часто используется для создания интернета вещей. Он заводится на плату следующим образом:

Пин модуля Pinout платы
GND GND
VCC 3.3 В
CE D9
CSN D10
SCK D13
MOSI D11
MISO D12
IRQ Не подключается

Популярные шилды для Arduino Nano

Шилдом называется плата-дополнение.

К популярным шилдам для модели Nano относятся:

  • Nano Uno Shield: расширяет AN до варианта Uno;
  • Arduino Motor: позволяет подключать к плате двигатели (например, с помощью драйвера DRV8825 можно подключить шаговый двигатель и собрать свой автомобиль);
  • Arduino Sensor: шилд для подключения любых модулей (например, драйвера, объектом управления которого является механическая рука).

Nano Uno Shield

Где купить Arduino Nano

Приобрести плату можно как в магазинах электроники в любом крупном городе, так и в китайских интернет-магазинах.

Например, плата и периферия к ней продаются в интернет-маркете ChipDip. AN можно приобрести в магазине Carduino, который специализируется на продукции Arduino. Еще один популярный маркет электроники, где продается Arduino Nano, — Amperka.

Источник

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

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

Перейдем к питанию платы: есть три способа питать Ардуино и вообще Ардуино-проект в целом, у каждого есть свои плюсы/минусы и особенности:

  • Бортовой USB порт
  • “Сырой” вход на микроконтроллер 5V
  • Стабилизированный вход Vin

Что касается земли (пины GND) то они все связаны между собой и просто продублированы на плате, это нужно запомнить. Пины 3.3V, 5V и GND являются источником питания для датчиков и модулей, но давайте рассмотрим особенности.

Питание от USB

Питание от USB – самый плохой способ питания ардуино-проекта. Почему? По линии питания +5V от USB стоит диод, выполняющий защитную функцию: он защищает порт USB компьютера от высокого потребления тока компонентами ардуино-проекта или от короткого замыкания (КЗ), которое может произойти по случайности/криворукости любителей ковырять макетные платы. КЗ продолжительностью менее секунды не успеет сильно навредить диоду и всё может обойтись, но продолжительное замыкание превращает диод в плавкий предохранитель, выпускающий облако синего дыма и спасающий порт компьютера от такой же участи.

Слаботочный диод имеет ещё одну неприятную особенность: на нём падает напряжение, причем чем больше ток потребления схемы, тем сильнее падает напряжение питания. Пример: голая ардуина без всего потребляет около 20 мА, и от 5 Вольт на юсб после диода нам остаётся примерно 4.7 Вольт. Чем это плохо: опорное напряжение при использовании АЦП крайне нестабильно, не знаешь, что измеряешь (да, есть способ измерения опорного напряжения, но делать это нужно вручную). Некоторые железки чувствительны к напряжению питания, например LCD дисплеи: при питании от 5V они яркие и чёткие, при 4.7 вольтах (питание от юсб) они уже заметно теряют яркость. Если подвигать сервоприводом или включить реле – на диоде упадет ещё больше и дисплей практически погаснет. При коротких мощных нагрузках (выше 500-600ма) микроконтроллер перезапустится, так как напряжение упадет ниже плинтуса.

Вы наверное предложите заменить диод перемычкой, чтобы питать схему от USB большим током, например от powerbank’а. Так делать тоже нельзя, потому что дорожки на плате не рассчитаны на большие токи (дорожка 5V очень тонкая и идёт через всю плату). Я думаю, что можно будет снять 1-2 Ампера с пина 5V, но, скорее всего, напряжение просядет. Также при КЗ вы скорее всего попрощаетесь с дорожкой вообще. Питайте силовую часть схемы либо отдельно, либо от того же источника питайте Arduino.

Питание в Vin

Питание в пин VinGND) – более универсальный способ питания ардуино-проекта, этот пин заводит питание на бортовой стабилизатор напряжения ардуино, на китайских платах обычно стоит AMS1117-5.0. Это линейный стабилизатор, что имеет свои плюсы и минусы. Он позволяет питать ардуино и ардуино-проект от напряжения 7-12 Вольт (это рекомендуемый диапазон, так то питать можно от 5 до 20 Вольт). Стабилизатор устроен так, что он выдает хорошее ровное напряжение с минимальными пульсациями, но всё лишнее напряжение превращает в тепло. Если питать плату и один миниатюрный сервопривод от 12 Вольт, то при активной работе привода стабилизатор нагреется до 70 градусов, что уже ощутимо горячо. По некоторым расчетам из даташита можем запомнить некоторые цифры:

  • При напряжении 7 Вольт (таких блоков питания я не встречал) в Vin можно снять с пина 5V до 2A, больше – перегрев. Отлично сработают два литиевых аккумулятора
  • При 12 Вольтах на Vin можно снять с пина 5V не более 500мА без риска перегрева стабилизатора.

Питание в пин Vin возможно только в том случае, если в Ардуино проекте (имеется в виду плата Ардуино и железки, подключенные к 5V и GND) не используются мощные потребители тока, такие как сервоприводы, адресные светодиодные ленты, моторчики и прочее. Что можно: датчики, сенсоры, дисплеи, модули реле (не более 3 одновременно в активном состоянии), одиночные светодиоды, органы управления. Для проектов с мощной 5 Вольтовой нагрузкой для нас есть только третий способ.

Питание в 5V

Питание в пин 5VGND) – самый лучший вариант питать плату и ардуино-проект в целом, но нужно быть аккуратным: пин идёт напрямую на микроконтроллер, и на него действуют некоторые ограничения:

  • Максимальное напряжение питания согласно даташиту на микроконтроллер – 5.5V. Всё что выше – с большой вероятностью выведет МК из строя;
  • Минимальное напряжение зависит от частоты, на которой работает МК. Вот строчка из даташита: 0 – 4 MHz @ 1.8 – 5.5V, 0 – 10 MHz @ 2.7 – 5.5V, 0 – 20 MHz @ 4.5 – 5.5V. Что это значит: большинство Arduino-плат имеют источник тактирования на 16 MHz, то есть Arduino будет стабильно работать от напряжения

4 Вольта (20 МГц – 4.5V, 16 МГц – около 4V). Есть версии Arduino на 8 МГц, они будут спокойно работать от напряжения 2.5V.

Самый популярный вариант – USB зардяник от смартфона, их легко достать, диапазон токов от 500ма до 3А – справится практически с любым проектом. Отрезаем штекер и паяем провода на 5V и GND, предварительно определив, где плюс/минус при помощи мультиметра или по цвету: красный всегда плюс, чёрный – земля, при красном плюсе земля может быть белого цвета. При чёрной земле плюс может быть белым, вот так вот. Точно туда же паяем все датчики/модули/потребители 5 Вольт. Да, не очень удобно это паять, но при известной схеме можно аккуратно собрать всё питание в отдельные скрутки и припаять уже их. Пример на фото ниже. Источником питания там является отдельное гнездо micro-usb, зелёная плата сразу над дисплеем.

Автоматический выбор источника

На платах Arduino (на китайских клонах в том числе) реализовано автоматическое переключение активного источника питания: при подключении внешнего питания на пин Vin линия питания USB блокируется. Если кому интересно, на схеме платы Arduino это выглядит вот так:

Питание “мощных” схем

Резюмируя и повторяя всё сказанное выше, рассмотрим варианты питания проектов с большим потреблением тока.

Питать мощный проект (светодиоды, двигатели, нагреватели) от 5V можно так: Arduino и потребитель питаются вместе от 5V источника питания:

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

Что делать, если всё-таки хочется питать проект от USB, например от powerbank’а? Это ведь удобно! Всё очень просто:

Если есть только блок питания на 12V, то у меня плохие новости: встроенный стабилизатор на плате не вытянет больше 500 мА:

Но если мы хотим питать именно 12V нагрузку, то проблем никаких нет: сама плата Arduino потребляет около 20 мА, и спокойно будет работать от бортового стабилизатора:

Автономное питание

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

    Питание в порт USB

      Самый обыкновенный Powerbank, максимальный ток – 500 мА (помним про защитный диод). Напряжение на пине 5V и высокий уровень GPIO в этом случае будет равен

    4.7V (опять же помним про диод). Внимание! У большинства Powerbank’ов питание отключается при нагрузке меньше 200мА, т.е. об энергосбережении можно забыть;

  • Максимальный выходной ток с пина 5V – 500 мА!
  • Питание в пин Vin (или штекер 5.5×2.1 на плате UNO/MEGA)
    • Любой блок питания/зарядник от ноута с напряжением 7-18 Вольт
    • 9V батарейка “Крона” – плохой, но рабочий вариант. Ёмкость кроны очень небольшая;
    • Сборка из трёх литиевых аккумуляторов: напряжение 12.6-9V в процессе разряда. Хороший вариант, также имеется 12V с хорошим запасом по току (3А для обычных, 20А для высокотоковых аккумуляторов) для двигателей или светодиодных лент;
    • “Модельные” аккумуляторы, в основном Li-Po. В целом то же самое, что предыдущий пункт, но запаса по току в разы больше;
    • Энергосбережение – не очень выгодный вариант, т.к. стабилизатор потребляет небольшой, но всё же ток;
    • Максимальный выходной ток с пина 5V при питании в Vin: 2А при 7V на Vin, 500ma при 12V на Vin
  • Питание в пин 5V
    • Для стабильных 5V на выходе – литиевый аккумулятор и повышающий до 5V модуль. У таких модулей обычно запас по току 2А, также модуль потребляет “в холостом режиме” – плохое энергосбережение;
    • Литиевый аккумулятор – напряжение на пине 5V и GPIO будет 4.2-3.5V, некоторые модули будут работать, некоторые – нет. Работа МК от напряжения ниже 4V не гарантируется, у меня работало в целом стабильно до 3.5V, ниже уже может повиснуть. Энергосбережение – отличное;
    • Пальчиковые батарейки (ААА или АА) – хороший вариант, 3 штуки дадут 4.5-3V, что граничит с риском зависнуть. 4 штуки – очень хорошо. Новые батарейки дадут 6V, что является максимальным напряжением для МК AVR и при желании можно так работать;
    • Пальчиковые Ni-Mh аккумуляторы – отличный вариант, смело можно ставить 4 штуки, они обеспечат нужное напряжение на всём цикле разряда (до 4V). Также имеют хороший запас по току, можно даже адресную ленту питать.
    • Платы с кварцем (тактовым генератором) на 8 МГц позволяют питать схему от низкого напряжения (2.5V, как мы обсуждали выше), отлично подойдут те же батарейки/аккумуляторы, также для маломощные проекты можно питать от литиевой таблетки (3.2-2.5V в процессе разряда).
    • Максимальный выходной ток с пина 5V ограничен током источника питания
  • Arduino как источник питания

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

    • Питание датчиков и модулей от 5V
      • При питании платы от USB – максимальный ток 500 мА
      • При питании платы в Vin – максимальный ток 2 А при Vin 7V, 500 мА при Vin 12V
      • При питании платы в 5V – максимальный ток зависит от блока питания
    • Питание датчиков от GPIO (пинов D и A) – максимальный ток с одного пина: 40 мА, но рекомендуется снимать не более 20 мА. Максимальный суммарный ток с пинов (макс. ток через МК) не должен превышать 200 мА. Допускается объединение нескольких ног для питания нагрузки, но состояние выходов должно быть изменено одновременно (желательно через PORTn), иначе есть риск спалить ногу при её закорачивании на другую во время переключения. Либо делать ногу входом (INPUT), вместо подачи на неё низкого (LOW) сигнала. В этом случае опасность спалить ноги отсутствует.

    Помехи и защита от них

    Если в одной цепи питания с Ардуино стоят мощные потребители, такие как сервоприводы, адресные светодиодные ленты, модули реле и прочее, на линии питания могут возникать помехи, приводящие к сильным шумам измерений с АЦП, а более мощные помехи могут дергать прерывания и даже менять состояния пинов, нарушая связь по различным интерфейсам связи и внося ошибки в показания датчиков, выводя чушь на дисплеи, а иногда дело может доходить до перезагрузки контроллера или его зависания. Некоторые модули также могут зависать, перезагружаться и сбоить при плохом питании, например bluetooth модуль спокойно может зависнуть и висеть до полной перезагрузки системы, а радиомодули rf24 вообще не будут работать при “шумном” питании.

    Более того, помеха может прийти откуда не ждали – по воздуху, например от электродвигателя, индуктивный выброс ловится проводами и делает с системой всякое. Что же делать? “Большие дяди” в реальных промышленных устройствах делают очень много для защиты от помех, этому посвящены целые книги и диссертации. Мы с вами рассмотрим самое простое, что можно сделать дома на коленке.

    • Питать логическую часть (Ардуино, слаботочные датчики и модули) от отдельного малошумящего блока питания 5V, то есть разделить питание логической и силовой частей, а ещё лучше питаться в пин Vin от блока питания на 7-12V, так как линейный стабилизатор даёт очень хорошее ровное напряжение. Для корректной работы устройств, питающихся отдельно (драйверы моторов, приводы) нужно соединить земли Ардуино и всех внешних устройств;
    • Поставить конденсаторы по питанию платы, максимально близко к пинам 5V и GND: электролит 6.3V 100-470 uF (мкФ, ёмкость зависит от качества питания: при сильных просадках напряжения ставить ёмкость больше, при небольших помехах хватит и 10-47 мкФ) и керамический на 0.1-1 uF. Это сгладит помехи даже от сервоприводов;
    • У “выносных” на проводах элементах системы (кнопки, крутилки, датчики) скручивать провода в косичку, преимущественно с землёй. А ещё лучше использовать экранированные провода, экран естественно будет GND. Таким образом защищаемся от электромагнитных наводок;
    • Соединять все земли одним толстым проводом и по возможности заземлять на центральное заземление;
    • Металлический и заземленный корпус устройства (или просто обернутый фольгой 🙂 ), на который заземлены все компоненты схемы – залог полного отсутствия помех и наводок по воздуху.

    Ещё лучше с фильтрацией помех справится LC фильтр, состоящий из индуктивности и конденсатора. Индуктивность нужно брать с номиналом в районе 100-300 мкГн и с током насыщения больше, чем ток нагрузки после фильтра. Конденсатор – электролит с ёмкостью 100-1000 uF в зависимости опять же от тока потребления нагрузки после фильтра. Подключается вот так, чем ближе к нагрузке – тем лучше:

    Подробнее о расчёте фильтров можно почитать здесь.

    Индуктивные выбросы

    На практике самая подлая помеха обычно приходит при коммутации индуктивной нагрузки при помощи электромагнитного реле: от такой помехи очень сложно защититься, потому что приходит она по земле, то есть вас не спасёт даже раздельное питание проекта. Что делать?

    • Для цепей постоянного тока обязательно ставить мощный диод обратно-параллельно нагрузке, максимально близко к клеммам реле. Диод примет (замкнёт) на себя индуктивный выброс от мотора/катушки;
    • Туда же, на клеммы реле, можно поставить RC цепочку, называемую в этом случае искрогасящей: резистор 39 Ом 0.5 Вт, конденсатор 0.1 мкФ 400V (для цепи 220В);
    • Для сетей переменного тока использовать твердотельное (SSR) реле с детектором нуля (Zero-cross detector), они же называются “бесшумные” реле. Если в цепи переменного тока вместо реле стоит симистор с оптопарой, то оптопару нужно использовать опять же с детектором нуля, такая оптопара, как и SSR zero-cross будут отключать нагрузку в тот момент, когда напряжение в сети переходит через ноль, это максимально уменьшает все выбросы.

    Подробнее об искрогасящих цепях можно почитать вот в этой методичке.

    Главный Глупый Вопрос

    У новичков в электронике, которые не знают закон Ома, очень часто возникают вопросы вида: “а каким током можно питать Ардуино“, “какой ток можно подать на Ардуино“, “не сгорит ли моя Ардуина от от блока питания 12V 10A“, “сколько Ампер можно подавать на Arduino” и прочую чушь. Запомните: вы не можете подать Амперы, вы можете подать только Вольты, а устройство возьмёт столько Ампер, сколько ему нужно. В случае с Arduino – голая плата возьмёт 20-22 мА, хоть от пина 5V, хоть от Vin. Ток, который указан на блоке питания, это максимальный ток, который БП может отдать без повреждения/перегрева/просадки напряжения. Беспокоиться стоит не об Arduino, а об остальном железе, которое стоит в схеме и питается от блока питания, а также о самом блоке питания, который может не вывезти вашу нагрузку (мотор, светодиоды, обогреватель). Общий ток потребления компонентов не должен превышать возможностей источника питания, вот в чём дело. А будь блок питания хоть на 200 Ампер – компоненты возьмут ровно столько, сколько им нужно, и у вас останется “запас по току” для подключения других. Если устройство питается напряжением, то запомните про максимальный ток источника питания очень простую мысль: кашу маслом не испортишь.

    Источник

    Adblock
    detector