@RoeltenHave. Tuve este problema por un tiempo y eventualmente lo resolví. Supongo que está obteniendo la misma forma de onda que se muestra en las imágenes. Esto sucede porque la conmutación entre los estados no está ocurriendo en el momento preciso. Imagina a una persona corriendo de un extremo de un pasillo a otro extremo. Todo el camino está lleno de puertas. En el momento en que se acerque una puerta debe abrirse. O si no, se golpearía a sí mismo y perdería impulso en el proceso. Sugiero el siguiente enfoque:
1) Use un temporizador para medir la conmutación. Comience el tiempo de conmutación desde un valor grande (por ejemplo, abt 100 ms, esto también depende del motor). Deje que el ciclo de trabajo tenga un máximo de 10-15%, ya que no queremos dibujar una corriente demasiado grande. Este temporizador hará que el motor se conmute del estado x al estado y (donde x e y - 0,1,2,3,4 y 5).
2) Permita que el temporizador de conmutación se reduzca después de, por ejemplo, 4-5 iteraciones. En otras palabras, por ejemplo, deje que el temporizador de conmutación t1 = 100 mseg. Deje que el motor funcione en el estado 0 (por ejemplo) durante 100 ms. Luego salte al estado 1 y así sucesivamente durante 4-5 iteraciones. Después de eso, reduzca el tiempo de conmutación de 100 ms a un valor más bajo. Nota bondadosa Si salta de 100 ms a un valor drásticamente bajo, por ejemplo, 10 ms, podría detener el motor. Esto difiere de un motor a otro.
3) Continuar reduciendo el intervalo de tiempo de conmutación y respetando el recuento de iteraciones. Mantenlo en marcha hasta unos 100uSecs.
Ahora, en algún lugar entre 100mSecs y 100uSecs, verá la forma de onda de conmutación BLDC clásica. Cuando sucede depende de la carga que proporcione. Si no hay carga, podemos ver la forma de onda deseada en unos pocos cientos de uSecs (como 700uSecs).
Ahora, hemos visto la forma de onda. A continuación necesitamos automatizar el proceso de detección. Estoy usando el ADC de mi uC para detectarlo. Estoy midiendo el BEMF durante el tiempo de encendido del PWM. Debe detectar el cruce por cero (en este caso, la mitad de Vcc, es decir, Vcc / 2).
Tenga cuidado con el filtro de paso bajo seleccionado para la retroalimentación al anuncio. He pasado por alto el LPF. En mi diseño, la tensión de fase se alimenta al adc a través de un simple regulador de tensión. El LPF puede causar atenuación.
Espero que estos ayuden. NO dude en preguntar si necesita más ayuda.
WHEW !!!!!!!!!!!!!!!!!!