Corte de corriente con un puente h y PWM

Tengo algunos motores paso a paso y controladores de puente h dual L298N. No puedo encontrar las especificaciones exactas para los motores paso a paso,* pero los motores similares de otra línea de productos tienen voltajes nominales de 2,64 v a 5,8 v. Dado que la mayoría de las fuentes de alimentación no tienen estos valores exactos, parece que es necesario cortar la corriente.
*Minebea, la empresa que fabricó los motores, dice que los motores formaban parte de un pedido personalizado, por lo que no tienen especificaciones.

Tuve la idea de que el corte de corriente de bucle abierto podría ser posible con PWM desde la placa del controlador (en este caso, un Arduino). Dado que el torque no es un gran problema, debería funcionar bien sin necesidad de compensar los cambios en el EMF posterior.

Usando PWM suave pude generar una señal de 20kHz y podría haber ido mucho más alto.

En la página 4 de una hoja de datos que encontré para el L298N, se enumeran varios tiempos de retraso (por ejemplo, "Retardo de apagado de la corriente de la fuente"). Esos valores deberían ser bastante relevantes aquí. La página 2 también enumera la corriente de salida máxima para diferentes rangos de tiempo. Tengo un poco de preocupación porque la corriente repetitiva máxima es 2.5A. Si estoy leyendo correctamente la parte inferior de la página 3, la caída de voltaje total es de al menos 1.8v. ¿Cuál podría ser la caída a un voltaje más alto, digamos 12v?

La pregunta es, ¿es una estrategia viable ejecutar un paso a paso a alto voltaje (por ejemplo, 12v) al cortar la corriente al cambiar el puente h? Solo he visto un par de referencias para hacer esto ( aquí y aquí ), aunque ninguna responde completamente la pregunta. Quiero estar seguro de que esto no freirá ni el puente h ni el paso a paso.

Respuestas (2)

De hecho, es una buena estrategia cortar la corriente de una fuente de mayor voltaje (por ejemplo, 12 V) para alimentar un motor paso a paso. De hecho, la mayoría de los controladores paso a paso integrados lo hacen de esa manera (eche un vistazo a la hoja de datos DRV8825, por ejemplo).

Sin embargo, para su información, lo que generalmente se hace es que el controlador paso a paso monitorea la corriente a través de los devanados y ajusta el corte dependiendo de esta corriente. El uso de un ciclo de trabajo fijo (como parece que planea hacer) daría como resultado una conducción menos consistente del motor (por ejemplo, pasos perdidos en cargas altas, ...). Pero aún podría ser aceptable dependiendo de su aplicación.

Ahora, con respecto a sus dudas sobre la corriente máxima de L298. La corriente no es el voltaje de pulso máximo dividido por la resistencia del devanado aquí. Debido a que está cortando a alta frecuencia, la inductancia del devanado suavizará la corriente (que es lo que queremos). Entonces, en realidad es el voltaje promedio (dependiendo del ciclo de trabajo) dividido por la resistencia. Por lo tanto, si tiene un ciclo de trabajo del 50 %, esto genera 6 V (sin contar las pérdidas) y tendrá una corriente de 1,5 A. Parece que estás bien.

En cuanto a la cuestión de la caída de tensión, se especifica para una tensión de alimentación de 42 V en la hoja de datos. Pero no debería depender de la tensión de alimentación, de todos modos. Depende más de la corriente de carga. Así que no estoy seguro de entender esa parte de la pregunta.

Gracias, eso es muy tranquilizador. Había combinado por error "los motores paso a paso se pueden ejecutar a voltajes mucho más altos que los nominales" con "los componentes solo consumen la corriente que necesitan" para llegar a la conclusión (obviamente falsa) de que tampoco tenía que preocuparme. La cuestión de la caída de voltaje se basó en la idea de que habría menos voltaje a través del devanado del motor, lo que daría como resultado un flujo de corriente más bajo. En otras palabras, estoy pensando en el efecto de la resistencia interna. Pero creo que no es un problema basado en su declaración it is actually the average voltage ... divided by the resistance.
Ligeramente relacionado: ¿Hay alguna ventaja o daño en aumentar la frecuencia? Los 20k Hz son solo una cifra que leí en alguna parte y codifiqué en mi boceto. 200k Hz es probablemente el máximo que Arduino puede hacer, y dudo un poco que el L298 pueda seguir el ritmo.
No eché un vistazo a los problemas de tiempo/frecuencia de conmutación. Pero básicamente, si cambia demasiado lentamente, la corriente no se suavizará lo suficiente. Depende de la inductancia de tu motor. Y, si cambia demasiado rápido, tendrá más pérdidas de conmutación y, en cierto punto, el conductor ni siquiera podrá seguir el ritmo. Por lo general, los controladores paso a paso utilizan una frecuencia de conmutación en el rango de 20-50 KHz. La hoja de datos del L298 dice 25 KHz típicos y 40 KHz máximos. Así que elige, pero yo no iría mucho más alto que el típico.
Bueno, gracias. Eso tiene sentido. Soy nuevo en la lectura de hojas de datos, pero no es que menciones que lo veo.

En la ficha técnica del L298 ver apartado "3. APLICACIONES". En esa sección hay algunos esquemas descritos y mostrados esquemáticamente para limitar la corriente cortando.

La caída de voltaje de 1.8v min es el Vce(sat) de los transistores internos que variará con la corriente, no necesariamente con el voltaje. Este es el voltaje que pierde debido a la conmutación de transistores menos que perfecta.

Los tiempos de retardo enumerados en la página 4 son retardos de conmutación del circuito interno. Son solo las características eléctricas del dispositivo.

Gracias. Una de mis principales preocupaciones era que –Repetitive (80% on –20% off; ton = 10ms)era 2.5A. Si asumimos 4Ω para el paso a paso a 12v, eso es 3A. ¿Es posible calcular la resistencia interna aproximada del L298n? Supongo que no habrá ningún problema porque usaría un ciclo de trabajo más cercano al 25%, no al 80%, y mucho más rápido (alrededor de 13 μs en lugar de 10 ms). No estoy seguro de la resistencia exacta del devanado del motor porque mi medidor de ohmios está roto (obtuve una medida aproximada con un Arduino, creo que debería ser al menos alrededor de 4Ω).
La resistencia equivalente del L298 se puede estimar en una cierta corriente fija (según la hoja de datos), sin embargo, esta es una parte activa del transistor interno y la resistencia equivalente cambia a medida que cambia la corriente. Es probable que espere perder alrededor de 2v internamente, por lo que podría estimar la corriente máxima suponiendo alrededor de 10v en el motor. (Al igual que en la otra respuesta, es posible que la corriente ni siquiera alcance este máximo debido a los efectos inductivos y la conmutación rápida). Por último, puede agregar resistencias de detección de valor moderado (consulte la hoja de datos) para limitar aún más la corriente si le preocupa. .