Почему мой мотор не работает?
Я пытаюсь запустить небольшой двигатель 3 В с помощью Keyestudio MEGA 2560 (который такой же, как Arduino MEGA 2560). Я получаю постоянное напряжение 5 вольт везде, где проверяю с помощью мультиметра. Напряжение падает до 0,01-0,05, как только я подключаю двигатель. Двигатель запускается, как только он подключен непосредственно к выходному контакту Arduino 5v. Двигатель потребляет около 600 мА постоянно, когда мы подключаем его непосредственно к 5 В.
Мой код довольно простой, который просто посылает напряжение на вывод 5. Я не использую никакого щита. контроль скорости здесь не является моей главной заботой, хотя позже в моем проекте я хотел бы, чтобы двигатель также мог давать задний ход.
Я нашел эту принципиальную схему в "Arduino для чайников" и нашел ту же схему на многих других сайтах.
void setup() {
pinMode(5,OUTPUT);
}
void loop() {
digitalWrite(5,HIGH);
}
@Abhi, 👍2
1 ответ
Биполярный транзистор NPN требует, чтобы ток протекал от базы к эмиттеру, который затем умножается на бета транзистора, управляющего максимальным током, который протекает от коллектора к эмиттеру. Бета-версия 2n2222 составляет около 100. Давайте рассчитаем величину тока, которому будет позволено протекать от коллектора к эмиттеру транзистора 2n2222. Сначала вычислите ток от базы к эмиттеру:
I(be) = (5.0 volts- 0.7 volts) / 1,000 ohms
I(be) = .0043 Amps
Используйте этот ток, чтобы найти максимальный ток, протекающий от эмиттера к коллектору:
I(ce) = 100 x I(be) = 0.430 Amp or 430mA
Мы видим, что транзистор не обеспечивает достаточного тока для приведения в действие двигателя мощностью 600 мА.
Нам нужно уменьшить значение R1 таким образом, чтобы I (ce) составляло не менее 600 мА, что означает, что I (be) должно быть не менее 6 мА. Переставляя предыдущее уравнение, чтобы найти R1:
I(be) = (5.0 volts- 0.7 volts) / 1,000 ohms
I(be) = (5.0 volts- 0.7 volts) / R1
R1 = (5.0 volts- 0.7 volts) / I(be)
R1 = (5.0 volts- 0.7 volts) / 0.006 Amps
R1 = 716.67 ohms
Однако из-за большого значения тока I (ce), необходимого для управления нагрузкой, мы обнаруживаем, что транзистор достигает своих пределов, и бета транзисторов заметно падает:
Эта диаграмма немного сложна для понимания. И нет никакой кривой для 600 мА. Но мы можем получить представление о том, чего ожидать, если посмотрим на кривую 500 мА. Мы видим, что для того, чтобы получить падение напряжения на транзисторе меньше, чем на вольт (V (ce)), нам нужно накачать более 10 мА (I (be)). Чтобы получить аналогичные результаты для 600 мА, мы, вероятно, приблизились бы к 20 мА, и теперь мы опасно близки к текущим возможностям управления выводом процессора.
Распространенной альтернативой является использование конфигурации транзистора Дарлингтона:
Результирующая бета-версия по существу является произведением бета-версий отдельного транзистора.
Давайте проведем некоторые приблизительные расчеты. Если 2n2222, который переключает ток нагрузки, имеет более низкое бета-значение около 10, нам потребуется около 60 мА для переключения тока 600 мА. Чтобы генерировать 60 мА через транзистор, подключенный к процессору, нам потребуется около 0,6 мА от процессора. Это действительно мало, и мы можем позволить себе утроить его, чтобы обеспечить надежную работу. Итак, давайте выберем 3mA:
R1 = (5.0 volts- (2 * 0.7 volts)) / 0.003
R1 = 1200 ohm
Таким образом, резистор 1 Ком, скорее всего, должен работать.
- управление двигателем 12 В и преобразование сигнала в 5 В для чтения в Arduino
- Управление скоростью вентилятора с помощью библиотеки Arduino PID
- Как устранить шум от вентилятора 12 В с ШИМ-управлением на низкой скорости
- Как управлять 4 двигателями постоянного тока с помощью Arduino?
- Измерение скорости двигателя постоянного тока с помощью поворотного энкодера
- Почему Arduino сбрасывается во время управления двигателями?
- Использование транзистора NPN в качестве переключателя для включения/выключения двигателя постоянного тока
- Почему нужны транзисторы и резисторы для поворота двигателя постоянного тока с помощью Arduino, но я могу подключить его непосредственно к батарее
Коэффициент усиления транзистора по постоянному току, скорее всего, будет ниже этого значения. “Около 100” - это оценка на порядок величины типичного усиления при умеренных токах. Коэффициент усиления снижается, когда I \ _C превышает 100 мА. В соответствии с [этим техническим описанием] (https://www.onsemi.com/pub/Collateral/P2N2222A-D.PDF#page=4 ) (рис. 4), типичное усиление @ (I \ _C = 500 мА, V \ _CE = 1 В) равно 50 и больше похоже на 10, если вы хотите достичь насыщения (V \ _CE ≈ 0,2 В)., @Edgar Bonet
Черт, я полностью пропустил это @EdgarBonet. Я исправлю ответ. Спасибо., @st2000
Хорошо, я исправил решение. Мне не терпится услышать ваши мысли @EdgarBonet., @st2000
Не будет ли силовой МОП-транзистор лучшим выбором для этого приложения, поскольку он имеет очень низкое сопротивление и практически не требует тока к базе?, @Duncan C
Это хорошее предложение, @DuncanC. Я видел, как оба они использовались. У вас есть ссылка на хорошую дискуссию, которую мы можем прочитать?, @st2000