基于单片机的温度控制系统设计

2023-11-14 08:58张望辉
电子制作 2023年20期
关键词:热电偶控制算法二极管

张望辉

(中国船舶集团有限公司 第七一三研究所,河南郑州,450015)

1 硬件电路设计

1.1 系统总体框图

本课题的主要设计思路:采样部分是传感器采集温度信号之后,然后通过处理再送入放大电路,通过A/D 转送至单片机;控制部分则是利用光电耦合,输出信号触发可控硅,从而实现对温度的调节,如图1 所示。

图1 系统总体框架

1.2 传感器选择

由于本课题主要是对加热炉、热处理炉、反应炉和锅炉等的温度进行测控,温度大约在1000℃,因此可以选用热电偶传感器。

热电偶测温主要特点。①它属于自发电型传感器:测量时无需外接任何电源,能够直接进行启动。②测量的范围广阔:最低可到-270℃,最高可到1800℃。③精度高:0.1℃~0.2℃,因为热电偶的稳定性和复现性好,所以国际上运用温标中规定热电偶,它作为复现630.74℃~1064.43℃范围的标准仪表。④由于具有响应好的特点,所以我们可以将热电偶的测量端做成理想小的接点,响应速度快,其时间常数可以达到毫秒级甚至微秒级。⑤构造很简单,生产非常方便。⑥用途很普遍,人们不仅用它去检测流动体的温度,还常常用作检测固体表面的温度。

1.3 热电偶冷端补偿

热电偶输出的电动势是两结点温差的函数。T 作为被测温度端,T0作为参考温端,通常要求T0保持为0℃,但在现实中很难做到这一点。然而现实是参考温度端很难保持稳定的数值。工业生产中,热电偶冷端补偿的方法有很多,而比较常见的方法是电位补偿法。如图2 所示。

图2 电位补偿法原理

1.4 前置处理—滤波

为了获得较好的电路特性,我们可以在放大器的输入端之前设计一个低通滤波器。原因如下:热电偶的长引线常常会产生天线的作用,接收各类干扰信号,这就会导致我们的信号里掺和了“杂质”,如果任其被放大,将会导致我们的电路出现大的误差,导致我们测量的温度发生较大的波动,这些都是不利于人们的,也是我们不想看到的结果。此滤波电路的主要作用是消除射频信号。

1.5 放大电路设计

热电偶测量温度中,重点在于:热电偶产生的温度信号很弱,而要将如此弱的信号进行放大等一系列操作,这就需要我们的放大电路必须具有低漂移和高精度的特点,而且整个检测设备都需要实施大量防干扰的手段。鉴于此,这里可以使用斩波稳零放大器ICL7650。

ICL7650 利用调制、稳零的方式,良好的解决了温漂和信号放大之间的关系,打破了传统常规斩波稳零设计思想的限制。ICL7650 的主要特点如下:(1)输入失调电压很低:在工作温度范围(约100℃)内只有±1μV;(2)极低的失调电压的温漂和长时间漂移:分别为0.01μV/℃和100nV/Month ;(3)很低的输入偏置电流:10 pA ;(4)极高的开环增益CMRR;(5)较高的转换速度:SR=2.5V/μs;(6)单位增益带宽可达2 MHz;(7)单位增益被内部补偿;(8) 可以用内调来补充,相位裕度≥80°;(9)在输入和输出只有一个小的斩波发出。

1.6 A/D 转换器的选择

转换芯片的选择主要在于要满足整个控制系统对分辨率的需求,在这次课题中要求满足检测温度的范围是0 ℃~1300 ℃,检测的精度是1 ℃,则分辨率为:1300/1=1300。要满足这个数值的最小分辨率为:2x≥ 1300,解得x≥11,因此可选用12 位的A/D 转换器。

