Creando un terreno común

Necesito conducir un motor de 12 voltios con una señal de un arduino.

Para esto, conecto la tierra del arduino a la tierra del eliminador de batería creando una tierra común.

Luego conecto el colector del transistor (NPN) al extremo positivo de la fuente de poder y la base a la salida del arduino. Finalmente conecto el emisor final al motor que está conectado a la tierra común

Al no obtener los resultados deseados, conecto la base del transistor a un pin con señal alta constante del arduino. Mido el voltaje entre el emisor y la tierra común y encuentro que es de unos 3 voltios.

¿Lo que está sucediendo? ¿Por qué obtengo la diferencia de potencial entre la base y la tierra común en lugar de 12 V?

Lo estás conectando de forma incorrecta. El emisor va a tierra. Colector va al motor. El motor va al suministro. También espero que tengas una resistencia entre la base y el pin de salida de Arduino.
@TomCarpenter Ah, ya está funcionando, gracias. Por curiosidad, ¿qué pasó cuando medí el voltaje del emisor?

Respuestas (1)

Estás viendo exactamente el comportamiento que esperaría.

Cuando se encienden, los transistores BJT de silicio necesitan un V b mi (ese es el voltaje de la base en relación con el emisor) de alrededor 0.7 V . Eso significa que si su salida Arduino está en 5 V , entonces si el emisor es más alto que 5 0.7 = 4.3 V , el transistor se apagará.

Si coloca el motor entre el emisor y la tierra, significa que no puede tener más de 4.3 V a través del motor, porque el transistor se apagaría. Sin embargo, obtendrá suficiente flujo de corriente para aumentar el voltaje del motor hasta aproximadamente eso. Si no tiene una resistencia base, la corriente que fluye hacia la base en este escenario será bastante alta y superará con creces la capacidad de generación de corriente del circuito integrado ATMega, lo que hará que el voltaje de salida caiga debido a la resistencia interna, lo que es por eso que ves más cerca de 3 V a través de su motor.

Si, en cambio, conecta el emisor a tierra y el motor al colector (y el otro lado del motor a la fuente de alimentación), entonces cuando aplique 5 V a la base, tendrías V b mi = 5 V porque el emisor está al potencial de tierra. Esto encendería completamente el transistor y tendría cerca de 12 V a través del motor. Sin embargo, esto tampoco es bueno: freiría su transistor o freiría el pin de control (o ambos).

Los dispositivos BJT son fuentes de corriente controladas por corriente ; esto significa que la corriente que fluye del colector al emisor es proporcional a la corriente que fluye de la base al emisor. Es decir, aumentar el voltaje base no es la forma en que controla la salida, sino que necesita cambiar la corriente. Si aumenta demasiado el voltaje de la base en el transistor, terminará con corrientes muy altas que fluyen hacia la base (el transistor es efectivamente un diodo desde la base hasta el emisor) que lo dañarán.

Así que lo que tienes que hacer es convertir el 5 V salida de voltaje del pin Arduino al 0.7 V requerido por el transistor a un nivel de corriente seguro; esto se hace simplemente agregando una resistencia de tamaño adecuado entre el pin Arduino y la base del transistor de la siguiente manera:

Circuito de motor NPN Fuente de imagen