Ардуино управление транзистором – Arduino и использование двигателей. Подключение двигателя постоянного тока и управление им.

Содержание

Arduino + N-Channel MOSFET = Управляем высоким напряжением

Со временем каждый пользователь Arduino задумывается об управлении не только светодиодами и устройствами с напряжением до 5 вольт, но и об управлении соленоидами, моторами, светодиодными лентами и т.д., которые используют 12 и больше вольт. В этой статье будет рассмотрено как можно работать с высоким напряжением с использованием MOSFET и ардуино.

В этой статье будет рассматриваться MOSFET транзистор — металл-оксид-полупроводник полевой транзистор, в частности** RFP30N06LE**, но так же можно работать и с другими.

Начнём с того, что MOSFET это транзистор, но особого типа.
Транзисторы имеют 3 вывода, которые имеют 2 простые функции, первая — переключение, вторая — усиление (в данном примере рассматривается первая функция — переключатель). Выходы называются следующим образом: Вход (Источник), он же Source, Выход (Сток) — Drain, и Управление (Ворота, Затвор) —

Gate. При отправке сигнала высокого уровня к Gate (управляющий вывод), транзистор включается и позволяет току течь от источника (Source) к стоку (Drain).

Таким образом, мы подключим наш мотор, соленоид или лампу к V +, но не к земле (V-). Землю мы подключаем к стоку (Drain) транзистора. Когда наш Arduino посылает сигнал высокого уровня на Gate транзистора, он переключает транзистор (соединяет Source и Drain) и замыкает цепь для двигателя, соленоида, или лампы.

Подключаем мотор к Arduino (схема 1)

Подключаем соленоид к Arduino (схема 2)

Подключаем ламу к Arduino (схема 3)

Подключение / Зачем диод используется?

Эта схема довольно проста. Единственная часть, которая вызывает вопросы — использование стягивающего резистора (Pull down). Резистор

удерживает низкий уровень на Gate, когда Arduino не посылает сигнал высокого уровня. Дело в том, что если плохие провода, например, сигнал может плавать, и когда Arduino не посылает сигнал, остаточное напряжение может оставаться и транзистор может самопроизвольно включаться. Резистор же стягивает остаточное напряжение к земле.

Так же на схемах 1 и 2 вы можете заметить диод. При подключении устройства с катушкой (Coil), будь то реле, соленоид или мотор всегда используйте диод. Что будет если мы его не будем использовать? Когда вы перестаёте питать катушку обратное напряжение, бывает до нескольких сотен вольт, направляется обратно. Это длится всего несколько микросекунд, но этого достаточно, чтобы убить наш

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

Нам понадобится диод достаточно быстро реагирующий на отдачу, и достаточно сильный, чтобы взять на себя нагрузку. Нам подойдут диоды 1N4001 или SB560. Если вам нужна дополнительная защита, то можно использовать оптоизолятор между Arduino и транзистором. Оптоизолятор изолирует обе стороны цепи, и высокое напряжение не сможет вернуться в микроконтроллер, и не убьёт его.

Так же обязательно убедитесь, что подключаете диод правильно! Полосой (обычно серебристой) к плюсу (V+), иначе толку от него будет ноль, и может сделать даже хуже.

Недостатки / Ограничения

Транзисторы, такие как RFP30N06LE подходят для управления мощных устройств с вашего Arduino, но у них есть некоторые ограничения. Это текущая конфигурация имеет смысл только для переключения DC ток, так что не пытайтесь это с AC источником, а также MOSFET-транзисторы имеют ограничения, такие как напряжение и силу тока. RFP30N06LE может обрабатывать переключения до 60В, а сила тока ограничена 30А (с радиатором и правильным подключением), так же крайне важно использовать теплоотвод при силе тока более нескольких ампер, так как в таком случае при работе транзистора выделяется достаточно большое количество тепла.

