一级倒立摆课程设计--倒立摆PID控制及其Matlab仿真.doc
- 文档编号:18836465
- 上传时间:2024-01-03
- 格式:DOC
- 页数:15
- 大小:607.54KB
一级倒立摆课程设计--倒立摆PID控制及其Matlab仿真.doc
《一级倒立摆课程设计--倒立摆PID控制及其Matlab仿真.doc》由会员分享,可在线阅读,更多相关《一级倒立摆课程设计--倒立摆PID控制及其Matlab仿真.doc(15页珍藏版)》请在冰点文库上搜索。
一级倒立摆课程设计--倒立摆PID控制及其Matlab仿真
倒立摆PID控制及其Matlab仿真
倒立摆PID控制及其Matlab仿真
学生姓名:
学院:
电气信息工程学院
专业班级:
专业课程:
控制系统的MATLAB仿真与设计
任课教师:
2014年6月5日
倒立摆PID控制及其Matlab仿真
InvertedPendulumPIDControlandItsMatlabSimulation
摘要
倒立摆系统是一个典型的快速、多变量、非线性、不稳定系统,对倒立摆的控制研究无论在理论上和方法上都有深远的意义。
本论文以实验室原有的直线一级倒立摆实验装置为平台,重点研究其PID控制方法,设计出相应的PID控制器,并将控制过程在MATLAB上加以仿真。
本文主要研究内容是:
首先概述自动控制的发展和倒立摆系统研究的现状;介绍倒立摆系统硬件组成,对单级倒立摆模型进行建模,并分析其稳定性;研究倒立摆系统的几种控制策略,分别设计了相应的控制器,以MATLAB为基础,做了大量的仿真研究,比较了各种控制方法的效果;借助固高科技MATLAB实时控制软件实验平台;利用设计的控制方法对单级倒立摆系统进行实时控制,通过在线调整参数和突加干扰等,研究其实时性和抗千扰等性能;对本论文进行总结,对下一步研究作一些展望。
关键词:
倒立摆;PID控制器;MATLAB仿真
设计报告正文
1.简述一级倒立摆系统的工作原理;
倒立摆是一个数字式的闭环控制系统,其工作原理为:
角度、位移信号检测电路获取后,由微分电路获取相应的微分信号。
这些信号经A/D转换器送入计算机,经过计算及内部的控制算法解算后得到相应的控制信号,该信号经过D/A变换、再经功率放大由执行电机带动皮带卷拖动小车在轨道上做往复运动,从而实现小车位移和倒立摆角位移的控制。
2.依据相关物理定理,列写倒立摆系统的运动方程;
小车质量为,倒立摆的质量为,摆长为,小车的位置为,摆的角度为,作用在小车水平方向上的力为,为摆杆的质心。
摆杆绕其重心的转动方程
摆杆重心的水平运动方程
摆杆重心的垂直运动方程
小车水平方向运动方程
一级倒立摆系统的动力学模型
对系统进行线性化
系统的简化模型
3.根据倒立摆的运动方程搭建被控对象在Simulink环境下的仿真模型;
一级摆立摆系统Simulink仿真结构图
Subsystem仿真结构图
Fcn和Fcn1的函数表达式为:
Fcn:
Fcn1:
则系统的Simulink仿真程序如下:
clearall
loadxy.matt=signals(1,:
);f=signals(2,:
);x=signals(3,:
);q=signals(4,:
);xx=signals(5,:
);qq=signals(6,:
);
figure
(1)
hf=stairs(t,f(:
));gridon
axis([0100.12]);xlabel('时间(s)');ylabel('控制力(N)');
axet=axes('Position',get(gca,'Position'),'XAxisLocation','bottom',...
'YAxisLocation','right','color','None','XColor','k','YColor','k');
ht=line(t,x,'color','r','parent',axet);ht=line(t,xx,'color','b','parent',axet);
axis([0100.1]);ylabel('x位置的变化(m)')
title('f(t)=0.1N和x''的脉冲响应曲线')
gtext('\leftarrowf(t)'),gtext('x(t)\rightarrow'),gtext('\leftarrowx''(t)')
figure
(2)
hf=stairs(t,f(:
));gridon;
axis([0100.12]);xlabel('时间(s)');ylabel('控制力(N)')
axet=axes('Position',get(gca,'Position'),'XAxisLocation','bottom',...
'YAxisLocation','right','color','None','XColor','k','YColor','k');
ht=line(t,q,'color','r','parent',axet);ht=line(t,qq,'color','b','parent',axet);
axis([01-0.30]);ylabel('角度变化(弧度)')
title('f(t)=0.1N时\theta(t)ºÍ\theta''(t)的脉冲响应曲线')
gtext('\leftarrowf(t)'),gtext('\theta(t)\rightarrow'),gtext('\leftarrow\theta''(t)')
仿真结果如下图所示,从中可以看出,在0.1N的冲击力作用下,摆杆倒下(由0逐渐增大),小车位移逐渐增加,因此在一定程度上可以认为“一阶倒立摆系统”的数学模型是有效的。
f(t)=0.1N时x和’的脉冲响应曲线
f(t)=0.1N时和’的脉冲响应曲线
4.结合单位反馈控制系统的控制原理,为被控对象设计PID控制器。
(1)双闭环PID控制器设计
一级倒立摆系统位置伺服控制系统方框图
(2)内环控制器的设计
内环采用反馈校正进行控制
反馈校正采用PD控制器,设其传递函数为,为了抑制干扰,在前向通道上加上一个比例环节。
1)控制器参数的整定
设的增益,则内环控制系统的闭环传递函数为:
令
内环控制器的传递函数为:
内环控制系统的闭环传递函数为:
2)外环控制器的设计
外环系统前向通道的传递函数为:
外环系统结构图
对外环模型进行降阶处理,若忽略的高次项,则近似为一阶传递函数为:
对模型进行近似处理,则的传递函数为:
外环控制器采用PD形式,其传递函数为:
采用单位反馈构成外环反馈通道,即,则系统的开环传递函数为
采用基于Bode图法的希望特性设计方法,得,取,则外环控制器的传递函数为:
一级倒立摆双闭环控制系统的方框图
(3)系统仿真
对一级倒立摆双闭环控制系统进行仿真。
一级倒立摆双闭环控制系统Simulink仿真结构图
运行如下MATLAB程序,得到如下图所示仿真曲线
clearall
loadPID.mat
t=signals(1,:
);q=signals(2,:
);x=signals(3,:
);
figure
(1)
ht=line(t,q(:
));
gridon;
xlabel('时间(s)');
ylabel('摆角变化(rad)');
axis([0,10,-0.3,1.2]);
axet=axes('Position',get(gca,'Position'),'XAxisLocation','bottom',...
'YAxisLocation','right','color','None','XColor','k','YColor','k');
ht=line(t,x,'color','r','parent',axet);
ylabel('x位置变化(m)');
axis([0,10,-0.3,1.2]);
title('\Theta(t)和x(t)的阶跃响应曲线')
gtext('\leftarrowx(t)'),gtext('\Theta(t)\uparrow');
5.分析综述比例P、积分I、微分D三个调节参数对系统控制性能的影响。
PID控制方式由比例,积分,微分三种作用组成在一起体现出来的。
P的优点:
响应该速度快,调节动作迅速。
I的优点:
消除余差。
D的优点:
根据偏差信号的变化,趋势提前动作。
先把微分作用取消掉,只保留PI,先调比例,再调积分,最后加上微分再调。
如果振荡过快,加大P。
如果振荡后过很久才稳定,减小P,减少积分时间。
如果振荡的周期太长,加大积分时间。
如果对调节对象变化反应过慢,增大D。
所以采用PID控制方式能很有效的实现倒立摆控制,减少超调量,有效控制小车的运动和摆棍的摆动,实现倒立摆的控制
图5-1不同比例的响应曲线图
图5-2不同微分下的仿真图
13
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一级 倒立 课程设计 PID 控制 及其 Matlab 仿真