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

Я хочу подключить небольшой двигатель (водяной насос) к arduino, и я не уверен в схеме.

Насос небольшой, работает с 3,3 В, но потребляет 0,1 А, поэтому я решил использовать транзистор. Тот, что у меня есть, - это BF547, небольшой транзистор типа NPN. Он поддерживает токи до 100 мА.

Я измерил hfe (бета) транзистора, и это 370. Vcc 3,3 В, а ток через двигатель 0,1 А, следовательно:

A. Ib равен Ic/hfe = 0.1 A/370, давая Ib = 0.00027 A

B. с Vb при 3,3 В(напряжение на выводе) и Vbe при 0,7 (схема) Rb = (Vb-Vbe)/Ib = 9558 Ом (10 Ком)

Мои вопросы таковы:

  1. Правильно ли я рассчитал базовое сопротивление?
  2. Нужен ли мне дополнительный резистор для коллектора рядом с насосом? Возможно ли, что через коллектор-эмиттер протекает больше тока?
  3. Согласно схеме данных BF457 100mA максимальный Ic он может принять. Должен ли я ограничить насос, добавив к нему небольшой (10 Ом) резистор (33 Ом[сопротивление двигателя] + 10 Ом для 3,3 В дает ток 76 мА)

Я прикрепляю схемы (линейный регулятор напряжения существует только для стабилизации Vcc, предоставляемого старым источником питания постоянного тока, который я нашел)

Большое спасибо за любые предложения!

circuit

, 👍3

Обсуждение

используйте МОП-транзистор для переключения нагрузок; более холодный, простой, мощный и т. Д., @dandavis


2 ответа


3

Мне нравится ваш мыслительный процесс (хотя он может быть и не совсем правильным), я видел, как мало мыслей было вложено в такое простое проектирование схем в сообществе Arduino, в том числе и от некоторых знаменитостей-ютуберов, которые преподают Arduino и утверждают, что имеют степень EE.

BF547-это транзистор ВЧ-усилителя, но не для коммутационного применения, лучше было бы использовать NPN-транзистор, такой как 2N3904, который предназначен для коммутационного применения и имеет Ice 200 мА.

Ваше значение резистора слишком велико. Если ваш двигатель рассчитан на работу в режиме 100 мА 3,3 В, вы бы хотели, чтобы ваш драйвер обеспечивал ХОТЯ бы этот ток. Предполагая, что вы управляете транзистором с выходом 5 В от Arduino, резистор смещения 1k ограничит Ibe до (5 - 0.7 Vbe)/1000=4.3 мА, возьмем очень консервативный коэффициент усиления постоянного тока 30 (обычно он находится в диапазоне 30 - 80 для коммутационного транзистора, а hfe может быть в диапазоне 100 - 300 при повышении частоты, но это не будет иметь место для Arduino, даже если вы управляете двигателем с использованием ШИМ), который будет способен выдавать Ice 4.3 x 30 = 129 мА. Это должно соответствовать вашим требованиям к двигателю.

Вам понадобится защитный диод, подключенный между 3,3 В и коллектором, катод которого подключен к 3,3 В, а анод-к коллектору транзистора. 1N4148 (макс, если=200 мА) было бы хорошо для этого конкретного двигателя, или даже лучше, использовать любой диод Шоттки с пределом тока и напряжения выше, чем ваше приложение).

,

1

4,6 В - 1,2 В (2 диода по 0,7 В) = 3,4 В, достаточно близко для двигателя, если вы используете МОП-транзистор в качестве драйвера. Вы можете использовать МОП-транзистор с рейтингом UIS с Vgs менее 4, и он будет работать идеально. транзистор даст вам дополнительное падение напряжения примерно на 0,7 Вольта и нуждается в базовом резисторе. Если вы хотите гарантировать, что двигатель не запустится во время сброса и настройки (), добавьте резистор 10K от контакта порта к земле.

,