Hi,
We are using the S12ZVMC128 MCU. We want to implement SVPWM method as our motor has a Sinusoidal BEMF. Is there any code/software available for any MCU which implements SVPWM with zero crossing? If not code/software is there any documentation on the subject from Freescale/NXP? Are there any documents / tutorials on the internet which can get us far?
pachamatej, RadekS, iggi
Hi,
Unfortunately, there is no example code provided for sinusoidal PWM with zero-crossing detection of back-EMF signals. Personally, I believe the FOC algorithm we provide is more robust and slightly more efficient than any of the zero-crossing based algorithms. However, if you would like to implement the SPWM instead of the block (or 6-step) commutation, there are several approaches for the sensorless control. The simplest one is eg.:
DSP-based brushless DC motor sensorless drivers with sine PWM - IEEE Conference Publication
The key is to switch of the phase which is about to go through the zero-crossing point. During this switched-off time, the back-EMF is measured and the exact zero-crossing point is detected. The sinus wave frequency and angle is synchronized with detected speed. The amplitude of the voltage is controlled by the speed/current controller. I have heard about some novel approaches as well, however these may be subject of intellectual property of other companies (please check the patents and recent publications).
Note: Hall-sensor based sinusoidal control would be very easy task to do. If you have a motor with this type of sensor (e.g. the Linix motor delivered with our devKits), you can easily start the development.
Best regards,
Matej