Питание ардуино alexgyver

Базовые понятия

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

Электричество

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

  • Электричество – вид энергии, которая может передаваться по проводникам (проводам) в виде заряженных частиц. Аналогия: текущая по трубе вода.
  • Источник электричества – устройство, которое может выдавать электрическую энергию (розетка, блок питания, батарейка, аккумулятор). Аналогия: водонапорная башня.
  • Потребитель электричества – устройство, которое потребляет электрическую энергию (радиоэлемент, микросхема, электрический прибор). Аналогия: водяная турбина.
  • Электрическая цепь – состоит из источника, потребителя и соединяющих их проводников (проводов).
    • Если цепь замкнута, по проводникам идёт электрический ток.
    • Электрический ток всегда идёт по двум проводам: выходит из “плюса” и приходит в “минус”.
    • Минусовой провод на схеме чаще всего изображается чёрным или синим, а плюсовой – красным.
  • Электрическое напряжение – основная характеристика электричества, показывает его “потенциал”. Измеряется в Вольтах (V, В), обозначается U. Аналогия: давление воды, точнее высота водонапорной башни – чем она выше, тем выше давление внизу.
    • У источников это выходное напряжение – такое напряжение они выдают. Таким образом напряжение в цепи зависит от источника. Аналогия: давление воды.
    • У потребителей это напряжение питания – такое напряжение нужно подать, чтобы устройство работало. Если подать меньше минимального – оно не будет работать. Если подать больше максимального – скорее всего сгорит. Аналогия: слишком мощный напор воды сломает турбину, если она на это не рассчитана, а слишком слабый – не сможет её вращать.
    • Напряжение – относительная величина, измеряется между двумя точками с разным потенциалом. Например у источника питания мы будем измерять напряжение между его контактами. Аналогия: высота столба воды в водонапорной башне (от трубы снизу до поверхности воды сверху).
  • Электрический ток – показывает, “как много электричества” проходит через провод, фактически – количество заряженных частиц в секунду. Измеряется в Амперах (А), обозначается I. Аналогия: объём воды, проходящий через трубу за единицу времени.
    • У источников это допустимый ток – такой ток можно снять с источника без вреда для него. Другими словами, подключенная к источнику схема не должна потреблять больше тока, чем может выдать источник.
    • У потребителей это ток потребления – такой ток будет потреблять устройство, если подать на него напряжение. Таким образом ток в цепи зависит от потребителя.
    • Потребляемый ток измеряется “в разрезе” провода, как если бы мы измеряли поток воды через трубу.
  • Электрическое сопротивление – показывает, какой ток будет потребляться устройством при известном напряжении. Чем выше сопротивление, тем меньше ток. Измеряется в Омах (Ом, Ohm), обозначается R. Аналогия: способность трубы пропускать воду. Узкая, ребристая и длинная труба будет пропускать меньше воды при том же давлении (напряжении), чем широкая, гладкая и короткая.
  • Закон Ома – связывает напряжение, ток и сопротивление одним уравнением: I = U / R.
  • Ёмкость аккумулятора – измеряется в Ампер*часах (А*ч). Показывает, какой ток может отдавать аккумулятор в течение одного часа. Зная ток потребления, можно узнать время работы от аккумулятора. Аналогия: объём воды в водонапорной башне.

Электрический сигнал

Электричество может использоваться не только для питания электронных компонентов и приборов, но и для передачи данных. В этом случае “потребитель” (приёмник) имеет очень высокое сопротивление, то есть при подключении к нему источника сигнала в цепи начинает течь очень маленький, почти нулевой ток. Но приёмнику в этом случае интересно именно напряжение источника – ведь цепь замкнута и он может его измерить. Электрический сигнал бывает двух типов: аналоговый и цифровой.

Аналоговый сигнал – напряжение такого сигнала может меняться с очень маленьким шагом в Вольтах. В большинстве случаев такой сигнал “непрерывен”, то есть не может измениться резко: в любой момент времени мы можем его измерить и перевести в нужную величину (например, напряжение в температуру).

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

