¿Controlador de motor usando solo un transistor 2N2222?

¿Es posible construir un controlador de motor usando solo un transistor 2N2222?

¿Si es así, entonces cómo?

Sí. (Te cambio una mejor respuesta para obtener más detalles).

Respuestas (2)

Bueno, por conductor de motor... podrías significar cualquier cosa.

El motor es AC o DC? ¿Quieres poder variar la dirección del motor? ¿Qué tal la velocidad? ¿Qué hay de frenar el motor?

Un 2N2222 es un transistor bastante potente, pero solo es bueno hasta 800 mA más o menos. Por lo tanto, cualquier motor que use no debe consumir más de esta corriente cuando gira y cuando se detiene, o el transistor puede quemarse. Además, el 2N2222 está clasificado para un máximo de 40 V, por lo que no puede manejar motores de alto voltaje.

Aquí está probablemente el circuito más simple:

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

El 1N4001 es un diodo volante. Como el motor es un inductor, cuando lo apagas, la energía tiene que ir a alguna parte. El diodo proporciona un camino para esto; de lo contrario, el transistor podría quemarse apagando la salida.

Este "controlador" le permite hacer funcionar el motor hacia adelante y llevarlo por inercia. Con PWM, puede variar la velocidad.

Aquí hay un puente H que usa cuatro transistores 2N2222.

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

Haciendo S1 = 1, S2 = 0, S3 = 0, S4 = 1 el motor avanzaría

Haciendo S1 = 0, S2 = 1, S3 = 1, S4 = 0 el motor iría al revés

Haciendo S1 = 0, S2 = 0, S3 = 0, S4 = 0 el motor marcha por inercia

Haciendo S1 = 1, S2 = 0, S3 = 1, S4 = 0 el motor frenaría (desaceleraría rápidamente)

Haciendo S1 = 0, S2 = 1, S3 = 0, S4 = 1 el motor también frenaría

Hacer S1 = 1, S2 = 1 sería malo y debería evitarse . Haría que ambos transistores se encendieran dando un camino directo a tierra. Los transistores se quemarían y usted podría dañar su fuente de energía. Lo mismo se aplica para S3 = 1, S4 = 1, así como para activar todos los interruptores.

También debe haber diodos a través de cada transistor, ánodo al emisor. Por simplicidad y debido a los medios de solo texto, los omití. Utilice los mismos 1N4001.

También puede reemplazar los 2N2222 con algo más para permitirle manejar cargas más pesadas. Con cargas más pesadas, es una buena idea usar disipadores de calor en cada transistor.

Las entradas se pueden controlar desde un Arduino.

Es un motor de corriente continua. Se requiere un cambio de dirección y también un cambio de velocidad. ¿Es eso posible con el circuito que proporcionaste anteriormente?
Para cambiar la dirección, ¿puedo usar cualquier transistor PNP o tengo que usar unos específicos? ¿También puedo usar este controlador de motor con un Arduino?
No necesita un transistor PNP, solo facilita el circuito.
@gomek Si desea invertir la dirección, puede instalar el motor al revés. Pero si desea poder cambiar la dirección con su Arduino cuando lo desee, sin quitar el motor e instalarlo al revés, puede usar un puente H.
@Fake Name, el circuito está diseñado para una NPN. Usar un PNP probablemente no funcionaría bien.
@gomek Puede usar esto con cualquier dispositivo que pueda suministrar unos pocos mA (<5 mA) de corriente y al menos 1 voltio. Eso significa Arduino, un microcontrolador PIC, incluso un puerto paralelo en su computadora. Sin embargo, no debe aplicar un voltaje de entrada superior al voltaje de la fuente de alimentación.
Si necesita mayor potencia, pasaría a un par darlington o un FET. El 2222 probablemente no resista la corriente de bloqueo de la mayoría de los motores (la condición en la que el motor funciona a plena potencia y se bloquea)
@Thomas O- ¿Es posible construir un puente H usando solo los transistores 2N2222? Actualmente, solo tengo estos transistores a mano.
@gomek: vea mi edición para ver un esquema.
problema allí: no podría conducir ese puente H directamente con niveles lógicos. los transistores de lado bajo (2 y 4) si, pero los transistores de lado alto tendran problemas. Para que el lado alto del motor se acerque al riel de +12 V, debe tener una señal de control de al menos Vbe, sat (digamos 0,8 V) por encima de los 12 V. Usando la lógica directamente en los transistores 1 y 3, el lado alto del motor solo podrá llegar a aproximadamente Vbe, se sentó POR DEBAJO del nivel lógico alto, quizás alrededor de 4V en el mejor de los casos.
@JustJeff ¡Buen punto! Para resolver esto, podría usar algunos controladores de colector abierto con 1k pull ups. O podría intentar reemplazarlos con PNP y conectarlos a tierra (con pull-ups para que floten hacia el riel de suministro).
@ThomasO, los BJT no tienen problemas con la flotación como los FET. En lo que a mí respecta, esta es una ventaja importante cuando se aborda el pan.
Gracias. Entonces, ¿funciona esto con el Arduino o no?
@Kortuk, sí, pero debes asegurarte de que tengan una señal lógica para apagar. Los PNP se encienden cuando no tienen corriente, por lo que debe asegurarse de que esté presente.
@Gomek, debería funcionar. Es posible que necesite encontrar algunos PNP y usar la idea de pull-up que mencioné. Sin embargo, le recomiendo que compre un IC de puente H real cuando pueda, son solo unos pocos dólares.
@ThomasO, NO, tanto PNP como NPN necesitan corriente de emisor base para obtener corriente de emisor-colector. Ambos operan tomando corriente de emisor base y multiplicándose. No estoy seguro de quién te dijo lo contrario, pero están muy, muy equivocados. Si dejas cualquiera de las bases flotando, se apagan.
@ThomasO, sin corriente base son dos diodos. Con la corriente base, logra engañar a la corriente a través de la barrera del diodo polarizado inversamente.
pregunta: ¿conecto los interruptores (s1, s2....) a las entradas de Arduino?
@gomek, sí, ¡y no olvides las resistencias de 1k!
¡Lo construí pero parece que no funciona! :(
Lo siento por el error. El circuito funciona bien. Gracias.
@gome, ¡Me alegra saberlo! disfrutar. Entonces obtenga un puente h real en su próximo pedido de componentes, son muy útiles.

Sí, se puede hacer de forma muy sencilla, pero no obtienes mucha potencia ni control de posición.

esquemático

simular este circuito : esquema creado con CircuitLab

El circuito utiliza la fuerza contraelectromotriz de una sola bobina de motor para impulsar el transistor, de modo que un transistor es todo lo que se necesita para hacer girar el motor. Debido a la unidad EMF inversa, puede funcionar en diferentes tipos de motores, como péndulos, como se muestra en esta patente , aquí también hay un buen enlace.