《基于双闭环PID控制的一阶倒立摆控制系统的设计.doc》由会员分享,可在线阅读全文,更多相关《基于双闭环PID控制的一阶倒立摆控制系统的设计(最终版)》请在www.woc88.com上搜索。
1、tlab是一个基于矩阵运算的软件,这恐怕是众所周知的事情了,但是,真正在运用的时候(就是在编程的时候),许多人(特别是初学者)往往没有注意到这个问题,因此,for循环(包括while循环)满天飞这不仅是暴殄天物(没有发挥matlab所长),还浪费了你宝贵的时间。八、结论()从理论上证明了所设计的“一阶倒立摆”双闭环控制的方案是可行的。()“一阶倒立摆”的控制问题是一个非常典型且具有明确物理意义的运动控制系统问题,对其深入的分析与应用研究,有助于我们分析问题与解决问题的能力。()不难得到所设计PID控制器可以是系统有较好的稳定性,抗干扰能力较强。我认为该控制器下的校正系统达到比较合适的动态和稳定性能,能够保证系统正常工作,取得较好的控制性能。通过该系统的设计,也说明了PID控制系统设计的一般步骤,提供了一套利用matlab进行控制器设计的有效方法,对PID控制系统设计具有借鉴意义。九、参考文献MATLAB精要、编程及高级应用程卫国机械工业出版社MATL数为'()DsKsK,为了抑制干扰,在前向通道上加上一个比例环节()DsK。设()Ds的增。
2、x(t)Resonsetoasteinut')gtext('\leftarrowx(t)'),gext('\theta(t)\uwrrow')同上可知,得出的波形图如图所示:图)编程求解系统性能指标:最大超调量(max_overshoot)、调节时间(settling_time)、上升时间(rise_time)。LoadPIDmatt=ans(,:);y=ans(:,:);figure()hf=line(t,q(:));gridonaxis([])ht=line(t,y,'color','r');C=;C=dcgain(y);max_overshoot=*(max_yC)C%超调量计算s=length(t);%调整时间计算whiley(s)gt*Camamy(s)lt*Cs=s;endsettling_time=t(s)r=;%上升时间计算,以从稳态值的%上升到%定义while(y(r)lt*C)r=r+;endr=;while(y(r)lt*C)r=r+;endrise_time=t(r)t(r)ste(sys)运行完原理图之后,打开程序PI。提出了要求整个过程下来,还是懵懵懂懂的,我想这些都需要的是时间,最终在终值的问题上为难了我,不过还是同学帮我解决了。七、心得体会在设计的过程中,遇到了很多问题,在经过一次次测试、认真思考和讨论的过程中得到了解答。总之一周的课设,让我觉得很累,但从中收获了很多,最终的成功让我觉得累也是值得的。在此,感谢同学们的帮助以及老师在此次实验中的指导。到大三下学期了,AB语言与程序设计高俊斌华中理工大学出版社控制系统数字仿真与cad张晓华哈尔滨工业大学已经做过很多课程设计,而且也都是跟软件有关系的,发现像工科的课程每一门都有一款软件与之关系。我们在平时的学习当中只是存在在教室里面,看着老师PPT上面的每个窗口,而没有亲身体验,我觉得是得不到知识,得不到动手自己实现输出结果的东西的。每天坐在教室里只会让我们纸上谈兵而已,以上我犯的错误我认为都是没有平时亲身体验的结果,导致了做课设的时候按照课本按部就班的操作着,而后才知道是错误的,有的也是多此一举的。matlab跟其他语言不一样(我用的比较多的编程语言,除了matlab就应该是c或c++了,VB和Delhi也接触过,我想版面(matlab版)大部分人也差不多),如果你抱着“把其他语言的思想运用在matlab里面”的话,那么我想,即使程序运行不出错,也很难把握matlab的精髓,也就很难发挥matlab的作用了。所以,如果你是希望matlab作为VC的附属品,即你不想在matlab上面花太多功夫,只纯粹想用matlab来完成VC做不了或很难做成的任务的话,那么,这篇文章你也不需要再阅读下去了;如果你是希望掌握一门语言、一个工具,使它更有效为你服务的话,那么,希望本文对你有所帮助。M。
3、('Angleevolution(rad)')axis([])title('Resonse\theta(t)and\theta''(t)inradtoaf(t)ulse