邮电与信息工程学院
现代测控技术综合实验 课程设计
题 目 | 无线温度采集系统设计 |
专 业 班 级 | 09测控技术及仪器01班 |
学 号 | 0941050120 |
姓 名 | 吴双优 |
指 导 教 师 | 李国平 |
学 院 名 称 | 邮电与信息工程学院 |
中文摘要
多路无线温度采集系统可被广泛应用于温度测量或相应的可转换为温度量或供电故障监控的工业、农业、环保、服务业、安全监控等工程中,例如:城市路灯故障检测和供电线路防盗监视、城市居民小区供热检测、大型仓库温度检测、工业生产测控、农业生产温度测控、环保工程、故障监控工程等。考虑到许多工业环境中对多点温度进行监控,一般需要测量几十个点以上。本文设计多路无线温度监控系统。
本设计是以Atmel公司的ATS52单片机作为控制核心,提出以DS18B20的单总线分布式温度采集与控制系统。多个温度传感节点通过单总线与单片机相连形成分布式系统。控制器通过温度传感器实时检测各节点的温度变化,并在128液晶显示屏上循环显示各节点温度的变化。通过串口将检测到的温度信息回馈到上位机(PC机),从而远程实现对整个系统的检测。
英文摘要
Many paths wireless temperature gathering system can be widely used in temperature measurement or corresponding convertible for temperature quantity or power supply fault monitoring of industrial, agricultural, environmental protection, service, safety monitoring projects, for example: the city street lamp fault detection and power supply line, urban communities to guard against theft surveillance heating detection, large warehouse temperature detection, industrial production and control, temperature measurement and control, environmental protection agricultural production engineering, fault monitoring project, etc. Given that many industrial environment of the multi-point monitor temperature, generally need to measure dozens of point above. In this paper the design and wireless temperature measurement and control system.
This design is the Atmel company ATS52 SCM as control core, offered to single bus chip DS18B20 distributed temperature gathering and control system. Multiple temperature sensor nodes connected through a single bus and single chip formed a distributed system. Controller through the temperature sensor real-time detection of each node temperature change, and in 128 the LCD screen circulation shows every node temperature changes. Through a serial port will detect temperature information feedback to the PC (PC), so as to realize the remote to the whole system detection.
总体方案设计:
1、整体结构:
系统由4个节点,控制器,上位机构成。
节点:温度传感器DS18B20,单片机MSP430F1232,无线接收模块NRF905,两个CMOS开关,1个高能电池。
控制器:液晶显示器128,单片机ATS52,有线通讯模块NRF905,电源(220V转为5V),无线通讯模块MAX232和MAX485,按键开关。
上位机:PC机(labview编程)。
2、重要元器件简介
2.1 DS18B20简介
温度芯片DS18B20是Dallas公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式。测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出。测量温度范围为 -55℃~+125℃,在-10℃~+85℃范围内,精度为±0.5℃。其工作电源既可在远端引入,也可采用寄生电源方式产生。CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。由于每一个DS18B20都有唯一系列号,因此多个DS18B20可以存在同一条单总线上。这允许许多不同地方放置温度灵敏器件。此特性的应用范围包括HAVC环境控制,建筑物、设备或机械内的温度检测,以及过程监控和控制中的温度检测等[3]。DS18B20的内部结构如图2.2.1-1所示。
图2.1-1 DS18B20方框图
DS18B20有4个主要的数据部件:
1、位激光ROM。位激光ROM从高位到低位依次为8位CRC、48位序列号和8位家族代码(28H)组成。
2、温度灵敏元件。
3、非易失性温度报警触发器TH和TL。可通过软件写入用户报警上下限值。
4、配置寄存器。配置寄存器为高速暂存存储器中的第五个字节。其中R0、R1:温度计分辨率设置位,其对应四种分辨率如下表所列,出厂时R0、R1置为缺省值:R0=1,R1=1(即12位分辨率),用户可根据需要改写配置寄存器以获得合适的分辨率。
表 2.1-1 分辨率关系表
R0 | R1 | 分辨率/bit | 最大转换时间/us |
0 | 0 | 9 | 93.75 |
0 | 1 | 10 | 187.5 |
1 | 0 | 11 | 375 |
1 | 1 | 12 | 750 |
表2.1-2 DS18B20存储器
温度LSB | 温度MSB | TH | TL | 保留 | 保留 | 计数寄存器 | 计数寄存器 | 8位CRC |
MSP430系列单片机是TI公司推出的功能强大的超低功耗16位混合信号处理器。该系列单片机以其极低的功耗、强大的处理能力、丰富的片上外围模块、方便高效的开发方式等特点,被广泛应用于便携式仪表、智能传感器、实用检测仪器、电机控制等领域。为了最大限度地利用单片机端口和片内外设并降低设计成本,本设计选用MSP430F1232,该单片机有3个并行端口,一个RS485串行通讯口,同时内置10位AD采样器,可完全满足温湿度采样的精度要求。
2.3 NRF905无线收发模块的简介:
NRF905单片无线收发器是Nordic公司推出的单片射频发射器芯片,工作电压为1.9-3.6V,32引脚QFN封装(5mm×5mm),工作于433/868/915MHz3个ISM频道。
NRF905的所有配置都通过SPI接口进行。SPI接口由5个寄存器组成,一条SPI指令用来决定进行什么操作。SPI接口只有在掉电模式和Standby模式是激活的。
2.3.1器件配置
1)状态寄存器(Status-Register) 寄存器包含数据就绪DR和地址匹配AM状态。
2)RF配置寄存器(RF-Configuration Register) 寄存器包含收发器的频率、输出功率等配置信息。
3)发送地址(TX-Address) 寄存器包含目标器件地址,字节长度由配置寄存器设置。
4)发送有效数据(TX-Payload) 寄存器包含发送的有效ShockBurst数据包数据,字节长度由配置寄存器设置。
5)接收有效数据(RX-Payload) 寄存器包含接收到的有效ShockBurst数据包数据,字节长度由配置寄存器设置。在寄存器中的有效数据由数据准备就绪DR指示。
2.3.2接口
1)模式控制接口:
该接口由 PWR 、TRX_CE、TX_EN组成控制由nRF905组成的高频头的四种工作模式:掉电和 SPI 编程模式;待机和SPI编程模式 ;发射模式;接收模式。
2)SPI接口:
SPI 接口由 CSN、SCK、MOSI以及MISO组成。在配置模式下单片机通过SPI接口配置高频头的工作参数;在发射/接收模式下单片机SPI接口发送和接收数据。
3)状态输出接口:
提供载波检测输出CD,地址匹配输出AM,数据就绪输出DR。
2.3.3外围的RF信息
1)晶体规格
为了实现晶体振荡器低功耗和快速启动时间的解决方案,推荐使用低值晶体负载电容。指定CL=12pF是可以接受的。但是,也可能增大到16pF。指定一个晶体并行相等电容,Co=1.5pF也是很好的,但这样一来会增加晶体自身成本。典型的设定晶体电容Co=1.5pF,指定Co_max=7.0pF。
2)外部参考时钟
一个外部参考时钟如MCU时钟,可以用来代替晶体震荡器。这个时钟信号应该直接连接到XC1引脚,XC2引脚为高阻态。当使用外部时钟代替晶体时钟工作时,始终必须工作在Standby模式以降低电流消耗。如果器件被设置成Standby模式而没有使用外部时钟或晶体时钟,则电流消耗最大可达1mA。
3)微处理器输出时钟
在默认情况下,微处理器提供输出时钟。在Standby模式下提供输出时钟将增加电流消耗。在Standby模式电流消耗取决于频率和外部晶体负载、输出时钟的频率和提供输出时钟的电容负载。
4)天线输出
ANT1和ANT2输出脚给天线提供稳定的RF输出。这两个脚必须有连接到VDD_PA的直流通路,通过RF扼流圈,或者通过天线双极的中心点。在ANT1和ANT2之间的负载阻抗应该在200-700Ω范围内,通过简单的匹配网络或RF变压器(不平衡变压器)可以获得较低的阻抗。
2.4 128液晶的简介:
128是128*点阵液晶模块的点阵数简称。液晶屏类型:STN FSTN 。模块显示效果:黄绿底黑字 蓝底白字 白底黑字。视角:6点钟,12点钟。 驱动方式:1/ DUTY 1/9 BIAS。背光:LED白色,LED黄绿色。 控制器:KS0108或兼容 ST7920 T6963C 。数据总线:8 位并口/6800,方式为串口。工作温度:-20℃~+70℃。储藏温度:-30℃~+80℃。 点阵格式 128 x 。
2.5 单片机ATS52的简介:
如图2.5-1所示为ATS52芯片的引脚图。兼容标准MCS-51指令系统的ATS52单片机是一个低功耗、高性能CHMOS的单片机,片内含4KB在线可编程Flash存储器的单片机。它与通用80C51系列单片机的指令系统和引脚兼容。
ATS52单片机片内的Flash可允许在线重新编程,也可用通用非易失性存储编程器编程;片内数据存储器内含128字节的RAM;有40个引脚,32个外部双向输入/输出(I/O)端口;具有两个16位可编程定时器;中断系统是具有6个中断源、5个中断矢量、2级中断优先级的中断结构;震荡器频率0到33MHZ,因此我们在此选用12MHZ的晶振是比较合理的;具有片内看门狗定时器;具有断电标志POF等等。ATS51具有PDIP、TQFP和PLCC三种封装形式[8]。
图2.5-1 ATS52引脚图
上图就是PDIP封装的引脚排列,下面介绍各引脚的功能。
2.5.1 ATS52引脚说明
P0口:8位、开漏级、双向I/O口。P0口可作为通用I/O口,但须外接上拉电阻;作为输出口,每各引脚可吸收8各TTL的灌电流。作为输入时,首先应将引脚置1。P0也可用做访问外部程序存储器和数据存储器时的低8位地址/数据总线的复用线。在该模式下,P0口含有内部上拉电阻。在FLASH编程时,P0口接收代码字节数据;在编程效验时,P0口输出代码字节数据(需要外接上拉电阻)。
P1口:8位、双向I/0口,内部含有上拉电阻。P1口可作普通I/O口。输出缓冲器可驱动四个TTL负载;用作输入时,先将引脚置1,由片内上拉电阻将其抬到高电平。P1口的引脚可由外部负载拉到低电平,通过上拉电阻提供电流。在FLASH并行编程和校验时,P1口可输入低字节地址。在串行编程和效验时,P1.5/MO-SI,P1.6/MISO和P1.7/SCK分别是串行数据输入、输出和移位脉冲引脚。
P2口:具有内部上拉电阻的8位双向I/O口。P2口用做输出口时,可驱动4各TTL负载;用做输入口时,先将引脚置1,由内部上拉电阻将其提高到高电平。若负载为低电平,则通过内部上拉电阻向外部输出电流。CPU访问外部16位地址的存储器时,P2口提供高8位地址。当CPU用8位地址寻址外部存储时,P2口为P2特殊功能寄存器的内容。在FLASH并行编程和校验时,P2口可输入高字节地址和某些控制信号。
P3口:具有内部上拉电阻的8位双向口。P3口用做输出口时,输出缓冲器可吸收4各TTL的灌电流;用做输入口时,首先将引脚置1,由内部上拉电阻抬位高电平。若外部的负载是低电平,则通过内部上拉电阻向输出电流。在与FLASH并行编程和校验时,P3口可输入某些控制信号。P3口除了通用I/O口功能外,还有替代功能,如表2.5-1所示。
表2.5-1 P3口的替代功能
引脚 | 符号 | 说明 |
P3.0 | RXD | 串行口输入 |
P3.1 | TXD | 串行口输出 |
P3.2 | /INT0 | 外部中断0 |
P3.3 | /INT1 | 外部中断1 |
P3.4 | T0 | T0定时器的外部的计数输入 |
P3.5 | T1 | T1定时器的外部的计数输入 |
P3.6 | /WR | 外部数据存储器的写选通 |
P3.7 | /RD | 外部数据存储器的读选通 |
ALE/:当访问外部存储器时,ALE(允许地址锁存)是一个用于锁存地址的低8位字节的书粗脉冲。在Flash 编程期间,此引脚也可用于输入编程脉冲()。在正常操作情况下,ALE以振荡器频率的1/6的固定速率发出脉冲,它是用作对外输出的时钟,需要注意的是,每当访问外部数据存储器时,将跳过一个ALE脉冲。如果希望禁止ALE操作,可通过将特殊功能寄存器中位地址为8EH那位置的“0”来实现。该位置的“1”后。ALE仅在MOVE或MOVC指令期间激活,否则ALE引脚将被略微拉高。若微控制器在外部执行方式,ALE禁止位无效。
:外部程序存储器读选取通信号。当ATS51在读取外部程序时, 每个机器周期 将PSEN激活两次。在此期间内,每当访问外部数据存储器时,将跳过两个信号。
/Vpp:访问外部程序存储器允许端。为了能够从外部程序存储器的0000H至FFFFH单元中取指令,必须接地,然而要注意的是,若对加密位1进行编程,则在复位时,的状态在内部被锁存。
执行内部程序应接VCC。不当选择12V编程电源时,在Flash编程期间,这个引脚可接12V编程电压。
XTAL1:振荡器反向放大器输入端和内部时钟发生器的输入端。
XTAL2:振荡器反相放大器输出端。
2.6MAX458无线通讯模块的简介:
MAX485接口芯片是Maxim公司的一种RS-485芯片该数据采集通过RS一485接口与外界通倩.采用单一电源+5 V工作,额定电流为300 μA,采用半双工通讯方式。它完成将TTL电平转换为RS-485电平的功能。MAX485芯片的结构和引脚都非常简单,内部含有一个驱动器和接收器。RO和DI端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的RXD和TXD相连即可;RE和DE端分别为接收和发送的使能端,当/RE为逻辑0时,器件处于接收状态;当DE为逻辑1时,器件处于发送状态,因为MAX485工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可;A端和B端分别为接收和发送的差分信号端,当A引脚的电平高于B时,代表发送的数据为1;当A的电平低于B端时,代表发送的数据为0。在与单片机连接时接线非常简单。只需要一个信号控制MAX485的接收和发送即可。同时将A和B端之间加匹配电阻,一般可选100Ω的电阻。MAX485以半双工的方式进行通信,最高通信速率为2 5Mbps。
2.7MAX232无线通讯模块的简介:
MAX232芯片是美信(MAXIM)公司专为RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。
第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。
第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。 其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。 8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。 TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。
第三部分是供电。15脚GND、16脚VCC(+5v)。
3、通讯协议
3.1 协议概述
数据格式: 1位起始位 8位数据位 1位停止位 无校验位
波特率: 4800BPS、9600BPS (缺省值)、19200BPS可供选择
通讯地址: 01~99,默认地址为01
Modbus协议支持RS232、RS485传输方式,设备出厂默认为RS485传输形式。
数据包组织说明:本协议中涉及到的CRC校验皆是对本帧中所有数据的校验,且校验位在传输时低位在前,高位在后。
3.2遥信量一(基本遥信量)
命令格式:
Slave Addr | Function | Star Addr | Word Length | CRC Check |
01H | 03H | 0000H | 0004H | CRC 16 |
Slave Addr | Function | Length | Data | CRC Check |
01H | 03H | 08H | 8 Bytes | CRC 16 |
地址 | 意义 |
0000H | 第一点温度符号(0负1正) |
0001H | 第一点温度整数部分 |
0002H | 第一点温度小数部分 |
0003H | 第一点温度采样时间 |
0004H | 第二点温度符号(0负1正) |
0005H | 第二点温度整数部分 |
0006H | 第二点温度小数部分 |
0007H | 第二点温度采样时间 |
0008H | 第三点温度符号(0负1正) |
0009H | 第三点温度整数部分 |
000AH | 第三点温度小数部分 |
000BH | 第三点温度采样时间 |
000CH | 第四点温度符号(0负1正) |
000DH | 第四点温度整数部分 |
000EH | 第四点温度小数部分 |
000FH | 第四点温度采样时间 |
例如:
01 03 00 00 00 02 C4 0B返回第一个温度传感器的相关数据。
01 03 04 XX XX XX XX CRC1 CRC2
01 03 00 00 00 04 44 09返回第一个和第二个温度传感器的相关数据。
01 03 00 08 XX XX XX XX XX XX XX XX CRC1 CRC2
01 03 00 00 00 06 C5 C8第1、2、3个温度传感器的相关数据。
01 03 00 0B XX XX XX XX XX XX XX XX XX XX XX XX CRC1 CRC2
01 03 00 00 00 08 44 0c第1、2、3、4个温度传感器的相关数据。
01 03 00 10 XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX CRC1 CRC2
01 03 00 02 00 02 65 cb返回第二个温度传感器的相关数据。
01 03 04 XX XX XX XX CRC1 CRC2
3.3错误响应
返回格式:
Slave Addr | Function | Code | CRC Check |
01H | COM+80H | 1 Byte | CRC 16 |
COM: 接收到的功能码
4、电路的硬件设计
系统分为数据接收模块和数据发射模块,其中接收模块由无线数据收发模块、显示模块和控制模块组成,发射模块由无线数据收发模块、温度采集模块和控制模块组成。温度采集部分工作原理是由数字温度传感器测温并把数据传到单片机,由单片机处理通过无线收发电路向接收模块发送信号,接收模块收到信号经单片机处理在液晶上显示出来。
4.1 温度数据采集硬件接口电路
由于MSP430F1232接口较少,故选用一只DS18B20 型单线数字式集成温度传感器组成温度采集网络。
图 4-1 温度采集网络框图
4.2无线收发模块电路图
4.3 MSP430F1232最小系统版电路图
5、系统的软件设计
基于labview的程序设计
选择上位机监控界面
历史数据查询界面
6、系统的调试
调试步骤
步骤一 完成硬件电路的焊接。
步骤二 首先先将其中一片430系统与液晶显示屏相连显示,检验液晶显示屏显示没有问题。
步骤三 将其中一片430与四位数码管及温度传感器DS18B20相连,写入测量温度的程序。测试DS18B20部分硬件及软件部分好使。
步骤四 将nRF905的收发部分分别与两片430相连,写入发射一个常数的程序,检测收发模块及程序好使。
步骤五 将显示、收发、温度检测程序整合,检测系统是否能将发送端的温度值测量出来发送到接收端在数码管上显示出来。
7、说明
在此次设计过程中也遇到一些问题,比如,在单片机对于NRF905高频模块的读写、操作等比较复杂,查找的资料也很难理解。还有就是DS18B20的时序也有一定难度。
随着科技的进步,智能温度控制器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟温度控制器和网络温度控制器、研制单片测温控温系统等高科技的方向迅速发展。
1.提高温度控制器测温精度和分辨力
在20世纪90年代中期最早推出的智能温度控制器,采用的是8位A/D转换器,其测温精度较低,分辨力只能达到2°C。目前,国外已相继推出多种高精度、高分辨力的智能温度传感器,所用的是9~12位A/D转换器,分辨力一般可达0.5~0.0625°C。为了提高多通道智能温控器的转换速率,也有的芯片采用高速逐次逼近式A/D转换器。
2.增加温度控制器测试功能
新型智能温度控制器的测试功能也在不断增强。例如,采用DS1629型单线智能温度传感器增加了实时日历时钟(RTC),使其功能更加完善。DS1624还增加了存储功能,可存储用户的短信息。另外,智能温度控制器正从单通道向多通道的方向发展,这就为研制和开发多路温度测控系统创造了良好条件。
智能温度控制器都具有多种工作模式可供选择,主要包括单次转换模式、连续转换模式、待机模式,有的还增加了低温极限扩展模式,操作非常简便。对某些智能温度控制器而言,主机(外部微处理器或单片机)还可通过相应的寄存器来设定其A/D转换速率,分辨力及最大转换时间。
当然,系统的研究还存在一些问题需要解决。比如温度传感器的测温地比较固定,发射距离较近,温度控制精度不够高等,针对上述几个问题 ,结合最新的技术和器件,可以得到很好的解决方案。
1.增加温度传感器,由于DS18B20与单片机相连只需使用单片机一个引脚,很节省引脚,可以使用多个温度传感器与一个单片机相连,分别把多处地点的温度传送给单片机,然后在一个液晶上显示出各地点的温度。
2.改变无线收发芯片或天线,比如可以使用nRF24L01无线模块具有可选的内置包应答机制,极大的降低丢包率。
3、改变单片机,可以改为AVR等单片机,AVR可靠性高、功能强、速度快、功耗低,是该系统理想的单片机。
8、总结
通过本次试验对无线温度采集系统的设计,使我自己深刻地认识到对其工作原理不了解,觉得非常困难。使我学会了如何将短距离无线通信技术应用在温度测量方面的无线温度发射和接收系统。以Atmel公司的ATS52单片机作为控制核心,提出以DS18B20的单总线分布式温度采集与控制系统。多个温度传感节点通过单总线与单片机相连形成分布式系统。控制器通过温度传感器实时检测各节点的温度变化,并在128液晶显示屏上循环显示各节点温度的变化。通过串口将检测到的温度信息回馈到上位机(PC机),从而远程实现对整个系统的检测。
系统结构采用模块化设计,主要由两大部分构成:第一部分为数据发射端,以单片机为核心,与一片单总线温度传感器DS18B20组成温度采集网络,完成温度数据的采集和无线发送;第二部分为数据接收端,由单片机作为主控机,通过显示接口模块,完成温度数据的无线接收和显示功能。
该温度控制系统电路简单,性能稳定,抗干扰能力强,可靠性高,搭建方便,易于扩展,室内实际发射距离约25米(通过改进天线的设计可适度增加),因此本系统在短距离环境温度的监测方面,有广阔的应用前景。
这次实验使我们对单片机等理论知识有了更进一步的认识,也很好地将其理论知识应用于实践,使我们在实践的同时也为我们所学的专业应用之广而感到自豪 ,为未来的前景充满了信心,所以我们应该学好专业知识,为以后打下坚实的基础。