【PID学习笔记11】连续系统的数字PID

写在前面

从本文开始将一块学习数字PID控制及其MATLAB仿真。本文重点介绍连续系统的数字PID控制仿真。

一、数字PID总览

基于刘金琨编著的《先进PID控制MATLAB仿真(第4版)》参考文献内容,我们一起学习以下数字式PID控制。
请添加图片描述

二、连续系统的数字PID控制仿真

2.1 连续系统的数字PID控制方法

  • 本方法可实现D/A及A/D的功能,符合数字实时控制的真实情况,计算机及DSP的实时PID控制都属于这种情况。
  • 连续系统的PID算法为:

u ( t ) = k p ( e + 1 T i ∫ 0 t e d t + T d d e d t ) u(t)=k_p(e+\frac{1}{T_i}\int_0^t edt+T_d\frac{de}{dt}) u(t)=kp(e+Ti10tedt+Tddtde)

其中, K p K_p Kp 为比例系数, T i T_i Ti 为积分时间常数, T d T_d Td 为微分时间常数, e ( t ) e(t) e(t) 为偏差, u ( t ) u(t) u(t) 为控制量。

  • 对此式进行拉普拉斯变换,得到模拟(连续系统)PID调节器的传递函数:

D ( s ) = U ( s ) E ( s ) = K p ( 1 + 1 T i + T d s ) D(s)=\frac{U(s)}{E(s)}=K_p(1+\frac{1}{T_i}+T_ds) D(s)=E(s)U(s)=Kp(1+Ti1+Tds)

2.2 连续系统的数字PID控制的MATLAB仿真

  • 模拟PID控制系统框图如图所示:

在这里插入图片描述

  • 假设其中G(s)为二阶负反馈控制系统的传递函数为:

G ( s ) = 2 ( 3 s + 1 ) ( 2 s + 1 ) G(s)=\frac{2}{(3s+1)(2s+1)} G(s)=(3s+1)(2s+1)2

1. 单 P 控制仿真
  • 输出与输入偏差成比例,即直接将误差信号放大或者缩小。比例控制的传递函数为:

    G ( s ) = K p G(s)=K_p G(s)=Kp

  • 不同的比例系数,绘制系统的单位阶跃响应曲线

在这里插入图片描述

  • 结论:从图中可以看出,随着 K p K_p Kp 值的增大,系统响应速度加快,但系统的超调量随着增加,调节时间也随着增长。当 K p K_p Kp 增大到一定值后,闭环系统将趋于不稳定,存在稳态误差。增大比例系数可提高系统的开环增益,减小系统的稳态误差,从而提高系统的控制精度,但这会降低系统的相对稳定性,甚至可能造成闭环系统的不稳定。因此,在系统设计中,比例控制一般不单独使用。
2. PD 控制仿真
  • 输出与输入偏差的微分成比例,即与偏差的变化速度成正比例。微分控制与比例控制同时使用的传递函数为:
    G ( s ) = K p ( 1 + T d s ) G(s)=K_p(1+T_ds) G(s)=Kp(1+Tds)

  • 不同的微分系数,绘制系统的单位阶跃响应曲线

在这里插入图片描述

  • 结论:随着 T d T_d Td 值的增大,系统超调量逐渐减小,动态特征有改善。

自动控制系统在克服误差的调节过程中,可能会出现振荡甚至不稳定。原因是存在有较大惯性或有滞后的组件,其具有抑制误差的作用,其变化总是落后于误差的变化。在控制器中仅引入比例项是不够的,比例项的作用仅是放大误差的幅值,而微分项能预测误差的变化趋势。这样,具有比例+微分的控制器,就能提前使抑制误差的控制作用等于零,甚至为负值,从而避免被控量的严重超调,改善动态特性

微分控制反映误差的变化率,只有当误差随时间变化时,微分控制才会对系统起作用,而对无变化或缓慢变化的对象不起作用。另外,微分控制对纯滞后环节不能起到改善控制品质的作用,反而具有放大高频噪声信号的缺点。

3. PI 控制仿真
  • 输出与输入偏差的积分成比例,即与偏差的积累成比例。积分控制与比例控制同时使用的传递函数为:

G ( s ) = K p ( 1 + 1 T i ∗ 1 s ) G(s)=K_p(1+\frac{1}{T_i}*\frac{1}{s}) G(s)=Kp(1+Ti1s1)

  • 不同的积分系数,绘制系统的单位阶跃响应曲线
    在这里插入图片描述

  • 结论:加入积分控制后,消除了系统稳态误差,但随着Ti值的增大,达到稳态的过渡时间也逐渐加长。

积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即使误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大,使稳态误差进一步减小,直到等于零,但会使系统稳定性降低,稳定时间加长。

4. PID 控制仿真
  • 传递函数为:

G ( s ) = K p ( 1 + 1 T i + T d s ) G(s)=K_p(1+\frac{1}{T_i}+T_ds) G(s)=Kp(1+Ti1+Tds)

  • 适当的比例、积分、微分系数,绘制系统的单位阶跃响应曲线

在这里插入图片描述

  • 结论:PID控制通过积分作用消除误差,而微分控制可缩小超调量、加快系统响应,是综合了PI控制和PD控制长处并去除其短处的控制。

2.3 对PID参数的简单理解

参数名称 解释
比例控制 K p K_p Kp 能提高系统的动态响应速度,迅速反应误差,从而减少误差,但是不能消除静态误差,简单来说,就是越大越快、越小越慢,但是可能会超调或者过慢有很多弊端,并且太大了会不稳定。
积分控制 K i K_i Ki 一般就是消除稳态误差,只要系统存在误差,积分作用就会不断积累,输出控制量来消除误差,如果偏差为零,这时积分才停止,但是积分作用太强会使得超调量加大,甚至使系统出现振荡。
微分控制 K d K_d Kd 微分显然与变化率有关,你可以把它理解为导数,它可以减小超调量来克服振荡,使系统稳定性提高,同时加快响应速度,使系统更快,有更好的动态性能,这就像个“预言家”,它可以根据变化率来判断系统快要上升还是下降来提高改变系统的控制量,这就是与积分作用形成互补。

本节完

相关推荐

  1. PID学习笔记 8 】控制系统分析方法之一

    2023-12-20 19:56:04       40 阅读
  2. PID学习笔记 9 】控制系统分析方法之二

    2023-12-20 19:56:04       62 阅读
  3. 基于深度学习PID

    2023-12-20 19:56:04       23 阅读
  4. pip学习笔记】Python包管理器 - pip

    2023-12-20 19:56:04       36 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-20 19:56:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-20 19:56:04       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-20 19:56:04       82 阅读
  4. Python语言-面向对象

    2023-12-20 19:56:04       91 阅读

热门阅读

  1. 复习linux——ssh服务

    2023-12-20 19:56:04       56 阅读
  2. Python编程:鸡蛋掉落问题和回文数问题

    2023-12-20 19:56:04       58 阅读
  3. 解决Electron应用中的白屏问题的实用方法

    2023-12-20 19:56:04       90 阅读
  4. electron安装使用流程

    2023-12-20 19:56:04       73 阅读
  5. Electron无边框自定义窗口拖动

    2023-12-20 19:56:04       65 阅读
  6. docker查看日志

    2023-12-20 19:56:04       62 阅读
  7. docker nginx 部署静态网站

    2023-12-20 19:56:04       58 阅读
  8. TongRDS2.2 Center 哨兵配置

    2023-12-20 19:56:04       55 阅读
  9. 关于C语言提高的一些总结

    2023-12-20 19:56:04       55 阅读