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

发布者:TranquilMind最新更新时间:2015-07-09 来源: eepw关键字:RS-485  温度测量 手机看文章 扫描二维码
随时随地手机看文章
  引言

  在孵化设备的科研过程中,常常用多路温度测试仪来对孵化机器内部的温度场进行测量,而我们以前用的多路温度测试仪是用两片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。[page]

  图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处于接受状态,将RS-485总线上的差分信号转换成TTL电平的信号由R端输出到微处理器的RXD端。当总线上没有信号传输时,总线处于悬浮状态,容易受干扰信号的影响。应将总线上差分信号的正端A+和+5V电源间接一个10KW电阻;正端A+和负端B-间接一个10KW电阻;负端B-和地间接一个10KW电阻,形成一个电阻网络。当总线上没有信号传输时,正端A+的电平大约为3.2V,负端B-的电平大约为1.6V,即使有干扰信号,却很难产生串行通信的起始信号0,从而增加了总线抗干扰的能力。
 

  本系统对RS-485串行通讯的应用电路中,在A和B端预留了上拉电阻、和AB之间的匹配电阻,但实际使用过程中,由于通讯距离很短(10m以内),所以匹配电阻并没有焊上,而是在MAX485和微处理器的TXD和RXD接口处增加了两个10KΩ的上拉电阻。用示波器测量其通讯信号波形时,发现R2、R3两个上拉电阻接上后,通讯数据的波形得到了明显的改善,通讯成功率大大提高。

  RS-485通讯需要严格遵循通讯协议,否则通讯是不会建立起来的。尤其是在主从机采用不同的处理器时,软件处理一定的仔细查看其说明文件,不能一视同仁。在本电路的实验过程中,就发现一个波特率设置的问题。波特率的设置公式如下:

  BAUD= Fosc/16(UBRR+1)

  其中BAUD为通讯速率,Fosc为系统时钟频率,UBRR为波特率寄存器UBRRH、UBRRL中的值(0~4095)。

  波特率的设置公式中用到了微处理器的系统时钟频率Fosc,我们的主从机虽然都使用了外部4M晶振,但主机内部将4M频率三分频,而从机仍然使用4M主频,软件编写过程中,将主从机的波特率寄存器初始化值置为一样的,这样就造成了主从机的波特率相差2倍,通讯当然是不能成功的。

  为了保证通讯成功,开始时所有从机复位,即处于监听状态,等待主机的呼叫。当主机向网上发出某一从机的地址时,所有从机接收到该地址并与自己的地址相比较。如果相符,说明主机在呼叫自己,应发回应答信号,表示准备好开始接收后面的命令和数据;否则不予理睬,继续监听呼叫地址。主机收到从机的应答后,则开始一次通信。通信完毕,从机继续处于监听状态,等待呼叫。由于发送和接收共用同一总线。在任意时刻只允许一台单机处于发送状态。因此要求应答的单机必须在侦听到总线上呼叫信号已经发送完毕,并且没有其它单机发出应答信号的情况下,才能应答。接受状态和发送状态的转换是通过方向口高低电平的变化来完成的。

  温度采集和显示

  从机模块完成的主要功能是8路温度模拟信号的采集和向主机正确的发送这8个采样温度,本系统中采用温度传感器为AD590。AD590是一个电流型集成温度传感器,其输出电流正比于绝对温度,当温度为273开氏度时,其输出电流为273微安。温度每变化1K(也可以理解为1℃),输出电流变化1微安。将电流信号经运算放大器后输出0~5V(参考电压为5V)的电压信号,经过ATMEG16L的10位A/D转换后变为数字信号存放在从机的缓存区。当主机发出与该从机相应的地址信号后,从机应应答并将采样后的数据经RS-485总线送给主机并显示在液晶屏幕上。
 

  从机通过自己的A/D口直接进行模拟量采集比利用多路模拟开关来采集数据要方便的多,为使采样的温度数据更接近实际值,我们在软件上增加了一些处理措施,如求多次采样的平均值、中值滤波等。

  为消除一些人为造成的误差,我们在该主从机中使用了一个开关电源,这样开关电源电压的波动对所有温度探头的影响是一致的。另外,所有的温度探头线的长度都保持一致。温度探头线和主从机的通讯线都必须使用屏蔽双绞电缆,并将屏蔽电缆进行良好接地。特别是在RS-485串行通讯中,主从机必须共地,否则严重时会有共模干扰,导致数据传输出错。

  在实际的使用过程中,为保证数据采集的可靠性,还必须对每个温度探头进行校准,一般情况下,我们将32个或64个温度探头尽量放在一起,并将其统一放在一个温度比较稳定的老化实验箱中,稳定2个小时后,在同一点将所有的探头校准,并做升温处理观察在升温后各个温度点的探头测量值是否保持一致。否则应在高温段再校准并做降温过程的跟踪观察。

  结语

  本文介绍了主从机用RS-485串行总线,完成对多路温度信号的测量。特别介绍了RS-485通讯电路在实际使用中的一些措施 。孵化设备多路温度测试仪器正是采用了这些措施,使得测试过程中通讯稳定,测量路数配置灵活,测量数据稳定可靠。

  参考文献:

  [1] 马潮. 高档8位单片机ATMEG128原理与开发应用指南[M]. 北京:北京航空航天大学出版社, 2004

  [2] MAX483 Datasheet. Maxim, 2009

  [3] ATMEG128L、ATMEG16L Datasheet. Maxim, 2009

  [4] 耿德根, 宋建国, 马潮等. AVR高速嵌入式单片机原理与应用[M]. 北京:北京航空航天大学出版社, 2004

  [5] 陈斌. 单片机RS-485多机通讯技术[J]. 电子产品世界, 2005(7)

