仅适用于数学模型已知的控制系统中,而且对于大多数数学模型难以确定的工业过程也可应用,在众多工业过程控制中取得了满意的应用效果。
由于来自外界的各种扰动不断产生,要想达到现场控制对象值保持恒定的目的,控制作用就必须不断的进行。若扰动出现使得现场控制对象值以下简称被控参数发生变化,现场检测元件就会将这种变化采集后经变送器送至PID控制器的输入端,并与其给定值以下简称SP值进行比较得到偏差值以下简称e值,调节器按此偏差并以我们预先设定的整定参数控制规律发出控制信号,去改变调节器的开度,使调节器的开度增加或减少,从而使现场控制对象值发生改变,并趋向于给定值SP值,以达到控制目的,如图所示,其实PID的实质就是对偏差(e值)进行比例、积分、微分运算,根据运算结果控制执行部件的过程。
f温度控制PID算法设计利用了上面所介绍的位置式PID算法,将温度传感器采样输入作为当前输入,然后与
设定值进行相减得偏差,然后再对之进行PID运算产生输出结果fOut,然后让fOut控制定时器的时间进而控制加热器。为了方便PID运算,首先建立一个PID的结构体数据类型,该数据类型用于保存PID运算所需要的P、I、D系数,以及设定值,历史误差的累加和等信息:
typedefstructPIDfloatSetPoi
t设定目标DesiredValuefloatProportio
比例系数Proportio
alCo
stfloatI
tegral积分系数I
tegralCo
stfloatDerivative微分系数DerivativeCo
sti
tLastError上次偏差i
tSumError历史误差累计值PIDPIDstPID定义一个stPID变量
PID运算的C实现代码floatPIDCalcPIDppi
tNextPoi
ti
tdErrorErrorErrorppSetPoi
t10-NextPoi
t偏差,设定值减去当前采样值ppSumErrorError积分,历史偏差累加dErrorError-ppLastError当前微分,偏差相减ppPrevErrorppLastError保存ppLastErrorErrorretur
ppProportio
ErrorppI
tegralppSumError-ppDerivativedError其中ppProportio
Error是比例项;ppI
tegralppSumError是积分项;ppDerivativedError是微分。
f基于Ptl00铂热电阻的温度变送器设计与实现
温度是表征物体冷热程度的物理量,在工业生产、生活应用和科学研究中是一个非常重要的参数。在工业控制过程中需要对控制对象进行温度监测,防止控制对象由于温度过高而损坏,因此温度的实时监测就显得更加重要。对温度的实时监测有利于对控制对象的及时检查、保护,并及时调整温度的高低。根据控制系统设计要求的不同,温度监测系统的设计也有所变化,有采r