Цифровой (дискретный, логический) сигнал – напряжение такого сигнала имеет всего два значения, низкое и высокое: 0V и 3.3V/5V. С точки зрения данных это 0 (ноль) и 1 (единица).

  • Максимальное напряжение такого сигнала называется логическим уровнем и в большинстве случаев равно 3.3V или 5V, это зависит от конкретной модели компонента.
  • Логический уровень практически всегда совпадает с напряжением питания компонента, то есть если микросхема питается от напряжения 5V, то и логический уровень у неё будет 5V.
  • Приёмник логического сигнала воспринимает за 0 (ноль) любое напряжение, меньшее половины логического уровня, и за 1 (единицу) – большее его половины. Таким образом искажённый сигнал в большинстве случаев будет обработан правильно.

В некоторых случаях двух состояний достаточно (кнопка нажата/отпущена, лампочка выключена/включена), но для команд и численных значений этого мало, поэтому для передачи данных используют цифровые интерфейсы связи. Они бывают разные и подробнее мы рассмотрим их в отдельном уроке, но суть остаётся той же: напряжение цифрового сигнала меняется резко и может принимать только два значения.

  • Достоинства: надёжность, хорошая защита от помех, высокая скорость передачи.
  • Недостатки: сложность реализации относительно аналогового сигнала, для работы нужны более дорогие “цифровые” компоненты.

Источник

Управление мощной нагрузкой

“Универсальное” электромагнитное реле

Электромагнитное реле является по сути управляемым механическим выключателем: подали на него ток – оно замкнуло контакты, сняли ток – разомкнуло. Контакты являются именно контактами: металлическими “пятаками”, которые прижимаются друг к другу. Именно поэтому такое реле может управлять как нагрузкой постоянного, так и переменного тока.

Сама катушка реле является неслабой индуктивной нагрузкой, что приводит к дополнительным проблемам (читай ниже), поэтому для управления “голым” реле нам понадобится дополнительная силовая и защитная цепь.

После изучения данного урока вы сами сможете её составить (транзистор и диод), а сейчас мы поговорим о модулях реле: готовая плата, на которой стоит само реле, а также цепи коммутации, защиты и даже оптическая развязка. Такие модули бывают “семейными” – с несколькими реле на борту. Спасибо китайцам за это! Смотрите варианты у меня в каталоге ссылок на Али.

Такое реле сделано специально для удобного управления с микроконтроллера: пины питания VCC (Vin, 5V) и GND подключаются к питанию, а далее реле управляется логическим сигналом, поданным на пин IN. С другой стороны стоит клеммник для подключения проводов, обычно контакты подписаны как NO, NC и COM. Это общепринятые названия пинов кнопок, переключателей и реле:

  • COM – Common, общий. Реле является переключающим, и пин COM является общим.
  • NO – Normal Open, нормально открытый. При неактивном реле данный контакт не соединён с COM. При активации реле он замыкается с COM.
  • NC – Normal Closed, нормально закрытый. При неактивном реле данный контакт соединён с COM. При активации реле он размыкается с COM.

Подключение нагрузки через реле думаю для всех является очевидным:

Важный момент: катушка реле в активном режиме потребляет около 60 мА, то есть подключать больше одного модуля реле при питании платы от USB не рекомендуется – уже появятся просадки по напряжению и помехи:

Такие модули реле бывают двух типов: низкого и высокого уровня. Реле низкого уровня переключается при наличии низкого сигнала (GND) на управляющем пине digitalWrite(pin, LOW) . Реле высокого уровня соответственно срабатывает от высокого уровня digitalWrite(pin, HIGH) . Какого типа вам досталось реле можно определить экспериментально, а можно прочитать на странице товара или на самой плате. Также существуют модули с выбором уровня:

На плате, справа от надписи High/Low trigger есть перемычка, при помощи которой происходит переключение уровня. Электромагнитное реле имеет ряд недостатков перед остальными рассмотренными ниже способами, вы должны их знать и учитывать:

  • Ограниченное количество переключений: механический контакт изнашивается, особенно при большой и/или индуктивной нагрузке.
  • Противно щёлкает!
  • При большой нагрузке реле может “залипнуть”, поэтому для больших токов нужно использовать более мощные реле, которые придётся включать при помощи… маленьких реле. Или транзисторов.
  • Необходимы дополнительные цепи для управления реле, так как катушка является индуктивной нагрузкой, и нагрузкой самой по себе слишком большой для пина МК (решается использованием китайского модуля реле).
  • Очень большие наводки на всю линию питания при коммутации индуктивной нагрузки.
  • Относительно долгое переключение (невозможно поставить детектор нуля, читай ниже), при управлении индуктивными цепями переменного тока можно попасть на большой индуктивный выброс, необходимо ставить искрогасящие цепи.

Важный момент связан с коммутацией светодиодных светильников и ламп, особенно дешёвых: у них прямо на входе стоит конденсатор, который при резком подключении в цепь становится очень мощным потребителем и приводит к скачку тока. Скачок может быть настолько большим, что 15-20 Ваттная светодиодная лампа буквально сваривает контакты реле и оно “залипает”! Данный эффект сильнее выражен на дешёвых лампах, будьте с ними аккуратнее (за инфу спасибо DAK). При помощи реле можно плавно управлять сильно инерционной нагрузкой, такой как большой обогреватель. Для этого нужно использовать сверхнизкочастотный ШИМ сигнал, у меня есть готовая библиотека. Не забываем, что реле противно щёлкает и изнашивается, поэтому для таких целей лучше подходит твердотельное реле, о котором мы поговорим ниже.

Постоянный ток

Оптопара

Оптопара – отличный элемент, позволяет выполнять две функции: коммутировать нагрузку (пусть и небольшую) и полностью физически развязывает микроконтроллер с ней. Оптопары можно использовать для имитации нажатия кнопок у других внешних устройств, то есть замыкать чисто логический сигнал. Также можно использовать для разрывания питания различных датчиков и модулей в устройстве вместо транзистора. Оптопара состоит из двух частей: светодиод, который мы включаем при помощи микроконтроллера, и выходная часть, которая может быть разной (транзистор, симистор и проч.), таким образом сигнал с микроконтроллера отделяется от нагрузки через луч света, что очень важно при коммутации высоковольтных или каких-то чувствительных цепей. Для управления внешними устройствами надо брать оптопары с транзисторным выходом, например очень распространённую PC814 и её аналоги (FOD814, LTV814 и прочие), при желании можно выковырять почти из любого блока питания. Данная оптопара позволяет коммутировать нагрузку с напряжением до 60 Вольт и током до 50 мА. Покажу вырезку из даташита с этими параметрами, у остальных оптопар параметры будут называться точно так же:

Подключается оптопара следующим способом: светодиодом мы управляем с МК через резистор, а выход подключаем в разрыв нагрузки, соблюдая полярность. Что касается светодиода на управляющем входе оптопары – для него нужен резистор, как считать резистор для светодиода было рассказано в уроке про светодиоды. В большинстве случаев достаточно поставить резистор на 220 Ом, как и для любых светодиодов. Если ток светодиода будет меньше указанного, соответственно уменьшится максимальный ток выхода, что для этой оптопары уже критично (светодиод хочет аж 50 мА). Оптопара не предусмотрена для управления большой нагрузкой, обычно это коммутация других логических цепей, поэтому о токе можно не думать. Подключение нагрузки (условный нагрузочный резистор):

Для управления “кнопкой” другого устройства (фотоаппарат, кофемашина) достаточно подключить оптопару параллельно кнопке. Во избежание замыкания оптопары на кнопку (что сожгёт оптопару) желательно поставить защитный резистор с номиналом 200-1000 Ом. Тут будет две схемы, по сути одинаковые. Перед подключением нужно проверить мультиметром, где у кнопки “плюс”, а где “минус”, так как выход с оптопары у нас полярный.

Существует также интересная оптопара TLP172 с мосфетным выходом, причём неполярным (может коммутировать нагрузку в любую сторону)! Управляет напряжением до 60 Вольт при токе до 400 мА – уже вполне серьёзная игрушка.

Транзистор