本课题选用的是具有快速,高精度,低成本的逐次逼近式A/D 转换器—AD574A。它是一种12 位逐次比较型A/D 转换器,其原理是利用逐次比较法,也叫二等分搜索法,最显著的特点是转换速度较快,转换精度也较高,电路结构也相对简单,只需要15μs 来进行转换,转换精度<=0.05%。由于它含有三态输出缓冲电路,因此能够直接和大多数典型的8 位或者16 位的单片机连接,而不需要添加任何的逻辑接口电路,还能和CMOS 以及TTL 兼容。AD574A 片内已经成为高精度参考电压和时钟电路,使芯片无需额外的电路和时钟信号条件即可完成A/ D 转换,使用方便,因此已被广泛应用,特别是在控制系统中最多。

1.7 主机的选择:AT89C51

AT89C51 的特点:(1)性价比高。(2)形状小,信赖度高;(3)控制功能强;(4)低电压、低能耗。

AT89C51 它由CPU、存储器(ROM、RAM)、I/O 接口、定时/计数器、中断控制功能等促成,它们和内部相连接,其中功能如表1[1]所示。

表1 I/O口引脚功能

1.8 温度控制电路设计

在温度控制过程中,分为加热部分和降温部分。该部分的设计,主要解决2 个问题:弱电(单片机)和强电(AC220V)的隔离,还有对强电的控制。由于负载通常是一个线圈,相当于一个电感,在断路时会产生3~5 倍的大感应电压,如果不是隔离,那么千伏的电压将使单芯片击穿损坏。并且微控制器不仅连接到控制电机,还可以连接到传感器等,这将使整个系统陷入瘫痪。光耦中间是用光来传递信号的,在两边没有电的联系时,用光耦进行隔离。因此,可选用MOC3062 光电耦合器和双向可控硅实现对被控对象的控制。图3 中元件7406 的作用是加强驱动能力,因为单片机的口线不能直接驱动光电耦合器(当然加强驱动也可以采用其他方法,用7406 不是唯一的选择)。图中R1 为限流电阻,使输入的LED 电流为:10mA (MOC3062),R1 可按式计算:

图3 控制电路图

式中:VF 是红外发光二极管的正向电压,一般取1.2~1.4V;IFT 是红外发光二极管的触发电流,可以查表选取,如表2,如果工作温度在25℃以下时,IFT 应该进行适当的增加。

表2 红外发光二极管极限参数

R2 为双向可控硅的门极电阻,当可控硅灵敏度较高的时候,门极电阻也比较高,并上电阻R2 可以提高抗干扰的能力[2]。

R3 为触发功率双向可控硅的限流电阻,该电阻的值由交流电网电压峰值和触发器输出端允许重复冲击电流峰值决定,可按下式的到:

式中:VP:交流电路中的峰值电压;ITSM :峰值重复浪涌电流(一般取1A),此外39Ω 的电阻和0.01μF 的电容组成浪涌吸收电路,防止浪涌电压损害双向可控硅。图中的电阻R2 和R3 的阻值可以选择300Ω。

电路如图3 所示。

1.9 键盘/显示器/超限报警电路设计

①系统中键盘的功能主要用于工作人员输入和更改设定的温度值,本课题设计16 个常规按键和1 个复位按键,其中0~9 数字键用于输入和修改温度,功能键F1 号键,设置温度值,用于进入设定温度状态,F2 号键为确认设置温度,F3 键为清除键,便于用户设定错误温度或错按其他键使用,其他键尚未定义,需要用时再根据需求设置,键盘采用行列式计算,16 个按键排成4×4 矩阵,设计中用单片机的P2 口的P2.0~P2.3 接键盘的4 根行线,P2.4~P2.7 接4 根列线。如图4 所示。

表3 段码与字节中各位对应关系

表4 8段LED段码

图4 键盘接口电路

②通常的LED 显示器为8 段(8 段比7 段多了一个小数点“dp”段),每段对应着一个发光二极管,这种显示器分为共阳极和共阴极2 种,如图5 所示。共阴极LED 显示器的发光二极管的阴极连接在一起,一般此公共阴极接地,当某个发光二极管的阳极为高电平的时候,此时发光二极管点亮,显示相应的段,同样的,共阳极LED 显示器的发光二极管的阴极连接在一起,一般此公共阳极接正电压,当某个发光二极管的阴极接低电平的时候,此时点亮发光二极管,显示相应的段。