Обычно можно просто припаять изогнутый кусочек металла на к спинке, просто чтобы рассеять тепло. Обратите внимание, что при использовании нескольких транзисторов не припаивайте к общему радиатору, используйте на каждый транзистор отдельный радиатор, так как у этих транзисторов спинка соединена с Выходом (Drain)! Это важно. Так же хочу отметить, что для AC тока лучше используйте реле.

Fade it / Используем ШИМ

Вы знаете, на Arduino есть PWM (ШИМ) выходы, почему бы нам ими не воспользоваться? Да,

PWM — это то, что позволяет использовать analogWrite (PIN, значение). PWM на самом деле не аналоговый выход. Arduino действительно пульсирует (очень быстро) от 0 до 5V так что среднее напряжение находится где-то между 0 и 5в. Мы можем подключить к PWM выходу наш транзистор и управлять яркостью света, скоростью мотора и т.д. так, как будто мы подключили их напрямую к Arduino. Для этого нужно просто убедиться, что транзистор подключен к PWM выхо

Подключение Mosfet к Aрдуино | Технохрень

Mosfet или МОП-транзистор это такая штука для управления нагрузкой. Типа как реле, но лучше

Бывают N и P  типов. Картинка поможет:

 

Картинку надо запомнить чтобы потом не путаться в документации. Да, и N-канальные круче как правило

NPN mosfet подключение к arduino

Тут все без гемора. Вот пара вариантов подключения:

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

В эту схему подойдет к примеру мосфет  h6n03l. Но тут есть нюанс в выборе резюков. Тот, который между ардуино и gate – чем больше сопротивление, тем меньше ток на ноге ардуино и меньше вероятность что она задымится. И чем больше сопротивление тем медленнее открывается мосфет. Кароч 150 ом норм для ардуино (по закону ома I = E / R, I = 5 / 150 = 0.033 А  — это 33 миллиампера, норм). Зачем он вообще нужен? Дело в том, что затвор (gate) у полевика имеет определенную емкость и является в какой-то мере конденсатором. Так что в момент переключения через затвор проходят большие токи, которые может не выдержать ардуина. Для этого и нужен резистор между gate и пином.

А второй 10 кОм типа подтягивающий резистор – нужен чтобы держать мосфет закрытым и нагрузку выключенной пока порт ардуины в неопределенном состоянии например при загрузке (так называемое Z-состояние).

Но у этой схемы есть косяк – она медленновата. На переключение уйдет 600ns что подходит не для всех задач. Вот фронт и спад.

 

Желтая – выход с мосфета, зелено-бирюзово-светло-голубая – выход с ШИМ ардуино. Желтая не успевает. Для решения этой проблемы надо поставить парочку транзисторов как тут предлагают http://joost.damad.be/2012/09/dimming-12v-led-strip-with-mosfet-and.html

Но это нужно далеко не всегда и как правило достаточно первой схемы. И кстати есть вариант получше — про него в конце статьи.

PNP mosfet arduino

Тут чутка сложнее

Если нам надо на нагрузку подать 5 вольт

:

  • R1 ограничивает ток на затворе чтобы ардуинка не сломалась
  • R2 подтягивает порт на землю чтобы не было ложных срабатываний
  • D1 диод шотки чтобы не спалить все – он нужен только если нагрузка имеет большую индуктивность – например реле или мотор или еще что-то, где есть много намотанной проволоки. Кстати для NPN мосфета он тоже нужен. А на переменном токе не нужен, а то задымится)

Если на мотор или лампочку надо 12 вольт то все немного сложнее. Чтобы открыть мосфет нам надо подать 12 вольт на gate, а при таком варианте наш ардуино задымится. Надо еще один транзистор так:

Тут Q1 – биполярный транзистор – он то и включает 12 вольт на gate Q2, а R1 нужен чтобы ограничить ток чтобы ардуино опять таки не задымилась. Работает все так:

  • подаем с ардуино high – q1 начинает проводить ток с коллектора на эмиттер и 12 вольт утекает не в gate q2, а на землю. q2 включает мотор
  • подаем с ардуино low – q1 закрыт и не пропускает ток, 12 вольт через резистор подаются на gate q2, моторчик не крутится. все просто. резистор r2 нужен чтобы ограничить ток q1 и q2 чтобы он не задымились

