Как безопасно подключать внешние устройства к микроконтроллеру

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

Многие устройства ввода/вывода потребляют много тока (> 100 мА), которые большинство микроконтроллеров не могут обеспечить в безопасном режиме, а когда они пытаются обеспечить такое количество тока, они часто ломаются. Здесь нам на помощь приходят специальные схемы, которые называются «драйверы» (англ. — drivers). Драйверы — это схемы, которые могут принимать небольшой слабый сигнал от микроконтроллера, а затем использовать этот сигнал для управления каким-либо энергопотребляющим устройством.

Для правильной работы микроконтроллеров с внешними устройствами иногда требуются специальные схемы. Эти внешние устройства включают:

  • Цепи драйвера
  • Схемы защиты входа
  • Схемы защиты выхода
  • Цепи изоляции

Итак, давайте посмотрим на некоторые из этих схем и на то как они работают!

Драйвера

Для того чтобы быстро перезарядить Gate необходимо приложить, в зависимости от полевика, различное усилие. В интернете есть формулы для расчета токов, протекающих через драйвер. Я же хочу показать какие есть схемы управления полевиками. Конкретно нас интересует ключевой режим работы MOSFET-а.

Напрямую от контроллера

Не самый лучший вариант. Исключение составляют контроллеры со встроенным драйвером. RG резистор ограничивает ток через контроллер и уменьшает пульсации. У полевиков тоже есть своя индуктивность, она небольшая, но при быстром нарастании/спаде возникают колебания как в LC контуре. В моих краях найти контроллер со встроенным драйвером либо сложно либо дорого, поэтому приходится колхозить на универсальном ШИМ контроллере, под названием TL494.

Еще одна заметка по поводу резистора RG, когда требуется управлять большими токами и приходится ставить по 2-3+ транзистора, то данный резистор необходимо ставить перед каждым полевиком:

Особо крутые контроллеры, как на материнках, работающие на частотах 0.5-2МГц не требуют данного резистора и имеют отдельный выход для каждого полевика. Каждый полевик там представляет собой отдельную фазу с отдельным дросселем. Такие частоты выбраны специально для уменьшения габаритов всей схемы. Чем выше частота – тем меньше индуктивность нужна. В общих чертах.

Производители контроллеров полевиков рекомендуют сопротивление RG 4.7 Ом. Даже видел гдето видео ролик с презентацией сравнения потерь при различных резисторах. На практике же RG может доходить до 200 Ом, т.к. драйвера разные – токи которые они могут выдержать тоже разные. И частоты тоже разные. Короче глупо говорить что ставьте везде 4.7 Ома и будет счастье. Поэтому данный резистор должен подбираться индивидуально под способности драйвера и емкость Gate полевика (в даташитах этот параметр обозначается как Ciss – Input Capacitance).

Двухтактный биполярный драйвер

Одна из самых эффективных схем управления:

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

Хорошо если N-канальный полевик Source-ом подключен к общей шине – земле – что и контроллер. Такое бывает в Step-Up конвертерах, однако ими мир не ограничивается. В Step-Down конвертерах полевик подключается Drain-ом напрямую к +, а Source идет дальше на дроссель. Если вы (не дай бог как я, по своей неопытности, когда в первой пришлось собрать понижающий преобразователь) попробуете заставить работать такую схему:

То обнаружите что полевик уже дымиться и припой капает коту на хвост расплавился. Как я сказал в начале статьи, N канальный полевик открывается полностью если на Gate подать + относительно Source. Но в данном случае получается когда мы подаем + на Gate, он начинает открываться и Source поднимается к + тоже! В итоге полевик не открыт и не закрыт. Висит посередине и дико греется. Но тут существует простое решение, Bootstrap-драйвер:

