欢迎来访油泵控制器-油泵控制器厂家-计量泵控制器-亚新(中国)官网!
PID是?
PID是一种普遍的控制优化算法,即占有率、积分、微分。PID开关系统控制器早已有107年的历史时间了。
它并不是什么很崇高的物品,大伙儿一定都见过PID的具体运用。
例如四轴飞行器,再例如均衡小轿车......也有汽车的巡航定速、三维打印机里的温度控制器....
便是类似这类:必须 将某一个物理量“长期保持”的场所(例如保持均衡,平稳温度、转速比等),PID都会去上大用场。
那麼那么问题来了:
例如,我觉得控制一个“电热棒”,让一锅水的温度维持在50℃,那么简易的每日电路板设计费用任务,为什么要采用高等数学的基础理论呢。
你一定在想:
这不是soeasy吗~50度以下加热,50度以上关闭电源好吗?两行编码用Arduino一下子写出去。
没有错~在规定不太高的状况下,的确能够那么干~But!假如换一种叫法,你就知道难题出在哪儿了:
假如的控制目标是一辆汽车呢?
如果期待汽车的时速维持在50km/h没动,你要敢那样干么。
构想一下,倘若汽车的巡航定速电脑上在某一时间测到时速是45km/h。它马上指令汽车发动机:加快!
結果,汽车发动机那里忽然来啦个100%全油门踏板,嗡的一下,汽车急加快到60km/h。
这时候电脑上又传出指令:刹车踏板!
結果,吱...............哇............(旅客吐)因此,在大部分场所中,用“开关量”来控制一个物理量,就看起来较为简单直接了。有时,是没法长期保持的。由于单片机设计、感应器并不是无尽快的,收集、控制必须 時间。
并且,控制目标具有惯性。例如你将一个加热器拔出,它的“余热回收”(即热惯性力)很有可能还会继续使温度再次上升一小会。
这时候,就必须 一种『优化算法』:
D兄那样想:加热和排热相同,温度沒有起伏,我好像无需调节哪些。
因此,温度始终地滞留在45℃,始终不到50℃。
做为一个人,依据基本常识,我们知道,应当进一步提升加热的输出功率。但是提升是多少该如何计算呢?老前辈专家想起的方式是确实恰当。
设定一个積分量。只需误差存有,就不断对误差开展積分(累积),并反映在调整幅度上。
这样一来,即便45℃和50℃相距不太大,可是伴随着時间的变化,只需没实现目标温度,这一積分量就持续提升。系统软件便会渐渐地意识到:都还没抵达总体目标温度,该提升输出功率啦!
到总体目标温度后,假定温度沒有起伏,積分值就不容易再变化。这时候,加热输出功率依然相当于排热输出功率。可是,温度是妥妥的50℃。
kI的值越大,積分时乘的指数就越大,積分实际效果越显著。
因此,I的功效便是,减少静态数据状况下的偏差,让可控物理量尽量贴近目标。I在应用时也有个难题:必须 设置積分限定。避免在一开始加热时,就把積分量积得太大,无法控制。