让PID控制器设计更简单MATLAB Simulink应用案例_第1页
让PID控制器设计更简单MATLAB Simulink应用案例_第2页
让PID控制器设计更简单MATLAB Simulink应用案例_第3页
让PID控制器设计更简单MATLAB Simulink应用案例_第4页
让PID控制器设计更简单MATLAB Simulink应用案例_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、让PID控制器设计更简单-MATLAB/Simulink应用案例      整定一个PID控制器看上去非常的简单,仅仅需要寻找三个变量:比例、积分和微分增益。但是实际上,要系统性、安全地寻找到这样一组参数,使得控制系统能具有最好的特性是一项复杂的任务。一般来讲,PID控制器可以通过手动调试或者利用一些准则进行设计。手动调试方法需要不断地迭代尝试,耗费大量的时间,如果用在实际的硬件上,可能会造成损伤;利用准则进行调试也有很多的限制,例如,他们可能会不支持某些系统模型,包括不稳定模型,高阶模型或一些几乎没有延时的系统等。PID控制会面临设计和实现上

2、的挑战,如离散时间域的实现和定点运算。      以一个四连杆系统为例,本文描述了一种简化和提高PID控制器设计和实现的方法。该方法基于R2009b版本下的两个工具:simulink下的PID控制器工具和simulink控制器设计中的PID整定算法。 四连杆系统:控制设计目标      四连杆系统(如图1)广泛的应用于各种应用当中,包括汽车的悬挂系统,机器人作动器和飞机着陆齿轮等。         

3、0;     图1:四连杆系统,蓝色杆为固支点      控制系统包含两个单元:前馈控制和反馈控制。前馈控制利用动态模型的逆,它通过考量结构的非线性行为来处理结构的主要运动。反馈控制可以针对模型的不确定性和外部干扰,控制位置误差在很小的范围之内。本文主要针对反馈PID控制器的设计。      PID控制器(如图2)利用一个连杆的目标角度和实际运动的角度之间的误差,计算所需要的力矩值。该力矩值会加到前馈控制器上,两个信号之和用于驱动直流电机,带动连杆运动。控

4、制器必须要使得模型的运动稳定,同时也要求快速的响应时间和较小的超调。由于控制器会在一个16位的定点处理器上运行,因此它需要离散的结构形式,各增益值和计算得到的信号值也必须相应的做出调整。图2 四连杆系统控制结构 设置闭环控制系统,整定控制器      四连杆结构模型在SimMechanics进行建模,直流电机模型在SimElectronics中进行建模,如图3所示。为了创建一个如图2的控制器结构,我们从Simulink Discrete library中添加了一个离散PID控制模块。在设置好了控制系统结构后,就可以整定控制器了。图3 四连杆机构

5、的SimMechanics模型与直流电机的SimElectronics模型       为了进行控制器整定,我们打开一个PID控制器对话框,设置控制器采样时间,点击“Tune”按钮(如图4),就会打开PID整定GUI界面。在显示GUI界面之前,Simulink Control Design首先会在当前的工作点进行线性化,导出线性时不变模型,满足PID控制器模块的使用要求。计算采样时间的延时会自动的予以考虑。利用一个自动整定方法,Simulink Control Design会生成一组PID控制的初始值。整定方法对于模型的阶次和延时时间

6、没有限制,同时可以在连续或离散时间域上工作。图4 PID整定对话框      图5显示了闭环系统在使用初始PID参数时的轨迹跟踪响应曲线。如果控制器性能满足要求,我们点击“Apply”按钮,在PID控制器模块对话框中更新P、I、D和N的值。然后可以通过仿真非线性模型来测试我们所设计的控制器性能,并查看结果,如图6所示。我们也能使用简单的滑动条交互式的整定我们的设计,使得控制器更快一些或更慢一些。图5  PID参数设计对话框图6 仿真结果 为实现做准备      为了让控制器可

7、以在16位的微处理器上运行,我们将其进行处理以支持定点算法。      在PID控制模块对话框中点击“Data Types”选项卡,我们可以设置要求的定点设计(如图7)。我们在simulink中使用定点工具自动设置,然后利用定点设置运行仿真确保定点设计的结果可以非常接近的匹配双精度的仿真结果。图7 定点设置对话框 生成产品级代码     有了可以实际使用的PID控制器,最后一步是利用Real-Time Workshop Embedded Coder生成C代码(如图8)。为了测试代码,我们可以将生成代码代替PID控制模块,并运行闭环仿真进行测试。我们可以使用Real-Time Workshop Embedded Coder自动生成simulink模块使用生成的C代码。图8 实时代码生成   &

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论