Схема немного усложнилась. Как видите силовым полевиком (справа) управляет по прежднему двухтактный биполярный драйвер. Однако он заведен относительно Source полевика. Левый полевой транзистор – маломощный, используется для сдвига уровня. Сигнал подается инвертированный. Резистор Pull-Down (подтягивающий) лучше поставить, в случае чего чтобы схема не “летала в воздухе”. Вот как оно работает: изначально конденсатор CBOOT заряжается через диод DBOOT управляющим напряжением, т.к. транзистор закрыт, на выводе Source земля (после дросселя L идет нагрузка которая как бы “заземляет” на время выключения полевика вывод Source). Полевик сдвига уровня наоборот (слева), открыт, чтобы силовой полевик был закрыт. Собственно в этом и заключается инверсия. Когда полевик сдвига уровня закрывается через резистор RLEVEL подается положительное напряжение на драйвер, а далее драйвер усиливает сигнал и подает + на Gate силового транзистора. Он начинает открываться и… и открывается полностью! Так как конденсатор CBOOT заряжен и привязан к Source силового полевика, то когда Source выравнялся по напряжению с напряжением притания, то CBOOT поднялся еще выше и оттуда, сверху, рулит через драйвер полевиком! Получается напряжение в момент открытия силового полевика относительно земли таково: UCBOOT+UPOWER. А диод не позволяет этому напряжению уходить обратно. Поэтому важно рассчитать какая разница напряжений у Вас получиться и использовать диод с запасом на данное напряжение. Когда триумф нашего CBOOT подходит к концу левый полевик открывается, на драйвере напряжение падает и одновременно с этим Source силового полевика также возвращается на “землю”. Я бы рекомендовал добавить небольшой резистор после Drain управляющего полевика, чтобы, когда драйвер открыт и “земля” драйвера выше реальной земли, не убить маломощный управляющий полевик. На своей практике я использовал 12 Ом резистор. Такая схема, с КПД 85% управляла понижающим конвертером на 300 ватт…. только недолго, нагрузка на выходе в виде резисторов плавилась на глазах Еще большего КПД можно достичь применяя синхронный выпрямитель, это когда вместо диода снизу ставится тоже полевой транзистор и открывается, когда верхний уже закрыт. Т.к. схема синхронизации двух полевиков заметно усложняется, то советую использовать спецальные синхронные драйвера. Там уже все задержки между открытием и закрытием есть, чтобы исключить протекание сквозных токов.

Схема ускоренного выключения на PNP

Самая простая и, возможно, самая популярная схема на одном PNP транзисторе:

В данном случае подразумевается что контроллер достаточно мощный, чтобы быстро зарядить полевик, но например, как у TL494, выход состоит всего лишь из одного npn транзистора. Обьеденив два имеющихся выхода TL494 и подцепив коллектором на + питания, эмитторы идут на вход этого полудрайвера. Главное эммитеры подтянуть на землю резистором. В случае напрямую выход TL494 подключить к полевику, то он будет очень долго закрываться, если подтягивающий резистор на килоом и больше. Если сдеать его на 100-200 ом, то тогда возрастает нагрузка на выходной каскад TL-ки, что тоже не хорошо:

Читайте также  Самый большой выбор обоев в москве

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

В таком случае подтягивающий резистор делается на несколько килоом а RG рассчитывается также как раньше. При подаче положительного импульса, он проходит напрямую через диод D_ON и заряжает Gate полевика. Когда выходной каскад на TL-ке закрывается, то через подтягивающий резистор PULL_DOWN открывается Q_OFF и мгновенно разряжает через себя заряд Gate, что и приводит к моментальному закрытию полевика!

Почему N-канальный полевик лучше P-канального?

Возможно вы уже заметили что на всех схемах фигурирует N-канальный MOSFET. Этому есть несколько причин:

  • У N-канала при одинаковой серии меньшее сопротивление открытого канала.
  • N-канальные дешевле. 20A N-ch 1$ условно, то 20A P-ch 1.5$
  • В парных сборках N-ch и P-ch (в SO8 корпусе например) P-ch обладает как бОльшим сопротивлением так и меньшим максимальным током.
  • Сложно достать мощные P-ch полевики в какойнить деревне
  • Драйвер на рассыпухе для High-side N-ch может выйти дешевле чем разность стоимости P-ch – N-ch полевиков.

Так что если уже запаслись N-канальными полевиками, то вперед собирать к ним драйвера! Это не сложнее чем купить/найти P-ch.

Дата поста: 20-08-2013

Со временем каждый пользователь 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 и БАМ. Оно работает. Но я набросал код для вас, поэтому вы можете потестировать его с использованием ШИМ. (Имеет смысл только для двигателя или лампочки, не для соленоида).

Устройство и принцип работы транзистора

Транзистором называется полупроводниковый прибор, предназначенный для усиления и генерирования электрических колебаний. Транзисторы являются ключами (кнопками) в сетях с постоянным током. Биполярные транзисторы могут управлять электрической цепью до 50 В, полевые транзисторы могут управлять приборами до 100 В (при напряжении на затворе 5 В). В сетях с переменным током использую реле.

Фото. Устройство полевого и биполярного транзистора

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

Читайте также  Нары в избе

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

Принцип работы МОП-транзисторов на примере прибора с n -проводимостью

В схему униполярного транзистора с изолированным затвором и n -проводимостью входят:

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

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

В большинстве MOSFET исток транзистора подключается к полупроводниковой подложке. Между стоком и истоком формируется «паразитный» диод. Ликвидировать отрицательные последствия появления такого диода и даже использовать в положительных целях позволяет его подключение анодом к истоку в n -канальных полевых транзисторах, анодом к стоку – в p -канальных приборах.

· Между затвором и истоком прикладывается плюсовое напряжение к затвору.

· Между металлическим выводом затвора и подложкой появляется электрическое поле.

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

· В приповерхностном слое появляется область проводимости (канал) n -типа, состоящая из свободных электронов.

