单相功率因数校正PFC电路的simulink仿真(从电路图搭建到C语言实现PID控制),直接拿来做课设啦!
??本文介紹功率因數(shù)校正(PFC)的simulink仿真實(shí)現(xiàn),并用PID控制器將功率因數(shù)調(diào)整為近似1。最后將控制器離散化,用C語(yǔ)言的形式編寫代碼實(shí)現(xiàn)PID控制simulink中的模型實(shí)現(xiàn)同樣的效果。(僅作為學(xué)習(xí)參考作用,若有不足請(qǐng)指出討論。)
單相功率因數(shù)校正PFC電路的simulink仿真(從電路圖搭建到C語(yǔ)言實(shí)現(xiàn)PID控制)
- 一、功率因數(shù)校正(PFC)電路原理
- 1.PFC含義
- 2.PFC電路原理
- 3.閉環(huán)控制設(shè)計(jì)原理
- 4.電壓外環(huán)的任務(wù)
- 5.電流內(nèi)環(huán)的任務(wù)
- 二、Simulink仿真電路搭建
- 1.給定元器件參數(shù)
- 2.Boost電路搭建
- 3.PID控制電路搭建(搭建simulink自帶PID控制器)
- 4.測(cè)量電路搭建
- 5.電路匯總
- 三、仿真電路分析
- 1.直流輸出電壓波形及平均值
- 2.直流輸出電壓的FFT分析
- 3.整流器輸出電壓與電感電流波形
- 4.電網(wǎng)電壓和電網(wǎng)電流的波形圖
- 5.電流畸變系數(shù)、功率因數(shù)計(jì)算
- 四、C語(yǔ)言編寫PID控制器
- 1.搭建simulink中C語(yǔ)言的編譯環(huán)境
- 2.電路連接圖
- 3.C語(yǔ)言編寫的PID控制代碼
- 4.控制器分析
- 五、仿真文件獲取
- 1.積分獲取
- 2.免費(fèi)獲取
- 六、其余電力電子電路
一、功率因數(shù)校正(PFC)電路原理
1.PFC含義
??功率因數(shù)校正(Power Factor Correction,PFC)電路,是指在傳統(tǒng)的不控整流中融入有源器件,使得交流側(cè)電流在一定程度上正弦化,從而減小裝置的非線性、改善功率因數(shù)的一種高頻整流電路。
??基本的單相PFC電路在單相橋式不可控整流器和負(fù)載電阻之間增加一個(gè)DC-DC功率變換電路,通常采用Boost電路(Boost電路原理及simulink仿真可以參考這個(gè)鏈接)。通過(guò)適當(dāng)?shù)目刂艬oost電路中開(kāi)關(guān)管的通斷,將整流器的輸入電流校正成為與電網(wǎng)電壓同相位的正弦波,消除諧波和無(wú)功電流,將電網(wǎng)功率因數(shù)提高到近似為1。電路的原理圖如圖所示:
2.PFC電路原理
??假定開(kāi)關(guān)頻率足夠高,保證電感LLL的電流連續(xù);輸出電容CCC足夠大,輸出電壓uou_ouo?可認(rèn)為是恒定直流電壓。電網(wǎng)電壓uiu_iui?為理想正弦,即ui=Um?sin(wt)u_i=U_m*sin(wt)ui?=Um??sin(wt),則不可控整流橋的輸出電壓udu_dud?為正弦半波,ud=∣ui∣=Um?∣sin(wt)∣u_d=|u_i|=U_m*|sin(wt)|ud?=∣ui?∣=Um??∣sin(wt)∣。
??當(dāng)開(kāi)關(guān)管QQQ導(dǎo)通時(shí),對(duì)電感LLL充電,電感電流iLi_LiL?增加,電容CCC向負(fù)載放點(diǎn);當(dāng)QQQ關(guān)斷,二極管DiodeDiodeDiode導(dǎo)通時(shí),電感兩端電壓uLu_LuL?反向,udu_dud?和uLu_LuL?對(duì)電容充電,電感電流iLi_LiL?減小。電感電流滿足:
??通過(guò)控制QQQ的通斷,即調(diào)節(jié)占空比DDD,可以控制電感電流iLi_LiL?。若能控制iLi_LiL?近似為正弦半波電流,且與udu_dud?同相位,則整流橋交流側(cè)電流也近似為正弦電流,且與電網(wǎng)電壓uiu_iui?同相位,即可達(dá)到功率因數(shù)校正的目的。為此,需要引入閉環(huán)控制。
3.閉環(huán)控制設(shè)計(jì)原理
??控制器必須滿足以下兩個(gè)要求:
??①實(shí)現(xiàn)輸出直流電壓uou_ouo?的調(diào)節(jié),使其達(dá)到給定值;
??②保證電網(wǎng)側(cè)電流正弦化,且功率因數(shù)為1.
??即在穩(wěn)定輸出電壓uou_ouo?的情況下,使電感電流iLi_LiL?與udu_dud?波形相同。采用電壓外環(huán)、電流內(nèi)環(huán)的單相PFC雙閉環(huán)控制的原理圖如下所示:
4.電壓外環(huán)的任務(wù)
??電壓外環(huán)的任務(wù)是得到可以實(shí)現(xiàn)控制目標(biāo)的電感電流指令值iL?i^{*}_LiL??。給定輸出電壓uo?u^{*}_ouo??減去測(cè)量到的實(shí)際輸出電壓uou_ouo?的差值,經(jīng)過(guò)PI調(diào)節(jié)器后輸出電感電流IL?I^{*}_LIL??的指令。測(cè)量到的整流橋出口電壓udu_dud?除以其幅值UmU_mUm?后,可以得到udu_dud?表示波形的量ud’u^’_dud’?,ud’u^’_dud’?為幅值為1的正弦半波,相位與udu_dud?相同。IL?I^{*}_LIL??與ud’u^’_dud’?相乘,便可以得到電感電流的指令值iL?i^{*}_LiL??。iL?i^{*}_LiL??為與udu_dud?同相位的正弦半波電流,其幅值可控制直流電壓uou_ouo?的大小。
5.電流內(nèi)環(huán)的任務(wù)
??電流內(nèi)環(huán)的任務(wù)是通過(guò)控制開(kāi)關(guān)管QQQ的通斷,使實(shí)際的電感電流iLi_LiL?跟蹤其指令值iL?i^{*}_LiL??。此處采用滯環(huán)電流控制法。根據(jù)電流的公式,當(dāng)QQQ導(dǎo)通時(shí)電感電流增大,而當(dāng)QQQ關(guān)斷時(shí),電感電流減小。令iL?i^{*}_LiL??減去iLi_LiL?,若差值△iLi_LiL?大于規(guī)定的上限△iLmaxi_{L_{max}}iLmax??,則令QQQ導(dǎo)通,以增大iLi_LiL?;若差值△iLi_LiL?小于規(guī)定的下限△iLmini_{L_{min}}iLmin??,則令QQQ關(guān)斷,以減小iLi_LiL?。通過(guò)滯環(huán)控制,可以保證實(shí)際的電感電流iLi_LiL?在其指令值iL?i^{*}_LiL??附近波動(dòng),波動(dòng)的大小與滯環(huán)寬度有關(guān),即與設(shè)定的△iLmaxi_{L_{max}}iLmax??和△iLmini_{L_{min}}iLmin??相關(guān)。
二、Simulink仿真電路搭建
1.給定元器件參數(shù)
① 輸入電壓有效值為220V,頻率為50Hz;
② 輸出直流電壓指令u*o為400V;
③ 電感L=6mH;電容C=320uF;負(fù)載電阻R=160Ω;
④ 二極管整流橋:Rs=1e5Ω,Cs=1e-6F,Ron=1e-3Ω,Lon=0,Vf=0;
⑤ 開(kāi)關(guān)管Q采用MOSFET,Ron=0.001Ω,Lon=0,Vf=0.8V,Ic=0,Rs=1e5Ω,Cs=inf;
⑥ Boost電路中二極管參數(shù):Ron=0.001Ω,Lon=0,Vf=0.8V,Ic=0,Rs=500Ω,Cs=250e-9F。
⑦ Relay滯環(huán)電流控制模塊寬度設(shè)置為[-0.5,0.5],Switch on point為1,Switch off point為-1;
⑧ 仿真算法:ode23tb
2.Boost電路搭建
??Boost電路的搭建可以參考這篇文章。搭建好的電路圖如下:
3.PID控制電路搭建(搭建simulink自帶PID控制器)
4.測(cè)量電路搭建
??其中,功率因數(shù)計(jì)算函數(shù)如下:
5.電路匯總
三、仿真電路分析
??將powergui設(shè)置為離散模型,Ts=1e-6,PID控制器的P為0.02,I為10。
1.直流輸出電壓波形及平均值
??輸出電壓波形如下:
??輸出電壓平均值如下:
??可以發(fā)現(xiàn),直流電壓波動(dòng)周期為0.01s,頻率為工頻(50Hz)的兩倍。
2.直流輸出電壓的FFT分析
3.整流器輸出電壓與電感電流波形
4.電網(wǎng)電壓和電網(wǎng)電流的波形圖
5.電流畸變系數(shù)、功率因數(shù)計(jì)算
??可以看出,電壓和電流是同相位的,即功率因數(shù)基本為1(0.9997)。也可以觀察Fourier模塊的相角觀察到電流與電壓是同相位的,這滿足控制器實(shí)現(xiàn)電網(wǎng)側(cè)電流正弦化,且功率因數(shù)為1的要求,達(dá)到了PFC的目的。
四、C語(yǔ)言編寫PID控制器
1.搭建simulink中C語(yǔ)言的編譯環(huán)境
??拖出s-function-builder模塊。(需要去了解一下如何在simulink中搭建C語(yǔ)言的編譯環(huán)境,本文是裝好了進(jìn)行應(yīng)用。可以參考:鏈接1、鏈接2、鏈接3)
2.電路連接圖
3.C語(yǔ)言編寫的PID控制代碼
/** Include Files**/ #if defined(MATLAB_MEX_FILE) #include "tmwtypes.h" #include "simstruc_types.h" #else #include "rtwtypes.h" #endif/* %%%-SFUNWIZ_wrapper_includes_Changes_BEGIN --- EDIT HERE TO _END */ #include <math.h> /* %%%-SFUNWIZ_wrapper_includes_Changes_END --- EDIT HERE TO _BEGIN */ #define u_width 1 #define y_width 1struct _pid{float SetSpeed;//定義設(shè)定值float ActualSpeed;//定義實(shí)際值float err;//定義偏差值float err_last;//定義最上前的偏差值float err_next;//定義上一個(gè)偏差值 float Kp,Ki,Kd;//定義比例、積分、微分系數(shù) };static struct _pid pid={ 0,0,0,0,0,0.02,0.01,1.15 };float PID_realize(float Err) {//pid.SetSpeed=speed;//設(shè)定值 pid.err=Err;//pid.SetSpeed-pid.ActualSpeed;//誤差項(xiàng) float incrementSpeed=pid.Kp*(pid.err-pid.err_next)+pid.Ki*pid.err;//pid.Kd*(pid.err-2*pid.err_next+pid.err_last) ;//這里不用微分環(huán)節(jié)pid.ActualSpeed+=incrementSpeed;pid.err_last=pid.err_next;pid.err_next=pid.err;return pid.ActualSpeed; }//u0是輸入的誤差項(xiàng),y0是控制器的輸出 void mytest_Outputs_wrapper(const real_T *u0,real_T *y0) {y0[0] =PID_realize(u0[0]); }4.控制器分析
①比例環(huán)節(jié)
??可以發(fā)現(xiàn)僅有比例環(huán)節(jié)的情況下系統(tǒng)存在穩(wěn)態(tài)誤差,需要增加積分環(huán)節(jié)消除穩(wěn)態(tài)誤差。
②比例積分環(huán)節(jié)
??引入比例積分環(huán)節(jié)后,系統(tǒng)的穩(wěn)態(tài)誤差消失,輸出為給定的400V電壓。電網(wǎng)電流和電壓同相位,功率因數(shù)由和計(jì)算得近似為1。以上是C語(yǔ)言實(shí)現(xiàn)PID控制器的效果,具體的PID參數(shù)可自行設(shè)置。
五、仿真文件獲取
1.積分獲取
Matlab2017b仿真文件地址
2.免費(fèi)獲取
關(guān)注公眾號(hào)【凱期可期】后臺(tái)回復(fù):電力電子六、其余電力電子電路
其余電路參考
總結(jié)
以上是生活随笔為你收集整理的单相功率因数校正PFC电路的simulink仿真(从电路图搭建到C语言实现PID控制),直接拿来做课设啦!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 1个ieee1394端口_IEEE 13
- 下一篇: 时滞电力系统matlab,基于Wirti