Intento comprender cómo los usuarios de odrive ajustaron los parámetros PI de control actuales para el Control orientado en campo:
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}$$