微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 利用单片机实现多路温度测量

利用单片机实现多路温度测量

时间:11-29 来源:互联网 点击:
  引言

在孵化设备的科研过程中,常常用多路温度测试仪来对孵化机器内部的温度场进行测量,而我们以前用的多路温度测试仪是用两片16选1的模拟开关来完成对32路温度的测量, 温度的采样时间受模拟开关开通关断时间的限制,开关信号对温度采样也造成了一定的干扰。在实际使用过程中还常受到温度采样路数(如8路、20路、64路、70路,128路等)的限制,为能更灵活的应用该多路温度测试仪,我们采用了主从机RS-485通讯的模式来完成多路温度的测量。每个从机采样8路温度并作为一个模块,每个从机有独立的地址,这样我们就可以在主机通讯负载能力范围内灵活的配置从机模块的数量,并且能提高温度采集的及时性和准确性,为科研实验提供便利工具。

硬件设计

总线式主从机结构框图如图1。

主机我们采用Atmel公司的高性能8位处理器ATMEG128L-8AI,该芯片具有128k的ISP-FLASH、4k的EEPROM、4k的SRAM,该芯片容量大、可重复在系统编程、指令丰富并且执行速度快。

主机主要完成以下功能:从机地址识别、与从机的通讯、实时温度显示、按键处理、温度软校准以及从机扩张选择,主机功能框图如图2。实时温度显示采用19264单色点阵液晶,该液晶没有背光时仍能正常查看,只是为了在夜间查看,我们增加了液晶背光功能。温度软校准功能是为了保证多路温度测量的准确性,消除系统误差。在实际测量过程中,很难保证用来测量的不同的温度探头的一致性,电路结构、探头线长度、以及每个温度传感元件本身的不一致性都最终影响温度测量的准确性。为了方便校准,我们可利用软件对单个温度探头或全部温度探头进行软件校准。这样尽量减小各个温度探头的不一致而带来的测量差值。为保证主机的可靠工作,在电路中还增加了处理器监控芯片MAX706,用来监控电源电压和系统是否正常工作,否则发出复位信号使系统恢复正常。从机扩展功能主要是用来选择从机模块的数量,如果从机数量为1,则在该功能选项中选择“1路采样模块”,依次类推,考虑到实际应用过程中对温度探头数量的要求,本系统中最大的从机模块配置数量为8,也就是最多可以测量64路温度信号。

  主机的按键是行列线组成的2输入4输出结构形式,采用定时扫描,利用MCU内部的定时器产生10ms定时中断,CPU响应中断时对键盘进行扫描,并在有键按下时识别出该键并执行相应的键功能程序。

从机采用Atmel公司的ATMEG16L-8AI作为处理器,该芯片具有16k的ISP-FLASH、512B的EEPROM、1k的SRAM,该芯片同样可以在系统编程,该芯片具有8路10位A/D转换器,当采样的基准电压为5V时,系统的采样精度可达到5毫伏每字,即基准电压变化5毫伏,采样的数字量变化1个字。

从机模块主要完成8路温度采样、与主机的通讯、硬件地址编码,从机功能框图如图3。每个从机模块有个地址编码跳线器,由硬件完成对该模块的地址编码。这样在扩张时,将每个模块的地址唯一确定,不会由于通讯地址的重复造成通讯的不成功。我们采用的RS-485芯片最多可以负载32个从机模块,RS-485芯片采用Maxim公司的MAX483CPA。不同的RS-485芯片,其负载能力不同,有的RS-485芯片如MAX487可以带120个负载,MAX1487能够将负载数量扩大到230个。

RS-485串行通讯

在工程实践当中,多点数据采集系统的网络拓扑一般采用总线方式,传送数据采用主从机结构的方法。

RS-485采用平衡发送和差分接收方式来实现通信:在发送端TXD将串行口的TTL电平信号转换成差分信号A、B两路输出,经传输后在接收端将差分信号还原成TTL电平信号。两条传输线通常使用双绞线,又是差分传输,因此有极强的抗共模干扰的能力,接收灵敏度也相当高。同时,最大传输速率和最大传输距离也大大提高。如果以10kb/s速率传输数据时传输距离可达12m,而用100kb/s时传输距离可达1.2km。如果降低波特率,传输距离还可进一步提高。本系统的波特率设置为2400b/s。

图1就是用RS-485构成的总线型网络系统,采用主从方式进行多机通信。主机采用8位微处理器ATMEG128L,从机采用ATMEG16L。每个从机通过地址编码拥有自己固定的地址,由主机控制完成网上的每一次通信。图4是MAX485和微处理器的接口电路,A、B为RS-485总线接口,D是发送端,R为接收端,分别与单片机串行口的TXD、RXD连接,由于采用半双工通讯,所以还有收发控制端,MAX485的RE、DE为收发使能端,由微处理器的 PE4(主机)、PC5(从机)口作为收发控制。该控制口高电平时,MAX485处于发送状态,将微处理器TXD处的数据经A、B差分送出到RS-485的总线上;当该控制口为低电平时,MAX485处于接受

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top