Организация питания для Arduino

Серия-статей: Программирование Arduino с нуля #3

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

Самый простой вариант – подвести питание 5В к контроллеру напрямую (для этого есть соотвтетствующий пины «5.5В»). Но если это напряжение случайно повысится, есть риск спалить контроллер, ведь это питание подведено напрямую.Кроме того на плате есть встроенный стабилизатор напряжения, который защитит контоллер от скачков. Он подключен к пину “VIN” и к отдельному разъему питания на плате. Какое-же напряжение можно на него подать?

Разъем питания типоразмера 5.5/2.1Разъем 5.5/2.1, который используется в Arduino- это штырьковый разъем питания, с диаметром цилиндрической части вилки 5.5 мм и внутренним диаметров отверстия в ней 2,1мм. В продаже можно найти стандартные зарядные устройства как этого типоразмера, тк и близкого к нему 5.5/2.4 – они также нам подходят, поскольку разница в три десятых миллиметра особой роли не сыграет

Смотрим в параметры нашей платы, и видим:

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

Напряжение питания (рекомендуемое) 7-12В

Напряжение питания (предельное) 6-20В

Рабочее напряжение – это то, что наш контроллер может подать на выводы или прочитать с входа. То есть, если к какому-то контакту подключено напряжение 5В, контроллер будет чситать, что это логическая 1, или в понятиях программной оболочки Arduino значение HIGH (это для цифрового входа, аналоговый вход будет интерпретировать напряжение как число от 0 до 1023, т.е 5 вольт на аналоговом входе для контроллера соответствуют значанию 1023)

Рекомендуемое и предельное питание – это то, что мы можем подать на плату от блока питания или батареек. На плате имеется преобразователь питания, который понижает подводимое напряжение до нужного контроллеру 5В. Поскольку он тоже имеет не 100% КПД, то чтобы получить нужные нам 5В нужно подвести не меньше 6, а лучше 7 вольт. А вот с предельным напряжением нужно быть осторожным. Теоретически преобразователь потянет и 20В. Но чем больше напряжение, тем больше он будет греться. Фактически эта мощность, которая не расходуется ни на что полезное. И если питание от батареек/аккумуляторов, то мы с их помощью просто будем греть воздух. К тому же чем выше напряжение и, соответственно, температура, тем больше вероятность, что наш контроллер рано или поздно накроется. И если в оригинальной плате используются качественные компоненты, то в китайских репликах уже после 14-15 вольт можно распрощаться с контроллером. Вывод - если не уверен в качестве контроллера, не превышай рекомендуемые 12В. И даже если уверен, без крайней необходимости не превышай этот предел.

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

Если наш проект является стационарным и рядом есть обычная розетка, то можно использовать обычный блок питания на 7 вольт. Они могут быть расчитаны как на ток в 1А, так и на больший – зависит от потребителей. Правило простое – посчитать максимальную потребляемую мощность, прибавить для безопасности 20%. Например, если мы используем двигатели постоянного тока с пусковым током до 500мА, то с учетом потребления самой платы около 40мА нам потребуется (500+500+40)*1,2=1248 мА. Т.е нас устроит блок питания на 1,5А. Если же у нас мобильный робот, то наиболее простой вариант – использовать обычные пальчиковые элементы питания. Если использовать батарейки АА (1,5 В), то нам понадобится их не меньше четырех (6В), а лучше пять-шесть (7,5-9 Вольт). Если использовать аккумуляторы того-же типоразмера, то понадобится для того-же напряжения батарейный отсек на 5 (6В) или на 6-7 аккумуляторов (7,2-8,4 В). Здесь описан наиболее распространенный вариант, когда все наши комплектующие рассчитаны на напряжение около 6 В.

Еще:

Программирование контроллеров – с чего начать (Программирование Arduino с нуля #1)
Подключение периферии, платы расширения (Программирование Arduino с нуля #2)
Организация питания для Arduino (Программирование Arduino с нуля #3)
Подключаем сервопривод к Arduino (Программирование Arduino с нуля #4)
Создаем класс для управления сервоприводом (Программирование Arduino с нуля #6)
Подключение шагового двигателя. Контроллер L298 (Программирование Arduino с нуля #8)