Estoy conduciendo un motor BLDC con FOC. En este momento, tengo funcionando la modulación del vector espacial, donde puedo darle una magnitud y un ángulo, y el algoritmo colocará los valores correctos en tres registros PWM. Si aumente lentamente el argumento del ángulo y llamo a la función SVM periódicamente, el motor girará (lentamente) en un circuito abierto.
Actualmente estoy introduciendo un ángulo artificial en la función, pero en la práctica necesito saber la posición de los rotores para poder realizar todos mis cálculos de transformación de clark / park / PI en relación con el ángulo del rotor.
Creo que esto se puede hacer a través de un observador actual, en el cual envío un estimado de error a una implementación de SW del motor HW, y gracias a las ganancias y la alta retroalimentación, podré impulsar el BEMF calcule a cero y extraiga la información del ángulo ... ¡Pero no estoy seguro de haber acertado!
He leído varias notas de aplicación de TI, NXP, MicroSemi, Microchip, así como la excelente serie de videos de Dave Wilson 'Teaching Old Motors New Tricks', y debo decir que la terminología y los diferentes sabores de hacer esto me han un poco confundido en cuanto a dónde ir desde aquí.
Estoy tratando de ir sin sensores al leer las resistencias de derivación fuera de la fase A y amp; B ... El observador actual / estimador BEMF debería poder cerrar el bucle como velocidades suficientes, pero no estoy seguro de cómo implementar eso, porque parece que también necesita que las transformaciones de Clarke-Park y el controlador PI sean trabajando ... Pero, no puedo hacer que esas cosas funcionen si no conozco el ángulo del rotor.
¿Cuál es la forma más sensata de proceder con este ciclo de desarrollo?