Arduino и MOSFET транзистор
Описание
Полевой транзистор, он же мосфет (MOSFET) – электронный компонент, позволяющий при помощи небольшого напряжения и тока (с пина микроконтроллера) управлять мощной нагрузкой постоянного то ка, которую пин МК сам питать не в состоянии: моторы, клапаны, мощные светодиоды и так далее. Более подробно про мосфеты написано в уроке по управлению нагрузкой. В уроке идёт мосфет IRF740, N-канального типа.
Подключение (N-канальный)
Управляющий пин мосфета (затвор) подключается к любому цифровому пину МК через токоограничивающий резистор на 100-200 Ом (в наборе идут резисторы 220 ом), что защитит пин от слишком большого тока. Также он подтягивается к GND резистором на 10 кОм, чтобы транзистор автоматически закрылся при отсутствии сигнала с МК. “Плюс” источника питания подключается напрямую к нагрузке, GND соединяется с GND микроконтроллера. GND нагрузки подключается на выход (сток) мосфета:
Рассмотрим возможное подключение мотора из PRO версии набора, питание от внешнего 5V адаптера:
Во время коммутации индуктивной нагрузки (моторы, электромагниты, соленоиды и прочие “катушки”) происходит выброс напряжения, который может повредить транзистор. Для защиты от него мы поставили диод (есть в наборе) параллельно мотору, диод примет весь удар на себя.
Примеры
Для управления транзистором достаточно подать с пина сигнал:
HIGH
(открыть транзистор, включить нагрузку)LOW
(закрыть транзистор, выключить нагрузку)- ШИМ сигнал для плавного управления мощностью на нагрузке
Обычный “блинк”, но через транзистор. Нагрузка будет включаться и выключаться
#define MOS_PIN 3 void setup() { // пин реле как выход pinMode(MOS_PIN, OUTPUT); } void loop() { // "мигаем" digitalWrite(MOS_PIN, HIGH); delay(1000); digitalWrite(MOS_PIN, LOW); delay(1000); }
Домашнее задание
- Изучить урок по светодиодам и попробовать примеры из него на мосфете