Самый компактный способ управлять нагрузкой постоянного тока – транзистор. Транзисторы бывают биполярные и полевые (MOSFET, полевик, ключ). Биполярные уже морально и физически устарели, имеют много характеристик и требуют дополнительного изучения темы, поэтому мы рассмотрим только полевые транзисторы. Схема типовая и выглядит вот так:

Или вот так, конкретно для корпуса to220. Также на этой схеме плата Ардуино питается от внешнего источника в пин Vin:

Полевики бывают и в других корпусах, для подключения по первой принципиальной схеме нужно загуглить распиновку (pinout) на свой конкретный транзистор. Но в основном там всё обстоит вот так:

Что за резисторы?

  • Резистор на 100 Ом (можно ставить в диапазоне 100-500 Ом, мощность любая) выполняет защитную функцию: затвор полевика представляет собой конденсатор, в момент открытия затвора конденсатор начнёт заряжаться и в цепи пойдёт большой ток (практически короткое замыкание), который может повредить пин Ардуино. Резистор просто ограничивает ток в цепи пин-затвор и спасает пин от скачков тока. В целом можно его не ставить, но когда-нибудь оно обязательно сломается =)
  • Резистор на 10 кОм (можно ставить в диапазоне 5-50 кОм, мощность любая) выполняет подтягивающую функцию для затвора. Если случится так, что плата Ардуино выключена или сигнальный провод от неё отвалился – на затвор будут приходить случайные наводки и он может случайно открыться. Если в этот момент будет подключен источник питания – нагрузка тоже включится! Восстание машин начнётся именно с этого момента. Подтягивающий к GND резистор позволяет “прижать” затвор, чтобы он не открылся сам по себе. Имеет смысл ставить его прямо на корпус транзистора, если монтаж производится навесом:

Я привёл схему, в которой используется N-канальный полевой транзистор, который управляет линией GND. Существуют также P-канальные мосфеты, они управляют линией питания. Такие транзисторы в целом дороже, реже встречаются и имеют высокий порог напряжения открытия, т.е. для их работы придётся ставить ещё один транзистор (биполярный) и с его помощью подавать более высокий сигнал от внешнего источника на затвор P-канального полевика. Поэтому в 99% случаев просто используют более удобные N-канальные ключи. Как выбрать транзистор для своей задачи? Первым делом смотрим на напряжение открытия транзистора (как читать график в даташите – см. видео урок ниже), 100% подойдёт транзистор с пометкой Logic Level в описании или даташите: такие мосфеты точно будут работать на полную катушку от пина МК. Само собой ток и напряжение должны соответствовать (взяты с запасом) для нагрузки, которую будет коммутировать мосфет. Есть ещё параметр сопротивление открытого канала, на этом сопротивлении будет падать напряжение и превращаться в тепло. Для мощных нагрузок нужно рассматривать полевики с низким сопротивлением канала, чтобы сильно не грелись. Приведу свой список мосфетов в двух основных корпусах: выводной to220 и dpack для поверхностного монтажа, в нём “Ток при 3V” и “Ток при 5V” означает максимальный ток через транзистор (на нагрузку) в Амперах при управлении логическим сигналом 3 и 5 Вольт. Максимальное напряжение для нагрузки смотрите у конкретного транзистора, но у всех оно выше 24V. “R” – сопротивление открытого канала в миллиомах (10^-3 Ом). Также полевики отсортированы по увеличению цены в российских магазинах =)

Маркировка R, мОм Ток при 3V Ток при 5V
IRLZ24NPBF 60 4 20
IRF3704ZPBF 7.9 10 >100
IRLB8743PBF 3.2 20 >100
IRL2203NPBF 7 30 >100
IRLB8748PBF 4.8 10 >100
IRL8113PBF 6 40 >100
IRL3803PBF 6 20 >100
IRLB3813PBF 1.95 20 >100
IRL3502PBF 7 >100 >100
IRL2505PBF 8 20 >100
IRF3711PBF 6 80 >100
IRL3713PBF 3 20 >100
IRF3709ZPBF 6.3 40 >100
AUIRL3705N 6.5 20 >100
IRLB3034PBF 1.7 >100 >100
IRF3711ZPBF 6 20 >100
Маркировка R, мОм Ток при 3V Ток при 5V
STD17NF03LT4 50 5 40
IRLR024NPBF 65 4 20
IRLR8726PBF 6 10 110
IRFR1205PBF 27 10
IRFR4105PBF 45 10
IRLR7807ZPBF 12 10 100
IRFR024NPBF 75 8
IRLR7821TRPBF 10 11 100
STD60N3LH5 8 30 160
IRLR3103TRPBF 19 11 100
IRLR8113TRPBF 6 40 110
IRLR8256PBF 6 10 110
IRLR2905ZPBF 13 100
IRLR2905PBF 27 20 90

