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

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

Рассмотрим пример подключения светодиода через биполярный транзистор. Да, конечно, мы можем без проблем напрямую к любому пину Ардуино подключить светодиод, так как сила тока, потребляемая одним светодиодом 10-15мА., а максимальный выходной ток через пин Ардуино составляет 40мА. Но если мы захотим подключить одновременно 10-20 светодиодов, то силы тока выдаваемой пином Ардуино хватать уже не будет. В этом случае мы можем воспользоваться выходом 5V на плате Ардуино, который дает ток до 800мА, а управлять этим сильным током мы будем с помощью слабого тока пина микроконтроллера, подаваемого на базу транзистора.

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

Пример будет сделан на основе биполярного p-n-p транзистора S8550. Разновидности транзисторов и их характеристики вы можете изучить отдельно. Принцип работы и назначение у них одинаковые, так что разобравшись с одним видом, не составит сложности работать с другими.

Для начала в качестве нагрузки возьмем всего один светодиод и будем просто представлять, что он потребляет много тока и потому мы его питаем отдельно из выхода 5V. Так будет меньше проводов и более понятен смысл. Обратим сразу внимание что лицевая сторона транзистора S8550 - это сторона среза с мелкими надписями маркировки транзистора, то есть на макетной плате эта сторона смотрит на нас.

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

Разберем подробней, что мы сделали.

Напряжения из выхода 5V мы подводим к аноду (большая нога) светодиода через резистор 220Ом, чтобы ограничить силу тока, которая гораздо превышает нужную нам, для того чтобы зажечь светодиод. Далее катод (короткая нога) светодиода мы соединяем с коллектором (правая нога) транзистора, а эмиттер (левая нога) транзистора замыкаем с землей GND на плате Ардуино. И так, мы построили цепь с питанием от выхода 5V, с подключенным светодиодом и транзистором. Для управления этой цепью подводим к центральной ноге (База) транзистора через резистор 1кОм, пин 7 платы Ардуино. Резистор мы использовали, чтобы ограничить ток, который будет поступать на базу транзистора, так как по сути "База" транзистора это у нас земля и подключение без резистора будет перегревать как транзистор, так и пин нашего микроконтроллера и это может рано или поздно вывести их из строя. Поэтому для управления транзистора используем минимально возможный ток, подавая его через резистор. Резисторы не обязательно использовать такие как на схеме, но примерно стоит придерживаться указанных показателей сопротивления.

Запишем простейший скетч в Ардуино, который заставит мигать светодиод, открывая и закрывая транзистор.

void setup() // НАСТРОЙКИ
  { 
  pinMode(7, OUTPUT); // настраиваем 7 пин в режим выхода
  }
 
void loop() // БЕСКОНЕЧНЫЙ ЦИКЛ
  {
  digitalWrite(7, HIGH); // через седьмой пин подаем слабое напряжение на базу транзистора, включается светодиод
  delay(1000); // пауза 1 секунда
  digitalWrite(7, LOW); // убираем напряжение на базе транзистора, светодиод тухнет
  delay(1000); // пауза 1 секунда
  }

Читайте комментарии в коде, все более чем понятно.

Сначала пин 7 платы Ардуино посылает сигнал HIGH (посылает слабый ток) на базу транзистора, тем самым даёт команду замкнуться коллектору с эмиттером в транзисторе и светодиод включается от питания 5V платы Ардуино. Затем пауза в одну секунду и пин 7 посылает сигнал LOW на базу транзистора, другими словами убирает слабый ток на базе транзистора, тем самым заставляя разомкнуться коллектор с эмиттером в транзисторе (разомкнув сеть 5V от платы) и светодиод тухнет. Опять пауза в одну секунду. Все эти действия находятся внутри функции void loop() и потому будут повторяться бесконечно по кругу. Светодиод должен просто мигать.

Давайте закачаем другой скетч, который покажет нам пример возможности использования ШИМ сигнала через базу транзистора, тем самым заставляя светодиод гореть с разной яркостью или просто плавно затухая и наращивая яркость. Если вы еще не понимаете что такое ШИМ сигнал, почитайте дополнительно об этом.

int brig = 0; // объявляем переменную яркости светодиода (ШИМ сигнал) и задаем ей первоначальное значение
 
void setup() // НАСТРОЙКИ
  { 
  pinMode(7, OUTPUT); // настраиваем 7 пин в режим выхода
  }

void loop() // БЕСКОНЕЧНЫЙ ЦИКЛ
  {
  brig = brig + 1; // при каждом новом проходе увеличиваем переменную яркости светодиода на 1
  if (brig > 255) brig = 0; // если значение яркости становится больше 255, скидываем его на 0
  analogWrite(7, brig); // через седьмой пин посылаем значение brig (ШИМ сигнал) на базу транзистора
  delay(10); // делаем паузу в 10 милисекунд
  }

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

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

Подключение биполярного транзистора.

Ну и так далее, если позволяет макетная плата, можете еще больше навешать светодиодов.

Если нам будет мало 5V с выхода Ардуино, мы сможем передать питание внешнему источнику следующим образом:

Подключение биполярного транзистора к внешнему источнику

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

 

 

 

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

Защитный код
Обновить

шт.
Корзина пуста
Принимаем к оплате: