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

Рассмотрим на этом занятии устройство и применение транзисторов в электронной автоматике. Расскажем про распиновку и подключение транзистора к плате Arduino. Запрограммируем работу мотора постоянного тока в зависимости от показаний датчика влаги или фоторезистора. Вспомним использование операторов if, else и рассмотрим тип данных — unsigned int, который часто используется в языке C++.

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

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

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

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

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

Ардуино: управление мотором постоянного тока

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

Для занятия нам понадобятся следующие детали:

  • Плата Arduino Uno;
  • Макетная плата;
  • USB-кабель;
  • 1 биполярный транзистор;
  • 1 мотор постоянного тока;
  • 2 резистора от 1 до 10 кОм;
  • Провода «папка-папка» и «папка-мамка».

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

Схема подключения мотора постоянного тока к Ардуино
Схема подключения мотора постоянного тока к Ардуино

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

void setup() // процедура setup

{
pinMode(11, OUTPUT); // объявляем пин 13 как выход
}

void loop() // процедура loop

{

digitalWrite(11, HIGH); // зажигаем светодиод

delay(2000); // ждем 2 секунды

digitalWrite(11, LOW); // выключаем светодиод

delay(2000); // ждем 2 секунды

}

Если вы заметили, то это скетч из занятия — Включение светодиода на Ардуино. С точки зрения микропроцессора абсолютно не важно, что подключено к Pin13 — светодиод, транзистор или драйвер светодиодов для Светового меча на Ардуино. Обрати внимание на то, что резистор R1 в электрической схеме подтягивает базу транзистора к земле, а резистор R2 служит для защиты порта микроконтроллера от перегрузки.

Ардуино: управление двигателем постоянного тока

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

Управление двигателем постоянного тока на Arduino UNO
Управление двигателем постоянного тока на Arduino UNO

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

// Присваиваем имя для аналогового входа A0
// Тип данных int округляет значения до целого числа
int sensor = A0;

// Присваиваем имя для значений аналогового входа A0
// unsigned int принимает только положительные числа
unsigned int value = 0;
 
void setup()
{
 // Пин 11 с транзистором будет выходом (англ. «output»)
  pinMode(11, OUTPUT);
}
 
void loop()
{
  // Считываем значение с фоторезистора на аналоговом входе A0
  value = analogRead(sensor);
  
  // Если значение value меньше 500, включаем транзистор 
  if (value<500) digitalWrite(9, HIGH);
  
  // В противном случае (если value>500), выключаем транзистор
  if (value>500) digitalWrite(9, LOW);
  
  }

Пояснения к коду:

  1. В первой строчке мы присвоили имя sensor для аналогового входа A0 и с помощью оператора int мы указали, что значения могут принимать только целое число;
  2. Оператор unsigned int указывает, что значение value может принимать только положительное целое число, а начальное значение value равно нулю;
  3. Условный оператор if позволяет определить действие при истинном условии. Оператор else позволяет определить действие, когда истинное условие ложно.

На что обратить внимание:

  1. Вместо выражения if (value>500) можно использовать оператор else.

Задание для самостоятельного выполнения:

  1. Выведите на Монитор последовательного порта значение value;
  2. Установите включение транзистора при значении value меньше 100.

Пройти тест


1 Star2 Stars3 Stars4 Stars5 Stars (3 votes, average: 5,00 out of 5)
Загрузка...

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *