大致弄懂了SVPWM的基本原理之后,下面我就使用MATLAB SIMULINK工具進行仿真
整體的仿真模塊如下圖所示:
整體的simulink仿真圖如上圖所示,雖然很多資料上都有,但是在實際按照資料搭建的過程中總是會遇到這樣或者是那樣的問題,在我經過多次失敗的過程中,終于搭建出來正確的模型。下面我就具體介紹一下每個子模塊的具體搭建方法以及參數的設定。
在本模型中PWM的開關周期為0.0002s,直流側電壓Udc=700V,仿真算法采用變步長ode23tb算法,且最大仿真步長(MAX STEP SIZE)為0.00001,其余值保持初始值不變。
PWM三角波可以用MATLAB SIMULINK仿真模塊中的repeating sequence產生,具體設置如下:
其中對稱的等腰三角波的幅值一般取頻率的一般,使用示波器觀察三角波如下:
需要注意的一點是,注意設定輸入正弦波的采樣時間,如果采樣時間過大或者過小都會使得這個三角波失真。這里給出輸入的兩個正弦波的模塊的設置:
這里注意sample time的設置,如果設置的不正確就不會得到最終正確的相電壓波形
接下來就分模塊說說如何搭建:
首先是扇區N的判斷模塊:
扇區N的計算結果如下:
接下來是中間變量X,Y,Z的計算模塊
T1和T2計算模塊
切換時間Tcm1,Tcm2,Tcm3模塊
切換時間的計算結果:
最后是計算相電壓的模塊,一般資料這個模塊都沒有把內部的結構詳細給出
相電壓Ua的計算結果:
就這樣一個完整的SVPWM模塊就完成了~