We are using S12ZVMC128 chip for our motor application. Our motor is a 7PP BLDC motor.
We are using simple BEMF based commutation (not FOC).
We want to increase PWM frequency to the maximum possible for reducing torque ripple.
We can't seem to go above 100,000 Khz (PMFMODA 1000). This 100Khz works properly at about 3000 RPM, but fails when we cross about 5000 RPM. At 5000 RPM and higher (till 7500 RPM) we have to switch to 33Khz.
1) We can't figure out why higher RPM requires us to reduce PWM frequency, we can understand if lower RPM requires this as BEMF drops due to lower angular velocity with short pulses.
2) What is the highest PWM practically achievable with S12Z? We would like to go to 200Khz if possible but motor immediately stalls below 110Khz (PMFMODA 900/800) at any RPM. (We have tried to reduce computation load by reducing current sense code, even commenting it out, but it has had no impact)
3) We are using 100Mhz clock speed (50Mhz bus speed). PMF Timer Prescaler is default. We think this implies 100Mhz as the clock speed for PMF. The documentation for S12Z is a bit confusing because in some places they mention fBus and in some places Tcore as the clock source for PMF.
4) The Dead Time is in PMF clock cycles right? What should the value be if we want 20ns?
Any help here would be highly appreciated.