Управлять больше чем 12 вольт можно, например 24 вольтами, если q1 выдержит. Чтобы наверняка можно добавить диод D2:

Рулим 220 вольтами с помощью мосфета

Мосфетом не совсем удобно рулить 220 вольтами. Ну всяким извращенцам это нравится Вот пример схемы:

Эта схема диммера для лампочек, с помощью ШИМ можно менять яркость. Подробнее тут http://www.learningelectronics.net/circuits/dimmer-with-mosfet.html

А для нормального управления нагрузкой в 220 вольт вместо мосфетов можно использовать:

  • симисторы типа bt131. Если нужна плавная регулировка света, то нужно делать что-то вроде этого:

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

    Подробнее тут http://www.cyber-place.ru/showthread.php?t=525
  • транзисторы дарлингтона
  • КР1182ПМ1 (не особо надежно, по отзывам дохнут они)

Подключение Mosfet к Ардуино по-хорошему

Для таких вещей люди специально придумали специальные драйверы типа этих http://voltmaster-samara.ru/catalog/drajvery-mop-i-igbt-tranzistorov

Тут уж народ издевается над МОП транзисторами как хочет

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

На картинке первые две схемы а) и б) не очень, так как из-за кривых рук разработчика все может задымится. Зато вторые норм.

И кстати если надо использовать ШИМ — то лучше выбрать высокоскоростной драйвер типа TC4420.

Подбор MOSFET для подключения к ардуино

Качаем даташит, например для FQP30N06. Первое на что надо обратить внимание это ток и вольты:

Второе — определить по такой вот диаграмме падение напряжения. Например если мы рулим лампочкой с потреблением 2А, а для управления используем 5 вольт на gate:

Падение напряжения будет где-то 5,4 вольта и нам лучше найти что нибудь менее нагревательное

Третье — надо если используется ШИМ — время открытия и закрытия:

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

Опубликовать вашу статью на нашем сайте можно тут!

Ардуино: управление двигателем постоянного тока, L293D | Класс робототехники

Ардуино: управление двигателем постоянного тока, L293D

Каждый начинающий робототехник сталкивается с проблемой подключения двигателя к микроконтроллеру. Пройдя урок по управлению светодиодом кажется, что с двигателем можно поступить точно также: подключить его к цифровым выводам Ардуино, а затем включать и выключать по программе. Но не тут-то было. Даже небольшой двигатель, часто используемый в разного рода игрушках, для своей работы требует ток силой от 200 мА до 1 Ампера. А цифровой выход Arduino может дать нам только 20мА. Большинству мощных двигателей требуется напряжение более 5 Вольт, привычных для Ардуино. Распространены двигатели на 12, на 24 и на 48 Вольт. Другими словами, Ардуино очень слаба для прямого управления двигателями. Нужен какой-то мощный посредник!

Биполярный транзистор

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

Биполярный транзистор КТ850А и мотор

Как видим, схема очень простая. Подаем на базу транзистора слабый сигнал от Arduino через резистор 1кОм, вследствие чего транзистор открывает мощный канал, по которому ток проходит от плюса к минусу, через двигатель. По сути, мы получили примитивный драйвер двигателя!

В цепи обязательно нужно поставить защитный диод, например 1N4001 или 1N4007. Этот диод не даст сгореть транзистору и контроллеру в момент остановки двигателя, когда ЭДС самоиндукции создаст на обмотках скачок напряжения.

В этой схеме можно использовать NPN транзистор КТ850А с током коллектор-эмиттер 2 Ампера. Мотор F130, который мы используем в этом уроке, при пуске может потреблять ток до 1 А, так что транзистор должен иметь некоторый запас по току.

Полевой транзистор

Схема управления мотором через полевой транзистор выглядит схожим образом.

Полевой транзистор IRF540 и мотор

Вывод SIG можно подключить напрямую к любому цифровому выводу Ардуино. Использованный в этой схеме IRF540 имеет внушительный запас по току на канале сток-исток — 30 Ампер. Это значит, что по такой схеме можно управлять куда более мощными моторами.

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

