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获取最新发送短信的基本信息
- 下一篇: String 类的重要方法与字段