Драйвер двигателя, использующий только транзистор 2N2222?

Можно ли построить драйвер двигателя, используя только транзистор 2N2222?

Если да, то как?

Да. (Обменяйте вас на лучший ответ для получения более подробной информации).

Ответы (2)

Ну, под водителем... ты можешь подразумевать что угодно.

Двигатель переменного или постоянного тока? Вы хотите иметь возможность изменять направление вращения двигателя? Как насчет скорости? А тормозить мотор?

2N2222 — довольно мощный транзистор, но он хорош только до 800 мА или около того. Таким образом, любой двигатель, который вы используете, не должен потреблять больше этого тока при вращении и в остановленном состоянии, иначе транзистор может сгореть. Кроме того, 2N2222 рассчитан на максимальное напряжение 40 В, поэтому вы не можете управлять высоковольтными двигателями.

Вот, пожалуй, самая простая схема:

+12V ---------+---------+
              |         |
             / \        |
             |M| motor ---  1N4001
             \ /       / \
              |         |
              +---------+
              |
            |/
CTL -/\/\/--|    2N2222 NPN
      1k    |\>
              |
             ---
              -

1N4001 — маховик. Поскольку двигатель представляет собой индуктор, когда вы его выключите, энергия должна куда-то уйти. Диод обеспечивает путь для этого; в противном случае транзистор может сгореть, выключив выход.

Этот «драйвер» позволяет вам запускать двигатель вперед и накатом. С помощью PWM вы можете изменять скорость.

Вот H-мост на четырех транзисторах 2N2222.

+12V --------+------------------------+
             |                        |
      1k    /  c                    c  \   1k
1 --/\/\/---|   2N2222        2N2222   |--/\/\/--- 3
            \> e                    e </
             |       +       -        |
             |-------- MOTOR ---------|
             |                        |
     1k     /  c                    c  \   1k
2 --/\/\/---|   2N2222        2N2222   |--/\/\/--- 4
            \> e                    e </
             |                        |
            ---                      ---
             -                        -

Если S1 = 1, S2 = 0, S3 = 0, S4 = 1, двигатель будет двигаться вперед.

Если S1 = 0, S2 = 1, S3 = 1, S4 = 0, двигатель будет двигаться назад.

Если S1 = 0, S2 = 0, S3 = 0, S4 = 0, двигатель останавливается выбегом.

Если S1 = 1, S2 = 0, S3 = 1, S4 = 0, двигатель затормозит (быстро замедлится).

Если S1 = 0, S2 = 1, S3 = 0, S4 = 1, двигатель также затормозит.

Делать S1 = 1, S2 = 1 было бы плохо, и этого следует избегать . Это приведет к тому, что оба транзистора включатся, давая прямой путь к земле. Транзисторы сгорят, и вы можете повредить источник питания. То же самое относится к S3 = 1, S4 = 1, а также к включению всех переключателей.

Также должны быть диоды на каждом транзисторе, анод к эмиттеру. Для простоты и из-за текстовых носителей я их пропустил. Используйте те же 1N4001.

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

Входами можно управлять с Arduino.

Это двигатель постоянного тока. Требуется изменение направления, а также изменение скорости. Возможно ли это с приведенной выше схемой?
Чтобы изменить направление, я могу использовать любой PNP-транзистор или мне нужно использовать определенные? Также могу ли я использовать этот драйвер двигателя с Arduino?
Вам не нужен транзистор PNP, он просто упрощает схему.
@gomek Если вы хотите изменить направление, вы можете установить двигатель задом наперед. Но если вы хотите иметь возможность изменять направление с помощью Arduino, когда захотите, не снимая двигатель и не устанавливая его задом наперед, вы можете использовать H-мост.
@Fake Name, схема предназначена для NPN. Использование PNP, вероятно, не сработает.
@gomek Вы можете использовать это с любым устройством, которое может подавать ток в несколько мА (<5 мА) и напряжение не менее 1 вольта. Это означает Arduino, микроконтроллер PIC, даже параллельный порт на вашем компьютере. Однако вы не должны подавать входное напряжение выше напряжения источника питания.
Если вам нужна более высокая мощность, я бы выбрал пару Дарлингтона или полевой транзистор. 2222, вероятно, не выдержит ток останова большинства двигателей (состояние, когда двигатель работает на полной мощности и останавливается)
@ Томас О- Можно ли построить Н-мост, используя только транзисторы 2N2222? На данный момент у меня под рукой оказались только эти транзисторы.
@gomek - Смотрите мою правку для схемы.
Проблема в том, что вы не сможете напрямую управлять этим H-мостом с помощью логических уровней. транзисторы нижнего плеча (2 и 4) да, а вот транзисторы верхнего плеча будут иметь проблемы. Чтобы получить высокую сторону двигателя где-нибудь рядом с шиной +12 В, вам нужно иметь управляющий сигнал не менее Vbe,sat (скажем, 0,8 В) выше 12 В. Используя логику непосредственно на транзисторах 1 и 3, высокая сторона двигателя сможет подняться примерно до Vbe, ниже высокого логического уровня, возможно, в лучшем случае около 4 В.
@JustJeff Хороший вопрос! Чтобы решить эту проблему, вы можете использовать некоторые драйверы с открытым коллектором с подтяжкой 1k. Или вы можете попробовать заменить их PNP и заземлить (с подтяжками, чтобы они плавали на шине питания).
@ThomasO, у BJT нет проблем с плаванием, как у FET. Насколько я понимаю, это важное преимущество при пансионе.
Спасибо. Так это работает с Arduino или нет?
@Kortuk, да, но вам нужно убедиться, что у них есть логический сигнал для отключения. PNP включаются, когда в них нет тока, поэтому вам нужно убедиться, что ток присутствует.
@Гомек, это должно сработать. Возможно, вам придется найти несколько PNP и использовать идею подтягивания, о которой я упоминал. Я бы порекомендовал вам купить настоящую микросхему H-bridge, хотя, когда вы можете - они стоят всего несколько долларов.
@ThomasO, НЕТ, как для PNP, так и для NPN требуется базовый ток эмиттера, чтобы получить ток эмиттер-коллектор. Оба они работают, беря ток база-эмиттер и умножая его. Я не уверен, кто сказал вам иначе, но они очень и очень ошибаются. Если вы оставите любую базу плавающей, они отключатся.
@ThomasO, без базового тока это два диода. С базовым током вам удается обмануть ток через барьер обратно смещенного диода.
вопрос - подключить ли переключатели (s1,s2....) к входам Arduino?
@gomek, да, и не забудьте резисторы 1k!
Я построил это, но это, кажется, не работает!! :(
Извините за ошибку. Цепочка работает нормально. Спасибо.
@gome, Рад слышать! наслаждаться. Тогда получите настоящий h-мост при следующем заказе компонентов, они очень полезны.

Да, это можно сделать очень просто, но вы не получите большой мощности или контроля положения.

схематический

смоделируйте эту схему - схема, созданная с помощью CircuitLab

Схема использует противо-ЭДС от одной катушки двигателя для управления транзистором, так что для вращения двигателя достаточно одного транзистора. Из-за привода с обратной ЭДС он может работать с различными типами двигателей, такими как маятники, как показано в этом патенте , вот также хорошая ссылка.