简介:PID控制器早在20世纪30年代末就出现了,是当时唯一的控制方式,除了最简单情况下应用的开关控制。经过50多年的不断升级,PID控制取得了长足的进步。特别是近年来,随着计算机技术的飞速发展,从模拟pid控制到数字PID控制发生了重大的变化。与此同时,出现了许多新的PID控制算法和方法。比如非线性PID控制、自适应PID控制、智能PID控制等等。
迄今为止,PID控制仍然是最古老、最有生命力的基本控制方法。
PID是什么?
比例积分微分PID是一种非常常用的控制算法。
PID控制概念最早提出于1932年,诞生于瑞典,移民美国。物理学家H奈奎斯特在他的一篇论文中提出了用图形来判断系统稳定性的方法。在此基础上,荷兰科学家HW博德(the founder of 波特图/波特图如你所想)等人建立了一套在频域设计反馈放大器的方法,后来用于自动控制系统的分析和设计。这也是PID算法从编写开始最早的实践。
与此同时,反馈控制原理开始在工业过程中应用。1936年,英国的卡伦德和斯蒂文森等人提出了PID控制器的方法。自此,PID算法正式形成,并在自动控制技术中发挥了非常重要的作用。
大家肯定都看到了PID的实际应用。
例如,四轴飞行器,平衡车.....................
然后这里问题是:
例如,我想控制一个热快并且保持一壶水的温度在50。这么简单的任务,为什么要用微积分的理论?
你一定在想:
不是没那么容易~让它热起来的时候小于50度时,关闭电源。s大于50度,不是吗不是吗?几行代码是用Arduino分钟写的。
那对~要求不高的话真的可以这么做~
但是!换一种说法,你就知道问题出在哪里了:
如果我的控制对象是一辆车呢?
如果你想让车速保持在50公里/小时,不要你不敢做这件事。
想象一下,如果一辆汽车巡航控制计算机在某一时间检测到45km/h的速度。它立刻命令引擎加速!
结果对方发动机突然100%全油门,车突然加速到60 km/h。
这时,电脑再次发出命令:刹车!
后果不堪设想.
PID算法
在大多数情况下,用开关数量。有时候,它可以不稳定。因为单片机和传感器不是无限快,采集和控制需要时间。
而且,被控对象具有惯性。例如,如果你拔掉加热器的插头,它的余热(即热惯性)可能会暂时进一步升高水温。
这个时候,你需要一个算法:
它可以把要控制的物理量带到目标附近,它可以预见这个量的变化趋势,而且还可以消除散热、电阻等因素造成的静态误差。
所以当时的数学家发明了这个经久不衰的算法——,就是PID。
你应该已经知道P,I,D是三个不同的调节函数,可以单独使用(P,I,D),成对使用(PI,PD),也可以组合使用(PID)。
PID参数
这三个功能有什么区别?
让下面只说PID控制器最基本的三个参数:kP、kI和kD。
kP
意思是p比。它的作用最明显,原理最简单。
让让我们先谈谈这个:
所需的量,如水温,有其当前当前值我们期待的目标值。
当两者相差不大时,让加热器轻轻地加热它。如果由于某种原因,温度下降很多,让加热器加热它稍微用力一点。如果当前温度远低于目标温度,让加热器开足马力。对其进行加热,并让水温尽快达到目标附近。这就是p的作用。
当实际编写程序时,让偏差(目标值减去当前值)和调整强度的调节装置建立线性函数关系,而最基本的比例控制是可以实现的~
kP越大,调控越激进,kP越小,调控越保守。
如果你在做一个平衡车,有了P的功能,你会发现平衡车疯狂地摇晃在平衡角附近来回,很难稳定。
如果你已经到了这一步,——恭喜你!它距离成功只有一小步~
kD
d的作用比较好理解,所以让咱们先谈d,最后再谈I。
刚才我们有了P的功能,你不难发现只有P可以使平衡站上升,水温被控制得摇摆不定,好像整个系统不是特别稳定,总是摇晃。
在你的头脑中想象一个弹簧:它现在处于平衡位置。拉它,然后放开。然后会抖。因为阻力很小,所以可能会振荡很长时间才再次停在平衡位置。
想象一下:如果上图所示的系统浸在水中,也把它拉一下:这样的话,再次停在平衡位置所需的时间会少得多。
我们需要一个控制函数来使改变速度被控物理量趋于零,即类似于阻尼。
因为,越靠近目标,P的控制效果越小。越接近目标,P的作用越平缓。有许多内部或外部因素使控制量在小范围内摆动。
D的作用是使物理量的速度趋于零。每当这个量有一个速度,D就会反方向发力,尽力阻止这种变化。
参数kD越大,速度反方向的制动力越强。
kI
看起来PD可以保持物理量稳定,那为什么还需要I呢?
因为我们忽略了一个重要的情况:
以热水为例。如果有人把我们的加热装置带到一个非常冷的地方,水需要加热到50。
在P的作用下,水温缓慢上升。升到45的时候,他发现了一个不好的事情:太冷了,水散的速度和P控加热的速度相当。
我能怎么做呢?
P哥是这样想的:我我离目标很近了,只要轻轻加热。D哥是这样想的:加热和散热相等,温度不波动。我不似乎不需要调整任何东西。
结果水温永远停留在45,永远达不到50。
根据常识,我们知道加热功率应该进一步增加。但是怎么算涨幅呢?
此时,可以设置一个积分量。只要偏差存在,偏差就会不断地被整合(积累)并体现在调整力度上。
这样,即使45和50相差不太大,只要没有达到目标温度,积分也会随着时间增加。系统会慢慢意识到,在达到目标温度之前,是时候加大功率了!
达到目标温度后,假设温度不波动,积分值不会再变化。此时,加热功率仍然等于散热功率。然而,温度稳定在50。
kI值越大,积分时间倍增系数越大,积分效果越明显。
因此,I的作用是减少静态下的误差,使被控物理量尽可能接近目标值。
我在使用的时候还有一个问题:你需要设置积分极限。以防止在加热开始时积分过大而难以控制。
附:电子负载PID自整定方法及系统
电子负载是用于测试电源性能的专用仪器,具有恒流、恒压、恒阻、恒功率和组合负载的测试功能。通常,PID用于动态调整p的打开或断开
目前,电子负载的PID参数设定有两种方式。第一种方式是手动设置,出厂前将设置结果预置到电子负载设备的非易失性存储器中,每次开机都可以使用。
第二种方式,出厂前在设备中预设多组参数,用不同的参数匹配不同类型或型号的电源,由用户选择使用,使电子负载设备可以适应各种被测电源,一定程度上提高了电子负载的灵活性。
的发明专利电子负载PID自整定方法及系统由NGI独立申报,最近已获国家专利局授权。本发明公开了一种电子负载PID自整定方法及系统,包括自整定控制周期T、自整定PID参数和参数验证三个步骤。
首先在开环状态下触发阶跃响应,由阶跃响应速度的换算得到控制周期T,然后在闭环状态下触发振荡曲线,通过振荡曲线计算PID参数;控制周期T和PID参数设定后,通过参数验证来验证和提高参数的准确性。
该方法可以灵活适应各种被测电源,不需要手动设置,可以避免手动设置耗时长、准确性差、一致性差以及依赖人工经验的缺点,提高电子负载的便利性和适应性。
审计唐子红
标签:PID控制系统