关键字:RS-485  温度测量 引用地址:利用单片机实现多路温度测量

上一篇:基于单片机的温度水位远程测控系统
下一篇:avr单片机+12864液晶动画显示

推荐阅读最新更新时间:2024-03-16 14:24

串口、COM口、TTL、RS-232、RS-485区别详解
1、串口、COM口是指的物理接口形式(硬件)。而TTL、RS-232、RS-485是指的电平标准(电信号)。 2、接设备的时候,一般只接GND RX TX。不会接Vcc或者+3.3v的电源线,避免与目标设备上的供电冲突。 3、PL2303、CP2102芯片是 USB 转 TTL串口 的芯片,用USB来扩展串口(TTL电平)。 4、MAX232芯片是 TTL电平与RS232电平的专用双向转换芯片,可以TTL转RS-232,也可以RS-232转TTL。 5、TTL标准是低电平为0,高电平为1(+5V电平)。RS-232标准是正电平为0,负电平为1(±15V电平)。 6、RS-485与RS-232类似,但是采用差分信号负逻
[嵌入式]
工业远距离用RS-232至RS-485转换器
  要求远距离或者在多个RS-232应用之间实现RS-232数据传输的一些工业用数据链路,通常都使用RS-232到RS-485转换器。尽管存在高达±13V的高信号摆幅,但RS-232仍然是一种非平衡或单端接口,而且本身极易受噪声影响。它的总线最大长度被限定在20米(60英尺)左右。尽管允许进行全双工数据传输(通过一些单独的信号导线同时发送和接收数据),但是RS-232并不支持在同一条总线上连接多个节点。   与之形成鲜明对比的是,RS-485是一种使用差分信号传输的平衡接口,从而让其拥有较高的共模噪声抗扰性。因此,延长RS-232数据链路传输距离和实现多总线节点连接,要求通过接口转换器将其转换为RS-485信号(参见图1)。
