¿Controlando un motor de CC muy pequeño con PWM?

8

Tengo un motor DC muy pequeño (de un Walkman), me gustaría controlar la velocidad desde un microcontrolador. Para eso me gustaría conectar un MOSFET en serie y aplicar una señal PWM a su puerta para cambiar la velocidad del motor.

He medido la L & del motor R = 4.7mH, 11.5Ohm (Tao 0.41msec).

Al ejecutar algunos experimentos con el motor utilizando una fuente de alimentación de banco, puedo ver que funciona bien, desde un voltaje de 0.2V hasta alrededor de 0.4V, que es todo el rango que necesito.

La fuente de alimentación que tengo para esto está configurada a 1,8 V (utilizada para la parte digital del circuito), por lo que hace que el uso de MOSFET estándar sea un poco difícil porque no puedo suministrar el voltaje requerido para la saturación de la puerta. Compré algunos MOSFET de canal P como this .

Entonces, aunque hubiera pensado que esta configuración funcionaría (Vcc - > motor - > FET - > GND), parece que no puedo obtener una buena resolución sobre el control y no obtengo tanto torque del motor que solía obtener cuando se ejecuta desde una fuente de alimentación de CC.

No estoy seguro de qué frecuencia. Debería usar y no estar seguro de qué otros parámetros deben verificarse para que esto funcione como está previsto. Cualquier ayuda en esto será apreciada.

* ACTUALIZACIÓN * Siguiendo la respuesta de Olin, he construido el circuito que él sugirió. He usado un transistor 2N3904, una resistencia de 180 ohmios en paralelo con una tapa de 4.7 nF. Se adjunta el voltaje del colector cuando se ejecuta desde el código PWM 100 (de 256). Vcc es 1.8V.

    
pregunta user34920

2 respuestas

8

La solución más sencilla sería utilizar un conmutador NPN de lado bajo:

Dice que la resistencia de CC del motor es 11.5, por lo que la corriente máxima que puede extraer es 1.8 V / 11.5 Ω = 160 mA. En realidad, el transistor consumirá unos 100 mV reduciendo la corriente máxima posible, por lo que este es un máximo seguro para diseñar. Figura que el transistor es bueno para una ganancia de 50 como mínimo, por lo que necesitamos al menos 160 mA / 50 = 3.2 mA de corriente base. 5 mA es un buen objetivo para asegurarse de que el transistor esté saturado sólidamente cuando esté encendido. Calcule que la caída de B-E sea de 700 mV, de modo que salga de 1.1 V a través de la resistencia cuando esté encendido. 1.1 V / 5 mA = 220.

C1 está ahí para acelerar el encendido y apagado. (220 Ω) (4.7 nF) = 1 µs, que es la constante de tiempo C1-R1.

La frecuencia PWM debe ser lo suficientemente rápida como para que la corriente a través del motor cambie poco cada fase de encendido y apagado. La ondulación causada por el PWM es una tensión de CA superpuesta a la tensión de CC promedio. Sólo la tensión continua va a mover el motor. El componente de CA no genera par de torsión, solo calor, por lo que desea mantenerlo bajo en relación con el CD. En general, los motores funcionan un poco por encima del límite de audición humana, que también suele ser lo suficientemente rápido para mantener pequeño el componente de CA. A 25 kHz, por ejemplo, el período de PWM es de 40 µs, lo que debería brindarte mucha resolución desde cualquier periférico de PWM razonable en un microcontrolador.

Añadido en respuesta al rastreo de alcance del colector

La forma básica de la forma de onda se ve bien, por lo que parece que el transistor está cambiando correctamente y la tensión se está aplicando a través del motor correctamente.

Los picos en el apagado son preocupantes. Posiblemente podrían ser artefactos de alcance, pero si la traza de su alcance es precisa, entonces el diodo no funciona o no está conectado correctamente. Los picos no deben estar a más de un voltio por encima del suministro.

D1 no solo evita que el transistor se frene, sino que también conserva gran parte de la corriente del motor durante el tiempo de apagado. Lo primero es necesario, y lo segundo aumenta la eficiencia.

Añadido 2

Mirando más de cerca su traza de alcance, veo que el voltaje del colector cuando el motor está apagado es de 2.48 V. Dice que el suministro es de 1.8 V, lo que hace que el voltaje de apagado esté 680 mV por encima del suministro. Eso significa que usted no construyó el circuito como dije. Obviamente, usaste un diodo de silicio ordinario, probablemente uno lento, como un 1N400x. El lento tiempo de encendido del diodo explica el pico de voltaje y reduce un poco los niveles generales de la unidad en un ciclo de trabajo PWM específico. También causará disparos durante un tiempo en que el transistor se enciende nuevamente, ya que el diodo aún está conduciendo. Un diodo Schottky tendrá una caída hacia delante más baja y una recuperación inversa instantánea en el contexto de este circuito.

El sistema todavía debería funcionar en general, pero intente con un diodo Schottky como el que especifiqué.

    
respondido por el Olin Lathrop
0

Supongamos que tiene experiencia básica con microcontroladores y puede construir un circuito.

La forma más directa de conducir el motor es mediante el puente H, la resistencia de detección de corriente y el PWM. Básicamente, el puente H permitirá usar 3.3V o 5V, lo que sea más conveniente.

De hecho, dependiendo de la aplicación, incluso puede omitir el control de corriente, probablemente no causará ningún daño, incluso si el motor se detiene.

Por cierto, ¿necesitas velocidad o control de posición, de alguna?

    
respondido por el Gregory Kornblum

Lea otras preguntas en las etiquetas