基于ADμC812的温度检测系统的设计
扫描二维码
随时随地手机看文章
基于ADμC812的温度检测系统的设计
介绍以自带12位A/D转换的ADμC81 2单片机为核心的多通道温度检测系统。系统电路简单,成本低,功耗小,体积小,检测效果好,具有较高的 实用价值。
关键词:单片机;软件设计;温度检测
Hangzhou 310035, China) Key words: MCU; software design; temperature examination 本系统以ADμC812单片机为处理核心,分为温度传感、信号处理(差分放大、采样保持)、系统复位、LED显示、串行数据通信、上位机控制等6个功能模块。
系统的工作原理如图1所示。传感器将温度(物理量)转化为电量(电压),然后通过差分放大模块将信号先放大再保持处理,接着将两路模拟信号(电压)送至ADμC812的P1.0、P1.1管脚进行内部A/D转换器采样得到相应的数据,最后通过芯片内部处理由LED串行显示模块将具体值显示出来并发送给上位机。 由于设计中主要用到了A/D、串行通信等模块,所以采用ADμC812作为主控制芯片,它主要担负以下3种功能:
(1)采样各通道的模拟量并进行相关运算。(2)实时数据LED显示。(3)检测通信口状态,接到通信 握手信号时与计算机进行通信。 由美国模拟器件公司推出的ADμC812单片机,其内部包含了高精度的8通道12位模数转换器(ADC),2通道12位数模转换器(DAC)以及可编程的8位(与8051单片机兼容)微控制器单元(MCU)。另外,片内有8KB闪速/电擦除程序存储器、640单元闪速/电擦除数据存储器、256个单元数据SRAM(支持可编程)。
MCU支持的功能包括看门狗定时器、电源监视器以及ADC DMA功能。为多处理器接口和I/O扩展提供了32条可编程的I/O线、与I2C兼容的串行接口、SPI串行接口和标准UART串行接口I/O。
MCU内核和模拟转换器两者均有正常、空闲以及掉电工作模式,它提供了适合于低功率应用的、灵活的电源管理方案。器件包括在工业温度范围内用3V和5V电压工作的两种规格,有52引脚、塑料四方形扁平封装形式(POTP)可供使用。 硬件设计的模块大致可以分为温度信号传感,信号的处理,采样保持,LED实时显示,单片机采样控制及与计算机之间的通信等。
温度检测电路是整个系统最基本的一个模块,它主要检测所测环境的温度和为后续电路提供处理信号。通过温度传感器铂电阻,将温度变化信号转变成相应电压变化。该电压值大小在一定的温度范围内随温度变化的函数关系近似为线性,它的变化幅度大约为0.388Ω/℃。
为了提高整个系统的性能和可靠性,把ADμC812的数字地接在一起、模拟地接在一起,然后共地,以此减小外界的干扰信号对芯片正常工作的影响。用MAX813L作为主芯片的复位之用,更好的保证系统稳定运行。图2所示的电路可以保证ADμC812在上电时正常复位,掉电时正常关闭,在非完全掉电和电源低落时也能给出正常、合适的响应。 RxD和TxD通过RS-232收发器(ADM202芯片)连接到9线D型连接器上;收发器能够产生串行接口通信所需电平,从而允许D型连接器直接与上位机串行接口相连。由于此电路中所采用的收发器是ADM202芯片,它内部没有集成ESD保护电路,所以需要外接0.1μF的电容构成外部保护电路。 在系统软件设计中,主要分为两部分:一是ADμC812的单片机程序,主要承担终端的信号采集处理,把有关数据传送至计算机,以实现计算机信息集中处理与控制;二是计算机上的上位机程序,以实现有效的协调、管理和控制各终端运行(如图4所示)。 (1)主程序框图
开机初始化(堆栈指针设置,A/D采样控制寄存器设置初始化,数据实时显示清零等),ADμC812等待上位机发送启动采集数据的命令和选择终端采集通道,一旦握手信号建立,系统便开始进入预定状态,采集外界信号;若握手不成功则通过串行口通知计算机发送命令失败。主程序的流程图如图5所示。 使用高级语言Delphi7通过调用API函数与单片机ADμC812通信。由于没有使用硬件握手联机,所以在上位机里,每1s读取一次串口缓冲区的数据;在读取数据前先发送命令给单片机,让单片机开始数据采 样,然后再发送让单片机传递数据的命令,同时计算机便开始接收,这样实现了两者之间的同步。上位机程序的流程图如图6所示。?
根据测试得到的部分实验数据如下:实验数据验证说明,本系统的设计不管在单、双通道采样控制,还是在实时处理显示精度上,都取得了理想的效果。