Вконтакте

Facebook

Twitter

схема, принцип работы,​ чем отличаются биполярные и полевые [Амперка / Вики]

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

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

Транзисторы выпускаются в различных корпусах: один и тот же транзистор может внешне выглядеть совершенно по разному. В прототипировании чаще остальных встречаются корпусы:

  • TO-92 — компактный, для небольших нагрузок

  • TO-220AB — массивный, хорошо рассеивающий тепло, для больших нагрузок

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

Биполярные транзисторы

Биполярные транзисторы (BJT, Bipolar Junction Transistors) имеют три контакта:

  • Коллектор (collector) — на него подаётся высокое напряжение, которым хочется управлять

  • База (base) — через неё подаётся небольшой ток, чтобы разблокировать большой; база заземляется, чтобы заблокировать его

  • Эмиттер (emitter) — через него проходит ток с коллектора и базы, когда транзистор «открыт»

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

Например, если hfe = 100, и через базу проходит 0.1 мА, то транзистор пропустит через себя как максимум 10 мА. Если в этом случае на участке с большим током находится компонент, который потребляет, например 8 мА, ему будет предоставлено 8 мА, а у транзистора останется «запас». Если же имеется компонент, который потребляет 20 мА, ему будут предоставлены только максимальные 10 мА.

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

NPN и PNP

Описанный выше транзистор — это так называемый NPN-транзистор. Называется он так из-за того, что состоит из трёх слоёв кремния, соединённых в порядке: Negative-Positive-Negative. Где negative — это сплав кремния, обладающий избытком отрицательных переносчиков заряда (n-doped), а positive — с избытком положительных (p-doped).

NPN более эффективны и распространены в промышленности.

PNP-транзисторы при обозначении отличаются направлением стрелки. Стрелка всегда указывает от P к N. PNP-транзисторы отличаются «перевёрнутым» поведением: ток не блокируется, когда база заземлена и блокируется, когда через неё идёт ток.

Полевые транзисторы

Полевые транзисторы (FET, Field Effect Transistor) имеют то же назначение, но отличаются внутренним устройством. Частным видом этих компонентов являются транзисторы MOSFET (Metal-Oxide-Semiconductor Field Effect Transistor). Они позволяют оперировать гораздо большими мощностями при тех же размерах. А управление самой «заслонкой» осуществляется исключительно при помощи напряжения: ток через затвор, в отличие от биполярных транзисторов, не идёт.

Полевые транзисторы обладают тремя контактами:

  • Сток (drain) — на него подаётся высокое напряжение, которым хочется управлять

  • Затвор (gate) — на него подаётся напряжение, чтобы разрешить течение тока; затвор заземляется, чтобы заблокировать ток.

  • Исток (source) — через него проходит ток со стока, когда транзистор «открыт»

N-Channel и P-Channel

По аналогии с биполярными транзисторами, полевые различаются полярностью. Выше был описан N-Channel транзистор. Они наиболее распространены.

P-Channel при обозначении отличается направлением стрелки и, опять же, обладает «перевёрнутым» поведением.

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

Типичной задачей микроконтроллера является включение и выключение определённого компонента схемы. Сам микроконтроллер обычно имеет скромные характеристики в отношении выдерживаемой мощности. Так Ардуино, при выдаваемых на контакт 5 В выдерживает ток в 40 мА. Мощные моторы или сверхъяркие светодиоды могут потреблять сотни миллиампер. При подключении таких нагрузок напрямую чип может быстро выйти из строя. Кроме того для работоспособности некоторых компонентов требуется напряжение большее, чем 5 В, а Ардуино с выходного контакта (digital output pin) больше 5 В не может выдать впринципе.

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

Теперь при установке выхода в логическую единицу (high), поступающие на базу 5 В откроют транзистор и через ленту потечёт ток — она будет светиться. При установке выхода в логический ноль (low), база будет заземлена через микроконтроллер, а течение тока заблокированно.

