QZSI SVPWM ZSVM6 method help
7 views (last 30 days)
Hello, there are a few points in the simulation file in the link below that I don't understand. I hope you can help. I'm particularly stuck on the SVM block. I have no problem producing normal svpwm, but I can't create the switching table for sectors with the values in this block. The articles mentioned also do not provide a table. I would appreciate it if you could help me with the switching table for ZSVM6.
Joel Van Sickel on 23 May 2023
I can't tell you exactly what is going on any more than the code can. This shared file is made by an individual user and you can try contacting them if you want, but what their software is doing is right there in the code. The way they chose to implement this algorithm is only one way of many, and one that probably made more sense to them, but might not make sense to you. Specifically, they are breaking the PWM sequence into 13 time slots, the intervals boundaries are defined by int1 through 12. With 12 time points, there are 13 time zones between those points, so that is why there are 13 columns. You can see how these times are derived/modified in the code. the values in those arrays (sw_array) are the exact switch values to implement the pwm algorithm. This is different than just using a comparator. The code looks at what switch needs to be controlled (1st index), looks at the time interval they are in (1-13) for index 2, and then looks at wich of the 6 svpwm sectors they are in. Based on that, they look at the table and pick the correct value of on or off for the specific switch.