Autotuning de control de corriente FOC controlador PI para motores BLDC

0

Intento comprender cómo los usuarios de odrive ajustaron los parámetros PI de control actuales para el Control orientado en campo:

enlace

En la función "calibración_motor", K_i y K_p se eligen como:

// Calculate current control gains
    float current_control_bandwidth = 1000.0f;  // [rad/s]
    motor->current_control.p_gain = current_control_bandwidth * motor->phase_inductance;
    float plant_pole = motor->phase_resistance / motor->phase_inductance;
    motor->current_control.i_gain = plant_pole * motor->current_control.p_gain;

¿Cómo surgieron estas dependencias de K_i y K_p de L y R? De alguna manera, deben colocar los polos de la manera correcta con esto, pero no veo cómo garantizan cambiar los polos al semiplano negativo.

El modelo de espacio de estado de un motor BLDC tiene este aspecto, pero a partir de aquí no podemos asumir simplemente que la entrada u es F * x, de modo que creamos un sistema de circuito cerrado, porque no podemos controlar directamente:

Editar:¿Esposiblequesehayautilizadoelsiguientemodelosimple?Asíqueelsistemadecircuitocerradotienelafuncióndetransferencia:

$$G(s)=\frac{K_ps+K_i}{s^2L+s(R+K_p)+K_i}$$

    
pregunta HansPeterLoft

1 respuesta

0

Es muy posible que hayan usado el modelo simplificado que usted cita. Así es como hago los controladores de motor. Se basa en la observación de que el ancho de banda alcanzable del bucle de corriente es 10 veces mayor que el ancho de banda alcanzable de la velocidad del motor o los bucles de posición. Eso significa que puede tratar bastante la dinámica del motor como una perturbación de CC independiente al bucle de corriente.

Ahora, si está diseñando un servo loop de motor de ancho de banda súper alto y encuentra que el ancho de banda de control de armadura del motor está llegando a 10x del ancho de banda del bucle actual, tendrá que cambiar de idea.

    
respondido por el TimWescott

Lea otras preguntas en las etiquetas