好文档 - 专业文书写作范文服务资料分享网站

让PID控制器设计更简单MATLABSimulink应用案例

天下 分享 时间: 加入收藏 我要投稿 点赞

让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代码。

让PID控制器设计更简单MATLABSimulink应用案例

让PID控制器设计更简单--MATLAB/Simulink应用案例整定一个PID控制器看上去非常的简单,仅仅需要寻找三个变量:比例、积分和微分增益。但是实际上,要系统性、安全地寻找到这样一组参数,使得控制系统能具有最好的特性是一项复杂的任务。一般来讲,PID控制器可以通过手动调试或者利用一些准则进行设计。手动调试方法需要不断地迭代尝试,耗费大量的时
推荐度:
点击下载文档文档为doc格式
2lt7t8wusc34ka295j7z7yqpo85se700d7a
领取福利

微信扫码领取福利

微信扫码分享