- Транзисторы: схема, принцип работы, чем отличаются биполярные и полевые
- Биполярные транзисторы
- NPN и PNP
- Полевые транзисторы
- N-Channel и P-Channel
- Подключение транзисторов для управления мощными компонентами
- Управление мотором постоянного тока с помощью одного транзистора
- Введение
- Необходимые компоненты
- Схема подключения
- Программинг
- Результаты
- Использование ШИМ для регулировки скорости мотора
- Схема подключения
- Результат
- Подключение моторчика к Ардуино
- Управление двигателем на Ардуино
- Как подключить моторчик к Arduino
- Скетч. Подключение мотора напрямую
- Пояснения к коду:
- Скетч. Подключение мотора через транзистор
- Пояснения к коду:
- Скетч. Подключение мотора через драйвер
Транзисторы: схема, принцип работы, чем отличаются биполярные и полевые
Транзистор — повсеместный и важный компонент в современной микроэлектронике. Его назначение простое: он позволяет с помощью слабого сигнала управлять гораздо более сильным.
В частноти, его можно использовать как управляемую «заслонку»: отсутствием сигнала на «воротах» блокировать течение тока, подачей — разрешать. Иными словами: это кнопка, которая нажимается не пальцем, а подачей напряжения. В цифровой электронике такое применение наиболее распространено.
Транзисторы выпускаются в различных корпусах: один и тот же транзистор может внешне выглядеть совершенно по разному. В прототипировании чаще остальных встречаются корпусы:
Обозначение на схемах также варьируется в зависимости от типа транзистора и стандарта обозначений, который использовался при составлении. Но вне зависимости от вариации, его символ остаётся узнаваемым.
Биполярные транзисторы
Биполярные транзисторы (BJT, Bipolar Junction Transistors) имеют три контакта:
Основной характеристикой биполярного транзистора является показатель 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). Они позволяют оперировать гораздо большими мощностями при тех же размерах. А управление самой «заслонкой» осуществляется исключительно при помощи напряжения: ток через затвор, в отличие от биполярных транзисторов, не идёт.
Полевые транзисторы обладают тремя контактами:
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 условия:
Схема подключения
По-сути, обмотка мотора представляет собой катушку индуктивности. В момент подачи напряжения возникнет обратная электродвижущая сила, которая может вывести из строя транзистор. Flyback диод устанавливается в обратном направлении и предотвращает утечку тока с мотора на транзистор. Поэтому, если в транзисторе нет flyback диода, его необходимо установить дополнительно: анод на исток, катод на сток.
Транзистор IRF530N является мощным и поставляется в корпусе TO-220. Ниже приведена его распиновка.
В данной схеме транзистор будет работать в ключевом режиме: по одной команде (установка уровня HIGH на затворе) от Arduino транзистор будет подключать мотор к источнику питания (отпираться), по другой команде (установка уровня LOW на затворе) — отключать мотор от источника питания.
Резистор R1 подтягивает к земле затвор транзистора. Номинал не принципиален — можно использовать любые резисторы в диапазоне от 1 до 10 кОм. Резистор R2 служит для защиты пина микроконтроллера. Диапазон, примерно, от 10 до 500 Ом.
Чтобы запитать данную схему, можно подключить к Arduino внешний источник питания на 6-9 В, либо подать питание непосредственно на макетную плату ( синяя шина — минус, красная шина — плюс).
Программинг
Для наибольшей простоты воспользуемся, пожалуй, самым известным скетчем из готовых примеров — Blink.
Посмотрим, что получилось.
Цифровой пин 13 раз в секунду меняет своё состояние. Когда на выходе устанавливается значение HIGH — загорается светодиод и начинает вращаться мотор. Когда устанавливается LOW — светодиод гаснет, а мотор останавливается.
Результаты
Была получена возможность подключать к выводам Arduino мощные устройства, в частности, моторы постоянного тока.
Использование ШИМ для регулировки скорости мотора
Если мотором управлять ничуть не сложнее, чем светодиодом, то, наверное можно изменять яркость скорость вращения мотора точно так же, как при работе со светодиодами? Именно так! С точки зрения Arduino абсолютно не важно с чем мы имеем дело.
Как вы уже, наверно, могли догадаться, для изменения скорости вращения мотора нам понадобится скетч Fade.
Схема подключения
Чтобы использовать возможности функции analogWrite(..) , нам придётся перейти на один из пинов (3/5/6/9/10/11), поддерживающих аппаратный ШИМ. Поскольку, по умолчанию, в скетче Fade задействован 9-й пин, остановим свой выбор на нём.
Результат
Была получена возможность изменять скорость вращения мотора, используя аппаратный ШИМ Arduino.
На чём данная статья подходит к завершению. Теперь вы смело можете использовать моторы постоянного тока в своих проектах!
Подключение моторчика к Ардуино
Подключение мотора к Ардуино ► потребуется при сборке машинки или катера. Рассмотрим различные варианты подключения коллекторного двигателя к Arduino.
Подключение мотора постоянного тока к Ардуино (коллекторного двигателя) требуется при сборке машинки или катера на микроконтроллере Arduino. Рассмотрим различные варианты подключения двигателей постоянного тока: напрямую к плате, через биполярный транзистор, а также с использованием модуля L298N. В обзоре размещены схемы подключения и коды программ для всех перечисленных вариантов.
Управление двигателем на Ардуино
Коллекторный моторчик может быть рассчитан на разное напряжения питания. Если двигатель работает от 3-5 Вольт, то можно моторчик подключать напрямую к плате Ардуино. Моторы для машинки с блютуз управлением, которые идут в комплекте с редукторами и колесами рассчитаны уже на 6 Вольт и более, поэтому ими следует управлять через полевой (биполярный) транзистор или через драйвер L298N.
Принцип работы и устройство мотора постоянного тока
На схеме показано устройство моторчика постоянного тока и принцип его работы. Как видите, для того, чтобы ротор двигателя начал крутиться к нему необходимо подключить питание. При смене полярности питания, ротор начнет крутиться в обратную сторону. Драйвер двигателей L298N позволяет инвертировать направление вращения мотора fa 130, поэтому его удобнее использовать в своих проектах.
Как подключить моторчик к Arduino
Для этого занятия нам потребуется:
- плата Arduino Uno / Arduino Nano / Arduino Mega;
- мотор постоянного тока (Motor DC);
- транзистор полевой/биполярный;
- драйвер двигателей L298N;
- провода «папа-папа», «папа-мама».
Перед выбором способа управления двигателем от Arduino Uno r3, уточните на какое напряжение рассчитан ваш моторчик. Если питание требуется более 5 Вольт, то следует использовать транзистор или драйвер. Распиновка транзисторов может отличаться от приведенного примера (следует уточнить распиновку для своего типа). Драйвер L298N позволит не только включать мотор, но и изменять направление вращения.
Скетч. Подключение мотора напрямую
Подключение мотора к Ардуино напрямую — самый простой вариант включения вентилятора на Arduino или машинки. Команда для включения двигателя не отличается, от команды при подключении светодиода к микроконтроллеру. Функция digitalWrite включает/выключает подачу напряжения на цифровой порт, к которому подключен двигатель постоянного тока. Соберите схему и загрузите программу.
Пояснения к коду:
- для подключения мотора без драйвера можно использовать любой порт;
- если двигатель не включается, то, возможно, не хватает силы тока на цифровом выходе, подключите двигатель через транзистор к порту 3,3V или 5V.
Скетч. Подключение мотора через транзистор
Подключение мотора через транзистор к Ардуино потребуется, если двигатель никак не хочет включаться от платы напрямую, то следует использовать порт 5 Вольт на микроконтроллере или внешний источник питания. Транзистор будет играть роль ключа, замыкая/размыкая электрическую цепь. Сам транзистор управляется цифровым портом. Соберите схему, как на картинке и загрузите программу.
Подключение FA-130 мотора постоянного тока — Motor DC Arduino
Пояснения к коду:
- при необходимости можно подключить два мотора FA-130 к Ардуино;
- в зависимости от характеристик, двигатель подключается к 3,3 или 5 Вольтам.
Скетч. Подключение мотора через драйвер
Подключение мотора к Ардуино через драйвер L298N или Motor Shield L293D позволит менять направление вращения ротора. Но для использования данных модулей потребуется установить соответствующие библиотеки для Ардуино. В примере мы использовали схему подключения двигателя с помощью модуля L298N. Соберите схему, как на картинке ниже и загрузите следующий скетч с использованием.