Обратите внимание на токоограничивающий резистор R. Он необходим, чтобы при подаче управляющего напряжения не образовалось короткое замыкание по маршруту микроконтроллер — транзистор — земля. Главное — не превысить допустимый ток через контакт Ардуино в 40 мА, поэтому нужно использовать резистор номиналом не менее:

здесь Ud — это падение напряжения на самом транзисторе. Оно зависит от материала из которого он изготовлен и обычно составляет 0.3 – 0.6 В.

Но совершенно не обязательно держать ток на пределе допустимого. Необходимо лишь, чтобы показатель gain транзистора позволил управлять необходимым током. В нашем случае — это 100 мА. Допустим для используемого транзистора hfe = 100, тогда нам будет достаточно управляющего тока в 1 мА

Нам подойдёт резистор номиналом от 118 Ом до 4.7 кОм. Для устойчивой работы с одной стороны и небольшой нагрузки на чип с другой, 2.2 кОм — хороший выбор.

Если вместо биполярного транзистора использовать полевой, можно обойтись без резистора:

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

Управление мотором постоянного тока с помощью одного транзистора [Амперка / Вики]

В данной статье рассматривается наиболее простой способ подключения мотора постоянного тока к Arduino.

Введение

Моторы постоянного тока нельзя подключать напрямую к Arduino. Это обусловлено тем, что пины не способны выдавать ток более 40 мА. Мотору же, в зависимости от нагрузки, необходимо несколько сотен миллиампер. Потому возникает потребность увеличения мощности. Делается это, как-правило, с помощью транзисторов.

В статье «Транзисторы: схема, принцип работы,​ чем отличаются биполярные и полевые» можно ознакомиться с основными типами транзисторов и их принципами работы.

Так же рекомендуется посмотреть: Видеоуроки по Arduino, 5-я серия — Моторы и транзисторы. В данном уроке Джереми Блюм рассказывает о подключении мотора постоянного тока к Arduino через биполярный транзистор.

Необходимые компоненты

Мы рассмотрим вариант взаимодействия с полевым транзистором. Принципы подключения мотора будут разобраны на конкретном железе: DC-мотор, плата Arduino, N-канальный полевой транзистор, резистор на 10 кОм (R1), резистор на 220 Ом (R2).

Вы же в своих экспериментах вольны использовать то, что есть в наличии. Важны лишь 3 условия:

  • Максимальный ток потребления мотора (ток при блокировке) не должен превышать максимальный ток стока полевого транзистора.

  • Затвор транзистора должен отпираться при напряжении 5 В.

  • Транзистор должен обладать встроенным диодом обратной цепи (flyback диод).

Схема подключения

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

Транзистор IRF530N является мощным и поставляется в корпусе TO-220. Ниже приведена его распиновка.

В данной схеме транзистор будет работать в ключевом режиме: по одной команде (установка уровня HIGH на затворе) от Arduino транзистор будет подключать мотор к источнику питания (отпираться), по другой команде (установка уровня LOW на затворе) — отключать мотор от источника питания.

Резистор R1 подтягивает к земле затвор транзистора. Номинал не принципиален — можно использовать любые резисторы в диапазоне от 1 до 10 кОм. Резистор R2 служит для защиты пина микроконтроллера. Диапазон, примерно, от 10 до 500 Ом.

Чтобы запитать данную схему, можно подключить к Arduino внешний источник питания на 6-9 В, либо подать питание непосредственно на макетную плату ( синяя шина — минус, красная шина — плюс).

Программинг

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

Blink.ino
int led = 13;
 
 
void setup() 
{                
  // Инициализация цифрового пина 13 на вывод
  pinMode(led, OUTPUT);     
}
 
 
void loop()
{
  digitalWrite(led, HIGH);   // Включение светодиода и мотора
  delay(1000);               // Задержка на 1 секунду
  digitalWrite(led, LOW);    // Выключение светодиода и мотора
  delay(1000);               // Задержка на 1 секунду
}

Посмотрим, что получилось.

