Как подключить транзистор к ардуино

от admin

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

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

Введение

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

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

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

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

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

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

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

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

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

В данной схеме транзистор будет работать в ключевом режиме: по одной команде от Arduino (установка уровня HIGH на затворе) транзистор будет подключать мотор к источнику питания (отпираться), по другой команде (установка уровня 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.

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

Control High Power Devices with Arduino and Transistors

TIP120 transistorTIP120 transistor

Introduction

An Arduino can power things like LEDs and sensors directly because these things consume very little current. As you can see in this tutorial about controlling a motor with an Arduino, you will need a separate external power to power the motor. Luckily, we can use an H-bridge like the L293D integrated circuit to safely control a motor. However, if we only need to turn something on and off, using an H-bridge seems to be over-complicated.

In fact, if we only need to turn a high power device on and off, the TIP120 transistor is a much better choice. It is an inexpensive, simple transistor to control the power delivered to a device. TIP120 can handle 5A of current at 60V, which is more than enough for most of the project involving Arduino. Moreover, knowing how TIP120 works is also an excellent way to understand how transistors work in general.

In this tutorial, we will learn:

  • what a transistor is and how it works,
  • how to use an TIP120 and an Arduino to control turn on and off a high power device.

To achieve these learning outcomes, we will use an TIP120 transistor and an Arduino to turn on and off a computer fan.

Materials and Tools
  • Arduino Uno x 1
  • TIP120 transistor x 1
  • 1000 ohm resistor x 1
  • 1N4004 diode x 1
  • CPU fan x 1
  • Jumper wire

NOTE: If you use a hobby motor instead of a computer fan, you may need to use a capacitor to prevent unwanted sparking.

Learn the Basic Knowledge about Transistors

While it is completely OK to proceed without the basic knowledge about how a transistor works, you probably should because (1) transistor is absolutely the most important thing in modern electronics and (2) it’s not too difficult to understand the basic principle at all. Bipolar transistors such as the TIP120 can be used as switches or current amplifiers. These two things are often involved in microcontroller-based projects. Thus, understanding how a transistor works enables you to build more complicated projects in the future.

Fortunately, you don’t need to read a long article to learn the basics about transistors. The following YouTube video from Learn Engineering channel is an excellent tutorial for understanding the concepts.

Connect the Circuit

The connection is rather simple:

The circuit connecting the battery and the fan is pretty much the same as a simple circuit, except the TIP120 is also connected to the circuit in series. The collector (the middle leg) is connected to the positive terminal of the battery, and the emitter (the right-most leg) is connected to the positive terminal of the fan. The TIP120 acts like a switch, only this switch is turned on and off by the signal at the base (the left-most leg).

The base of the TIP120 is connected to a PWM pin (say, Pin 3) of the Arduino. To protect the Arduino, a 1000 ohm resistor is added between the base of TIP120 and the PWM pin.

When a motor is turned off, a back emf will be induced to counter the change in current (see Faraday’s Law and Lenz’s Law for the details). This back emf may damage the TIP120 transistor. Therefore, a diode is added to the circuit. A diode allows current to flow in one direction only (from anode to cathode). The anode and the cathode of the diode are connected to the negative terminal of the fan and the positive terminal of the battery respectively. This will stop the current caused by the back emf from crossing the TIP120 transistor.

The cathode is indicated by the strip on the diode.The cathode is indicated by the strip on the diode.

The Code

The code is pretty straightforward. Just like controlling the brightness of an LED or the speed of a motor with an L293D integrated circuit, the amount of power output can be controlled using PWM signals. In the following Arduino program, we will turn on and off the fan repeatedly with different power output.

After uploading the program to the Arduino, see how the fan moves!

Control the fan with TIP120

You may find the code here. If you have any problem, you can ask us on our Facebook page.

Conclusion

Transistors like TIP120 enable us to control high power devices with the Arduino and other microcontroller. The working principle of bipolar transistors also illustrates why it is possible to control electronic devices with simple signals. For example, we can control a motor with an Arduino and an L293D integrated circuit, but how does this work? You should rethink about this problem with the newly learnt concepts in this tutorial.

Читать:
Как выглядит аккумулятор внутри

Moreover, by adding suitable sensors and networking capability to this design, we may create a wide variety of smart devices. For instance, we may connect a temperature sensor to the Arduino and turn the fan on when the temperature is above the threshold, or we may connect the whole design to a ESP32 and control the fan over the Internet. You have far more possibilities once you master the skills involved in this tutorial.

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

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

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

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

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

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

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

Здесь 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. Драйвер с защитой от коротких замыканий

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

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

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

Подключение мосфета к Ардуино с мотором

Подключение полевого / мосфет транзистора к Arduino — рассмотрим устройство и применение транзисторов в электронной автоматике. Запрограммируем управление двигателем постоянного тока с помощью транзистора на основе показаний датчика освещенности (фоторезистора). В программе для платы будем использовать условные операторы if … else, которые часто используется в языке программирования C++.

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

  • Arduino Uno / Arduino Nano / Arduino Mega
  • n-p-n / p-n-p транзистор
  • щеточный мотор
  • резисторы
  • макетная плата
  • коннекторы

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

Транзистор n-p-n / p-n-p распиновка, принцип работы

Транзистор мосфет распиновка, принцип работы

Важные характеристики полевого транзистора

  • Максимальное напряжение сток-исток
  • Максимальный ток через сток
  • Сопротивление сток-исток
  • Рассеиваемая мощность

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

Как подключить mosfet транзистор к Ардуино

Как подключить транзистор к Ардуино

Двигатель постоянного тока не может быть подключен непосредственно к цифровым или аналоговым портам Arduino. Это связано с тем, что контакты на плате Arduino не способны выдавать более 40 мА. Двигателю, в зависимости от характеристик, требуются сотни миллиампер. Поэтому необходимо управлять высоковольтной электрической цепью с помощью реле, mosfet модулем, Motor Shield L293D или mosfet транзистором.

Скетч управление mosfet транзистором от Ардуино

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

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

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

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

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

Похожие публикации