什么是控制系统

人其实也是一个复杂的控制系统,体温,血压,ph值等…
人: 走进很热的房间,体温升高, sensor皮肤表面,感觉到热,controller下丘脑释放神经胆碱,你开始出汗。水分蒸发带走热量,体温回到正常。
电梯:当用户选择楼层后,电梯会在指定楼层停靠。
汽车,地铁,自动门,飞机定速巡航,自动导航都需要用到控制系统。

开环控制(Open Loop Control)

pid5.jpg
根据你选定的时间,衣服类型进行控制, 清洗不是根据衣服的干净程度控制。 一旦洗衣机开始运行,时间到了就停止工作,不管衣服是不是清洗干净了。
pid6.png

闭环控制

pid7.png
pid8.jpg
变频空调就采用了闭环控制。
pid9.png

位式控制算法

早期的空调采用的算法是位式控制算法。
位式控制的算法,输出信号只有两种,True和False
依据比较(sv和pv)
缺点:pv总是在sv的值上下波动
原因:控制对象具有惯性,空调降温时是慢慢往下降的,某个时刻自动断电,如果温度超出设定值,又自动的供电进行制冷。

PID算法

https://zhuanlan.zhihu.com/p/347372624?utm_medium=social&utm_oi=1228102558839222272
空调的变频算法其实就是PID算法。
pid10.png
proportional(比例), integral(积分),derivative(微分)
对位式控制的优化

  1. 位式控制,只考虑当前。
  2. pid不仅考虑当前,还要考虑历史
  3. pid输出更多样,更平滑。不是是true或者false,

变频空调的P控制:
pid11.png :::info error是误差。
k是一个系数。
设置值的温度和当前温度存在误差,我们可以设置这个空调的温度为 当前温度减去 误差值(或者给个系数),长久来说,当前温度会在设定温度上下浮动。 ::: 变频空调的I控制:
pid12.png :::info I算法主要是记录历史的错误,将这些错误进行累加。
在P控制中,当前温度是在设定温度上下摆动的,因此,误差应该是有正有负,全部累加到一起,正负抵消,剩下的得到的是总误差值。
让当前温度+总误差(或者给定系数),让当前温度趋向于设定温度。 ::: 变频空调的D控制
pid13.png :::info D算法主要是记录当前误差和最近一次的误差,
两次误差比较结果为0,说明已经到达设置水平。
两次误差比较结果绝对值大,说明往反方向走,温度没有趋向于设置的值,反而还在背离。
让当前温度+两次误差比较结果(给定系数),可以收敛误差,让温度值更趋向于设定温度。 :::

位置式PID

11.png :::info e(k): 用户设定的值(目标值) - 控制对象的当前的状态值
比例P : e(k)
积分I : ∑e(i) 误差的累加
微分D : e(k) - e(k-1) 这次误差-上次误差 :::

增量式PID
12.png

:::info 比例P : e(k)-e(k-1) 这次误差-上次误差
积分I : e(i) 误差
微分D : e(k) - 2e(k-1)+e(k-2) 这次误差-2*上次误差+上上次误差 :::

注意:结果只是增量,需要和前面的增量进行累加才能使用