Меню Закрыть

Внешнее питание ардуино нано

Содержание

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

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

Способы питания Ардуино

Как уже упоминалось, система крайне вариативна, и это в ней заложено самими создателями. А соответственно, она должна быть готова к разным ситуациям и вариантам эксплуатации, чтобы «неловкий» пользователь не сломал что-то ненароком. Или, что происходит чаще, ему не приходилось самостоятельно проектировать материнскую плату под нюансы каждой системы.

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

А всё дело в том, что на Ардуино питание выстроено специальным образом, позволяющим работать с различными источниками питания, а соответственно, и с некоторой областью характеристик тока, вместо четких значений у аналогов системы. Именно этим питание Аrduino nano и подкупает большинство новичков, а вот более продвинутым пользователям такое решение кажется спорным и может вызывать в их сообществе множество дискуссий.

Почему так происходит, вы поймете сами, как только наработаете определённый опыт в проектировании систем и начнете делать более серьезные вещи, но к тому моменту, скорее всего, надобность в использовании Ардуино у вас и вовсе отпадет.

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

  1. Mini В USB, когда вы тестируете проект на ПК. Это крайне важный и удобный момент, ведь нет необходимости, при программировании и тестировании вашего продукта, подводить ток дополнительно, что экономит силы. А наличие систем, позволяющих через такой источник регулировать характеристики тока, упрощает некоторые задачи.
  2. Непосредственно через нерегулируемые источники в 6-20 вольт. Это происходит через 30 пин, и подобно выходу на цифровой сигнал, данный вход воспринимает весь диапазон. Удобно в некоторых случаях, подробнее о которых вы можете узнать, когда начнете разбирать проекты на системе.
  3. Через регулируемые источники в 5 вольт. Это стандартный и часто используемый способ подавать питание на Аrduino uno. В нем есть небольшой недостаток, заключающийся в том, что вам потребуется как-то преобразовать входное напряжение к 5 вольтам, но решений данной задачи уже множество, и все их вы можете найти в открытом доступе на нашем сайте. Данный вход находится на 27 пине.

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

Удобство такого решения и объяснять не стоит. Внешние источники питания дополнительно стабилизируются при помощи LM1117IMPX-5.0 с 5В напряжения, а при подключении к компьютеру система начинает использовать диод Шоттки, чтобы регулировать поступающий ток (см. схему выше).

Характеристики питания для Ардуино

Итак, мы оговорили все способы, как подключить питание на Аrduino, и затронули характеристики последнего, которые необходимы, чтобы плата не сгорела и могла исправно выполнять поставленные задачи. Заранее стоит оговориться, что последнее, в принципе, маловероятно, так как, несмотря на то, что питание Ардуино от Ардуино может иметь различные характеристики, микроконтроллер всё же более строго относится к нему, чем это сделала бы какая-то «болванка», которой вы бы захотели его заменить.

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

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

Читайте также:  Assassins creed origins идеальный меч

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

Из-за этого и тяжело точно сказать, какое питание на Аrduino mini pro лучше подключать, по силе тока. Дело в том, что каждая мелочь, которую вы используете в проекте, потребляет определённое ограниченное количество электричества, зачастую указываемого в мА, поэтому здесь все расчеты исключительно индивидуальны и зависят от конкретного случая.

Схема подключения светодиода к Ардуино Нано

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

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

Подключение питания

Подключать всё это можно непосредственно к пинам или, в случае тестирования системы, просто воспользоваться usb-портом. Система сама рассчитает, сколько ей необходимо, и внутренними силами преобразует входное напряжение к подходящим значениям.

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

Доброго времени суток!

В этой статье хочу уделить немного внимания аппаратной основе плат семейства Arduino Nano. Вариации аппаратного исполнения я описал под фото.

Arduino Nano может быть запитан через кабель mini(micro)-USB, от внешнего источника питания с нестабилизированным напряжением 6-20 В (через вывод 30, подавать на этот вывод больше 12 В настоятельно не рекомендуется) либо со стабилизированным напряжением 5В (через вывод 27). Устройство автоматически выбирает источник питания с наибольшим напряжением.

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

Каждый из 20 (0-19, на схеме помещены в сиреневые параллелограммы, на то же схеме в серых параллелограммах указаны выводы микроконтроллера) цифровых выводов Arduino Nano может работать в качестве входа или выхода. Рабочее напряжение выводов — 5В. Максимальный ток, который может отдавать один вывод, составляет 40 мА, но нагружать выходы более, чем на 20 мА не рекомендуется. При этом суммарная нагрузка по всем выводам не должна превышать 200 мА. Все выводы сопряжены с внутренними подтягивающими резисторами (по умолчанию отключенными) номиналом 20-50 кОм. Помимо основных, некоторые выводы Arduino Nano могут выполнять дополнительные функции:

Последовательный интерфейс: выводы 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 — выключается.

I2С: выводы 4 (SDA) и 5 (SCL). С использованием библиотеки Wire (документация на веб-сайте Wiring) данные выводы могут осуществлять связь по интерфейсу I2C (TWI).
Помимо перечисленных на плате существует еще несколько выводов:

Читайте также:  Микроволновка с функцией духовки самсунг

AREF. Опорное напряжение для аналоговых входов. Может задействоваться функцией analogReference().

Reset. Формирование низкого уровня (LOW) на этом выводе приведет к перезагрузке микроконтроллера. Обычно этот вывод служит для функционирования кнопки сброса на платах расширения

Аналоговые входы A0-А7: входы с 10-битным аналого-цифровым преобразователем (АЦП). Напряжение поданное на аналоговый вход, обычно от 0 до 5 вольт будет преобразовано в значение от 0 до 1023, это 1024 шага с разрешением 0.0049 Вольт. Источник опорного напряжения может быть изменен.

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

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
Рабочее напряжение (логический уровень)
Напряжение питания (рекомендуемое) 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 — выключается.
Читайте также:  Диабло 3 комплектное подземелье ратмы

В 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 активизируется загрузчик на время около полсекунды. Несмотря на то, что загрузчик запрограммирован игнорировать посторонние данные (т.е. все данные, не касающиеся процесса прошивки новой программы), он может перехватить несколько первых байт данных из посылки, отправляемой плате сразу после установки соединения. Соответственно, если в программе, работающей на Ардуино, предусмотрено получение от компьютера каких-либо настроек или других данных при первом запуске, убедитесь, что программное обеспечение, с которым взаимодействует Ардуино, осуществляет отправку спустя секунду после установки соединения.

Рекомендуем к прочтению

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

Ваш адрес email не будет опубликован.