(让PID控制器设计更简单MATLAB Simulink应用案例.docVIP

(让PID控制器设计更简单MATLAB Simulink应用案例.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(让PID控制器设计更简单MATLAB Simulink应用案例

让PID控制器设计更简单--MATLAB/Simulink应用案例 ????? 整定一个PID控制器看上去非常的简单,仅仅需要寻找三个变量:比例、积分和微分增益。但是实际上,要系统性、安全地寻找到这样一组参数,使得控制系统能具有最好的特性是一项复杂的任务。一般来讲,PID控制器可以通过手动调试或者利用一些准则进行设计。手动调试方法需要不断地迭代尝试,耗费大量的时间,如果用在实际的硬件上,可能会造成损伤;利用准则进行调试也有很多的限制,例如,他们可能会不支持某些系统模型,包括不稳定模型,高阶模型或一些几乎没有延时的系统等。PID控制会面临设计和实现上的挑战,如离散时间域的实现和定点运算。 ????? 以一个四连杆系统为例,本文描述了一种简化和提高PID控制器设计和实现的方法。该方法基于R2009b版本下的两个工具:simulink下的PID控制器工具和simulink控制器设计中的PID整定算法。 四连杆系统:控制设计目标 ????? 四连杆系统(如图1)广泛的应用于各种应用当中,包括汽车的悬挂系统,机器人作动器和飞机着陆齿轮等。 ?????????????? 图1:四连杆系统,蓝色杆为固支点 ????? 控制系统包含两个单元:前馈控制和反馈控制。前馈控制利用动态模型的逆,它通过考量结构的非线性行为来处理结构的主要运动。反馈控制可以针对模型的不确定性和外部干扰,控制位置误差在很小的范围之内。本文主要针对反馈PID控制器的设计。 ????? PID控制器(如图2)利用一个连杆的目标角度和实际运动的角度之间的误差,计算所需要的力矩值。该力矩值会加到前馈控制器上,两个信号之和用于驱动直流电机,带动连杆运动。控制器必须要使得模型的运动稳定,同时也要求快速的响应时间和较小的超调。由于控制器会在一个16位的定点处理器上运行,因此它需要离散的结构形式,各增益值和计算得到的信号值也必须相应的做出调整。 图2 四连杆系统控制结构 设置闭环控制系统,整定控制器 ????? 四连杆结构模型在SimMechanics进行建模,直流电机模型在SimElectronics中进行建模,如图3所示。为了创建一个如图2的控制器结构,我们从Simulink Discrete library中添加了一个离散PID控制模块。在设置好了控制系统结构后,就可以整定控制器了。 图3 四连杆机构的SimMechanics模型与直流电机的SimElectronics模型 ?????? 为了进行控制器整定,我们打开一个PID控制器对话框,设置控制器采样时间,点击“Tune”按钮(如图4),就会打开PID整定GUI界面。在显示GUI界面之前,Simulink Control Design首先会在当前的工作点进行线性化,导出线性时不变模型,满足PID控制器模块的使用要求。计算采样时间的延时会自动的予以考虑。利用一个自动整定方法,Simulink Control Design会生成一组PID控制的初始值。整定方法对于模型的阶次和延时时间没有限制,同时可以在连续或离散时间域上工作。 图4 PID整定对话框 ??????图5显示了闭环系统在使用初始PID参数时的轨迹跟踪响应曲线。如果控制器性能满足要求,我们点击“Apply”按钮,在PID控制器模块对话框中更新P、I、D和N的值。然后可以通过仿真非线性模型来测试我们所设计的控制器性能,并查看结果,如图6所示。我们也能使用简单的滑动条交互式的整定我们的设计,使得控制器更快一些或更慢一些。 图5? PID参数设计对话框 图6 仿真结果 为实现做准备 ????? 为了让控制器可以在16位的微处理器上运行,我们将其进行处理以支持定点算法。 ???? ?在PID控制模块对话框中点击“Data Types”选项卡,我们可以设置要求的定点设计(如图7)。我们在simulink中使用定点工具自动设置,然后利用定点设置运行仿真确保定点设计的结果可以非常接近的匹配双精度的仿真结果。 图7 定点设置对话框 生成产品级代码 ???? 有了可以实际使用的PID控制器,最后一步是利用Real-Time Workshop Embedded Coder生成C代码(如图8)。为了测试代码,我们可以将生成代码代替PID控制模块,并运行闭环仿真进行测试。我们可以使用Real-Time Workshop Embedded Coder自动生成simulink模块使用生成的C代码。 图8 实时代码生成 ????? 现在我们可以将用于实际处理器的C代码在simulink进行仿真。仿真的结果表明生成的代码所得到的结果与利用PID控制模块进行的双精度仿真结果非常接近。我们可以将代码下到处理器中,在实时的环境中控制四连杆机构。

文档评论(0)

jiaotang2079 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档