【嵌入式电机控制#13】PID参数整定的全面步骤
一、采样周期的概念
采样周期指的是控制系统中对输出量采集的时间间隔,采样周期越短,采样效果越好,控制效果越丝滑连续,但采样率依赖于硬件资源。(比如:中断占用,检测变送器本身性能等)
建议在PID之前就选好采样周期,当PID参数确定后,再调整采样周期,PID需要重新调节。
范围选取:
1. 香农采样定理:给出了采样频率选取的最大值
2. 经验调试:根据实际值突变能力
举例:
某个温控系统中,一分钟可以让温度变化+-36摄氏度,某个电机系统中一分钟可以让电机转速变化600转,这就表示它们的突变能力。
一个温控系统,3600秒下可以变化36摄氏度,那么一秒采样的话,一次才变化0.01摄氏度,所以 这个采样周期为一秒的选取是无意义的。
像温度这样的大惯性系统,它的变化速度是比较慢的,我们可以把采样周期设大一点
像速度,压力流量这样的系统,他们的变化速率较快,可以把采样周期设小为好。
二、PID参数整定
(1)理论参数整定法(略,想学习的可以看硬核博客和文献,小工程用不到)
(2)工程调试法
1.试凑法演示
确定比例系数Kp:
在确定比例系数Kp时,首先去掉PID的积分项和微分项,可以令Ti= 无穷、Td= 0,使之成为纯比例调节。输入设定为系统允许输出最大值的60%~70%,比例系数Kp从0开始逐渐增大,直至系统出现振荡;再反过来,从此时的比例系数Kp逐渐减小,直至系统振荡消失.记录此时的比例系数Kp,设定PID的比例系数Kp为当前值的60%~70%。
我的电机大转速250,我用预设值150试试。
图像不是尺寸有问题,而是我的电机特性就这样。
先开始调节Kp,Kp=0.1,电机堵转,赶紧断电......
虽然这里图像有点抖,但只是其他系统误差造成的,不算明显震荡
这次来个kp=0.3,谁怕谁,
调成这样已经不错了,震荡几乎是消失了,接着记录Kp=0.23,使用0.7Kp=0.161
确定积分常数Ki:
在比例系数Kp确定后,设定一个较小的Ki,然后逐渐增大它,直到系统出现震荡,再反过来逐渐减小Ki,直到系统震荡消失,记录此时Ki,设定实际Ki为当前值的%56-%67
用Ki=0.1得,此时静差几乎完全消除。
用Ki=0.63,系统出现了轻微的震荡
我们此时慢慢往回调每次减少0.1
Ki = 0.61时,表现已经不错了,略微超调一下就回稳
我们设定实际值为0.6Ki = 3.66 得到pi结果
确定微分常数Kd:
常见运控系统的Kd给个0或者稍微拉高一点就可以。如果还是很难快速消除稳态误差,并且响应时间较慢,则继续采用试凑法,真实值取PID不震荡时Kd的30%。
我们先用手给电机一个扰动(注意不要长时间堵转)
我随机给了电机八个扰动,结果发现,虽然误差修正效果并没有导致太多反向二次偏差,也就是修正的上升曲线本身的误差没有太超过上一次误差的幅度。但是这样的现象反映了我们的执行器并没有及时对误差做出补偿,以至于出现了补偿过头的现象。
控制系统中,这种现象说明系统存在欠阻尼。
临界阻尼:系统修正误差时存在等幅振荡/恰好不发生震荡
欠阻尼:修正误差时存在衰减震荡
过阻尼:系统修正误差后直接回到稳态,不存在震荡现象
负阻尼:系统发散震荡,震荡幅度越来越大(这种很危险)
显然对于一个高要求的电机控制系统,我们需要的是临界阻尼的效果,即受到扰动后恰好不发生震荡,没有多余动作,对能量消耗适中。
我们这里取了0.1, 发现没有出现明显震荡,误差修正略微超前,且没有对扰动过于灵敏,这种状态是比较理想的。
我们再试试他的阶跃扰动输入效果
是近似等幅震荡