Цифровой пин 13 раз в секунду меняет своё состояние. Когда на выходе устанавливается значение HIGH — загорается светодиод и начинает вращаться мотор. Когда устанавливается LOW — светодиод гаснет, а мотор останавливается.

Результаты

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

Использование ШИМ для регулировки скорости мотора

Если мотором управлять ничуть не сложнее, чем светодиодом, то, наверное можно изменять яркость скорость вращения мотора точно так же, как при работе со светодиодами? Именно так! С точки зрения Arduino абсолютно не важно с чем мы имеем дело.

Как вы уже, наверно, могли догадаться, для изменения скорости вращения мотора нам понадобится скетч Fade.

Fade.ino
int led = 9;           // Пин, к которому подключён затвор транзистора
int brightness = 0;    // Теперь эта переменная отвечает за скорость вращения
int fadeAmount = 5;    // Шаг изменения скорости
 
void setup()
{ 
  // Настраиваем цифровой пин 9 на вывод
  pinMode(led, OUTPUT);
} 
 
void loop()
{ 
  // Устанавливаем скорость вращения мотора
  analogWrite(led, brightness);    
 
  // Увеличиваем текущее значение скорости вращения
  brightness = brightness + fadeAmount;
 
  // Когда скорость становится максимальной/минимальной — начинаем её снижать/повышать 
  if (brightness == 0 || brightness == 255)
  {
    fadeAmount = -fadeAmount ; 
  }     
  // Пауза 30 миллисекунд    
  delay(30);                            
}

Схема подключения

Чтобы использовать возможности функции analogWrite(..), нам придётся перейти на один из пинов (3/5/6/9/10/11), поддерживающих аппаратный ШИМ. Поскольку, по умолчанию, в скетче Fade задействован 9-й пин, остановим свой выбор на нём.

Результат

Была получена возможность изменять скорость вращения мотора, используя аппаратный ШИМ Arduino.

На чём данная статья подходит к завершению. Теперь вы смело можете использовать моторы постоянного тока в своих проектах!

Подключение нагрузки к Ардуино — RadioRadar

Научно-технические

Главная  Статьи, аналитика  Научно-технические

«Научно-технические статьи» — подборка научно-технических статей радиоэлектронной тематики: новинки электронных компонентов, научные разработки в области радиотехники и электроники, статьи по истории развития радиотехники и электроники, новые технологии и методы построения и разработки радиоэлектронных устройств, перспективные технологии будущего, аспекты и динамика развития всех направлений радиотехники и электроники, обзоры выставок радиоэлектронной тематики.


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

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

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

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

Подключение слабых нагрузок

Простейший пример – светодиод. Большинство таких диодов имеет предельный порог по току в 20 мА (0,02А). Поэтому подключать их к Ардуино лучше всего через токоограничивающий резистор. Как его рассчитать, мы рассмотрели в отдельной статье, на всякий случай напомним формулу:

R = U / I

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

Rогр = 5 В / 0,02 А = 250 Ом.

То есть при включении в цепь питания резистора номиналом свыше 250 Ом мы получим падение силы тока ниже 0,02 А (что и нужно для светодиода).

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

Типовое включение маломощных элементов на примере того же светодиода можно увидеть ниже.

Рис. 1. Типовое включение маломощных элементов на примере светодиода

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

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

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

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

Через биполярный транзистор

Классическая схема включения будет выглядеть так.

Рис. 2. Классическая схема включения через биполярный транзистор

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

На роль транзистора подойдёт практически любой n-p-n.

Такая схема проста в реализации и доступна по цене, но не подходит для управления цепями с очень мощными нагрузками.

Альтернатива – ниже.

Через полевой транзистор

Действительно силовые схемы можно подключать к Ардуино через полевики.

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

Рис. 3. Классическая схема включения через полевой транзистор

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

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

А второй (10К) – используется для защиты самого микроконтроллера и исключения помех в работе транзистора (исключает Z-состояние).

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

Рис. 4. Индуктивная нагрузка

Чтобы повысить «управляемость» цепи, лучше всего выбирать мосфеты с пометкой «Logic Level» (они предназначены для работы с цифровыми логическими уровнями).

Через транзисторы Дарлингтона

Что называется «решение из коробки». В радиомагазинах можно найти готовые микросхемы, такие как ULN2003, которые представляют собой набор независимых составных транзисторов Дарлингтона. Схема управления реализуется очень просто.

Рис. 5. Схема управления

Здесь каждый выход Ардуино управляет отдельным составным транзистором (выход строго напротив). При необходимости транзисторы можно включать параллельно (каждый «тянет» нагрузку по 500 мА).

Через оптореле

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

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

Схема подключения нагрузки с оптореле будет выглядеть следующим образом.

Рис. 6. Схема подключения нагрузки с оптореле

Резистор перед реле отвечает за ограничение тока. Рассчитывается как и в предыдущих примерах.

Оптореле не подойдёт только для случаев управления «быстрыми» схемами.

Другие методы

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

1. Через семисторы (триаки)

Рис. 7. Подлючения мощных нагрузок к Ардуино и к другим микроконтроллерам через семисторы

2. Через классические реле (требуется ещё один посредник для управления самим реле)

Рис. 8. Подлючения мощных нагрузок к Ардуино и к другим микроконтроллерам через классические реле

3. Коммутация с одновременной стабилизацией

Рис. 9. Коммутация с одновременной стабилизацией

4. Драйвер с защитой от коротких замыканий

Рис. 10. Драйвер с защитой от коротких замыканий

Автор: RadioRadar

Дата публикации: 23.05.2018

Мнения читателей

Нет комментариев. Ваш комментарий будет первый.

Вы можете оставить свой комментарий, мнение или вопрос по приведенному вышематериалу:


Силовой ключ (5 А; 24 В) на полевом транзисторе (IRF520 MOSFET) для Arduino —

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

Силовой ключ (5 А; 24 В) на полевом транзисторе (IRF520 MOSFET) для Arduino.Вид спереди
Силовой ключ (5 А; 24 В) на полевом транзисторе (IRF520 MOSFET) для Arduino. Вид сверху

Управлять силовым ключем можно с помощью Arduino или другого микроконтроллера, при подаче на вход ключа высокого уровня от 5 В, он откроется и включит нагрузку. При токе нагрузки более 1 ампера нужен радиатор для транзистора. Практическое измерение нескольких экземпляров этого MOSFET модуля показало, что ключ открывается при подаче сигнала управления на затвор от 3,4 Вольт.
Полевой транзистор позволяет использовать ШИМ (широтно-импульсную модуляцию), т.е можно менять скорость работы электродвигателя или яркость светодиодной ленты, лампы (светодиода) и т.д.

Если управляющий сигнал ниже 5 Вольт, то нужно использовать другой ключ, работающий от низкого постоянного напряжения (от 3 Вольт).

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

Технические характеристики силового ключа на MOSFET транзисторе “IRF520”:

  • управление нагрузкой с напряжением питания постоянного тока, В: 0-24
  • рабочий ток нагрузки, А: 0-5
  • уровень управляющего сигнала, В: 5-20
  • размеры платы, мм: 33.4*25.6

Подключение:

  • “V+” — плюсовой контакт подключения нагрузки пост. тока
  • “V-” — минусовой контакт подключения нагрузки пост. тока
  • “Vin” — “+” контакт, сюда подключить питание для нагрузки (от 0 до 24 В)
  • “GND” — “-” контакт питания для нагрузки
  • “SIG – “плюсовой контакт для подключения управ. сигнала (например с ARDUINO)
  • “Vcc” – не используется
  • “GND – “минусовой контакт для подключения управ. сигнала

Принципиальная схема силового ключа на IRF520:

Принципиальная схема силового ключа (5 А; 24 В) на полевом транзисторе (IRF520 MOSFET) для Arduino

Варианты использования:

управление силовым ключом с помощью сенсорной кнопки “TTP223”

Преимущества:

  • бесшумная работа
  • нет механических частей

Описание на “IRF520” (datasheet)

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *