课程设计matlab仿真,一级倒立摆课程设计--倒立摆pid控制及其matlab仿真

a7f4a3f590493a1e451dd952a488fd7c.gif 一级倒立摆课程设计--倒立摆pid控制及其matlab仿真

(12页)

085ed673-a493-476f-969e-261b278e2d9e1.gif

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

19.90 积分

倒立摆倒立摆 PIDPID 控制及其控制及其 MatlabMatlab 仿真仿真 学生姓名:: 学 院:: 电气信息工程学院电气信息工程学院 专业班级:: 专业课程:: 控制系统的控制系统的 MATLABMATLAB 仿真与设计仿真与设计 任课教师:: 2014 年 6 月 5 日 倒立摆 PID 控制及其 Matlab 仿真 1 倒立摆 PID 控制及其 Matlab 仿真 Inverted PenduInverted Pendulum PID Controllum PID Control and Itsand Its MatlabMatlab S Simulationimulation 摘 要 倒立摆系统是一个典型的快速、多变量、非线性、不稳定系统,对倒立摆的控制研究无论在理论上和方法上都有深远的意义。 本论文以实验室原有的直线一级倒立摆实验装置为平台,重点研究其 PID控制方法,设计出相应的 PID 控制器,并将控制过程在 MATLAB 上加以仿真。 本文主要研究内容是:首先概述自动控制的发展和倒立摆系统研究的现状;介绍倒立摆系统硬件组成,对单级倒立摆模型进行建模,并分析其稳定性;研究倒立摆系统的几种控制策略,分别设计了相应的控制器,以 MATLAB 为基础,做了大量的仿真研究,比较了各种控制方法的效果;借助固高科技 MATLAB 实时控制软件实验平台;利用设计的控制方法对单级倒立摆系统进行实时控制,通过在线调整参数和突加干扰等,研究其实时性和抗千扰等性能;对本论文进行总结,对下一步研究作一些展望。 关键词:倒立摆;PID 控制器;MATLAB 仿真 设计报告正文设计报告正文 倒立摆 PID 控制及其 Matlab 仿真 2 1. 简述一级倒立摆系统的工作原理; 倒立摆是一个数字式的闭环控制系统,其工作原理为:角度、位移信号检测电路获取后,由微分电路获取相应的微分信号。这些信号经 A/D 转换器送入计算机,经过计算及内部的控制算法解算后得到相应的控制信号,该信号经过 D/A变换、 再经功率放大由执行电机带动皮带卷拖动小车在轨道上做往复运动,从而实现小车位移和倒立摆角位移的控制。 2. 依据相关物理定理,列写倒立摆系统的运动方程; 小车质量为M,倒立摆的质量为m,摆长为2l,小车的位置为x,摆的角度为?,作用在小车水平方向上的力为F,1O为摆杆的质心。 F F2l2l O1倒立摆 PID 控制及其 Matlab 仿真 3 摆杆绕其重心的转动方程 ???cossinlFlFJxy??? ?摆杆重心的水平运动方程 )sin(22 ?lxdtdmFx??摆杆重心的垂直运动方程 )cos(22 ?ldtdmmgFy??小车水平方向运动方程 22dtxdMFFx??一级倒立摆系统的动力学模型 ?????????????????????????))((cossinlg)(cossincoscos))((cossinsin)()(2222222222222222mMlmJlmmmMlmFmllmmMmlJglmmlJlmFmlJx????????????f=signals(2,:);x=signals(3,:);q=signals(4,:);xx=signals(5,:);qq=signals(6,:); figure(1) hf=stairs(t,f(:));grid on axis([0 1 0 0.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([0 1 0 0.1]);ylabel('x位置的变化(m)') title('f(t)=0.1N和x''的脉冲响应曲线') 倒立摆 PID 控制及其 Matlab 仿真 5 gtext('\leftarrow f(t)'),gtext('x(t)\rightarrow'),gtext('\leftarrow x''(t)') figure(2) hf=stairs(t,f(:));grid on; axis([0 1 0 0.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([0 1 -0.3 0]) ;ylabel('角度变化(弧度)') title(' f(t)=0.1N时\theta(t)ºÍ\theta''(t)的脉冲响应曲线') gtext('\leftarrow f(t)'),gtext('\theta(t)\rightarrow'),gtext('\leftarrow \theta''(t)') 仿真结果如下图所示,从中可以看出,在 0.1N 的冲击力作用下,摆杆倒下(?由 0 逐渐增大) ,小车位移逐渐增加,因此在一定程度上可以认为“一阶倒立摆系统”的数学模型是有效的。 f(t)=0.1N 时 x 和x’的脉冲响应曲线 倒立摆 PID 控制及其 Matlab 仿真 6 f(t)=0.1N 时?和?’的脉冲响应曲线 4. 结合单位反馈控制系统的控制原理,为被控对象设计 PID 控制器。 (1)双闭环 PID 控制器设计 一级倒立摆系统位置伺服控制系统方框图 1( )D s2( )D s1.61( )G s220.410s s??22 40s? ?( )X s( ) s?2( )G s2'( )D s1'( )D s( )F s( )rXs--一级倒立摆内环外环倒立摆 PID 控制及其 Matlab 仿真 7 (2)内环控制器的设计 内环采用反馈校正进行控制 反馈校正采用 PD 控制器,设其传递函数为2' 12( )D sK sK??,为了抑制干扰,在前向通道上加上一个比例环节2( )D sK?。 1) 控制器参数的整定 设2( )D s的增益20K ??,则内环控制系统的闭环传递函数为: 40646464 )()(1)()(212' 222 2??????KsKssDsGKKsGKKsWSS令7 . 0?? ??????????647 . 026464406412KK???????625. 1175. 021KK内环控制器的传递函数为: 625. 1175. 0)(' 2??ssD 内环控制系统的闭环传递函数为: 1.6( ) s?2( )G s2'( )D s--K( )rs?( )D s+倒立摆 PID 控制及其 Matlab 仿真 8 642 .1164)(22???sssW2) 外环控制器的设计 外环系统前向通道的传递函数为: )642 .11()104 . 0(64)()(22212?????sssssGsW外环系统结构图 对外环模型进行降阶处理,若忽略2( )W s的高次项,则近似为一阶传递函数为: 642 .1164)(2??ssW 对模型1( )G s进行近似处理,则1( )G s的传递函数为: 2110)(ssG?外环控制器采用 PD 形式,其传递函数为: ) 1()(31??sKsD? 采用单位反馈构成外环反馈通道,即1'( )1D s ?,则系统的开环传递函数为 1( )D s ( )rXs-3(1)Ks??2( )W s1( )G sK=11'( )D s( )X s( ) s?倒立摆 PID 控制及其 Matlab 仿真 9 ) 1()57(57)()()()(32112????sKsssDsGsWsW? 采用基于 Bode 图法的希望特性设计方法,得30.12,0.877K???,取1??,则外环控制器的传递函数为: ) 1(12. 0)(1??ssD 一级倒立摆双闭环控制系统的方框图 (3)系统仿真 对一级倒立摆双闭环控制系统进行仿真。 一级倒立摆双闭环控制系统 Simulink 仿真结构图 运行如下 MATLAB 程序,得到如下图所示仿真曲线 clear all load PID.mat t=signals(1,:);q=signals(2,:);x=signals(3,:); figure(1) 0.12(1)s?1.6( )W s( )X s ( ) s?( )F s( )rXs--一级倒立摆-200.1751.625s?X调节器θ调节器倒立摆 PID 控制及其 Matlab 仿真 10 ht=line(t,q(:)); grid on; 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('\leftarrow x(t)'),gtext('\Theta(t)\uparrow'); 5. 分析综述比例 P、积分 I、微分 D 三个调节参数对系统控制性能的影响。 PID控制方式由比例,积分,微分三种作用组成在一起体现出来的。P的优点:响应该速度快,调节动作迅速。I的优点:消除余差。D的优点:根据偏差信号的变化,趋势提前动作。先把微分作用取消掉,只保留PI,先调比例,再调积分,最后加倒立摆 PID 控制及其 Matlab 仿真 11 上微分再调。如果振荡过快,加大P。如果振荡后过很久才稳定,减小P,减少积分时间。 如果振荡的周期太长,加大积分时间。如果对调节对象变化反应过慢,增大D。所以采用PID控制方式能很有效的实现倒立摆控制,减少超调量,有效控制小车的运动和摆棍的摆动,实现倒立摆的控制 图 5-1不同比例的响应曲线图 图 5-2 不同微分下的仿真图 关 键 词: 一级 倒立 课程设计 pid 控制 及其 matlab 仿真

4d91c43bfc72ca913299809b07b4968f.gif  天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

关于本文

本文标题:一级倒立摆课程设计--倒立摆pid控制及其matlab仿真

链接地址: https://www.wenku365.com/p-9446517.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
倒立摆是一种重要的控制理论研究对象,具有广泛的应用前景。在这里,我将为你介绍一级倒立摆PID控制及其Matlab仿真。 一、倒立摆的控制方法 倒立摆是一种非线性控制系统,其状态变量包括倒立摆的角度和角速度。在控制倒立摆时,通常采用PID控制器。 PID控制器是一种经典的控制器,其基本原理是根据误差信号的大小和变化率,调节控制量来控制系统的输出。PID控制器由比例、积分和微分三个部分组成,可以表示为: $$u(t)=K_pe(t)+K_i\int_0^te(\tau)d\tau+K_d\frac{de(t)}{dt}$$ 其中,$u(t)$是控制量,$e(t)$是误差信号,$K_p$、$K_i$和$K_d$是比例、积分和微分增益系数。 二、倒立摆Matlab仿真步骤 1.建立模型 首先,我们需要建立一级倒立摆的模型。在Matlab中,我们可以使用Simulink建立模型。模型中包含两个部分:倒立摆系统PID控制器。 2.设置参数 我们需要设置倒立摆系统PID控制器的参数,包括质量、长度、重力加速度、PID增益系数等。 3.仿真分析 设置好参数后,我们可以进行仿真分析。通过仿真,可以观察倒立摆系统的响应和PID控制器的调节过程,进一步优化参数。 4.优化控制器参数 在实际应用中,PID控制器的增益系数需要根据具体系统进行调节。通过仿真分析,可以得到最优的PID控制器参数,以实现更好的控制效果。 三、倒立摆Matlab仿真程序 下面是一级倒立摆Matlab仿真程序,供参考。 ```matlab % 倒立摆PID控制及其Matlab仿真 % 作者:AI智能体验馆 % 建立模型 mdl = 'inverted_pendulum'; open_system(mdl); % 设置参数 m = 0.5; % 摆杆质量,单位:kg l = 0.5; % 摆杆长度,单位:m g = 9.8; % 重力加速度,单位:m/s^2 Kp = 100; % 比例增益系数 Ki = 50; % 积分增益系数 Kd = 10; % 微分增益系数 % 仿真分析 sim(mdl); % 优化控制器参数 K = pidtune(mdl,'pid',1); % 重新进行仿真分析 sim(mdl); ``` 以上是一级倒立摆PID控制及其Matlab仿真的介绍,希望对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值