· Между выводами стока и истока появляется «мост», проводящий электрический ток.

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

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

Виды транзисторов

Каждая из ветвей отличается на 0.

Изображение схем подключения полевых триодов Практически каждая схема способна работать при очень низких входных напряжениях. Схема включения MOSFET Традиционная, классическая схема включения «мосфет», работающего в режиме ключа открыт-закрыт , приведена на рис 3.

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

Если к такому транзистору приложить напряжение, к стоку плюс, а к истоку минус, через него потечет ток большой величины, он будет ограничен только сопротивлением канала, внешними сопротивлениями и внутренним сопротивлением источника питания. Это значит что нужно этого избежать, введя каскад с высоким входным сопротивлением. Среди них можно выделить: биполярные транзисторы с внедрёнными и их схему резисторами; комбинации из двух триодов одинаковых или разных структур в одном корпусе; лямбда-диоды — сочетание двух полевых триодов, образующих участок с отрицательным сопротивлением; конструкции, в которых полевой триод с изолированным затвором управляет биполярным триодом применяются для управления электромоторами. Чтобы на резисторе Rи не выделялась переменная составляющая напряжения, его шунтируют конденсатором Си.

Каскад с общим истоком дает очень большое усиление тока и мощности. Разница потенциалов достигает величины от 0,3 до 0,6 В. Только вот стрелки на условном изображении полевых транзисторов имеют направление, прямо противоположное своим биполярным аналогам.


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

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

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

Применение микроконтроллеров

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

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

Применение микроконтроллеров в программируемых реле

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

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

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

  • универсальные цифровые порты, настраиваемые либо на ввод, либо на вывод
  • разнообразные интерфейсы ввода-вывода: UART, SPI, I²C, CAN, IEEE 1394, USB, Ethernet
  • цифро-аналоговые и аналого-цифровые преобразователи
  • компараторы
  • широтно-импульсные модуляторы (ШИМ-контроллер)
  • таймеры
  • контроллеры бесколлекторных (и шаговых) двигателей
  • контроллеры клавиатур и дисплеев
  • радиочастотные передатчики и приемники
  • массивы интегрированной флеш-памяти
  • встроенные сторожевой таймер и тактовый генератор

Как вы уже поняли, микроконтроллером называется небольшого размера микросхема, на кристалле которой смонтирован крохотный компьютер. Это значит, что внутри небольшого чипа есть и процессор, и ПЗУ, и ОЗУ, и периферийные устройства, которые способны взаимодействовать как между собой, так и со внешними компонентами, достаточно лишь загрузить в микросхему программу.

Применение микроконтроллеров

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

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

Измеряется производительность микроконтроллера в миллионах инструкций в секунду — MIPS (Million Instruсtions per Second). Так, популярный контроллер Atmega8, выполняя одну полноценную инструкцию за один такт, достигает производительности 1 MIPS на МГц.

Микроконтроллер Atmega8

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

Пример такого универсального контроллера — тот же Atmega8, на котором собирают: таймеры, часы, мультиметры, индикаторы домашней автоматики, драйверы шагового двигателя и т.д.

Среди популярных производителей микроконтроллеров отметим: Atmel, Hitachi, Intel, Infineon Technologies, Microchip, Motorola, Philips, Texas Instruments.

Классифицируются микроконтроллеры в основном по разрядности данных, которые обрабатывает арифметико-логическое устройство контроллера: 4, 8, 16, 32, 64 — разрядные. И 8-разрядные, как отмечалось выше, занимают существенную долю рынка. Следом идут 16-разрядные микроконтроллеры, затем DSP-контроллеры, применяемые для обработки сигналов.

Читайте также  Лестница из профильной трубы

Устройство и основные характеристики МОП-транзисторов

Практически все типы MOSFET имеют три вывода:

· Исток – источник носителей зарядов. Является аналогом эмиттера в биполярном приборе.

· Сток. Служит для приема носителей заряда от истока. Аналог коллектора биполярного транзистора.

· Затвор. Выполняет функции управляющего электрода. Аналог в биполярном устройстве – база.

Особая категория – транзисторы с несколькими затворами. Они применяются в цифровой технике для организации логических элементов или в качестве ячеек памяти EEPROM .

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

· в открытом состоянии – внутреннее сопротивление и наибольшее значение допустимого постоянного тока;

· в закрытом состоянии – максимально допустимое напряжение прямого типа.

Управление шаговым двигателем

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

Номинальное рабочее напряжение, в основном, находится в диапазоне 9 — 24 В. При таких не малых напряжениях мы имеем дело также с большим током: 0,3 — 1A на одну фазу! Ниже приведен пример подключения шагового двигателя с 5 выводами:

В роли ключей мы можем также использовать MOSFET — транзисторы. Это даже более простое решение.
Так как нам нужно до 4-х транзисторов, которые занимают довольно много места на плате, хорошим решением будет использовать микросхему ULN2003A.