matlab查表svpwm,SVPWM的MATLAB仿真实现
SVPWM的 MATLAB仿真实现 马国旗 何 鑫 2 耿 爽 。 (1.中国矿业大学信息与电气工程学院 徐州 221116: 2、3.中国矿业大学化工学院 徐州 221116) 科 学论坛 啊 I [摘 要]在交流电机的矢量控制系统中,传统使用的是正弦脉宽调制(SPWM)来控制电动机系统,采用这种控制方法使系统的性能不高,并且存在逆 变器死区问题而稳定性较差。于是便产生了电压空间矢量 PWM(SVPWM)控制。即以圆形旋转磁场为 目标来控制逆变器的工作,本文介绍了SVPWM的MATLAB的实 现方式 并给 出了核心模块 的C程序 。 [关键词]SVPWM repeating sequence S-Function buiider 中图分类号:TN431.2 文献标识码 :A 文章编号:1009—914X(2011)19—0083—01 1模块创建 打开 mat1ab主界面,创建 simulink,在 ports&subsystems中找到 subsystem模块并建立之,这个模块有两个输入 口,一个输出口(实际上包含 六路PWM信号),接下来的东西都将在这个模块中添加,其中Vahar,Vbetar 是需要输入的电压在两相静止坐标系下的两个分量,输出是控制逆变器六个 IGBT的 pwm脉冲信号。 2添加内核模块 根据图 1—1,添加 subsystem的内核模块,里面用到的模块有 以 几 种:in,out,mux,demux,repeating sequence,rational operator, logical operator和里面的主角 S-Function bui 1der模块。 卜1 SVPWM仿真系统图 3主要模块设置 3 1 repeat i ng sequence模块 首先取 Tz为 l/(1 e+4)这就是说开个频率是 1OkHz,设置 repeati ng sequence如 F:Time values:[0 Tz/2 Tz]:Output values:[0 Tz/2 0]。 这样设的目的是想产生一个周期为Tz,峰值为 Tz/2的等腰直角三角形调制 波,和接下来的开关管作用时间函数作比较以产生 PWM波。 3.2 s—function bui Ider模块 图卜1中的svpwm模块就是用simulink中的s—function builder。svpwm 的核心算法是使用 C语言编写的,下面详细介绍该模块的设置。 打开 s—functiOn builder界 面 ,在 s—function name 中输 入 svpwm,在 i nitialization中的各参数均设为 0,sample mode设为 inherited,在 data properties中设:port name为 u(默认是 u0),行数row为 4(因为 有四个输入参数),其他选用默认值,设output ports的输出port name 为Y(原来为 yO),行数rows为3(因为有三个输出),其他参数默认,剩下 的两个parameters和 data type attributes均采用默认值;在 libraries 中全部使用默认值;接下来要改的就是outputs中的内容,也是实现 SVPWM 的核心算法。最后点击 bu i 1 der建立该模块即可。C程序如下: /*u[4]={vaphar,vbetar,Tz,Vdc) / int A,B,C,N: double X,Y,Z,Tx,Ty,TO,T1,Tm,Th: if (u[1]>O)A=
总结
以上是生活随笔为你收集整理的matlab查表svpwm,SVPWM的MATLAB仿真实现的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Android获取最新发送短信的基本信息
- 下一篇: matlab曲线拟合预判,matlab里