Транзисторный ключ ардуино. Подключение мосфета к ардуино. NPN mosfet подключение к arduino

Ардуино идеально подходит для управления любыми устройствами. Микропроцессор ATmega с помощью программы-скетча манипулирует большим количеством дискретных выводов, аналогово-цифровых входов/выводов и ШИМ-контроллерами.

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

Принцип управления нагрузкой через Ардуино

Плата Ардуино имеет два типа портов вывода: цифровой и аналоговый (ШИМ-контроллер). У цифрового порта возможно два состояния – логический ноль и логическая единица. Если подключить к нему светодиод он либо будет светиться, либо не будет.

Аналоговый выход представляет собой ШИМ-контроллер, на который подаётся сигнал частотой около 500Гц с регулируемой скважностью. Что такое ШИМ-контроллер и принцип его работы можно найти в интернете. Через аналоговый порт возможно не только включать и выключать нагрузку, а и изменять напряжение (ток) на ней.

Синтаксис команд

Цифровой вывод:

pinMode(12, OUTPUT); — задаём порт 12 портом вывода данных;
digitalWrite(12, HIGH); — подаём на дискретный выход 12 логическую единицу, зажигая светодиод.

Аналоговый вывод:

analogOutPin = 3; – задаём порт 3 для вывода аналогового значения;
analogWrite(3, значение); – формируем на выходе сигнал с напряжением от 0 до 5В. Значение – скважность сигнала от 0 до 255. При значении 255 максимальное напряжение.

Способы управления светодиодами через Ардуино

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

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

Виды транзисторных ключей

  • Биполярный;
  • Полевой;
  • Составной (сборка Дарлингтона).
Способы подключения нагрузки
Через биполярный транзистор Через полевой транзистор Через коммутатор напряжения

При подаче высокого логического уровня (digitalWrite(12, HIGH);) через порт вывода на базу транзистора через цепочку коллектор-эмиттер потечет опорное напряжение на нагрузку. Таким образом можно включать и отключать светодиод.

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

Биполярный вид не позволяет регулировать мощные нагрузки. Ток через него ограничен на уровне 0,1-0,3А.

Полевые транзисторы работают с более мощными нагрузками с током до 2А. Для ещё более мощной нагрузки используют полевые транзисторы Mosfet с током до 9А и напряжением до 60В.

Вместо полевых можно использовать сборку Дарлингтона из биполярных транзисторов на микросхемах ULN2003, ULN2803.

Микросхема ULN2003 и принципиальная схема электронного коммутатора напряжения:

Принцип работы транзистора для плавного управления светодиодной лентой

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

Подключив транзистор к аналоговому порту Ардуино, присваиваем ему значение от 0 до 255, изменяем напряжение, подаваемое на коллектор либо сток от 0 до 5В. Через цепочку коллектор-эмиттер будет проходить от 0 до 100% опорного напряжения нагрузки.

Для управления светодиодной лентой arduino необходимо подобрать транзистор подходящей мощности. Рабочий ток для питания метра светодиодов 300-500мА, для этих целей подойдет силовой биполярный транзистор. Для большей длины потребуется полевой транзистор.

Схема подключения LED ленты к ардуино:

Управление RGB лентой с помощью Andurino

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

Схема подключения к Arduino RGB светодиода:

Аналогично построено и управление RGB лентой Arduino:

Аrduino RGB контроллер лучше собирать на полевых транзисторах.

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

Скетч управления яркостью светодиодной ленты Arduino

int led = 120; устанавливаем средний уровень яркости

