基于单片机的无线多路温数据采集系统设计.docx
- 文档编号:8309290
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:24
- 大小:410.61KB
基于单片机的无线多路温数据采集系统设计.docx
《基于单片机的无线多路温数据采集系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的无线多路温数据采集系统设计.docx(24页珍藏版)》请在冰豆网上搜索。
基于单片机的无线多路温数据采集系统设计
关键词:
AT89C51温度采集温度传感器DS18B20RS-232MAX813无线收发模块PTR2000
Abstract
Thispaperintroducesakindofwirelessmonitoringsystemwhichisusedtocontroltemperaturecondition.Thesystemadoptswirelessnetworkandtemperaturecollecttechnique.Thewirelesscommunicationcanavoidtheshortcomingofremotewiretransmission,suchaslargewastage,highcostetc.ThisdesignusesAT89C51,Themonolithicintegratedcircuitisthemainhardware,Inordertorealizedesigngoalthisdesignincludingtemperaturegathering,thetemperaturedemonstratedthat,thesystemscontrol,strungtogetherperipheryelectriccircuitandsoonmouthcorrespondence.ThemainMCU(AT89C51)takeschargeofmeasurement,controlandcommunicationwiththecommunicationMCU.ThecommunicationMCU(AT89C51)isusedtocontrolreceivingandsendingdatainthewirelesscommunication.Thesystemwirelesstemperaturecontrolsystemisusesinthelowerpositionmachineestablishmenttemperaturethelowerlimit,withreal-timetemperaturegathering,transmitstoonpositionmachine,byachievestothetemperaturecomparison,thecontrol.
Keywords:
AT89C51TemperaturegatheringDS18B20RS-232MAX813PTR2000wirelesscommunication
5.3串口电路18
5.4显示电路19
5.5键盘电路20
第六章系统总体软件设计...........................................21
6.1系统工作流程.................................................21
6.2系统的软件设计..............................................21
6.3软件设计流程图......................................................22
第一章绪论
在工农业生产中,对于采集数据的传输大多采用有线方式,因为有线方式的传输距离、数据传输速率以及抗干扰能力都要优于无线方式;然而对于在野外或者不便于铺设线缆的地区进行数据采集传输时,采用有线方式就受到了限制。
针对这一特点,设计了采用无线传输方式的无线数据采集监测系统。
该系统采集主要以Atmel公司的AT89C51单片机为控制处理核心,由它完成对数据的采集处理以及控制数据的无线传输。
AT89C51单片机是一种低功耗/低电压/高性能的8位单片机,片内带有一个8KB的可编程/可擦除/只读存储器。
无线收发一体数传MODEM模块PTR2000芯片性能优异,在业界居领先水平,它的显著特点是所需外围元件少,因而设计非常方便。
该模板块在内部需成了高频接收、PLL合成、FSK调制/解调、参量放大、功率放大、频道切换等功能,因而是目前集成度较高的无线数传产品。
在本文中,主要说明单片机和无线数据收发模块PTR2000的组合,形成单片机的无线数据传输系统,与微机进行无线数据传输。
包括:
如何针对系统的需求选择合适的无线数据传输模块器件,如何根据选择的器件设计外围电路和单片机的接口电路,如何编写控制无线数据传输器件进行数据传输的单片机程序,并简要介绍数字温度传感器DS18B20的应用。
第二章方案论证
(一)温度采集方案
方案一:
模拟温度传感器。
采用热敏电阻,将温度值转换为电压值,经运算放大器放大后送A/D转换器将模拟信号变换为数字信号,再由单片机经过比较计算得到温度值。
优点:
应用广泛,特别是工程领域,采用不同的热敏电阻,可实现低温到超高温的测量。
缺点:
必须采用高速高位A/D转换器,系统复杂,成本高,还以引进非线性误差,得通过软件差值修正
方案二:
采用集成数字温度传感器DS18B20。
该传感器采用单总线接口,能方便的与单片机通信。
测温范围从-55到+125,测温精度9-12位可调,12位时最大转换时间为750ms,完全满足本设计的要求。
缺点:
不能实现高温测量。
从上各种因素,我们采用数字温度传感器方案。
(二)无线数据传送方案
方案一:
采用GSM模块。
GSM(公用数字移动网通信)系统是目前基于时分多址技术的移动通讯体制中比较成熟、完善、应用最广泛的一种系统,本设计可利用其短消息服务来传输温度数据。
优点:
网络覆盖广,可实现远距离传输。
缺点:
成本高,无法实现实时性。
方案二:
该采用无线传输模块PTR2000。
该器件将接收和发射合接为一体;工作频率为国际通用的数传频段433MHZ;采用FSK调制/解调,可直接进入数据输入/输出,抗干扰能力强,特别适合工业控制场合;采用DDS(直接数据合成)+PLL频率合成技术,因而频率稳定性极好;灵敏度高达—105bBm;工作电压低(2.7V),功耗小,接受待机状态电流仅为8μA;具有两个频道,可满足需要多信道工作的场合;工作数率最高达20kbit/s(也可在较抵速率下工作,如9600bps);超小体积,约40×27×5mm3;可直接与CPU串口进行连接(如8031),也可以用RS232与计算机接口,软件编程非常方便
基于上述考虑,采用方案二。
(三)显示界面方案
方案一:
用数码管显示,优点:
结构简单,成本低。
缺点:
只能显示一测量点和有限的符号。
方案二:
采用LCD显示。
可以实现中英文操作提示,方便人机交换。
能同时显示多点温度值,通过键盘操作可快速翻屏浏览或监控一测量点温度值。
缺点:
价格高,体积增大。
本系统设计为多点温度采集情况,所以选择LCD显示
第三章系统总体设计
3.1系统总体分析
无线温度数据采集系统是一种基于单片机射频技术的无线温度检测装置,本设计由温度采集部分,发送/接受部分,显示部分组成,温度采集部分由八个一线式数字温度传感器、AT89C51单片机、看门狗电路、键盘电路、晶振电路、复位电路、报警电路、数码管显示电路组成,采集到的温度数据在单片机的处理下在数码管上显示,同时传输到接收单元。
发送部分采用无线传输模块PTR2000,模块在内部集成了高频发射,高频接受,PLL合成,FSK调制、参量放大,功率放大,频道切换等功能,单片机不能与无线模块直接通信,需通过串口电路进行数据的传输,串口电路采用RS232串口通信电路,显示部分采用1602液晶显示屏,AT89C51单片机以及单片机的外围电路由独立按键电路,晶振电路,复位电路组成。
系统设计框图如下:
键盘电路
八路温度数据采集电路
晶振电路
看门狗电路
发送模块系统框图
显示电路
单
片
机
接收模块系统框图
3.2设计原理
无线温度采集系统是一种基于无线模块的温度检测装置。
本系统由温度采集部分和接收/发送机,以及显示芯片组成。
温度采集部分由八个数字温度传感器芯片18B20,单片机AT89C51,低功耗的无线收发模块等组成,传感器采用寄生电源的方式即VDD与GND同时接地,八个温度传感器串接在P1.1口,同时采用结型场效应管进行驱动;数字单总线温度传感器是目前最新的测温器件,它集温度测量,A/D转换于一体,具有单总线结构,数字量输出,直接与微机接口等优点。
打开电源后,本系统由单片机AT89C51向单线数字温度传感器DS18B20芯片发出指令进行测温根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:
每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。
复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。
在硬件上,DS18B20与单片机的连接采用寄生电源供电,此时UDD、GND接地,I/O接单片机I/O。
然后数据被传输至单片机AT89C51,八位数据分两次传输,再由单片机编程为可以由数码管显示的四位数据,因为51单片机有一个全双工的串行通讯口,所以单片机和无线收发模块之间进行串口通讯。
进行串行第一位为正负温度数据,后三位为带小数点的当前温度。
数据也被送至低功耗无线传输模块进行无线传输。
通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换。
温度数据的无线传输主要基于低功耗无线传输模块PTR2000,无线数据传输模块的关键器件是无线收发芯片,本设计选择了NFR401系列的芯片,PTR2000的通信速率最高为20BIT/S,PTR2000无线数据传输模块可以利用串口进行数据的传输有三种工作模式
1,发送在发送数据之前,应将模块先置于发射模式,即TXEN=1.然后等待至少5ms后(接收到发射的转换时间)才可以发送任意长度的数据。
发送结束后应将模块置于接收状态,即TXEN=0.
2,接收:
接收时应将PTR2000置于接收状态,即TXEN=0.然后将接收到的数据直接送到单片机串口。
3,待机:
当PWR=0时,PTR进入节点模式,此时的功耗大约为8uA,但在待机模式下不能接收和发射数据。
数据的收、发由AT89C51控制。
首先,对系统要进行初始化,让NRF401进入待机状态:
使单片机工作在串口通信方式,利用单片机的中断响应,对NRF40l芯片的相应引脚进行控制,实现数据的接收或发射。
数据经过无线传输及接收后再被传输至接受端的AT89C51单片机中,然后再由单片机将数据转化为可以由液晶显示板1602显示的数据。
1602液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。
要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。
最后通过液晶显示屏和数码管的温度数据对比,判断进行无线的温度传输数据是否正确。
第四章各个元器件及芯片简介
4.1AT89C51单片机介绍
AT89C51单片机简介
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
1.主要特性:
1、与MCS-51兼容2、4K字节可编程闪烁存储器3、1000写/擦循环数据保留时间10年4、全静态工作,0Hz-24Hz·三级程序存储器锁定5、128*8位内部RAM32可编程I/O线6、两个16位定时器/计数器7、5个中断源8、可编程串行通道低功耗的闲置和掉电模式9、片内振荡器和时钟电路
2.主要管脚说明:
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
4.2DS18B20温度传感器简介
DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
以上特点使DS18B20非常适用于远距离多点温度检测系统。
DS18B20的内部结构主要由4部分组成:
64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20的管脚排列如图2所示,DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端。
ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。
64位ROM的排的循环冗余校验码(CRC=X8+X5+X4+1)。
ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。
图1DS18B20的管脚图
DS18B20中的温度传感器完成对温度的测量,用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。
例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。
高低温报警触发器TH和TL、配置寄存器均由一个字节的EEPROM组成,使用一个存储器功能命令可对TH、TL或配置寄存器写入。
R1、R0决定温度转换的精度位数:
R1R0=“00”,9位精度,最大转换时间为93.75ms;R1R0=“01”,10位精度,最大转换时间为187.5ms;R1R0=“10”,11位精度,最大转换时间为375ms;R1R0=“11”,12位精度,最大转换时间为750ms;未编程时默认为12位精度。
高速暂存器是一个9字节的存储器。
开始两个字节包含被测温度的数字量信息;第3、4、5字节分别是TH、TL、配置寄存器的临时拷贝,每一次上电复位时被刷新;第6、7、8字节未用,表现为全逻辑1;第9字节读出的是前面所有8个字节的CRC码,可用来保证通信正确。
4.3PTR2000模块介绍
无线数据收发模块ptr2000采用抗干扰能力较强的FSK调制/解调方式,其工作频率稳定可靠,外围元件少、功耗极低且便于设计生产,这些有一些特性使得PTR2000非常适用于便携机手持产品。
可广泛用于遥控、遥测、小型无线网络、无线抄表、门禁系统、小区传呼、工业数据采集、无线标签等系统。
无线数据传输模块的关键器件是无线收发芯片。
以下是几点选择芯片或者模块的选择标准。
收发芯片数据传输的编码方式
采用曼彻斯特编码的芯片,在编程上会需要较高的技巧和经验,需要更多的内存和程序容量,并且曼彻斯特编码大大降低数据传输的效率,一般仅能达到标称速率的1/3。
而采用串口传输的芯片,如NRF401系列的芯片,应用及编程非常简单,传输速率很高,标称速率就是实际速率,因为串口的编程相对简单,编程开发工作也很方便。
收发芯片的分装和管脚数
较小的管脚以及分装,有利于较少PCB面积,适合测控的设计。
NRF401仅20脚,是管脚和体积最小的。
同时NRF401还具有以下特点:
工作频率为国际通用的数据频段433MHZ;采用FSK调制,直接数据输入输出,抗干扰能力强,特别适用工业控制场合,采用DSS+PLL频率合成技术,频率稳定性极好,灵敏度高达-105dBm;功耗小接受待机状态时,电流仅为8UA,最大发射功率为10dBm,低工作电压(2.7V)可满足低功耗设备的要求,具有多个频道,可方便的切换工作频率特别适用于需要多信道工作的场合,工作速率最高可达20kbit/s,仅外接一个好、晶振和几个阻容、电感元件,基本无需调试,由于采用了低发射功率、高接收灵敏度的设计,适用距离最远可达1000米。
内部电路图如下:
4.4MAX813芯片介绍
看门狗电路在单片机中以加电、掉电以及供电电压下降情况下的复位输出,复位脉冲宽度典型值为200ms。
独立的看门狗输出,如果看门狗输入在1.6s内未被触发,其输出将变为高电平,1.25V门限值检测器,用于电源故障报警、电池低电压检测或+5V以外的电源监控,低电平有效的手动复位输入。
各引脚功能及工作原理
1、手动复位输入端(
)当该端输入低电平保持140ms以上,MAX813就输出复位信号.该输入端的最小输入脉宽要求可以有效地消除开关的抖动。
2、工作电源端(VCC):
接+5V电源。
3、电源接地端(GND):
接0V参考电平.。
4、电源故障输入端(PFI)当该端输入电压低于1.25V时,5号引脚输出端的信号由高电平变为低电平。
5、电源故障输出端(
)电源正常时,保持高电平,电源电压变低或掉电时,输出由高电平变为低电平。
6、看门狗信号输入端(WDI)程序正常运行时,必须在小于1.6s的时间间隔内向该输入端发送一个脉冲信号,以清除芯片内部的看门狗定时器。
若超过1.6s该输入端收不到脉冲信号,则内部定时器溢出,8号引脚由高电平变为低电平。
7、复位信号输出端(RST)上电时,自动产生200ms的复位脉冲;手动复位端输入低电平时,该端也产生复位信号输出。
8、看门狗信号输出端(
)。
正常工作时输出保持高电平,看门狗输出时,该端输出信号由高电平变为低电平。
芯片管脚图如下:
4.5MAX7219芯片介绍
MAX7219是Maxim公司推出的8位LED串行显示驱动器,它采用3线串口传送数据,占用资源少且硬件简单,只需一个外部电阻即可方便地调节LED的亮度;可灵活地选择显示器的个数(1~8个,级联可成倍增加);可进行译码或不译码显示;内含硬件动态扫描控制,可设置低功耗停机方式。
引脚功能和工作原理
MAX7219采用24脚双列直插式封装,其引脚如图3所示。
SEGA~SEGG和DP分别为LED七段驱动器线和小数点线,供给显示器源电流;DIG0~DIG7为8位数字驱动线,输出位选信号,从每位LED共阴极吸入电流。
图3MAX7219引脚功能
DIN是串行数据输入端。
在CLK的上升沿,一位数据被加载到内部16位移位寄存器中,CLK最高频率可达10MHz,由DIN端移入到内部寄存器中;LOAD用在LOAD的上升沿,16位串行数据被锁存到数据或控制寄存器中,LOAD必须在第16个时钟上升沿的同时或之后、在下一个时钟上升沿之前变高,否则数据将被丢失。
每组数据为16位二进制数据包。
其中D15~D12位不用,D11~D8位为内部5个控制寄存器和8个LED显示数据寄存器的地址,D7~D0位为5个控制寄存器和8个LED数码管待显示的数据,因为控制寄存器与显示数据寄存器独立编址,所以可以通过程序对每个寄存器进行操作。
MAX7219内部有14个可寻址的控制字寄存器。
MAX7219是八位串行共阴LED数码管动态扫描驱动电路,其峰值段电流可达40mA,最高串行扫描速率为10MHz,典型扫描速率为1300Hz,仅使用单片机3个I/O口,即可完成对八位LED数码管的显示控制和驱动,线路非常简单,控制方便,外围电路仅需一个电阻设定峰值段电流,同时可以通过软件设定其显示亮度;还可以通过级联,完成对多于八位的数码管的控制显示。
值得一提的是,当工作于关闭(SHUTDOWN)方式时,不仅单片机仍可对其传送数据和修改控制方式,而且芯片耗电仅为150uA。
4.61602液晶显示屏介绍
工业字符型液晶,能够同时显示16x02即32个字符。
(16列2行)注:
为了表示的方便,后文皆以1表示高电平,0表示第电平。
1.管脚功能
1602采用标准的16脚接口,其中:
第1脚:
VSS为电源地第2脚:
VDD接5V电源正极第3脚:
V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
第4脚:
RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
第5脚:
RW为读写信号线,高电平
(1)时进行读操作,低电平(0)时进行写操作。
第6脚:
E(或EN)端为使能(enable)端。
第7~14脚:
D0~D7为8位双向数据端。
第15~16脚:
空脚或背灯电源。
15脚背光正极,16脚背光负极。
2.字符集
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:
阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。
第五章各部分电路设计
5.1看门狗电路
本设计中看门狗电路主要用到MAX813芯片,及其他外围电路,在设计中看门狗电路的工作原理是:
当系统工作正常时,CPU将每隔一定时间输出一个脉冲给看门狗,即“喂狗”,若程序运行出现问题或硬件出现故障时而无法按时“喂狗”时,看门狗电路将迫使系统自动复位而重新运行程序。
主要作用是防止程序跑飞或死锁 。
看门狗电路其实是一个独立的定时器,有一个定时器控制寄存器,可以设定时间(开狗),到达时间后要置位(喂狗),如果没有的话,就认为是程序跑飞,就会发出RESET指令,当为高电平时,开始复位。
功能如下:
本电路巧妙地利用了MAX813的手动复位输入端。
只要程序一旦跑飞引起程序“死机”,
端电平由高到低,当
变低超过140ms,将引起MAX813产生一个200ms的复位脉冲。
同时使看门狗定时器清0和使
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 无线 多路温 数据 采集 系统 设计