Control de motores de CC mediante BJT

Intentar controlar la velocidad de un motor de CC (MFA 918D100112/1 que se encuentra en https://www.rapidonline.com/mfa-918d100112-1-gearbox-motor-100-1-4mm-shaft-12-24v-37- 1224 ) usando el pin PWM en Arduino conectado a la base de un npn BJT (2N3904 https://www.onsemi.com/pub/Collateral/2N3903-D.PDF ). Este es el circuito propuesto:ingrese la descripción de la imagen aquí

No estoy seguro de los valores de resistencia a elegir. Como entendí correctamente, R2 se usa como una resistencia de extracción débil cuando la base está flotando, y R1 se usa para garantizar que un Vbe sea de 0.7 V para la saturación cuando el pin Arduino suministra 5 V. R3 se usa como una resistencia limitadora de corriente en para no freír el transistor.

¿Cómo elijo los valores correctos para las resistencias? Espero haber entendido bien la teoría.

¿Consideró agregar un diodo flyback en paralelo al motor? El motor tiene una bobina y, con los pulsos, causará grandes picos de voltaje en el colector del transistor cada vez que se apague el pulso.
Elija R1 para que la base Q1 actual sea suficiente para saturarla. R2 probablemente debería estar en el rango de 100 kohm. R3 puede ser 0 a menos que necesite limitar alguna corriente de entrada del motor. También diodo a través del motor. Lo más probable es que sea mejor con un N-MOSFET en lugar de NPN para Q1.

Respuestas (3)

Algunas cosas vas a tener que resolver.

  1. El motor que vinculó funciona con 12 a 24V. No los 3V que muestra en su circuito propuesto.
  2. El transistor NPN 2N3904 no es adecuado para esta aplicación. Por lo general, son buenos para hasta ~ 200 mA, mientras que el motor especifica una corriente de carga de 300 mA y eso aumentará a medida que se coloque más carga en el motor.
  3. Una resistencia en serie con el motor realmente no va a funcionar. Debe dejar que los devanados del motor limiten la corriente y luego elegir un transistor (con suerte, un MOSFET) que pueda manejar la corriente.
  4. Cuando conduce una carga inductiva con conmutación activa, seguramente necesita un diodo flyback en el motor o, de lo contrario, la patada inductiva en el momento de apagado matará su transistor.
  5. Use un MOSFET y puede limitar la cantidad de carga actual en la salida de Arduino.

Ok @elecstud... la pelota está en tu cancha ahora.

Aquí está el circuito que se está discutiendo:

Hay una serie de problemas.

  1. R3 no tiene sentido y solo desperdiciará energía. Ya está modulando el accionamiento del motor con PWM, por lo que ni siquiera puedo adivinar lo que cree que se supone que debe lograr R3.
  2. Olvidaste el diodo de captura de retorno a través del motor. Sin él, el transistor se freirá en poco tiempo. Lo mejor sería un Schottky en reversa cruzando el motor. La caída de voltaje más baja de un Schottky producirá una eficiencia ligeramente mayor.
  3. R2 es demasiado bajo. Su objetivo principal es asegurarse de que el transistor permanezca apagado cuando nada esté impulsando la entrada. 100 kΩ pueden lograrlo sin tener requisitos de corriente excesivos propios durante el funcionamiento normal.
  4. R1 depende de lo que pueda generar la salida digital. Calcule que la caída de BE de Q1 es de 700 mV. Si la salida digital va a 3,3 V cuando está alta, eso deja 2,6 V en R1. Digamos que la salida digital puede generar 10 mA cuando está alta. Ahora usas la ley de Ohm para encontrar R1. (2,6 V)/(10 mA) = 260 Ω. Cualquier cosa menos que eso consumirá más corriente de la que puede generar la salida digital en este ejemplo.
  5. Debe considerar la corriente máxima del motor y la ganancia del transistor para ver si este circuito funcionará. Digamos que la corriente base es de 10 mA cuando está encendida. Si el transistor tiene una ganancia mínima garantizada de 50, entonces puede admitir 500 mA de corriente del motor. Eso suena pequeño, especialmente para el arranque, a menos que sea un motor muy pequeño.
  6. De todos modos, un BJT no es una buena opción aquí debido a posibles problemas de ganancia y su voltaje de saturación. Con solo un suministro de 3 V, la caída de saturación del transistor de aproximadamente 200 mV es significativa. Eso es una pérdida del 7% allí mismo.

    Usaría algo como el IRLML2502 FET. Baja a menos de 80 mΩ con un controlador de compuerta de 3,3 V y 45 mΩ con un controlador de compuerta de 5 V. Conduzca su puerta directamente desde la salida digital. Entonces, R1 no es necesario, y R2 de 100 kΩ evitará que la puerta flote, pero no se interpondrá en el camino.

Parece que es una pregunta tardía. Para el punto 5, ¿qué te hace tomar 10 mA como ejemplo de corriente base? Si tomamos un valor más alto, ¿no debería ser más alto el Ic?

En lugar de BJT, usar un MOSFET será efectivo ya que el transistor que usó (2N3903) tiene una corriente de colector máxima de 200 mA, mientras que las especificaciones del motor nos dicen que la corriente de carga es de 300 mA.

ingrese la descripción de la imagen aquí

Además, como dijo Michael, está utilizando una batería de 3 V, mientras que el motor necesita un voltaje de 12-24 como se indica en las especificaciones. Por lo tanto, debe reemplazar una batería por una nueva de 12V o 24V de capacidad.

Además, para evitar que los transistores se fríen con cargas inductivas, ya sea MOSFET o BJT, necesita un diodo Flyback, no una resistencia limitadora de corriente. Porque las cargas inductivas generarán picos de voltaje cuando apague el circuito y freirá su transistor. Por lo tanto, debe proporcionar una ruta para esos picos de voltaje después de que se apague el circuito. Es por eso que aquí se usa el diodo Flyback.

Aquí está el circuito recomendado para su requerimiento.

ingrese la descripción de la imagen aquí

EDITAR: Como Trevor mencionó en un comentario, Rgate Resistor (R2) se agrega en un circuito.

Te falta la resistencia de puerta en serie...