BOOST电路pid和fuzzy闭环控制仿真
- 格式:docx
- 大小:802.05 KB
- 文档页数:23
BOOST电路pid和fuzzy闭环控
制仿真
2
———————————————————————————————— 作者:
———————————————————————————————— 日期:
1
1.设计要求
(1)输入电压范围为50-98V,输出电压为100V,额定负载下输入电
流20A;
(2)纹波(峰峰值)不超过1%;
(3)在75V输入条件下效率大于96%。
2.boost电路拓扑和各参数值
电感参数计算:选定输入电压为75V来计算各参数,此时稳态占
空比为0.25,输出电压为100V,开关频率为100KHz。
为保持输出电流连续,设电容电流增量为Ioc,应有Ioc
2
)1(2DDLTUIooc
2
)1(202LDDTUo
代入可求得电感值为HL52.375.025.02021001025。在仿真中,
为了保证电感电流续流,我们取HL20。
电容参数计算:电容的选择主要是考虑纹波小于1%,即1V,根据
boost电路的纹波计算公式:
RCDTU
o
o
U
2
可以推出
HRUDTUCoo50105.01025.01005
在仿真中,为了确保输出电压纹波小于设定值,C取H500。
3.PID控制器的boost电路仿真
用PID控制器控制的闭环boost电路的原理图如图3.1所示
图3.1 PID控制的闭环boost电路原理图
经过小信号建模可得开环传递函数为
2'2
2'
'
)/()1()(DsRLLCsRDsLUDsGovd
代入数据可得
3
11056.31078.1s1074.434.13375.0)10/1020(105001020)1075.010201(10075.0)(62842626626ss
ss
s
sG
vd
在matlab中输入下面的程序作出bode图3.2
num=[-4.74e-4 133.34];
den=[1.78e-8 3.56e-6 1];
margin(num,den);
图3.2 开环系统bode图
由图可知,系统的幅值裕度为dBGMo5.42,相位裕度为
4.170,剪切频率为srad/109.84c0
。
4
下面进行超前PD校正,使前向通道传递函数满足45。
超前PD校正装置传递函数是
TsaTsksGc1
1
)(
1
超前PD校正装置增加的相角为
700
m
则有
3.32sin1sin1mma
设定超前PD校正后的剪切频率为1/5的开关频率,即剪切频率为
20kHz,再由公式
f2
得
sradc/1026.15'
。
令超前PD校正装置'cm,校正装置的转折频率为
sradam/10217.23.321026.1451
sradam/10161.73.321026.1552
可以求出
54110511.410217.211
aT
5
65210396.110161.711
T
得到校正不含增益的校正装置
ssTsaTssGc65'110396.1110511.4111)(
现在算增益K值,用上式校正装置对系统进行校正,程序如下:
num=conv([4.511e-5 1],[-4.74e-4 133.34]);
den=conv([1.396e-6 1],[1.78e-8 3.56e-6 1]);
margin(num,den);
运行程序得到bode图如图3.3所示:
图3.3 用不含增益的超前PD校正装置校正的系统bode图
6
加上校正装置的系统k值后,系统的穿越频率应为设定的频率
sradc/1026.15'
,在图3.3中找出在频率51026.1处的幅值,由于在
图中1.26不好选定,就选出一个大致的1.17来参考,可以看出在'c不
加k校正后系统的幅值大概为dBLc4.9)(',加上k后应该有
0lg20)('kL
c
可以算出k为0.339。
所以超前PD校正装置为
110396.1339.010529.1)()(65'11s
s
skGsG
cc
在matlab中运行下面程序看经过超前校正后的bode图3.4:
num=conv([1.529e-5 0.339],[-4.74e-4 133.34]);
den=conv([1.396e-6 1],[1.78e-8 3.56e-6 1]);
margin(num,den);
7
图3.4 超前校正后系统的bode图
可以看出进行超前校正后
幅值裕度:dBGM51.7
相角裕度:46
剪切频率:sradc/1026.151
经验证,超前PD校正为有差校正,稳态后并非达到100V,为了
减小系统的静差,增加PI校正环节。
PI环节的传递函数为
s
ssGc
)(
2
由于PD校正已经将系统校正为稳态系统,故PI校正不应影响到
系统中的中高频特性,因此PI校正主要对系统低频起作用,根据经
8
验可知11.0c,这里取srad/1000。得到PI环节为
s
ssGc1000)(2
最后根据实际仿真波形对PD,PI各环节参数进行微调,最后确定
110396.12.0104)(651s
s
sG
c
s
ssGc1000)(2
4.系统仿真
Matlab系统仿真图如图4.1所示
图4.1 matlab系统仿真图
9
在50V输入条件下,对系统进行仿真,得到仿真图4.2
图4.2(a)50V输入电压下系统的输出
10
图4.2(b) 50V输入电压下输出的纹波
在75V输入条件下,对系统进行仿真,得到仿真图4.3
11
图4.3(a) 75V输入电压下系统的输出
图4.3(b) 75V输入电压下输出的纹波
12
在98V输入条件下,对系统进行仿真,得到仿真图4.4。
图4.4(a) 98V输入电压下系统的输出
图4.4(b) 98V输入电压下输出的纹波
上面这几个图能看出,输入电压变化时,波形很稳定,三个波形
都差不多,超调大概在10%左右,稍微有点大,纹波比较小,在0.1V
13
以内。
5.fuzzy控制器的boost电路仿真
用fuzzy控制器控制的boost闭环电路图如图5.1所示。
图5.1 fuzzy控制器控制的闭环boost电路原理图
本系统的模糊控制器采用二输入-一输出,变量的模糊集论域都选择
为[-1,1],采用常用的三角形隶属度函数。
在matlab中建立fuzzy文件,两输入分别为误差E和误差变化量EC。
14
图5.2 matlab建立fuzzy文件
对于输入和输出量都分别用NB,NM,NS,Z,PS,PM,PB七个变量来描述,
各个变量的隶属度函数如图5.3所示。
图5.3(a) 输入变量E的隶属度函数
15
图5.3(b) 输入变量EC的隶属度函数
图5.3(c) 输出变量的隶属度函数
接着根据专家经验和系统的偏差类型确定规则库,规则库设计如表1
所示
表1 fuzzy控制器的规则库
NB NM NS Z PS PM PB
E
E
16
NB NB NB NB NM NM NS Z
NM NB NB NB NM NS Z PS
NS NB NM NM NS Z PS PM
ZE NB NS NS Z PS PM PB
PS NM NS Z PS PM PB PB
PM NS Z PS PM PB PB PB
PB Z PS PM PM PB PB PB
将隶属度函数与规则库输出fuzzy文件,得到控制器。在调试中,
需要调节的是误差E和误差EC的增益,以使fuzzy控制器的输入量
落在设定的域中,加限幅是为了防止输入量突然增大对输出的影响。
在纯fuzzy控制器作用下,主电路在输入电压偏大或偏小时输出会出
现静差,为了使输出电压稳在设定的100V,在主电路的输出与输入
之间加上一个积分环节。
令boost电路的输入电压分别为50V,75V,98V,输出波形如下图所示。