Создание общей почвы

Мне нужно управлять 12-вольтовым двигателем с сигналом от Arduino.

Для этого я соединяю землю Arduino с землей выпрямителя батареи, создавая общую землю.

Затем я подключаю коллектор транзистора (NPN) к положительному выводу источника питания, а базу — к выходу Arduino. Наконец, я подключаю концевой эмиттер к двигателю, который подключается к общему заземлению.

Не получив желаемого результата, я подключаю базу транзистора к выводу с постоянным высоким уровнем сигнала от ардуино. Я измеряю напряжение между эмиттером и общей землей, оно составляет около 3 вольт.

Что происходит? Почему я получаю разность потенциалов между базой и общей землей вместо 12 В?

Вы неправильно его подключаете. Излучатель уходит на землю. Коллектор идет к мотору. Мотор идет на питание. Я также надеюсь, что у вас есть резистор между базой и выходным контактом Arduino.
@TomCarpenter Ах, теперь работает, спасибо. Из любопытства, что произошло, когда я измерил напряжение с эмиттера?

Ответы (1)

Вы видите именно то поведение, которое я ожидал.

При включении кремниевым транзисторам BJT требуется В б е (это напряжение базы относительно эмиттера) около 0,7 В . Это означает, что если ваш выход Arduino находится на уровне 5 В , то если эмиттер выше 5 0,7 "=" 4.3 В , транзистор будет закрыт.

Если вы поместите двигатель между эмиттером и землей, это означает, что у вас не может быть больше, чем 4.3 В через двигатель, потому что транзистор выключится. Однако вы получите достаточный ток, чтобы поднять напряжение двигателя примерно до этого. Если у вас нет базового резистора, ток, протекающий в базу в этом сценарии, будет довольно высоким и намного превысит возможности источника тока микросхемы ATMega, что приведет к падению выходного напряжения из-за внутреннего сопротивления, которое вот почему вы видите ближе 3 В через ваш мотор.

Если вместо этого вы подключите эмиттер к земле, а двигатель к коллектору (и другую сторону двигателя к источнику питания), то при подаче 5 В к базе, вы бы В б е "=" 5 В потому что эмиттер находится под потенциалом земли. Это полностью открыло бы транзистор, и у вас было бы около 12 В по мотору. Однако это тоже нехорошо - это либо поджарит ваш транзистор, либо поджарит управляющий контакт (или и то, и другое).

Устройства BJT являются источниками тока с регулируемым током - это означает, что ток, протекающий от коллектора к эмиттеру, пропорционален току, протекающему от базы к эмиттеру. Другими словами, увеличение базового напряжения — это не то, как вы управляете выходом, а скорее вам нужно изменить ток. Если вы слишком сильно увеличите базовое напряжение на транзисторе, вы получите очень высокие токи, протекающие в базу (транзистор - это фактически диод от базы к эмиттеру), что повредит его.

Итак, что вам нужно сделать, это преобразовать 5 В выходное напряжение вывода Arduino на 0,7 В требуется транзистору при безопасном уровне тока — это делается простым добавлением резистора подходящего размера между выводом Arduino и основанием транзистора, например:

Цепь двигателя NPN Источник изображения