温度控制的PID算法与C程序实现 下载本文

温度控制与PID算法

温度控制与PID算法j较为复杂,下面结合实际浅显易懂的阐述一下PID控制理论,将温度控制及PID算法作一个简单的描述。

1. 温度控制的框图

这是一个典型的闭环控制系统,用于控制加热温区的温度(PV)保持在恒定的温度设定值(SV)。系统通过温度采集单元反馈回来的实时温度信号(PV)获取偏差值(EV),偏差值经过PID调节器运算输出,控制发热管的发热功率,以克服偏差,促使偏差趋近于零。例如,当某一时刻炉内过PCB板较多,带走的热量较多时,即导致温区温度下降,这时,通过反馈的调节作用,将使温度迅速回升。其调节过程如下:

温度控制的功率输出采用脉宽调制的方法。固态继电器SSR的输出端为脉宽可调的电压UOUT 。 当SSR的触发角触发时,电源电压UAN通过SSR的输出端加到发热管的两端;当SSR的触发角没有触发信号时,SSR关断。因此,发热管两端的平均电压为 Ud=(t/T)* UAN=K* UAN

其中K= t/T,为一个周期T中,SSR触发导通的比率,称为负载电压系数或是占空比,K的变化率在0-1之间。一般是周期T固定不便,调节t, 当t在0-T的范围内变化时,发热管的电压即在0-UAN之间变化,这种调节方法称为定频调宽法。下面将要描述的PID

调节器的算式在这里的实质即是运算求出一个实时变化的,能够保证加热温区在外界干扰的情况下仍能保持温度在一个较小的范围内变化的合理的负载电压系数K。

2.温度控制的两个阶段

温度控制系统是一个惯性较大的系统,也就是说,当给温区开始加热之后,并不能立即观察得到温区温度的明显上升;同样的,当关闭加热之后,温区的温度仍然有一定程度的上升。另外,热电偶对温度的检测,与实际的温区温度相比较,也存在一定的滞后效应。 这给温度的控制带来了困难。因此,如果在温度检测值(PV)到达设定值时才关断输出,可能因温度的滞后效应而长时间超出设定值,需要较长时间才能回到设定值;如果在温度检测值(PV)未到设定值时即关断输出,则可能因关断较早而导致温度难以达到设定值。为了合理地处理系统响应速度(即加热速度)与系统稳定性之间地矛盾,我们把温度控制分为两个阶段。

(1) PID调节前阶段

在这个阶段,因为温区的温度距离设定值还很远,为了加快加热速度,SSR与发热管处于满负荷输出状态,只有当温度上升速度超过控制参数“加速速率”,SSR才关闭输出。“加速速率”描述的是温度在单位时间的跨度,反映的是温度升降的快慢,如上图所示。用“加速速率”限制温升过快,是为了降低温度进入PID调节区的惯性,避免首次到达温度设定值(SV)时超调过大。

在这个阶段,要么占空比K=0, SSR关闭;要么占空比K=100%, SSR全速输出。PID调节器不起作用,仅由“加速速率”控制温升快慢。

(2) PID调节阶段

在这个阶段,PID调节器调节输出,根据偏差值计算占空比(0-100%),保证偏差(EV)趋近于零,即使系统受到外部干扰时,也能使系统回到平衡状态。

3. PID算法

PID控制的原理是基于下面的算式:输出M(t)是比例项,积分项和微分项的函数。

其中:

M(t) PID回路的输出,是时间的函数 Kc PID回路的比例增益

e PID回路的偏差(设定值(SV)与过程变量(PV)之差) Minitial PID回路的静态输出值

为了能让数字计算机处理这个算式,连续算式必须离散化为周期采样偏差算

式,才能用来计算输出值。数字计算机处理的算式如下: