浅析单片机在温度测控方面的应用
摘 要: 本文将介绍一种基于AT89C52 和 AT89C2051 双 MCU 的注塑成型温度测控系统, 及其硬、软件的设计方法和系统的原理框图等。
关键词:单片机;温度测控;控制系统
温度测控在工业领域具有广泛的应用,随着传感器技术、微电子技术、单片机技术的不断发展, 为智能温度测控系统测控功能的完善、测控精度的提高和抗干扰能力的增强等提供了条件。由于单片机具有集成度高、功能强、体积小、价格低、抗干扰能力等优于一般 CPU 的优点,因此,在要求较高的控制精度和较低成本的工业测控系统中,往往采用单片机作为数字控制器取代模拟控制器。
1、控制系统原理
控制系统由硬件和软件两部分组成。其中硬件部分主要由信号采集与放大电路、温度补偿电路、A/D 转换电路、单片机电路几部分组成 。 软件包括单片机AT89C52 程序设计、单片机AT89C52 与AT89C2051 通信程序设计、单片机 AT89C2051 程序设计三个主要模块组成。
2、控制系统硬件设计
2.1信号采集与放大电路
采用 K 型热电偶获得现场的实际温度,温度采样范围为 0-400℃, 相应地转换的电压信号范围为 0—20mv。因为系统要控制 8 路工业电炉, 所以就要对 8 路温度进行检测采样和控制, 这里采用 CD4051 实现八选一通道选择。电压信号放大采用低零漂移的运算放大器 OP07, 差分双端输入, 可以有效地抑制共模干扰。
从热电偶获得的最大有效电压为 20mv, 而 ICL7135 满量程时的电压为 2V, 所以放大电路的放大倍数为 100, 该放大电路由运放 U4、U5 组成第一级差分武电路, U6 组成第二级差分式电路, 根据这一放大倍数来取电阻的阻值, 该放大电路的放大倍数可由下式计算:
Av=A1A2=(1+2R96/R95) (- R89/R98), 要保证 Av=-100, 取 R89=20K, 取 R98=20K。取 R96=20K, R95 为一电位器, 其取值范围之为 0-500。所以只要调节电位器 R95, 就可以满足要求。
2.2温度补偿电路
热电偶分度表是在冷端温度为 0℃时测定的, 热电偶在实际测量中, 当冷端的温度不是 0℃时, 就不能直接利用分度表得知温度值, 因此必须对热电偶冷端进行温度补偿修正。热电偶测温电路中要有冷端温度补偿电路、冷端补偿方法较多, 这里采用冷端温度补偿器来实现温度补偿。该补偿电路的工作原理是热电偶产生的电势经滤波放大后有一定的灵敏度, 采用温敏二极管组成的测量电桥的输出经放大器放大后也有相同的灵敏度。将这两个放大后的信号再通过增益为 1 的运算放大器相加, 则可以自动补偿冷端温度变化引起的误差。
2.3A/D 转换电路
因温度是一个缓慢变化的过程, 对采样速率要求不高,为提高抗干扰能力,采用双积分 A/D 转换器。
本文采用 MAXIM 公司的 ICL7135,MC1403 芯片为 ICL7135 提供基准电压。通常情况下, 设计者都是用单片机来并行采集 ICL7135 的数据, 在这里, 作者采用单片机对 ICL7135 进行串行数据采集, 利用该方式具有结构简单、占用单片- 机资源少等特点。
在 ICL7135 与单片机系统进行连接时,如果使用 ICL7135 的并行采集方式, 则不但要连接 BCD 码数据输出线, 又要连接 BCD 码数据的位驱动信号输出端, 这样至少需要 9 根 I/0 口线, 因此, 系统的连接比较复杂, ICL7135 的串行接法是通过计脉冲数的方法来获得测量转换结果的, 可以通过单片机的定时器 TO 或 Tl 来作计数脉冲器, 定时器 TO 所用的 CLK 频率是系统晶振频率的 1/12, 因此可利用单片机的ALE 信号经 74LS74 分频后作为 ICL7135 的脉冲(CLK) 输入, 便可得到定时器 TO 所使用的频率与单片机系统晶振频率的关系, 以及ICL7135 所需频率输入与单片机系统晶振频率的关系。为使定时器TO 计数脉冲与 ICL7135 工作所需的脉冲同步, 可以将 ICL7135 的BUSY 信号接至 AT89C52 的 P3.2(INTO) 引脚上, 此时定时器 TO 是否工作将受 BUSY 信号的控制, 并且将定时器 TO 的选通控制信号GATE 位置 1。ICL7135 的输入电压与 TO 计数脉冲成线性关系,ICL7135 满量程时对应的有效计数脉冲为 20000, 可以得以下公式:
fIN=VIN/VMAX*20000=VIN/VR*1000, 式中: fIN 为对应输入电压VIN 的计数脉冲, VMAX, VR 分别为 ICL7135 的最大工作电压和基准电压, 且有 VMAX=2VR, VR 工作时事先通过 MC1403 输出端电位器调好。
只要 VR 非常准确, 且准确测量出 VIN, 因 ICL7135 和 AT89C52的精确度都非常高, 故得到的 fIN 也可达到很高的精度。
2.4CPU 电路
之所以要用 AT89C52 和 AT89C2051 两个单片机, 主要是考虑到 AT89C52 要实现的功能比较多, 负荷较重, 且其片内 RAM 空间已全部分配完所以采用 AT89C52 作为系统的核心控制芯片, 用 AT89C52 用于产生 PWM波形去控制固态继电器的导通与截止。
3、控制系统的软件设计
3.1单片机 AT89C52 程序设计
包括主程序设计和中断采样程序设计, 要对 8 路温度进行循环采集, 通过定时器 T2 每隔 1s 定时对 8路温度进行顺序采集, 这就要对通道选择, 这可通过 AT89C52 的P2.0、P2.1、P2.2 对多路开关 CD4051 的地址引脚 A0、Al、A2 进行控制而实现在采样中断子程序中, 要对看门狗计数器清零, 这可通过AT89C52 的 Pl.1 来控制 MAX813L 的 WD1 引脚实现,每次进人中断采样时, 给 MAX813L 的 WD1 引脚一个脉冲, 从而对其内部计数器清零。获得采样数据后, 要进行处理, 加热模式判别, 与 AT89C2051 进行通信, 将获得的控制量传送给 AT89C2051 以实现PWM波形的生成, 偏差和偏差变化率存取计算。
3.2单片机 AT89C2051 程序设计
利用 AT89C2051 来完成 PWM波形的发生AT89C52 只需将经运算后得到的控制量送 给AT89C2051,这样, AT89C52 的负荷就减轻了,有利于提高整个系统的工作性能。而 AT89C2051 只管 PWM波形的发生, 有利于提高控制精度, 获得较好的实时性,且电路结构相当简单,八路输出, 只需要一片AT89C2051,和一个简单的驱动电路。其工作过程也十分简单:AT89C2051 经软件算法后获得 PWM波形,八路输出采用循环输出,因每路数据的更新时间非常短,不会影响控制的实时性,然后通过驱动电路驱动后去控制固态继电器的闭合时间。
参考文献:
[1]孙涵芳.Intel16 位单片机[M].北京:北京航空航天大学出版社.
上一篇:探索“云计算”在高职院校的应用