Изготовление H-моста с транзисторами
Я пытаюсь сделать H-мост с двумя NPN и двумя PNP транзисторами для управления двигателем, который отлично работает на 5 В Arduino. У меня есть схема на картинке. Когда я использую простой код, чтобы сделать вывод 9 ВЫСОКИМ, а вывод 8 НИЗКИМ, двигатель ничего не делает. Транзистор, который я обвел зеленым, сильно нагревается. Что-то не так со схемой или кодом? Или это моя проводка?
Я знаю, что люди тоже используют диоды, но в моем случае двигатель не работает, так что проблема не в диодах.
Это мой код:
void setup()
{
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
digitalWrite(9, HIGH);
digitalWrite(8, LOW);
}
@jan, 👍0
Обсуждение1 ответ
Существует несколько возможных сценариев создания H-моста:
- только с транзисторами NPN или PNP
- смесь PNP и NPN
Вы должны быть осторожны, чтобы не смешивать типы и входы. Смотрите рисунки ниже:
Обратите внимание, что во время загрузки Arduino все его контакты ввода/вывода, кроме TX, настроены как входы, т.е. с высоким импедансом. В этой ситуации, с первой схемой, все транзисторы будут включены., @Edgar Bonet
- Arduino H-bridge для радиоуправляемого автомобиля
- Как устранить шум от вентилятора 12 В с ШИМ-управлением на низкой скорости
- L298N Dual Motor Controller Enable Pin имеет питание, но двигатели не работают
- Две батареи делят землю?
- Как соединить L293D и MPU6050 для совместной работы?
- Использование транзистора NPN в качестве переключателя для включения/выключения двигателя постоянного тока
- Почему нужны транзисторы и резисторы для поворота двигателя постоянного тока с помощью Arduino, но я могу подключить его непосредственно к батарее
- Проблема с двигателем постоянного тока на Arduino для новичков
Не могли бы вы дать транзисторам номер, пожалуйста? Вы используете вывод Arduino 5v для питания двигателя? Надеюсь, что нет! Вы можете использовать 4 вывода и аккуратно писать код, чтобы избежать сокращения. Вы можете добавить два дополнительных транзистора, чтобы инвертировать сигнал. Чтобы включить двигатель, вам нужно включить верхний левый и нижний правый транзистор. Или верхний правый и нижний левый., @Jot
Я использовал 5 В для питания схемы. Я попытался включить двигатель, подключив верхний правый и нижний левый транзистор к одному и тому же выводу на Arduino, это не сработало. Я использовал 4 разных вывода, и это тоже не сработало., @jan
В отличие от NPN, PNP включается, когда вы подаете на его базу сигнал
LOW
., @Edgar BonetСпасибо, Эдгар, я узнал об этом только 10 минут назад. Так что нижний левый и верхний левый должны быть подключены к тем же контактам. То же самое и для правых транзисторов., @jan
Я ошибался, 4 контакта не нужны, и инвертирование сигнала не нужно, потому что для его питания используется 5 В. @smajli дал правильный ответ. Подключите оба контакта слева к контакту и подключите оба контакта справа к контакту, как показано на его первой картинке. Контакт arduino 5 В не может обеспечить большой ток, у вас могут возникнуть проблемы с этим., @Jot
У меня сейчас как раз такая проблема. Я делаю мост H для управления двигателем рулевого колеса радиоуправляемой машины, которую я хочу сделать машиной, объезжающей препятствия, используя Arduino. Когда я подключаю двигатель напрямую к 5 В и GND Arduino, у двигателя достаточно мощности, чтобы вращать колеса. Но с мостом H этого не происходит. Что мне теперь делать? Я уже пробовал уменьшать резисторы в основании, но безуспешно. Я также пробовал заменить контакты питания Arduino на 9 В батарею, но это не сработало., @jan