多通道无线温度测量系统的设计

发布时间:2010-3-30 14:16    发布者:我芯依旧
关键词: 设计 , 通道 , 温度测量 , 无线 , 系统
引言

温度是工业生产巾常见的工艺参数之一,而且在许多的工程项目中温度指标也是不可或缺的重要参数。因此,准确、方便地获取温度就显得尤为重要。传统的温度检测以热敏电阻为温度敏感元件,虽然其成本比较低,但可靠性以及准确度相对较差,而数字式温度传感器DS18B20的精确度远远优于热敏电阻。通常在工程项目中可能要测量多点的温度值,这就需要铺设大量的电缆,而且如果现场环境恶劣就会带来很大的难题。因此,采用无线测温方案就很好地解决了这个问题。

1 系统总体概述

随着微机电系统、片上系统、无线通信和低功耗嵌入式技术的l飞速发展而孕育出的无线传感器网络(Wireless Sensor Network)以其低功耗、低成本、分布式和自组织的特点深入到了广阔的应用领域。本文介绍的多通道尤线温度测量系统设计则是WSN的一个典型应用。该系统就是南部署在监测区域内的多个微型传感器节点和远程主机组成,通过无线通信方式形成了一个自组织网络系统,其同的是协作感知、采集和处理网络覆盖区域中的温度信息,并发送给远程主机。系统总体结构如图1所示。

1.gif
图1系统总体结构网

2 硬件结构设计

传感器节点作为传感器网络的基本单元,在单片机的控制下完成对各个监测点温度的采集,然后通过无线发送模块PTR8000将温度值传输到连接在远程主机上的尤线接收模块PTR8000,最后传送到主机上。

2.1 MCU微控制单元PICl6F877A

MCU微控制单元采用美同Mierochip公司的PIC16F877A。PIC系列单片机采用独特的哈佛总线结构和RISC精简指令技术,简单合理地提高了运算的速度。功耗低也是PIC系列单片机的一大特点,在工作模式下耗电仅为几毫安,睡眠模式下甚至可低到儿微安。除此之外,PIC系列单片机I/O端口驱动负载能力较强,每个输出引脚可驱动20—25mA的负载,一般端口总驱动能力约60-70mA。

PICl6F877A单片机具有4K的FIash程序存储器,192字节片内数据存储器RAM,128字节的EEPROM,14种中断源,8级硬件堆栈。片内集成同步串口SSP及USART;自带看门狗定时器,省去了外接硬件电路,最大程度地节省了系统资源。

2.2单总线数字式温度传感器DS18B20

常用的温度检测元件主要有热电偶、热敏电阻、热电阻Ptl00等。热电偶式传感器体积较大H变化率小导致灵敏度比较低;热敏电瞰i测量的稳定性和复现性差,且变化率非线性;热电阻Ptl00的缺点就是热响应比较慢,成本高。本系统采用的DALLAR半导体公司推出的单总线数字式智能温度传感器DS18B20很好地改善了这些问题。

DSl8B20的测温范围从-55℃至+125℃,并通过简单的编程实现9—12位的数字值读数方式,可以分别在93.75ms和750ms内完成温度值转换和读取。DSl8820外形简单且体积小,它只有三只管脚,分别是电源引脚Vdd、接地引脚GND和单线数据输入/输出引脚DQ,仅通过单线接口DQ就可以完成与单片机的信息交流,所以需要有严格的时隙慨念。每一个DSl8B20的内部都有唯一的64位序列号,单片机通过读取序列号来识别每个器件,因此多个DSl8B20可以挂接在同一条总线上,这就允许在不同的地方设置测温节点。

2.3允线收发模块PTR8000

PTR8000以挪威Nordic公司的Nr905芯片为核心的无线收发模块,采用超小体积设计,其待机功耗仪为2uA。而且内置环行天线,性能稳定不易受外界影响。它的最大发射功率可达+ lOdBm.采用的是高抗干扰GFSK调制。PTR8000内置完整的通信协议和CRC,只需通过SPI即可完成所有的无线收发传输,使用方便可靠。

由于PTR8000的工作电压为3V左右,而PIC16F877A的供电和逻辑电平均为5V,所以PTR8000与单片机连接时,需要进行电平转换。本系统选用74LVC16245A,它是TI公司的一种16位双向总线收发器,能够接收高达5.5V的高电平,而输出的高电平能够达到3.3V左右。硬件电路如图2所示。

2.gif
图2无线模块硬件电路图

2.4 MCU与PC串口通讯

各点的温度值被发送到PTR8000接收模块之后,通过单片机与主机之间的串口通讯发送到远程主机上。由于单片机的串行通信采用的是TTL电平,而电脑标准串行接口的电平范围是-15V至+15V。所以采用MAX232芯片进行电平转换。其接口电路如图3所示。

3.gif
图3 MCU与PC串行通讯电路图

3 系统软件设计

3.1上位机软件设计

系统的软件设计分为上位机vc++编程和下位机单片机汇编程序。上位机编程实现PC与单片机之间的串口通信以及各点温度值的友好界面显示。采用Visual c++中的MSComm控件完成串口通信,只需对串口进行简单地设置即可。应用程序要使用串口进行通信,必须在使用之前向系统提出资源申请要求,通信完毕后必须释放资源。主要步骤包括初始化串口、串口读写、发送数据、关闭串口。

3.2下位机软件设计

下位机包括两个荸片机。发送端单片机完成多点温度采集和温度值发送功能,接收端单片机完成温度值接收和串口通信功能。DSl8B20独特的单总线技术给硬件方面带了很大的方便,而较小的硬件开销需要相对复杂的软件进行补偿,因此对DS18B20进行读与写操作时,必须严格的保证读写顺序。另外需要注意的是,在系统安装及工作之前。主机逐个与DSl8B20挂接,以读取其序列号。然后在多点测温中,再逐一将序列号输入以确定每个DS18B20的正常工作。

为了顺利实现无线数据的发送和接收,必须通过SPI接口正确配置PTR8000的配置寄存器。上电后首先将PWR、TX_EN、TRX_CE设置为配置模式,通过SPI接口配置把工作频率、输出功率、地址宽度、有效数据宽度等初始化信息写进配置寄存器。在进行SPI编程时可直接使用PICl61F1877A自带的主控同步串行通信模块(MSSP),使其工作在SPI模式。与RF协议相关的高速信号处理部分已经嵌入至PTR8000内部,用户在使用时只需编写应用层程序就可实现发送和接收功能。发送端单片机与接收端单片机程序流程图分别如图4和图5所示。

4.gif
图4发送端单片机程序流程图

5.gif
图5接收端单片机程序流程图

4 应用中的问题分析

4.1多个DS18B20的总线驱动问题分析

系统在应用中可根据实际需要选择温度传感器的个数。但是当单总线上所挂DSl8B20超过8个时,就需要考虑微处理器的总线驱动问题。根据系统功耗和布线成本的不同情况,MCU与传感器之间有不同的接口驱动形式。第一种方法是利用PIC16F877A端口的强驱动能力,直接在总线和电源之间接4.7K的上拉电阻。第二种方法是采用分立元件三极管构成驱动电路。第三种方法是采用总线驱动芯片74LS5244,这种方法在数据读取过程中加入了缓冲,闲此读写时序参数要作调整。

4.2无线数据传输距离问题分析

PTR8000的最大发射功率为+lOdBm,在无干扰情况下开阔地域的传输距离约200米,而日.PTR8000的误码率接近零。如果在应用中误码多,传输距离近,或者容易受干扰,多数情况是硬件设计不合理或者调试不良造成的。要想进一步增加传输距离,可以在PTR8000的发射端连接一个1W的功率放大器,并为之配置匹配的天线。

5 结束语

系统采用单总线数字式温度传感器DS18B20,并将易于维护、传输数据灵活的PTR8000无线收发模块与单片机相结合,克服了设计电路复杂、稳定性和可靠性差的缺点,提高了系统抗干扰能力,适合于恶劣环境下的温度测量,而且在计算机上实现了具有界面化的多点实时温度显示,使用方便,操作灵活。

创新点:系统基于PIC系列荤片机PICl6F877A设计了一种多通道数据采集及无线通信系统,该系统功耗低,体积小,电路结构简单,传输数据误码率低。另外温度测量采用数字集成传感器,其精确度以及可靠性大大超过了模拟传感器,且简化了硬件电路。该系统应用广泛,使用方便。可以在各种复杂环境中完成测量任务,从而大大减少了人力物力。


作者:孙宁,沈湘衡    来源:《微计算机信息》(嵌入式与SOC)2009年第4-2期
本文地址:https://www.eechina.com/thread-10005-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关在线工具

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表