此为SVPWM算法的SIMULINK建模过程,没有具体的公式推导(太多了,难打字)
abc为matlab自带的三相正弦波发生器,需要调整参数。
首先进行坐标变换
第一个fcn里的代码
function y = fcn(a,b,c)
y =(2/3)*( a-0.5*b-0.5*c);%Ualapha计算
第二个fcn里的代码
function y = fcn(a,b,c)
y = (2/3)*(a*0+sqrt(3/4)*b-sqrt(3/4)*c);
扇区分配
N的求取
N求取之后应该会得到如下图显示的波形 ,N的值为3 1 5 4 6 2 的循环
作用时间的选择
图中的1 2 3 输入是XYZ。模块进行封装过了,会简洁很多。
T1 T2 过调制处理
输入1 与输入2 是之前算出来的T1 T2
切换点时间计算
此时Ta Tb Tc时间图像应如下图
求扇区比较器比较时刻
得到比较时刻图像
产生PWM波,这里注意三角波发生器的周期和幅值,为【0 0.5 1】*1e-4
【0 1 0】*1e-4
这里用的是减法,也可以用逻辑进行比较,图中的double是格式转换器,使信息量格式一致,没有进行转化会报错。
检查,N为扇区选择
示波器接N与三个上升沿,上升沿用mux模块集合在一起了,方便观看,上升沿就是没有取反的那条线,即Mux6的1 3 5 号口。
上下桥臂检查,图中取第一个桥臂进行检查,即Mux6的一二号口
PWM波调制完成之后可以加入电气模块了,直流电我取的500V
负载选择RLC负载
这是最终的调试效果^-^