基于双闭环PID控制的一阶倒立摆控制系统设计.docx
- 文档编号:1331822
- 上传时间:2022-10-20
- 格式:DOCX
- 页数:21
- 大小:948.17KB
基于双闭环PID控制的一阶倒立摆控制系统设计.docx
《基于双闭环PID控制的一阶倒立摆控制系统设计.docx》由会员分享,可在线阅读,更多相关《基于双闭环PID控制的一阶倒立摆控制系统设计.docx(21页珍藏版)》请在冰豆网上搜索。
基于双闭环PID控制的一阶倒立摆控制系统设计
福州大学至诚学院
本科生课程设计
题目:
基于双闭环PID控制的一阶倒立摆控制系统设计
姓名:
学号:
系别:
电气工程系
专业:
电气工程与自动化
年级:
07级
指导教师:
2010年4月28日
1、系统模型的建立…………………………………………………3.
2、模型验证……………………………………………….……….4.
3、设计的内外环的PID控制器………………………………………10.
4、SIMULIN仿真…………………………………………………...13.
5、检测系统的鲁棒性………………………………………………16.
6、遇到问题…………………………………………………………19.
7、心得体会…………………………………………………………..20.
8、结论…………………………………...…………………………21.
9、参考文献…………………………………………………………..22.
一.系统模型的建立
如图01所示的“一阶倒立摆控制系统”中,设计一个能通过检测小车的位置与摆杆的摆动角,来适当控制电动机驱动力的大小的控制系统。
图01
1)对模型的理论分析建立一阶倒立摆的精确模型(实际模型)如下所示:
2).点进行线性化后得到(近似模型):
若只考虑摆角在工作点等零附近的细微变化,这是可以将模型线性化,得到近似模型,将J=m(l^2)/3,M=1kg代入即可得到要求的关于参数m、l的模型,让后再进行线性化表达式在模型验证中。
二.模型验证
1)子系统的建立
实际模型
图1
Fcn:
(((4*m*(l^2))/3)*u[1]+l*m*((4*m*(l^2))/3)*sin(u[3])*(u[2]^2)-10*(m^2)*(l^2)*sin(u[3])*cos(u[3]))/(((4*m*(l^2))/3)*(1+m)-(m^2)*(l^2)*power(cos(u[3]),2))
Fcn1:
(m*l*cos(u[3])*u[1]+(m^2)*(l^2)*sin(u[3])*cos(u[3])*(u[2]^2)-10*(1+m)*m*l*sin(u[3]))/((m^2)*(l^2)*power(cos(u[3]),2)-(1+m)*(4*m*(l^2))/3)
线性模型
图2
Fcn2:
(30*(1+m*u[2]-3*u[1])/(l*(4+m)
Fcn3:
(5*u[1]-30*m*u[2])/(4+m)
做完以上之后点击鼠标左键不放对图形进行选定,接着右击creatsubsystem如下图所示:
图3
2)模型的封装:
倒立摆的振子质量m和倒摆长度L作为子系统的参数:
图4
双击函数模块:
图5
欲改变其中的任一个参数只要点击其中二者之一的函数方块就行,在其中的m,l改就行了。
有两种实现的方法:
一种是利用示波器观察如下图所示,另一种是采用绘图程序实现。
1)示波器实现如图6:
图6
示波器显示结果如图7所示
图7
2)用程序实现:
%Inertedpendulum
%Modeltestinopenloop
%Signalsrecuperation
%将导入到xy.mat中的仿真试验数据读出
loadxy.mat
t=signals(1,:
);%读取时间信号
f=signals(2,:
);%读取作用力F信号
x=signals(3,:
);%读取精确模型中的小车位置信号
q=signals(4,:
);%读取精确模型中的倒摆摆角信号
xx=signals(5,:
);%读取简化模型中的小车位置信号
qq=signals(6,:
);%读取简化模型中的倒立摆摆角信号
%Drawingcontrolandx(t)responsesignals
%画出在控制力的作用下的系统响应曲线
%定义曲线的纵坐标、标题、坐标范围和曲线的颜色等特征
figure
(1)%定义第一个图形
hf=line(t,f(:
));%连接时间-作用力曲线
gridon;
xlabel('Time(s)')%定义横坐标
ylabel('Force(N)')%定义纵坐标
axis([0100.12])%定义坐标范围
axet=axes('Position',get(gca,'Position'),...
'XAxisLocation','bottom',...
'YAxisLocation','right','Color','None',...
'XColor','k','YClor','k');%定义曲线属性
ht=line(t,x,'color','r','parent',axet);%连接时间-小车位置曲线
ht=line(t,xx,'color','r','parent',axet);%连接时间-小车速度曲线
ylabel('Evolutionofthexposition(m)')%定义坐标名称
axis([0100.1])%定义坐标范围
title('Responsexandx''inmetertoaf(t)pulseof0.1N')%定义曲线标题名称
gtext('\leftarrowf(t)'),gext('x(t)\rightarrow'),gtext('\leftarrowx''(t)')
%drawingcontrolandtheta(t)responsesingals
figure
(2)
hf=line(t,f(:
));
gridon
xlabel('Time')
ylabel('ForceinN')
axet=axes('Position',get(gca,'Position'),...
'XAxisLocation','bottom',...
'YAxisLocation','right','Color','None',...
'XColor','k','YClor','k');
ht=line(t,q,'color','r','parent',axet);
ht=line(t,qq,'color','r','parent',axet);
ylabel('Angleevolution(rad)')
axis([01-0.30])
title('Response\theta(t)and\theta''(t)inradtoaf(t)pulseof0.1N')
gtext('\leftarrowf(t)'),gext('\theta(t)\rightarrow'),gtext('\leftarrow\theta''(t)')
在·m文件里写入如上程序,在运行该程序之前,先运行系统。
之后再运行此程序得出波形图如图所示。
观察结果如图8所示:
图8
三、设计的内外环的PID控制器
一阶倒立摆系统为“自不稳定的非最小相位系统”。
将系统小车位置作为“外环”,将摆杆摆角作为“内环”,设计的内外环的PID控制器。
其模型图如图9所示:
图9
3.1内环控制器设计
对系统内环采用反馈校正进行控制,其方框图如图6所示。
图6内环反馈校正方框图
反馈校正采用PD控制器,设其传递函数为,为了抑制干扰,在前向通道上加上一个比例环节。
设的增益,则内环控制系统的闭环传递函数为:
令
则内环控制器的传递函数为
内环控制系统的闭环传递函数为:
3.2外环控制器设计
图7外环系统结构图
由图7可知外环系统前向通道的传递函数为:
可见,系统开环传递函数为一个高阶且带不稳定零点的“非最小相位系统”。
因此,首先对系统外环模型进行降阶处理,若忽略W2(s)的高次项,则可近似为一阶传递函数为:
其次,对模型1G(s)进行近似处理,则1G(s)的传递函数为:
外环控制器也采用PD形式,其传递函数为
为了使系统有较好的跟随性,采用单位反馈构成外环反馈通道,即1D’'(s)=1,则系统的开环传递函数为
采用第十章基于Bode图法的希望特性设计方法,得K3=0.12,τ=0.877,取τ=1,则外环控制器的传递函数为:
一级倒立摆双闭环控制系统的方框图如图8所示。
图8一级倒立摆双闭环控制系统的方框图
四、在单位阶跃输入下,进行的SIMULINK仿真如下以及用示波
器观察的结果:
1)用示波器现实结果如图10所示:
图10
2)程序结果:
loadPID.mat
t=signals(1,:
);
q=signals(2,:
);
x=signals(3,:
);
%drawingx(t)andtheta(t)responsesignals
%画小车位置和摆杆角度的响应曲线
figure
(1)
hf=line(t,q));
gridon;
xlabel('Time(s)')
ylabel('Angleevolution(rad)')
axis([010-0.31.2])
axet=axes('Position',get(gca,'Position'),...
'XAxisLocation','bottom',...
'YAxisLocation','right','Color','None',...
'XColor','k','YClor','k');
ht=line(t,x,'color','r','parent',axet);
ylabel('Evolutionofthexpotion(m)')
axis([01-0.31.2])
title('\theta(t)and\x(t)Responsetoastepinput')
gtext('\leftarrowx(t)'),gext('\theta(t)\uppwrrow')
同上可知,得出的波形图如图11所示:
图11
3)编程求解系统性能指标:
最大超调量(max_overshoot)、
调节时间(settling_time)、上升时间(rise_time)。
LoadPID2049.mat
t=ans(1,:
);
y=ans(2:
3,:
);
figure
(1)
hf=line(t,q(:
));
gridon
axis([010-0.31.2])
ht=line(t,y,'color','r');
C=1;
C=dcgain(y);
max_overshoot=100*(max_y-C)/C%超调量计算
s=length(t);%调整时间计算
whiley(s)>0.98*C&&y(s)<1.02*C
s=s-1;
end
settling_time=t(s)
r1=1;%上升时间计算,以从稳态值的10%上升到90%定义
while(y(r1)<0.1*C)
r1=r1+1;
end
r2=1;
while(y(r2)<0.9*C)
r2=r2+1;
end
rise_time=t(r2)-t(r1)
step(sys)
运行完原理图之后,打开程序PID2049.m文件运行。
之后会出现波形,把波形图复制在word里,而在MATLAB中会出现
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 闭环 PID 控制 一阶 倒立 控制系统 设计