void setup() {
pinMode(4, OUTPUT); устанавливаем 4й аналоговый порт на вывод
pinMode(2, INPUT);

pinMode(4, INPUT); устанавливаем 2й и 4й цифровой порт на ввод для опроса кнопок
}
void loop(){

button1 = digitalRead(2);

button2 = digitalRead(4);
if (button1 == HIGH) нажатие на первую кнопку увеличит яркость
{
led = led + 5;

analogWrite(4, led);
}
if (button2 == HIGH) нажатие на вторую кнопку уменьшит яркость
{
led = led — 5;

analogWrite(4, led);
}

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

Модули управления Ардуино

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

ИК-управление

Модуль позволяет запрограммировать до 20 команд.

Радиус сигнала около 8м.

Цена комплекта 6 у.е.

По радиоканалу

Четырёхканальный блок с радиусом действия до 100м

Цена комплекта 8 у.е.

Позволяет включать освещение еще при приближении к квартире.

Бесконтактное

Датчик расстояния способен по движению руки увеличивать и уменьшать яркость освещения.

Радиус действия до 5м.

Цена модуля 0,3 у.е.

Транзистор

Транзистор - полупроводниковый прибор позволяющий с помощью слабого сигнала управлять более сильным сигналом. Из-за такого свойства часто говорят о способности транзистора усиливать сигнал. Хотя фактически, он ничего не усиливает, а просто позволяет включать и выключать большой ток гораздо более слабыми токами. Транзисторы весьма распространены в электронике, ведь вывод любого контроллера редко может выдавать ток более 40 мА, поэтому, даже 2-3 маломощных светодиода уже не получится питать напрямую от микроконтроллера. Тут на помощь и приходят транзисторы. В статье рассматриваются основные типы транзисторов, отличия P-N-P от N-P-N биполярных транзисторов, P-channel от N-channel полевых транзисторов, рассматриваются основные тонкости подключения транзисторов и раскрываются сферы их применения.

Не стоит путать транзистор с реле. Реле — простой выключатель. Суть его работы в замыкании и размыкании металлических контактов. Транзистор устроен сложнее и в основе его работы лежит электронно-дырочный переход. Если вам интересно узнать об этом больше, вы можете посмотреть прекрасное видео, которое описывает работу транзистора от простого к сложному. Пусть вас не смущает год производства ролика — законы физики с тех пор не изменились, а более нового видео, в котором так качественно преподносится материал, найти не удалось:

Типы транзисторов

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

Биполярный транзисто предназначен для управления слабыми нагрузками (например, маломощные моторы и сервоприводы). У него всегда есть три вывода:

    Коллектор (англ. collector) - подаётся высокое напряжение, которым транзистор управляет

  • База (англ. base) - подаётся или отключается ток для открытия или закрытия транзистора
  • Эмиттер (англ. emitter) - «выпускной» вывод транзистоа. Через него вытекает ток от коллектора и базы.

Биполярный транзистор управляется током. Чем больший ток подаётся на базу, тем больший ток потечёт от коллектора к эмиттеру. Отношение тока, проходящего от эмиттера к коллектору к току на базе транзистора называется коэффициент усиления. Обозначается как h fe (в английской литературе называется gain ).

Например, если h fe = 150, и через базу проходит 0.2 мА, то транзистор пропустит через себя максимум 30 мА. Если подключен компонент, который потребляет 25 мА (например, светодиод), ему будет предоставлено 25 мА. Если же подключен компонент, который потребляет 150 мА, ему будут предоставлены только максимальные 30 мА. В документации к контакту указываются предельно допустимые значени токов и напряжений база->эмиттер и коллектор-> эмиттер . Превышение этих значений ведёт к перегреву и выходу из строя транзистора.

Весёлые картинки:

NPN и PNP биполярные транзисторы

Различают 2 типа полярных транзисторов: NPN и PNP . Отличаются они чередованием слоёв. N (от negative — отрицательный) - это слой с избытком отрицательных переносчиков заряда (электронов), P (от positive — положительный) - слой с избытком положительных переносчиков заряда (дырок). Подробнее о электронах и дырках рассказано в видео, приведённом выше.

От чередования слоёв зависит поведение транзисторов. На анимации выше представлен NPN транзистор. В PNP управление транзистором устроено наоборот — ток через транзистор течёт, когда база заземлена и блокируется, когда через базу пропускают ток. В отображении на схеме PNP и NPN отличаются направлением стрелки. Стрелка всегда указывает на переход от N к P :

Обозначение NPN (слева) и PNP (справа) транзисторов на схеме

NPN транзисторы более распространены в электронике, потому что являются более эффективными.

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

Полевые транзисторы отличаются от биполярных внутренним устройством. Наиболее распространены в любительской электронике МОП транзисторы. МОП - это аббревиатура от металл-оксид-проводник. То-же самое по английски: Metal-Oxide-Semiconductor Field Effect Transistor сокращённо MOSFET. МОП транзисторы позволяют управлять большими мощностями при сравнительно небольших размерах самого транзистора. Управление транзистором обеспечивается напряжением, а не током. Поскольку транзистором управляет электрическое поле , транзистор и получил своё название - поле вой.

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

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

    Затвор (англ. gate) - на него подаётся напряжение для управления транзистором

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

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

N канальные и P канальные полевые транзисторы

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

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

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

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

Транзистор Дарлингтона

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

Подключение транзистора

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

На приведённой схеме мотор подключается к отдельному источнику питания. Между контактом мотора и источником питания для мотора мы поместили транзистора, который будет управляться с помощью любого цифрового пина Arduino. При подаче на вывод контроллера сигнала HIGH с вывода контроллера мы возьмём совсем небольшой ток для открытия транзистора, а большой ток потечёт через транзистор и не повредит контроллер. Обратите внимание на резистор, установленный между выводом Ардуино и базой транзистора. Он нужен для ограничения тока, протекающего по маршруту микроконтроллер - транзистор - земля и предотвращения короткого замыкания. Как упоминалось ранее, максимальный ток, который можно взять с вывода Arduino - 40 мА. Поэтому, нам понадобится резистор не менее 125 Ом (5В/0,04А=125Ом). Можно без опаски использовать резистор на 220 Ом. На самом деле, резистор стоит подбирать с учётом тока, который необходимо подать на базу для получения необходимого тока через транзистор. Для правильного подбора резистора нужно учитывать коэффициент усиления (h fe ).

ВАЖНО!! Если вы подключаете мощную нагрузку от отдельного блока питания, то необходимо физически соединить между собой землю («минус») блока питания нагрузки и землю (пин «GND») Ардуино. Иначе управлять транзистором не получится.

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

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

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

Я купил несколько модулей для ардуино, что делать дальше?

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

Datasheet или даташит - это техническая документация на изделие. Такую документацию можно скачать на любую микросхему или датчик. Обычно они есть на сайте производителя. Более того, в сети существуют специальные ресурсы, на которых собрана целая масса технической документации, одним из таких является http://www.alldatasheet.com/

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

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

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

У ArduinoUno напряжение питания и логических уровней 5 В, если внешнее устройство работает в 3.3 В диапазоне - вам придется сформировать их, питание можно устроить с помощью LDO стабилизатора (линейных с низким падением, для стабилизации ему нужно не менее 1.3 вольт «лишнего напряжения при максимальном токе, против 2-х вольт на стабилизаторах 78xx серии, что позволяет получить 3.3 вольта от 4.5 вольт (трёх пальчиковых батареек).

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

Ардуино работает с ними. Это облегчит вам задачу в поиске готовых библиотек и примеров кода.

Согласование и усиление сигналов

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

1. Согласование цепей по напряжению.

2. Согласование мощности выходного пина и исполнительного устройства, иными словами усиление напряжения и/или тока.

Что делать если на моём модуле логические уровни 3.3 Вольта, а на ардуино 5 Вольт? Довольно просто использовать конвертер логически уровней. Его можно собрать из дискретных элементов, а можно приобрести готовый модуль на плате, к примеру такой:

Такой преобразователь двунаправленный, т.е. он понижает высокий уровень и повышает ответный низкий. LV(1,2,3,4) - площадки для подключения низкоуровневых сигналов, HV(1,2,3,4) - высоких уровней, HV и LV без цифр - это напряжения 5 и 3.3 Вольта, как и у источников преобразуемых сигналов, GND - земля или минусовой провод. В конкретном экземпляре есть 4 независимых канала.

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

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

Подключение мощных потребителей

Так как микроконтроллер может только УПРАВЛЯТЬ работой устройств, вы не можете подключить мощный потребитель к её порту. Примеры таких потребителей:

    Электродвигатели;

    Сервоприводы.

1. Подключение сервопривода

Основная задача сервопривода - это задать положение ротора подключенного к исполнительным механизмам, контролировать и изменять его с помощью малых усилий. То есть, вы, с помощью потенциометра, если сервопривод рассчитан на вращение в пределах половины оборота (180 градусов) или с помощью энкодера, если необходимо круговое вращение (360 градусов) можете управлять положением вала сервопривода (электродвигателя в нашем случае) произвольной мощности.

Многие любители робототехники используют ардуину в качестве основы своих роботов. Здесь сервоприводы нашли отличное применение. Их используют в качестве привода поворотных механизмов для камер, датчиков и механических рук. Радиомоделисты используют для привода поворота колес в моделях автомобилей. В промышленности используют большие приводы в ЧПУ станках и прочей автоматизации.

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

    Красный - плюс питания, если привод мощный лучше подключать к внешнему источнику, а не к плате ардуино;

    Черный или коричневый - минус, по подключению также, как и плюс;

    Желтый или оранжевый - управляющий сигнал - его подают из цифрового пина микроконтроллера (digital out).

Для управления сервой предусмотрена специальная библиотека, обращение к ней объявляется в начале кода, командой "#include servo.h".

Подключение электродвигателя

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

Лучше использовать транзистор. Подойдет , хоть прямой (pnp), хоть обратной (npn) проводимости. Полевые тоже подойдут, но при выборе конкретного убедитесь, работает ли его затвор с логическим уровнями?

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

Если между G и S не поставить резистора - тогда затвор (G) не будет притянут к земле и может самопроизвольно “гулять” от помех.

Как определить, что полевой транзистор пригоден для прямого управления с микроконтроллера смотрите ниже. В даташите найдите параметр Vgs, например для IRL540 все измерения и графики привязаны к Vgs=5v, даже такой параметр, как сопротивления открытого канала указан для этого напряжения между затвором и истоком.

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

Обороты этих двух типов двигателей легко регулировать изменяя питающее напряжение. Это можно сделать если базу транзистора подключить не в цифровому (digital output), а шим пину (~pwm), значение которого определяется функцией "analogWrite()".

Реле и соленоиды

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

Для этого нужно подать напряжение нужной на катушку реле. На схеме реле, его катушка рассчитана на управление 5-ю вольтами, силовые контакты могут коммутировать и пару вольт и сетевые 220 В.

    Привод замков дверей автомобиля;

    Электромагнитные клапана;

    Электромагнит в металлургическом производстве;

    Силовая установка пушки гаусса и прочее.

В любом случае типовая схема подключения катушек постоянного тока к микроконтроллеру или логике выглядит так:

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

Устройства ввода и датчики

Вы можете управлять своей системой с помощью кнопок, резисторов, энкодеров. Кнопкой вы можете подать сигнал на цифровой вход ардуины высокого (high/5V) или низкого (low/0V) уровня.

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

Когда кнопка нажата на сопротивлении падает напряжение питания, то есть высокий (high) уровень. Когда кнопка не нажата - тока в цепи нет, потенциал на резисторе низкий, на вход подается сигнал "Low/0V". Это состояние называется "пин подтянут к земле, а резистор "pull-down".

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

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

Когда кнопка отпущена все напряжение остается на ней, вход получает высокий уровень. Это состояние называется "пин подтянут к плюсу", а резистор "pull-up". Когда вы нажмете кнопку вы шунтируете (замыкаете) вход на землю.

Делитель напряжения и ввод сигнала с потенциометра и резистивных аналоговых

Делитель напряжения применяется для подключения переменных сопротивлений, таких как терморезисторы, фоторезисторы и прочее. За счет того, что один из резисторов постоянный, а второй переменный - можно наблюдать изменение напряжения в их средней точки, на картинке выше оно обозначено, как Ur.

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

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

Выводы

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

Алексей Бартош

Со временем каждый пользователь 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 выходу Arduino .

Код / Скетч для Arduino

Вам вряд ли пригодится этот код, вы просто отправить сигнал высокого уровня к Gate и БАМ... Оно работает. Но я набросал код для вас, поэтому вы можете потестировать его с использованием ШИМ . (Имеет смысл только для двигателя или лампочки, не для соленоида).

////////////////////////////////////////////////////////////////// //Released under the MIT License - Please reuse change and share //Simple code to output a PWM sine wave signal on pin 9 ////////////////////////////////////////////////////////////////// #define fadePin 3 void setup(){ pinMode(fadePin, OUTPUT); } void loop(){ for(int i = 0; i<360; i++){ //convert 0-360 angle to radian (needed for sin function) float rad = DEG_TO_RAD * i; //calculate sin of angle as number between 0 and 255 int sinOut = constrain((sin(rad) * 128) + 128, 0, 255); analogWrite(fadePin, sinOut); delay(15); } }

Использование оптотиристоров

Оптосимисторы МОС301х, МОС302х, МОС303х, МОС304х, МОС306х, МОС308х
Оптосимисторы принадлежат к классу оптронов и обеспечивают очень хорошую гальваническую развязку (порядка 7500 В) между управляющей цепью и нагрузкой. Эти радиоэлементы состоят из инфракрасного светодиода, соединенного посредством оптического канала с двунаправленным кремниевым симистором. Последний может быть дополнен отпирающей схемой, срабатывающей при переходе через нуль питающего напряжения.
Эти радиоэлементы особенно незаменимы при управлении более мощными симисторами, например при реализации реле высокого напряжения или большой мощности. Подобные оптопары были задуманы для осуществления связи между логическими схемами с малыми уровнями напряжений и нагрузкой, питаемой сетевым напряжением 220 В. Оптосимистор может размещаться в малогабаритном DIP-корпусе с шестью выводами, его цоколевка и внутренняя структура показаны на рис.1.

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

Что касается элементов с обнаружением нуля напряжения питания, то их выходной каскад срабатывает при превышении напряжением питания некоторого порога, обычно это 5 В (максимум 20 В). Серии МОС301х и МОС302х чаще используются с резистивной нагрузкой или в случаях, когда напряжение питания нагрузки должно отключаться. Когда симистор находится в проводящем состоянии, максимальное падение напряжения на его выводах обычно равно 1,8В (максимум 3В) при токе до 100мА. Ток удержания (IH), поддерживающий проводимость выходного каскада оптосимистора, равен 100мкА, каким бы он ни был (отрицательным или положительным) за полупериод питающего напряжения.
Ток утечки выходного каскада в закрытом состоянии (ID) варьируется в зависимости от модели оптосимистора. Для оптосимисторов с обнаружением нуля ток утечки может достигать 0,5мА, если светодиод находится под напряжением (протекает ток IF).
У инфракрасного светодиода обратный ток утечки равен 0,05 мкА (максимум 100 мкА), и максимальное падение прямого напряжения 1,5В для всех моделей оптосимисторов. Максимально допустимое обратное напряжение светодиода 3 вольта для моделей МОС301х, МОС302х и МОС303х и 6 вольт для моделей МОС304х. МОСЗО6х и МОСЗО8х.
Предельно допустимые характеристики
Максимально допустимый ток через светодиод в непрерывном режиме - не более 60ма.
Максимальный импульсный ток в проводящем состоянии переключателя выходного каскада - не более 1 А.
Полная рассеиваемая мощность оптосимистора не должна превышать 250 мВт (максимум 120 мВт для светодиода и 150 мВт для выходного каскада при Т - 25˚С).

Применение оптосимисторов

На рис.2 а-д представлены различные схемы типичных применений оптосимисторов, отличающиеся друг от друга характером нагрузки и способами подключения нагрузки и питания.
Сопротивление Rd
Расчет сопротивления этого резистора зависит от минимального прямого тока инфракрасного светодиода, гарантирующего отпирание симистора. Следовательно, Rd = (+V - 1,5) / IF.
Например, для схемы транзисторного управления оптосимистором c напряжением питания +5 В (рис.3) и напряжением на открытом транзисторе (Uкэ нас), равном 0.3 В, +V будет 4,7 В, и IF должен находиться в диапазоне между 15 и 50 ма для МОС3041. Следует принять IF - 20 мА с учетом снижения эффективности светодиода в тече¬ние срока службы (запас 5 мА), целиком обеспечивая работу оптопары с постепенным ослаблением силы тока. Таким образом, имеем:
Rв = (4,7 - 1,5) / 0,02 = 160 Ом.
Следует подобрать стандартное значение сопротивления, то есть 150 Ом для МОС3041 и сопротивление 100 Ом для МОС3020.
Сопротивление R
Резистор R необязательно включать, когда нагрузка чисто резистивная. Однако, если симистор защищен цепочкой RР - CР, чаще всего называемой искрогасящей, резистор R позволяет ограничить ток через управляющий электрод оптосимистора. Действительно, в случае индуктивной нагрузки проходящий через симистор ток и напряжение, приложенное к схеме, находятся в противофазе. Так как симистор перестает быть проводником, когда ток проходит через нуль, конденсатор защитной цепочки СР может разряжаться через оптосимистор. Тогда резистор R ограничивает этот ток разряда. Минимальное значение его сопротивления зависит от максимального напряжения конденсатора и максимально допустимого для оптосимистора тока, поэтому для напряжения питания 220 В:
Rmin = 220 В х 1,41 / 1А - 311 Ом.
С другой стороны, слишком большая величина R может привести к нарушению работы. Поэтому принимают R - 330 или 390 Ом.
Сопротивление RG
Резистор RG необходим только тогда, когда входное сопротивление управляющего электрода очень велико, то есть в случае чувствительного симистора. Значение резистора RG может быть в диапазоне от 100 до 500 Ом.
Резисторы RG и R вводят задержку отпирания симистора, которая будет тем значительнее, чем выше сопротивления этих резисторов. Цепочка Ra - Сa
Чтобы ограничить скорость изменения напряжения dV/dt на выходе оптосимистора, необходима snubber-цепочка (рис.2 г).
Выбор значения сопротивления резистора Ra зависит от чувствительности симистора и напряжения Va, начиная с которого симистор должен срабатывать. Таким образом, имеем:
R + Ra = Va / IG.
Для симистора с управляющим током IG = 25мА и напряжением отпирания Va = 20В получим: R + Ra = 20 / 0,025 - 800 Ом
или: Ra = 800 - 330 = 470 Ом.
Для того чтобы переключение симистора происходило быстро, должно быть выполнено следующее условие: dV / dt = 311 / Ra х Ca.
Для МОС3020 максимальное значение dV / dt - 10 В/мкс.
Таким образом: Сa = 311 / (470 х 107) = 66 нФ.
Выбираем: Сa = 68 нФ.
Замечание.
Что касается snubber-цепочки, то экспериментальные значения, как правило, предпочтительнее теоретических расчетов.
Защита
Настоятельно рекомендуется защищать симистор и оптосимистор при работе на индуктивную нагрузку или при часто воздействующих на сеть помехах.
Для симистора искрогасящая RC-цепочка просто необходима. Для оптосимистора с обнаружением нуля, такой как МОС3041, - желательна. Сопротивление резистора R следует увеличить с 27 Ом до 330 Ом (за исключением случая, когда управляемый симистор малочувствительный).
Если используется модель без обнаружения нуля, то snubber-цепочка Ra - Сa обязательна.



Что еще почитать