图8 静止坐标系电压生
svpwm模块建立过程过于复杂,可参考文献[1][2],只列出总体框图如图9和图10,其中Ts为开关周期,Udc为直流母线电压。
图9 SVPWM生成结构
图10 SVPWM生成模块
三相桥模块:早期版本MATLAB选择SimPowerSystems>specialized
Technology>Power Electronics 文件下的Universal Bridge(ATTENTION:这一步不在Simulink一级标题下,往下寻找), 2014 版本在Simscape> SimPowerSystems> Technology>Power Electronics, 找不到可以在搜索框中
输入对应器件名称搜索。
直流母线电压源:SimPowerSystems>specialized Technology>Electrical sources 选择DC voltage source,电压设置为530V,如图11:
图11 三相桥模块
添加PM电机模块:SimPowerSystems>specialized Technology>Machines 选择Permanent Magnet Synchronous Motor, 在添加Step信号作为转矩输入,暂时设置为0,如图12:
图12 PMSM电机模块设置
选择Simulink>Signal routing下的Bus selector,PMSM上的m连接到Bus selector 上的输入端,双击Bus selector, 选择 Signals in the bus下的项,点击中间的select,可以全部添加。如图13:
图13 输出参数设置
选择Simulink>Signal routing下的Mux, 双击将数字改为3,将Bus selector输
出端的A BC相电流连接到Mux的输入端,如图,并选择simulink>Sink添加示波器Scope观测电流, 如果需要查看波形的FFT,双击scope>parameters>history, 去掉limit data point to last并勾选save data to workspace如图14:
图14电流解耦
Clark变换:simulink>Ports & Subsystems选择Subsystem,双击进入 添加Mux 和DeMux,user-defined Functions 选择Fcn, 其中Iabc为三相电流,设置如图15:
图15 Clark变换参数设置
Park变换:Clark变换的输出Ia、Ib和电机的theta角作为park变换的输入,需要添加Mux模块,其中Function设置如图16所示:
图16 park变换参数设置
双击点击模型,点击parameter选项,根据设置的电机极对数选择对电机转子输出的机械角度乘以极对数得到电角度,如图17红色圈所示.电机为感性负
载,Clark电流变换的角度有90°相位差,所以需要减去90度.
Simscape>SimpowerSystem>specialized Technology选择powergui添加到仿真图中,最终仿真图如图17所示:
图17 总体框图
仿真参数设置Simulation>model configuration parameters,仿真步长可以设置为定步长或者变步长,定步长,此处设置为开关周期的一百分之一即1/600000,变步长可以设置最大步长为开关周期的百分之一,在不同步长情况下查看仿真结果:
图18 仿真参数设置
如果仿真过程中出现Data logging exceeded available memory,可以在示波器parameters中的参数, limit to last选项后的勾去掉,或者修改图18中仿真步长。若要添加转矩反馈,可以添加在电流反馈环之前。调整转速PI参数看看结果变化。
以上得到了最简易的电路图,反馈的转速单位为rad/s,给定转速单位若为r/min,需要在反馈的转速乘以30/pi。
线电压显示:simpower下面找到voltage measurement 添加三个到电路图,+端连接三相桥的A相,“-”连接三相桥的B相,其余两个分别连接B-C,C-A。
相电压显示:将三相桥的直流电压给定分为两个,中间接地ground,A B C相通过voltage