Для слаботочных цепей мне нравится использовать полевик 2n7000 (купить мешок) – тянет до 400 мА. Корпус – компактный выводной to-92. Также у друзей-китайцев есть удобные готовые модули с мосфетами и всей необходимой обвязкой:

Ну и самый важный момент: на полевой транзистор можно подавать ШИМ сигнал для “плавного” управления нагрузкой: плавно менять скорость вращения мотора, яркость светодиодной ленты, мощность обогревателя и прочее прочее!


Твердотельное реле (SSR DC)

Более простой вариант – твердотельное реле (Solid State Relay, SSR) для постоянного тока (DC), найти можно на том же Aliexpress по запросу SSR DC. Внимательно смотрим на маркировку: под выходными клеммами должно быть написано VDC, т.е. постоянное напряжение. Твердотельное реле имеет стандартный корпус для моделей постоянного и переменного тока, поэтому нужно читать что написано и не перепутать. Также в маркировке после слова SSR обычно указан ток в Амперах, т.е. SSR-25 это реле на 25 Ампер. Максимальное напряжение указано под выходными клеммами.

Твердотельное реле подключается напрямую к Arduino, пин “-” к GND, “+” к любому цифровому пину. Выход реле ставится в разрыв цепи питания нагрузки, как выключатель. Важно не перепутать плюс и минус, потому что внутри реле представляет собой полевой транзистор на радиаторе =)

Переменный ток

Симистор как вкл/выкл

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

Для управления нагрузкой только в режиме вкл/выкл желательно ставить оптопару с детектором нуля (например MOC306x), она будет сама отключать и включать нагрузку только в моменты перехода напряжения в сети через 0, что сильно уменьшает помехи в сети. Также здесь стоят резисторы: 220 Ом – для ограничения тока на светодиод оптопары (смотри характеристики оптопары, как подбирать резистор я писал выше). И резистор между оптопарой и симистором: 220-470 Ом с мощностью 1-2 Вт (будет греться). Симистор нужно брать с хорошим запасом по току, чтобы меньше грелся. Также симисторы бывают серии BTA и BTB, у BTA корпус (металлическая часть) изолирован и рекомендуется брать именно их, чтобы не шарахало током от радиатора. Распиновка компонентов:

У китайцев есть готовые модули с симистором и всей обвязкой. Кстати да, симистор греется под нагрузкой! Наличие радиатора обязательно, начиная с 200 Ватт.

Симистор как диммер

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

Для этой схемы нужна оптопара без детектора нуля, например серии MOC302x. Схема такой поделки может выглядеть вот так:

Резисторы 51к обязательно мощные, так как на них будет выделяться 1 Ватт: гасим лишнее напряжение, чтобы не сжечь светодиод оптопары детектора нуля. Также готовый модуль можно купить на Али. Выглядит он вот так и имеет пины питания, пин контроля симистора и вывод детектора нуля. Как со всем этим работать – смотрите видос ниже:

Где-то существует китайская библиотека для управления таким модулем, но она мне не очень понравилась. Привожу два примера для ручного управления таким диммером на базе библиотеки GyverTimers: одноканальный и многоканальный. В многоканальном режиме достаточно подключить к Ардуино выход детектора нуля только с одного модуля, а вот управляющие пины уже указать в скетче. Рассмотренные ниже примеры можно чуть оптимизировать, заменив digitalWrite() на быстрый аналог.

Источник

Adblock
detector