基于Matlab/Simulink的简单三相交流系统扫频仿真
文章目錄
- 前言
- 一、掃頻法的工作原理
- 二、Simulink模塊的搭建
- 1.主電路
- 2.鎖相環
- 3.小信號擾動部分
- 三、阻抗測量模塊的測試
- 1.RL負載的阻抗模型
- 2.阻抗測量結果
- 總結
- 參考文獻
前言
最近讀了幾篇關于并網逆變器dq軸阻抗建模的文章,對其中的掃頻法比較感興趣,于是利用Matlab/Simulink搭建了一個阻抗測量模塊。以三相交流電網帶RL負載的簡單系統為對象,利用掃頻法測量了負載的dq軸阻抗。結果表明,測得阻抗的幅值相角與阻抗傳遞函數的結果相符合,驗證了阻抗測量模塊的正確性。
一、掃頻法的工作原理
掃頻法將被測單元視為一個黑箱子,通過在其端口注入一定頻率的電壓擾動信號,測量得到對應的電壓和電流信號,然后計算得到對應的輸出阻抗值。dq軸阻抗掃頻測量法的原理如下圖所示[1]。
在dq軸同步旋轉坐標系中阻抗表示為矩陣的形式Z=[Zdd,Zdq;Zqd,Zqq],因此需要注入兩次同頻率且線性無關的擾動信號,才可解出阻抗矩陣中的每一個值。選用的兩組擾動信號表示如下:
{ΔUd1=Upsin?(ωpt)ΔUq1=Upcos?(ωpt)(第一次擾動){ΔUd2=?Upsin?(ωpt)ΔUq2=Upcos?(ωpt)(第二次擾動)\left\{ \begin{array}{c} \varDelta U_{d1}=U_\mathrm{p}\sin \left( \omega _\mathrm{p}t \right)\\ \varDelta U_{q1}=U_\mathrm{p}\cos \left( \omega _\mathrm{p}t \right)\\ \end{array} \right. (第一次擾動) \\\quad \\ \left\{ \begin{array}{c} \varDelta U_{d2}=-U_\mathrm{p}\sin \left( \omega _\mathrm{p}t \right)\\ \varDelta U_{q2}=U_\mathrm{p}\cos \left( \omega _\mathrm{p}t \right)\\ \end{array} \right. (第二次擾動) {ΔUd1?=Up?sin(ωp?t)ΔUq1?=Up?cos(ωp?t)?(第一次擾動){ΔUd2?=?Up?sin(ωp?t)ΔUq2?=Up?cos(ωp?t)?(第二次擾動)
式中,ωp\omega _\mathrm{p}ωp?為注入的擾動頻率,UpU_\mathrm{p}Up?為注入擾動的幅值。UpU_\mathrm{p}Up?越大,阻抗測量的精度越高,但是對系統的穩定性也會造成較大影響。參照文獻[1],這里取UpU_\mathrm{p}Up?為電網額定電壓的0.1倍。
第一次注入擾動后,從負載側電壓電流dq軸分量中提取出與擾動同頻的響應分量(ΔUd1\varDelta U_d1ΔUd?1、ΔUq1\varDelta U_q1ΔUq?1)和(ΔId1\varDelta I_d1ΔId?1、ΔIq1\varDelta I_q1ΔIq?1);同樣地,第二次注入擾動后,從負載電壓電流中提取出同頻響應分量(ΔUd2\varDelta U_d2ΔUd?2、ΔUq2\varDelta U_q2ΔUq?2)和(ΔId2\varDelta I_d2ΔId?2、ΔIq2\varDelta I_q2ΔIq?2)。在dq同步旋轉坐標系中有:
[ΔUd1ΔUq1]=[ZddZdqZqdZqq][ΔId1ΔIq1](1)[ΔUd2ΔUq2]=[ZddZdqZqdZqq][ΔId2ΔIq2](2)\left[ \begin{array}{c} \varDelta U_{d1}\\ \varDelta U_{q1}\\ \end{array} \right] =\left[ \begin{matrix} Z_{dd}& Z_{dq}\\ Z_{qd}& Z_{qq}\\ \end{matrix} \right] \left[ \begin{array}{c} \varDelta I_{d1}\\ \varDelta I_{q1}\\ \end{array} \right] \quad\quad\quad\quad (1) \\\quad \\ \left[ \begin{array}{c} \varDelta U_{d2}\\ \varDelta U_{q2}\\ \end{array} \right] =\left[ \begin{matrix} Z_{dd}& Z_{dq}\\ Z_{qd}& Z_{qq}\\ \end{matrix} \right] \left[ \begin{array}{c} \varDelta I_{d2}\\ \varDelta I_{q2}\\ \end{array} \right] \quad\quad\quad\quad (2) [ΔUd1?ΔUq1??]=[Zdd?Zqd??Zdq?Zqq??][ΔId1?ΔIq1??](1)[ΔUd2?ΔUq2??]=[Zdd?Zqd??Zdq?Zqq??][ΔId2?ΔIq2??](2)
由式(1)和(2)可得:
[ZddZdqZqdZqq]=[ΔUd1ΔUq1ΔUd2ΔUq2][ΔId1ΔIq1ΔId2ΔIq2]?1\left[ \begin{matrix} Z_{dd}& Z_{dq}\\ Z_{qd}& Z_{qq}\\ \end{matrix} \right] =\left[ \begin{matrix} \begin{array}{c} \varDelta U_{d1}\\ \varDelta U_{q1}\\ \end{array}& \begin{array}{c} \varDelta U_{d2}\\ \varDelta U_{q2}\\ \end{array}\\ \end{matrix} \right] \left[ \begin{matrix} \begin{array}{c} \varDelta I_{d1}\\ \varDelta I_{q1}\\ \end{array}& \begin{array}{c} \varDelta I_{d2}\\ \varDelta I_{q2}\\ \end{array}\\ \end{matrix} \right] ^{-1} [Zdd?Zqd??Zdq?Zqq??]=[ΔUd1?ΔUq1???ΔUd2?ΔUq2???][ΔId1?ΔIq1???ΔId2?ΔIq2???]?1
需要注意的是上述矩陣中的元素均為復數,因而求出的阻抗矩陣為復數矩陣,對阻抗矩陣中的每個元素提取幅值相角即可得到該頻率下阻抗分量的幅頻特性。
二、Simulink模塊的搭建
1.主電路
主電路為690V無窮大電網經ZgZ_\mathrm{g}Zg?后給3相RL負載供電,ZgZ_\mathrm{g}Zg?=rgr_\mathrm{g}rg?+jωlg\omega l_\mathrm{g}ωlg?,取rgr_\mathrm{g}rg?=0Ω\varOmegaΩ,lgl_\mathrm{g}lg?=0.01mH。三相RL負載取R=0.3174Ω\varOmegaΩ,L=0.05mH。
2.鎖相環
鎖相環用于產生dq坐標變換的相角theta,其內部控制框圖如下圖所示。鎖相環內部是基于標幺值控制的,所以輸入鎖相環的電壓要先進行標幺化處理。ωb\omega_bωb?為電網角頻率的基準值,ωb\omega_bωb?=100π\piπ;PI調節器的比例和積分系數為(0.084,4.69)。
3.小信號擾動部分
小信號擾動部分搭建如下。
其中,Ud1等擾動信號采用sine wave模塊產生,內部參數設置如下。
三、阻抗測量模塊的測試
1.RL負載的阻抗模型
dq同步旋轉坐標系中,3相RL負載的阻抗模型為:
Zrl(s)=[Ls+R?ωLωLLs+R]Z_{\mathrm{rl}}\left( s \right) =\left[ \begin{matrix} Ls+R& -\omega L\\ \omega L& Ls+R\\ \end{matrix} \right] Zrl?(s)=[Ls+RωL??ωLLs+R?]
帶入仿真模型中的數據,可以做出阻抗矩陣的波特圖,這里只給出前兩個分量。
做出Zdd和Zdq的幅頻特性如下圖所示。
2.阻抗測量結果
設置仿真時長為3s,算法為變步長ode23t,測量100Hz和1000Hz擾動下負載的dq軸阻抗,以期和上一小節中的幅頻特性相對應。每個頻率下需要運行兩次仿真模型,第一次運行時在小擾動部分將Voltage Perturb2注釋掉,只留下Voltage Perturb1;而第二次運行時則與之相反。兩次運行結束后,電壓電流的響應分量即可輸出到工作區,之后可以通過編寫簡單的程序來提取阻抗矩陣的幅值和相角。代碼如下:
%第一次擾動 Id1=Id.data(end); Iq1=Iq.data(end); Ud1=Ud.data(end); Uq1=Uq.data(end);%第二次擾動 Id2=I_d.data(end); Iq2=I_q.data(end); Ud2=U_d.data(end); Uq2=U_q.data(end);A=[Ud1,Ud2;Uq1,Uq2]; B=[Id1,Id2;Iq1,Iq2]; Z=A/B % hold on;scatter(f,20*log10(abs(Z(1,1)))); % hold on;scatter(f,angle(Z(1,1))*180/pi); % hold on;scatter(f,20*log10(abs(Z(1,2)))); % hold on;scatter(f,angle(Z(1,2))*180/pi);其中,end表示取響應分量的最后一個數值(穩定的數值)。
測量結果與用阻抗傳遞函數計算出的結果對比如下。可以看出,利用掃頻法測量得到的點與用阻抗模型計算的結果基本重合,從而驗證了所搭建阻抗測量模塊的正確性。
總結
利用Matlab/Simulink搭建了三相交流系統的阻抗測量模塊,通過簡單的RL電路驗證了模塊的正確性,可為之后研究復雜交流系統的阻抗特性做鋪墊。
參考文獻
[1] 李輝,王坤,胡玉,王曉,夏桂森.雙饋風電系統虛擬同步控制的阻抗建模及穩定性分析[J].中國電機工程學報,2019,39(12):3434-3443.DOI:10.13334/j.0258-8013.pcsee.181467.
---------------6.25更新----------------
有些網友可能需要仿真模型,模型放在下方鏈接了,自取:
鏈接:https://pan.baidu.com/s/1jzOKR7lZpACPTC1iN7nrBA
提取碼:lp3a
此模型的局限和不足:目前這個模型只能測量較小頻率變化范圍內3相RL負載的dq軸阻抗,當頻率增加到10kHz后測量結果就偏離實際結果了。博主本來是想用這種方法來掃三相逆變器的阻抗模型的,但是現在看來RL負載都掃不好更別提逆變器了(捂臉)。無奈網上關于三相系統dq軸掃頻的帖子少之又少,而論文中介紹的方法又很難復現,才將自己的一知半解分享出來。如果有大佬因此帖子受到啟發,搭出更好的模型還望不惜賜教!
總結
以上是生活随笔為你收集整理的基于Matlab/Simulink的简单三相交流系统扫频仿真的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1KB到底有多大?(为什么买回来的硬盘总
- 下一篇: 安徽工程大学计算机与信息学院教师,杨丹