图5 8 段LED 结构及外形

由于本课题所需显示位数相对较多,同时也为了节约单片机的端口资源占用量,因此可采用串口动态扫描的LED显示电路,图中利用串行口扩展74HC595A 移位寄存器显示时,在移位脉冲的控制下,首先通过P3.0 将位码送移位寄存器U2,再将段码送入U2,而原来U2 中的位码逐位移入到U3 里,最后在锁存脉冲的控制下,将位码和段码并行送到LED 接口,经过延时后,再相应移入下一个位码和段码,以此类推。这样在任何一个时刻都只有一位LED 在亮,即动态扫描显示如图6 所示。

③当被控对象的温度高于我们所设定的温度上限值或低于我们所设定的温度下限值的时候,则报警指示灯会亮,喇叭就会响起[3],如图7 所示。

2 软件设计

2.1 主程序设计

在主程序中首先输入按键值,接着通过循环显示当前温度值,等待中断命令,而且让键盘外部中断作为高优先级,为了让主程序可以实现实时响应键盘。当软件设置定时器T0为5s 定时的时候,在没有按键按下的时候,应该每隔5s 就要响应一次,目的是采集温度传感器并经A/D 转换的温度信号。设置定时器T1 作为放置在T0 中的定时中断,初值通过PID 来给出,用于对温度的控制。主要流程如图8 所示。

图8 主程序流程图

2.2 PID 控制子程序设计

PID 控制算法。PID 控制的应用非常普遍,主要有控制理论简单、便捷,实用性很强,它的控制品质因数对被控对象的变化来说不太敏感等特点,当我们不需要很高的控制精度和控制速度的时候,它具有相对较高的性价比。

算法主要有2 种,分别是位置式PID 控制算法和增量式PID 控制算法。其中位置式PID算法的缺点在于:①当前采样值与过去的各个状态都有关系,在计算的时候要对e(k)进行累加处理,导致运算量很大;②控制器的输出u(k)对应的是执行机构的位置,如果我们的计算机发生任何问题的时候,u(k)的变动都会导致执行机构位置发生巨大变化。综合考虑,本课题采用增量式算法[4],其框图如图9 所示。

图9 PID 控制算法框图

PID 控制给出设定值与当前实际值的偏差e(t),按照比例、积分与微分的方式组合,得输出量u(t)作用在被控对象上,如图10 所示。

图10 PID 控制模式方框图

所以连续系统中PID 控制器的传递函数如下:

PID 控制规律为:

其中,KP为比例系数,Ti为积分时间常数,为Td微分时间常数,e(t) 为PID 控制器的输入量,u(t) 为输出量。

单片机是利用程序设计的方式实现控制算法,因此需要我们对它进行离散化处理,转变成数字式PID 控制器。当采样周期远远小于信号变化周期的时候,该算法可以通过式(2)近似得出:

式中T 是采样周期,k 是采样序号,将式(3)带入式(2)中,有:

为了方便单片机进行程序编写将式(4)变为:

式中,e(k)为数字PID 控制器的输入;u(k)为第k 个采样值的时候数字PID 控制器输出。数字PID 由数字PID控制器的增量值递增。该算法是增量数字PID 控制算法,如式(6)所示。

其具体流程如图11 所示。

图11 PID 算法程序流程图

2.3 非线性软件补偿

在实际中,传感器的输出特性是非线性的,这将会影响我们的检测精度。因此,我们可以进行非线性补偿,主要有软件方法和硬件方法,二者相比较下,软件方法显得很灵活,无须额外搭建硬件电路,从而可以节约成本,故生活中我们都常常选择使用软件补偿。本课题选择使用计算方法中的代数插值法,该方法需要根据传感器的标定数据建立插值多项式。