[嵌入式]
工业电机控制系统方案
这篇工业电机控制概述着重介绍了直流电机、无刷直流电机、交流感应电机的差异及其子系统,深入分析了电流监测与测量、温度检测子系统、电机速度、位置、位移检测系统、多通道电流和电压监测与控制以及带有编码器数据接口的高精度电机控制子系统。 电机消耗的能量几乎占全球电力的50%.随着能源成本的持续上涨,业内开始采用微处理器调速驱动器替代效率低下的固定速率电机和驱动器,这种新型电机控制技术与传统驱动器相比,能够使能耗平均降低30%以上。虽然调速电机提高了系统本身的成本,但是,考虑到电机能够节省的能量以及所增加的功能,只需短短几年即可挽回最初的投资成本。 图1 通用电机设计 直流电机、无刷直流和交流感应电机是当今工业应用设计中最常见的电机。尽管
[嵌入式]
基于DS18B20的温度测量和显示系统设计与仿真
0 引言     传统的温度检测大多以热敏电阻为温度传感器,而热敏电阻的可靠性差,测量温度准确率低,且必须转换为数字信号后才能由单片机进行处理,在高精度要求的温度检测应用中,热敏电阻已经被精度高、准确性好的集成温度采集设备所代替。DS18B20是美国DALLAS半导体公司推出的一种改进型数字温度传感器。它在温度精度、转换时间、传输距离、分辨率等方面有很大改进,因而被广泛应用于温度采集与处理、数字温度计及各种温控系统中。本文采用DS18B20设计的温度测量与显示系统,可以实时测量并显示的温度范围为-55~125℃。系统可设置温度上限和温度下限,当测量温度高于上限或者低于下限温度时,系统将发出报警。 1 温度传感器DS18B20  
[单片机]
基于DS18B20的<font color='red'>温度测量</font>和显示系统设计与仿真
温度测量DSB1820 lcd1602液晶显示
程序中要用到LCD1602display.h头文件 可以在我的另一篇文章中取得: http://www.51hei.com/mcu/3292.html 为同一个文件 #include reg52.h #include intrins.h #include LCD1602display.h sbit DQ=P2^0; //ds18b20 uint wendu=0; uchar num,num1; uint temperature=0; uchar code range = ===TEMPERTURE=== ; uchar code ASCII = 0123456789. ; uchar code table0 = ROME TE
[单片机]
RS-232,RS-485总线标准
      在数据通信,计算机网络以及分布式工业控制系统当中,经常需要使用串行通信来实现数据交换。目前,有RS-232,RS-485,RS-422几种接口标准用于串行通信。RS-232是最早的串行接口标准,在短距离( 15M),较低波特率串行通信当中得到了广泛应用。其后针对RS-232接口标准的通信距离短,波特率比较低的状况,在RS-232接口标准的基础上又提出了RS-422接口标准,RS-485接口标准来克服这些缺陷。下面详细介绍RS-232,RS-422,RS-485接口标准。   RS-232串口标准是种在低速率串行通讯种增加通讯距离的单端标准。RS-232采取不平衡传输方式,即单端通讯。其收发端的数据信号都是相对于地信号的。
[嵌入式]
DS18B20构成的多点温度测量系统
引 言 在传统的温度测量系统设计中,往往采用模拟技术进行设计,这样就不可避免地遇到诸如引线误差补偿、多点测量中的切换误差和信号调理电路的误差等问题;而其中某一环节处理不当,就可能造成整个系统性能的下降。随着现代科学技术的飞速发展,特别是大规模集成电路设计技术的发展,微型化、集成化、数字化正成为传感器发展的一个重要方向「1」。美国Dallas半导体公司推出的数字温度传感器DSl8820,具有独特的单总线接口,仅需要占用一个通用I/O端口即可完成与微处理器的通信;在-10~+85℃温度范围内具有±0.5℃精度;用户可编程设定9~12位的分辨率。以上特性使得DSl8820非常适用于构建高精度、多点温度测量系统。 1 DSl8B20简
[测试测量]
温度测量仪表的分类、特点与应用
温度测量仪表的分类、特点与应用如下: 1、PN结温度传感器利用了在一定电流条件下PN结正向压降随温度变化而变化的特性。PN结温度传感器的特点是体积小、响应快、线性好。分立元件型PN结温度传感器的互换性和稳定性不够理想。将感温晶体管与放大、补偿等外围电路集成封装成的集成温度传感器实现了测温传感器小型化,克服了分立型PN结温度传感器互换性、稳定性不理想的缺点,使用方便,已经广泛用于温度测量、控制、补偿等方面。由于受PN结耐热能力的限制,只能测量-50~150℃范围内的温度。 PN结温度传感器使用时要注意以下问题: (1)控制工作电流,减小PN结自热温升对测量的影响。 (2)恒电流下工作,保证传感器的线性。 2、红外温度传感器
[测试测量]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved