Estoy tratando de conducir un BLDC con un microcontrolador, un inversor discreto y una red sin sensores para la retroalimentación. Aquí está el modelo que estoy usando y cuál es mi PCBA en última instancia:
Estoy manejando esta cosa en bucle abierto en este momento, solo para controlar la cordura de las formas de onda, etc. Esto es lo que obtengo cuando manejo el motor con un ciclo de trabajo de 18kHz, 30%:
Ya que espero que la secuencia de conmutación suceda así: , esto parece correcto... Así que creo que lo tengo funcionando bien.
Mi pregunta es, ¿por qué parece que la fase flotante lleva mucho equipaje adicional? Y si así es como se supone que debe ser, entonces, ¿en qué punto diría que están ocurriendo los cruces por cero? Esperaba que se viera un poco más limpio, como en esta nota de aplicación de Microchip http://ww1.microchip.com/downloads/en/AppNotes/01160b.pdf ¿Ve cómo hay una rampa lineal clara? no lo veo en el mio..
Además, debo señalar que solo estoy haciendo PWM en una pata, mientras que la otra está conectada a un voltaje de CC (GND en estas imágenes, aunque he jugado con dejar VDC conectado y PWM en la pata GND, pero no hizo cualquier cosa en una bonita rampa... Simplemente cambió la polaridad de lo que mostré en mis primeras fotos).
Además, solo para completar, agregué algunas vistas más cercanas de las formas de onda... Nuevamente, recuerde, están funcionando en bucle abierto, por lo que no hay retroalimentación... Simplemente cambio el estado de conmutación en un cambio de temporizador que estaba feliz con para depurar.
Aquí hay una mirada más cercana a la secuencia de conmutación:
Y aquí hay una fase flotante ascendente:
Y aquí hay una fase flotante descendente... creo que está cayendo... aunque el fondo está subiendo, así que tal vez me equivoque...:
¿Es esto correcto, o estoy haciendo algo mal?
Editar
Gracias a la respuesta a continuación, ahora estoy acelerando el motor durante 100 ms para que el BEMF se cocine, y luego vigilo el momento en que mi lado bajo del PWM sube por encima de cero. Luego espero una cierta cantidad de tiempo muerto y luego aprieto el gatillo en el avance de conmutación. Esto es mucho mejor... Antes, el motor funcionaba lentamente a alrededor de 112mA@12V, pero ahora puede funcionar fácilmente hasta 7200rpm a 40ma@12V. Cargar el motor (presionando el eje del rotor con los dedos) no lo ralentiza en absoluto, simplemente aumenta el consumo de corriente como se esperaba.
Fotos o no pasó:
Sí, las tramas tienen sentido, pero su PWM impuesto no está 'en fase' con el voltaje BEMF.
Como dijiste, estás manejando este circuito abierto, que se parece mucho más a un motor paso a paso, por lo que tu 'positivo' no se alineará con el positivo BEMF. Cuando comience a usar la retroalimentación de su sensor, su BEMF se parecerá mucho más al ejemplo.
Tenga en cuenta que la linealidad del BEMF depende en gran medida del motor. No se alarme al ver alguna curvatura:
Tenga en cuenta que esta forma de onda está 'en fase', lo que significa que el variador está aplicando un nivel alto a esta fase a medida que la fase alcanza su punto máximo. Esto es lo que quieres. En este momento, lo estás aplicando en un momento diferente, por lo que estás fuera de fase.
Trevor_G