Advertisement

SVPWM算法软件的编程实现

阅读量:

本文采用软件编程方法实现了SVPWM算法,并将各扇区的有效矢量T1、T2以及无效矢量T0+T7的时间通过DAC转换为马鞍波信号;从而深入理解了该算法在GD32E508芯片上的具体实现过程。

1.实现步骤

SVPWM波基波频率设定f为1Hz,旋转实时角度为2 3.14 1*t 时间t的步长为0.001,即每隔1ms更新一次旋转角度,1s为一个周期,一个周期1000个采样点
1、移植arm自带DSP库,使能FPU运算;
2、通过给定旋转坐标系直流电压Vd、Vq通过park逆变换得到正交的两相交流正弦电压Ua、Ub;
3、判断Ua、Ub大小判断扇区1/2/3/4/5/6,计算各扇区有效矢量T1,T2 ,无效矢量T0,T7作用时间。
4、各扇区有效矢量T1,T2,无效矢量T0,T7(实则为三相逆变电路三对mos管各下管导通时间,T1+T2+T0+T7的和为SVPWM三角波载波的周期T)。
5、将T1,T2,T0+T7通过DAC转换输出SVPWM马鞍波形(基波和三次谐波的叠加)。

2.软件C代码
2.1 .h文件

复制代码
    #ifndef MAIN_H
    #define MAIN_H
    #include "gd32e50x.h"
    #include "arm_math.h"
    
    /*--------转子

全部评论 (0)

还没有任何评论哟~