推荐温度控制的PID算法及C程序实现
![推荐温度控制的PID算法及C程序实现](https://img.360docs.net/img5d/1aycjx3gss61lo9i73gjmupybv4nyjrp-d1.webp)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
温度控制与PID 算法
温度控制与PID 算法j 较为复杂,下面结合实际浅显易懂的阐述一下 PID 控制理论,将
温度控制及PID 算法作一个简单的描述。
1 •温度控制的框图
时觀元
爲度控制
no
这是一个典型的闭环控制系统,用于控制加热温区的温度(
PV )保持在恒定的温度 设定值(SV )。系统通过温度采集单元反馈回来的实时温度信号(
PV )获取偏差值(EV ),
偏差值经过 PID 调节器运算输出,控制发热管的发热功率,以克服偏差,促使偏差趋近 于零。例如,当某一时刻炉内过 PCB 板较多,带走的热量较多时,即导致温区温度下降, 这时,通过反馈的调节作用,将使温度迅速回升。其调节过程如下:
温度控制的功率输出采用脉宽调制的方法。固态继电器
SSR 的输出端为脉宽可调的
电压U OUT 。当SSR 的触发角触发时,电源电压U AN 通过SSR 的输出端加到发热管的两 端;当SSR 的触发角没有触发信号时, SSR 关断。因此,发热管两端的平均电压为
U d = (t/T )* U AN =K* U AN
其中K= t/T ,为一个周期T 中,SSR 触发导通的比率,称为负载电压系数或是占空比, K
的变化率在0— 1之间。一般是周期 T 固定不便,调节t,当t 在0— T 的范围内变化时, 发热管的
电压即在 0— U AN 之间变化,这种调节方法称为定频调宽法。 下面将要描述的 PID
调节器的算式在这里的实质即是运算求出一个实时变化的,
能够保证加热温区在外界干扰
的情况下仍能保持温度在一个较小的范围内变化的合理的负载电压系数
K 。
加編jj 如
丄 1
皿屁血血-備腳哉
J 1
卷.竟鳴莹直口倆节诛
冲端岀覽
度 国憲继电辔与笈
想習
U AN
〈发热管h 8KW
简单的固态继电器加热电跆
2•温度控制的两个阶段
温度控制系统是一个惯性较大的系统,
也就是说,当给温区开始加热之后, 并不能立
即观察得到温区温度的明显上升; 同样的,当关闭加热之后,温区的温度仍然有一定程度 的上升。另外,热电偶对温度的检测, 与实际的温区温度相比较, 也存在一定的滞后效应。 这给温度的控制带来了困难。因此,如果在温度检测值( PV )到达设定值时才关断输出,
可能因温度的滞后效应而长时间超出设定值,
需要较长时间才能回到设定值;
如果在温度
检测值(PV )未到设定值时即关断输出,则可能因关断较早而导致温度难以达到设定值。 为了合理地处理系统响应速度(即加热速度)与系统稳定性之间地矛盾,我们把温度控制 分为两个阶段。
(1) PID 调节前阶段
在这个阶段,因为温区的温度距离设定值还很远,为了加快加热速度,
SSR 与 发热管处于满负荷输出状态,只有当温度上升速度超过控制参数“加速速率”
,SSR
Temp (I ;
唱展担範的功•态舸应血
理
才关闭输出。“加速速率”描述的是温度在单位时间的跨度,反映的是温度升降的快
慢,如上图所示。用“加速速率”限制温升过快,是为了降低温度进入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回路的静态输出值
为了能让数字计算机处理这个算式,连续算式必须离散化为周期采样偏差算式,才能用来计算输出值。数字计算机处理的算式如下:
从这个公式可以看出,积分项是从第一个采样周期到当前采样周期所有误差项的函数,微分项是当前采样和前一次采样的函数,比例项仅是当前采样的函数。在数字计算机中,不保存所有的误差项,其实也不必要。由于计算机从第一次采样开始,每有一个过程采样值必须计算一次输出值,只需要保存前一次过程值(PV n-1)和积分项前值。利用计算机处理的重复性,可以将以上算式变换为:
其中:
Mn 在第n 采样时刻,PID 回路的输出计算值 SV PID 回路设定值
PVn 在第n 采样时刻的过程变量值 PVn-1 在第n — 1采样时刻的过程变量值 MX 积分前项值
Mintial PID 回路的静态输出值 Kc PID 回路的比例增益 KI 积分项的比例常数 KI=Kc * Ts / Ti
Ts 是离散化时的采样时间间隔 Ti 是积分时间参数; KD
微分项的比例常数
KD=Kc * Td / Ts
Ts 是离散化时的采样时间间隔
Td 是微分时间参数;
从上面PID 的算式,可以分析三个基本参数 Kc, KI, KD 在实际控制中的作用:
(1)
比例调节作用:比例项按比例反应系统的偏差,
系统一旦出现了偏差, 比例调
节立即产生调节作用用以减少偏差。比例作用大,可以加快调节,减少偏差。 但是过大的比例调节,使系统的稳定性下降,甚至造成系统的不稳定。
(2)
积分调节作用:积分项消除系统的稳态误差,提高无差度。只要有偏差,积分
就进行,直到无偏差时,积分运算才停止,积分调节项输出一常数值。积分作
用的强弱取决于积分时间常数 Ti , Ti 越小,积分作用越强。积分控制可提高 系统的无差度,但积分项输出响应缓慢,使得系统调节时间增长。
(3)
微分调节作用:微分项反映系统过程变量的变化率(
(PVn-1-PVn ) / Ts ),具
有预见性,能预见变化的趋势,因此,能产生超前的调节作用,在偏差还没有 形成之前,已被微分调节作用消除。因此,可以改善系统的动态性能。在微分 时间参数Td 选择合适的情况下,可以减少超调,减少调节时间。微分调节对 干扰有放大效果,过强的微分调节,对系统抗干扰不利。此外,微分项反映的 是过程变量的变化率, 而当过程变量没有变化时, 微分调节输出为零。
微分调
节不能单独使用,需要与另外两种调节规律相结合,组成
PD 或PID 调节器。
以上面的推导,C 程序如下 /*
pid 算法C 源程序,还有实现 pid 自动调整。51用于控制温度26-100摄氏度。 TIME:2011-07-29 20:15:07 */
#in clude
************************************************************************** #in clude "global_varible.h"
/**