How to use the PWMSVM01_SVM(&PWMSVM01_Handle0, Amplitude, Angle) command

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
User8316
Level 1
Level 1
Hello,

I’m implementing a sensorless control of a PMSMachine working as generator, using the XMC4500 relax kit and PWMSVM01 DAVE 3 App.

The PWM frequency is 10kHz, The Space Vector modulation index is given by M = (PI/2)*V/Vdc were V=sqrt(vd^2+vq2) and Vdc is the DC bus voltage.
M must be <= 0,9069 to avoid the non-linear zone. I have also the theta angle used in dq to alpha beta to abc (and vice-versa), reference frame transformations.

These two variables: M and theta (or V and theta)) are the ones I have been used in my SVM control process simulations.

The question is how to "translate" my modulation index M and my theta angle (or V and theta) to the PWMSVM01_SVM(&PWMSVM01_Handle0, "Amplitude", "Angle") command.


The PWMSVM01_SVM(&PWMSVM01_Handle0, "Amplitude", "Angle") command is executed every 100us within the PWMSVM01 Period Match Interrupt.

The documentation I found about this command (in DAVE PWMSVM01 App Help) only sais:
"Call PWMSVM01_SVM(HandlePtr, Amplitude, Angle) API periodically to execute the SVM algorithm. 0 to 100% Amplitude is mapped to 0 to PWM period value and 0 to 360 degrees Angle is mapped to 0 to 0xFFFF".
This is confusing to me. Could you please help me?
Give an example please.

Thank you in advance
Rui Brito
0 Likes
1 Reply
Eric1
Employee
Employee
Hallo Rui Brito,

In the PWMSVM01 App the amplitude is given in 0 to PWM period. You can see the PWM period in the App GUI “SVM Configurations” “Period Register: “ or in the C file PWMSVM01_Handle0.kMaxAmplitude.
The 100% are referred to the Us = sqr(3)/2 Ur. That leads to the fact that the SVM App can’t provide over modulation.
In other words 100% will be the maximum circle inside of the hexagon.

Regards
Eric
0 Likes