设传感器的输入信号为y,输出信号为x,两者的关系是y=f(x)。利用标定可以获取对应于n+1个不同输出值的传感器输入值yi=f(xi)。想办法用一个多项式Pn(x)去逼近f(x),并且使Pn(xi)=f(xi),那么Pn(x)就叫做f(x) 的插值多项式,xi叫做插值节点。在实际运用的时候,Pn(x)的阶数n要依据精度来确定。但是,精度太高,n值愈大,计算起来也就越复杂。如果f(x) 几乎为线性,那我们就可以用一次多项式逼近,即n=1,此时多项式变为P1(x)=a1x+a0;如果f(x) 类似于抛物线,那我们就可以用二次多项式逼近,即n=2,此时多项式变为P2(x)=a2x2+a1x+a0。

使用多项式插值法,就好比在传感器的2 个相邻点(xi,yi)和 (xi+1,yi+1)间用直线P1(x)连接,在区间 [xi,xi+1]内用P1(x) 替代f(x) 来计算y。如果我们有n+1 标定点,那么可以划定n+1 个区间,各个区间上插值多项式为:

在用线性插值法补偿的时候,要先按照式(8)算出系数a1i,a0i,再做成表格,写入程序。程序运行时,首先确定该间隔的采样值,然后根据间隔删除相应的系数式(7)便可以得到对应于x的被测量y。

2.4 中断子程序设计

(1)T1 中断子程序。这一终端是5s 定时中断,是低优先级,但是它的重要性很高,在中断响应过程中,SCM完成的工作有:数据采集及A/D 转换、要确定线,非,显示当前温度值,和默认设置值比较、调用PID 算法子程序并且给出控制信号。

(2)T0 中断子程序。T0 定时中断嵌套在T1 中断内,作为高优先级中断,T0 的定时初值由PID 控制算法子程序给出,T0 的中断响应时间用来输出对温度控制的信号。流程如图12 所示。

图12 中断程序流程图

2.5 键盘子程序设计

本文所用的是行列式键盘接口,使用的是线反转法,依次给列线置低电平,再检查线的状态,如果不全为高电平,则所按下的键一定在此列,即与低电平相交的行线上交点的那个键,因此,对按键位置的判断显而易见,无需进行扫描,响应速度大幅度提高,而键盘中断程序作为高优先级的功能控制键,系统应定时准备响应该中断,在该中断响应的过程中,系统需要显示前一次的温度设定值。流程如图13 所示。

图13 键盘程序流程图

2.6 显示子程序设计

在89C51 内部RAM 中设置4 个显示缓冲单元79H~7CH,如表5 所示,分别存放显示器将要显示的4 位数据,设初值为01H,左移得到。逐位交替点亮各个LED,每位保持1ms,在10~20ms 之内再点亮一次。利用人的视觉效果,似乎4 位LED 同时都被点亮一样,具体流程如图14 所示。

表5

图14 显示子程序流程图

3 总结

本文所介绍的核心件单片机AT89C51,通用性好集成度高消耗低,在我国目前的8 位单片机应用中占有很大的市场比重,应用十分广泛。而考虑到本设计应用的工作环境,所选择的温度测量元件则是热电偶传感器,在高温测量中最常用的。

在未来的工业生产领域里,利用单片机实现对温度的测控是一种发展趋势,它能很好地服务于我们的产品生产,实时对温度进行检测,优化我们的生活,是一种不错的测控系统,很值得在工业生产的各个领域大力推广。

猜你喜欢
热电偶控制算法二极管
一种热电偶在燃烧室出口温度场的测量应用
热电偶时间常数检测分拣系统设计
基于ARM+FPGA的模块化同步控制算法研究
二极管及其典型应用电路仿真测试
一种优化的基于ARM Cortex-M3电池组均衡控制算法应用
Diodes超速开关二极管提供超低漏电流
PIN二极管限幅器的电磁脉冲损伤特性试验
有机发光二极管中三重态激子的单重态转换
一种非圆旋转工件支撑装置控制算法
刍议热电偶测温原理和应用