¿Cómo se realiza el control de aceleración constante para el motor BLDC?

0

Me gustaría realizar un control de aceleración constante del motor BLDC para que su velocidad pueda aumentar de cero a la velocidad objetivo en un período de tiempo predefinido. Entiendo que el motor debe poder generar un par de torsión suficiente para que se pueda satisfacer J * dw / dt. Supongamos que esta condición se cumple. Para implementar este control con una MCU, puedo pensar en utilizar un temporizador para generar una interrupción deltaT de intervalo de tiempo fijo, digamos 10 ms, y cada vez que se interrumpe el temporizador, se calcula el siguiente objetivo de velocidad utilizando next_speedref = current_speedref + acceleration * deltaT .

Mis preguntas son

  1. Puedo dar un nuevo valor de referencia de velocidad, pero ¿cómo puedo asegurarme? ¿La velocidad real puede ajustarse al valor objetivo dentro de deltaT?
  2. Si tengo que usar un control de lazo cerrado de velocidad, cuando la aceleración * deltaT es pequeña, lo que significa que el error de velocidad en el controlador PI será pequeño, ¿debo configurar Kp y / o Ki para que sean lo suficientemente grandes? para asegurarse de que la velocidad pueda alcanzar el objetivo en deltaT?
  3. Para el control de movimiento industrial, normalmente, ¿cómo se darían cuenta? ¿aceleración constante?
pregunta David Lin

1 respuesta

0

simular este circuito : esquema creado usando CircuitLab

El diagrama de bloques es un circuito de control de posición de accionamiento industrial simplificado. Para su aplicación puede omitir ciertas etapas, necesita un controlador de corriente PI y un controlador de velocidad PI. Desde su planificador de trayectoria de bucle abierto, usted calcula la velocidad de acuerdo con su fórmula y luego le asigna un punto de ajuste de velocidad al controlador de velocidad.

simular este circuito

Ahora, si posee un kit BLDC FOC funcional, esto no debería ser un problema ya que el bucle y la velocidad actuales aún están implementados. Lo que podría agregar es el avance de par (actual). Como dijo \ $ M = J \ alpha + M_ {load} \ $ podemos anticipar el punto de ajuste dinámico del par antes de que la velocidad se atrase con el punto de ajuste. Por lo tanto, hay un camino de avance de par que envía el punto de ajuste de par "a priori". \ $ M_ {ffwd} = J \ alpha = \ frac {d \ omega} {dt} J; \; I_ {ffwd} = M_ {ffwd} * k_i; \; k_i [A / Nm] \ $
\ $ I_ {ffwd} = \ frac {d \ omega} {dt} J * k_i \ $

Dado que el bucle de velocidad "a posteriori" no puede seguir inmediatamente el cambio dinámico en la velocidad, se debe introducir un filtro LP de primer orden antes del controlador PI de velocidad (se incluye en la imagen), para retrasar la acción hasta hay una respuesta del sistema debido a la acción del bucle feedforward.

La otra cosa es una calculadora de trayectoria simple, que calcula una rampa. Este debe ser un algoritmo recursivo que incremente la velocidad y verifique los límites de cada ciclo de iteración. Esta parte no tiene ninguna retroalimentación de la velocidad o posición real, solo se calcula en bucle abierto. Todo depende de los bucles de regulación para seguir el punto de ajuste de la velocidad.

    
respondido por el Marko Buršič

Lea otras preguntas en las etiquetas