什么是PID控制中的超调

      可解释为:如控制温度从起始位开始升温,当接近给定值时很平滑的控制在目标位,如超过给定值,就是超调,图中红线所表示的现象

1.gif


      超调是衡量调节品质的一个量。当系统输出超过稳态值时,输出的最大值Y(tp)减去稳态值Y(∞)的差除以稳态值乘以百分之百得到的一个输出最大偏差比:
超调量=[Y(tp)—Y(∞)]/Y(∞)×100%
因此,超调反映的是控制系统在达到稳态前控制作用最糟糕的结果。当然,我们希望超调越小越好。但是,衡量调节品质的另一个量稳态时间却制约了我们对抑制超调的追求。
稳态时间是指从调节器输出信号作用于系统开始到稳定的时间。其实理论上达到稳定的时间是无穷长的。通常我们取稳态的正负2%。
超调越大,稳态时间越短;超调越小,稳态时间约长。这需要我们在实际中平衡。综合这两个量,一般我们取阶跃响应下的2个波峰为佳。但对不同的对象应具体分析。


      在实验中发现,PID 的超调量主要在第一个波形中起作用,也即单速度由很大到很小的时候,或由低速突然加到高速的过程中,会出现很大的超调。但是这个超调并不是有害的,因为,当速度要求突变的时候,往往是小车由直道入弯道,或者由弯道入直道的过程,这个过程往往需要很快的大加减速,而由于小车的惯性,一般的 PID调节难以满足要求,这时使用大的超调量可以使小车有一个加速或刹车的过程,使之更好的达到要求速度。


积分环节的作用是调节稳态误差微分环节的作用是调节超调量:

在控制器中引入积分环节可以消除稳态误差。控制在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。自动控制系统在补偿误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在较大惯性环节(如水波影响)或滞后单元(如通讯设备的延迟),它们具有抑制误差的作用,即其变化总是落后于误差的变化,而解决的办法是提前抑制误差的变化。

在控制器中仅仅引入比例环节是不够的,因为比例环节的作用仅仅是改变误差的幅值,并不能起到提前抑制误差的作用。因此还需要引入微分环节,其作用是预测误差变化的趋势。这样,具有“比例+微分”的控制器就能抑制惯性环节和滞后单元对本系统的影响,从而改善了系统在自调节过程中的动态性能。

PID控制算法在方向档位控制中的应用,大赛中机器鱼的方向档位用于参加水球比赛的机器鱼方向档位共有15个(0~14档),其中7档为直游档,0档为左转弯最大档,14档为右转弯最大档。PID算法的理论实现1P、I、D环节的选用综上所述,比例环节的作用是调节幅值;积分环节的作用是调节稳态误差;微分环节的作用是调节超调量。


### Simulink 中 PID 控制器参数整以减少并优化跟踪时间 在Simulink环境中,PID控制器的参数整对于减少量以及优化跟踪时间至关重要。具体而言: #### 参数设置与影响分析 - **比例增益 (Kp)**:增加比例增益能够提升系统的响应速度,但是过高的比例增益可能导致较大的甚至不稳定现象[^1]。 - **积分时间常数 (Ti)**:适当配置积分项有助于消除静态误差,然而如果设定不当,则可能引起持续性的震荡行为。合理的选择应该是在保证无静差的前提下尽可能缩短节过程的时间长度。 - **微分提前角频率Td**:加入合适的微分作用可以在偏差刚开始发生变化的时候就施加一定的反向力矩来抑制其增长趋势,进而有效降低峰值,并且加快动态响应的速度。不过需要注意的是,当Td过大时反而会使系统变得迟缓,而较小的Td则能更好地改善瞬态特性[^2]。 #### 实际操作指南 为了更直观地展示如何利用MATLAB/Simulink平台来进行上述提到的各项参数试工作,下面给出一段简单的仿真模型构建脚本作为参考: ```matlab % 创建一个新的SIMULINK模型窗口 new_system('My_PID_Control'); % 添加必要的模块到当前打开的工作区中 add_block('simulink/Commonly Used Blocks/Step','My_PID_Control/Reference Signal'); add_block('simulink/Continuous/PID Controller','My_PID_Control/PID_Controller'); add_block('simulink/Math Operations/Sum','My_PID_Control/Error_Calculator'); add_block('simulink/Sources/Clock','My_PID_Control/time'); add_block('simulink/Sinks/Scope','My_PID_Control/System Response'); % 设置各组件之间的连接关系 connect_lines({'Error_Calculator/+', 'PID_Controller/in',... 'PID_Controller/out', 'System_Response/in'}); set_param(gcb,'Position',[0,80,40,90]); % 配置输入信号源属性 set_param('My_PID_Control/Reference Signal','StartTime','5'); % 步进信号启动时刻设为第5秒 set_param('My_PID_Control/Reference Signal','FinalValue','1'); % 终值设为单位幅值 % 初始化PID控制器内部参数 pidtune(pidst,sys,Ts); % 使用自动整定工具获取初步推荐值 open_system('My_PID_Control') % 打开创建好的模型文件以便进一步编辑修改 ``` 此段代码实现了基本框架搭建的任务,后续可根据实际需求手动或借助内置函数`pidtune()`对各个系数做精细校准直至满足预期效果为止。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值