随着工业和农业的发展,无线采集系统的应用范围变得更加广泛,对无线数据采集系统的测量参数也越来越多,精准度也越来越高。目前国内外有很多的无线温度采集系统,但很多的无线温度采集系统存在很多问题,如采集速度和稳定性不够高,不能适应复杂的环境,采集精准度不够高等等。因此,需要性能更高的无线数据采集系统来满足工农业的需求。

本设计是基于单片机的无线温度采集系统,由数据采集发送模块和数据接收模块两个模块组成。数据采集发送模块由DS18B20数字温度传感器、LCD1602液晶显示屏、单片机、NRF905数据发送模块组成;数据接收模块由单片机、LCD1602液晶显示屏、NRF905数据接收模块组成。DS18B20数字温度传感器把信号直接传给的单片机,单片机把数据进行电平转换,然后通过NRF905数据发送模块把数据发送出去,同时将数据显示到LCD1602液晶显示屏。NRF905数据接收模块接收到数据将数据显示在LCD1602液晶显示屏。

本设计最终成功实现了温度采集和数据的无线传输,具有传送距离远、测量准确、应用广泛等特点。

系统整体设计

本文主要设计的是基于单片机的无线温度采集系统,该系统由发送端和接收端两个部分组成。发送端由DS18B20数字温度传感器、LCD1602液晶显示屏、单片机、NRF905数据发送模块组成。接收端由单片机、LCD1602液晶显示屏、NRF905数据接收模块组成。

系统工作原理

本系统温度传感器采用DS18B20,显示部分采用LCD1602,无线通信部分采用NRF905模块。DS18B20主要完成温度采集,把周围的温度模拟信号通过1-wire总线直接传给单片机,单片机把数据进行电平转换,然后通过NRF905数据发送模块把数据发送出去,同时将数据显示到LCD1602液晶显示屏。NRF905数据接收模块接收到数据将数据显示在LCD1602液晶显示屏上。该系统可实现对温度实时多点检测,还实现了远程无线通信,可以对DS18B20覆盖的区域进行实时监控。

硬件设计

核心控制器件--STC89C52

STC89C52是一款高性能的8位微控制器。具有8K字节可编程Flash存储器,512字节数据存储空间,内带4K字节EEPROM,而且可以直接使用串口下载。

STC89C52单片机封装采用的是双列直插封装(DIP40)。

单片机的最小系统:

单片机的最小系统主要由单片机、电源、晶振电路、复位电路组成。

本系统单片机采用是STC89C52RC。单片机电源采用标准+5V电源。EA接高电平,选用片内ROM作为程序存储器。

晶振电路为单片机定时计数器等提供时钟信号,本设计采用内部时钟方式,在XTAL1和XTAL2外接12MHz晶振和陶瓷电容。因为单片机内部有一个高增益反相放大器,当外接12MHz晶振后,就会构成自激振荡器,并产生时钟脉冲,时钟脉冲可以为单片机定时计数器提供时钟信号。

复位电路采用外部复位。当按键按下时,RST脚接高电平,完成系统复位。

注意晶振电路尽可能的与单片机靠近,路线尽量短。

电源电路

本设计是基于单片机的无线温度采集系统,单片机和LCD1602采用标准+5V直流电源供电。NRF905通信模块采用3.3V直流电源供电。采用电压转换得到3.3V直流电源。本设计采用AMS1117-3.3稳压芯片把5V转换成3.3V。

电压转换电路:

数字温度传感器DS18B20

温度传感器采用DS18B20的引脚排列:

温度传感器利用独有的单总线协议,只需要一个单线端口通讯,通过这根口线从DS18B20读出或者写入信息。板载上拉电阻与单片机直接相连。每个器件有唯一的64位序列号存储在内部只读存储器中。高速暂存器为8字节的存储器,头两个字节包含温度传感器输出的温度信息,第3、4字节为TH(报警温度上限)、TL(报警温度下限),第5字节为配置寄存器,用于确定温度值的数字转换分辨率,第6、7、8字节保留未用。其中,第3,4,5字节可存储到EEPROM中。DS18B20的精度采用增量递增的形式,其精度为可编程9,10,11,12位,分别为0.5℃,0.25℃,0.125℃,0.0625℃。在上电时默认精度为12位。本设计采用默认精度,即12位。

温度传感器测量范围为-55℃~+125℃,而且测量范围在-10℃~+85℃内精度高达±0.5℃。DS18B20可以直接从单线通讯线上汲取能量,除去了对外部电源的需求。除此之外,因为每个DS18B20有自己特有的位序列号,所以可允许多只DS18B20同时连在一根单总线上,因此可用一个微型控制器控制很多覆盖在一大片区域的DS18B20。这一特性可以应用到环境监测、探测建筑物、仪器或机器的温度以及过程检测和控制等等。

无线传输

NRF905的基本介绍

本设计的无线通信选用的是NRF905,由挪威Nordic VLSI公司制造。本设计采用标准3.3V电源,3.3V电源由ASM1117-3.3芯片电平转换而来,采用QFN封装,NRF905有32个引脚,选择工作于433MHz(工业)频道,不需要在频道之间转换,节省了频段之间的转换时间。由于数据传输过程中可能会受到干扰,使得收发数据不一致,因此一般发送端都需要对数据进行编码,编码后才能发送,同样接收端需要对数据译码,纠错。由于NRF905片内集成了曼彻斯特编码和译码,因此,不需要用户对收发数据进行任何编码和译码,使用非常可靠、方便。除此之外,NRF905采用ShockBurstTM发送和ShockBurstTM接收模式,特点是自动产生前导码和CRC(循环冗余码校验)。NRF905与微控制器之间通过SPI接口通信,SPI接口的配置非常简便。而且,NRF905是一款低功耗产品,以-10dBm的输出功率发射时电流为11mA,工作于接收模式时的电流为12.5mA,并且还有空闲模式与关机模式,这样更节能。

NRF905的应用非常广泛,可用于无线遥控、遥感勘测、无线报警及安全系统、无线数据通讯、无线开锁、家庭自动化、玩具等。

NRF905进行数据收发时主要依靠SPI接口和微控制器,通过射频收发模式进行无线数据传送,非常可靠、方便。

NRF905工作模式和节能模式

NRF905有两种工作模式和两种节能模式。两种节能模式分别为为空闲模式和关机模式。两种工作模式分别为为ShockBurstTM发送模式和ShockBurstTM接收模式。其工作模式由TRX_CE、TX_EN和PWR_UP三个引脚决定:

ShockBurstTM模式

NRF905可以处理与射频数据包有关的高速信号。NRF905通过SPI接口与微控制器通信,微控制器可以通过配置的SPI接口来决定数据在微控制器中低速处理,在NRF905中高速发送。在ShockBurstTM发送模式下,NRF905有自动产生字头和CRC校验码的功能。当发送完成后,置高数据准备好(DR)引脚,这样微控制器就可以检测到发送完成。在ShockBurstTM接收模式下,当NRF905接收到一个包含正确地址和数据的数据包后,置低地址匹配(AM)和数据准备好(DR)两个引脚,这样微控制器就可以检测到接收完成。这样可以降低微控制器的存储需求,降低成本,而且还可缩短软件开发的时间。

LCD1602

LCD1602简介

LCD1602的功能是能够显示字母、数字、符号等,是一种点阵式LCD。LCD1602可以显示16*2,即32个字符,工作电压4.5-5V,工作电流2.0mA(5.0V),本设计采用标准+5V直流电源。LCD1602是一种5*7点阵,可以通过指令设置带光标显示的字符显示。如图3-7所示是LCD1602液晶显示屏实物。

软件

NRF905发送步骤

  1. 当有数据需要发送时,通过通信应用协议和器件配置来确定SPI接口速率。微控制器件通过SPI接口按时序把TX_address和要发送的数据传给NRF905;
  2. 开启NRF905的ShockBurstTM发送模式:设置TRX_CE=1,TX_EN=1;
  3. NRF905的ShockBurstTM发送:自动开启射频寄存器、打包数据包(带字头和CRC校验码)、发送数据包、当数据发送完成后,设置数据准备好引脚=1;
  4. 设置AUTO_RETRAN=1,NRF905连续发送数据包,直到设置TRX_CE=0;
  5. 当设置TRX_CE=0后,NRF905数据发送完成,自动进入空闲模式。

注意:当进入ShockBurstTM工作模式,若开始发送数据,不管TRX_EN=1、TX_EN=1、TRX_EN=0、TX_EN=0,发送过程都会被逐一处理完。只有当前一个数据包发送完毕后,NRF905才可以接收下一个数据包。

NRF905接收步骤

  1. 进入NRF905的ShockBurstTM接收模式:设置TRX_CE=1,TX_EN=0;
  2. 等待650us,NRF905不断监测信息,等待接收数据;
  3. 当同一接收频段的载波被NRF905检测到后,设置载波检测引脚=1;
  4. 当一个相匹配的有效地址被接收后,设置地址匹配引脚=1;
  5. 当一个正确的数据包被成功接收完后,字头、地址、CRC校验位被NRF905自动移除,接着设置数据准备引脚=1;
  6. 设置TRX_CE=0,NRF905进入空闲低电流模式;
  7. 微控制器通过SPI接口,以合适的速率读出有效数据,并移动到微控制器内;
  8. 接收完所有数据后,NRF905设置数据准备好引脚和地址匹配=0;
  9. NRF905能进入ShockBurstTM接收模式、ShockBurstTM发送模式、关机模式。

注意:当正在接收一个数据包时,TRX_CE或TX_EN引脚的状态发生改变,NRF905的工作模式将发生改变,数据包丢失。当地址匹配脚的信号被微处理器接收到后,可以判断出NRF905正在接收数据包,可让NRF905继续接收该数据包还是进入下一个工作模式。

温度采集:

【IoT】无线温度采集系统设计相关推荐

  1. 基于ZigBee 的多点温度采集系统设计与实现

    摘要:针对广阔空间环境温度采集系统对功耗及成本的要求,设计了基于无线传感网络技术的多点温度采集系统.以CC2430 为主控芯片,选用DS18B20 作为温度采集节点的传感器,基于ZigBee 协议栈构 ...

  2. 基于单片机的八路温度采集系统设计(#0446)

    功能描述 1.采用51单片机作为主控芯片: 2.采用DS18B20传感器检测8路温度,测量范围-55~128℃,精度0.1℃: 3.采用LCD1602循环显示8路温度: 电路设计 采用Altium D ...

  3. 基于ARM+LINUX的无线视频采集系统设计----------项目整体介绍

    开发平台: ARM板:TQ2440/GQ2440 内核:linux-2.6.30 硬件配置: 无线路由器 无线网卡 Usb摄像头 电机驱动模块+小车 整体介绍: 本项目选用S3C2440作为主控制器, ...

  4. 多点温度采集系统设计c语言,单片机多点(八路)DS18B20温度采集系统仿真与源码...

    #include #include #define                DATA        P1      //1602驱动端口 //ROM操作命令 #define           ...

  5. labview串口数据采集并显示_一种NB-IoT冶金节点温度采集与远程监测系统的设计...

    大型高炉出铁量大,冶金生产环境恶劣,导致铁水沟侵蚀日益严重,需人工定期对冶金沟道部分进行温测,其准确度不高,生产成本高,安全保障低[1].为了能够对高炉冶金沟道进行全方位测温,掌握铁水沟道的温度和腐蚀 ...

  6. 基于NRF905的无线温度采集系统

    基于NRF905的无线温度采集系统 2016-07-30  花花雪  跟单片机谈恋爱 目录 引言 1理论 1.1NRF905相关理论 1.2系统原理图 2实践 2.1连接图 2.2程序 ~~~~~~~ ...

  7. 基于数字电路交通灯信号灯控制系统设计-基于单片机病房温度监测与呼叫系统设计-基于STM32的无线蓝牙心电监护仪系统设计-基于STM32的智能蓝牙温控风扇控制设计-基于STM32的智能温室控制系统设计

    1617基于数字电路交通灯信号灯控制系统设计(仿真电路,论文报告)  摘  要:交通灯控制系统在城市交通控制中发挥着重要的作用,本次课程设计就是以城市交通灯控制系统为背景的,主要通过运用学过的数字电路 ...

  8. 基于华为云IOT平台实现多节点温度采集(STM32+NBIOT)

    一.前言 当前的场景是,在高速公路上部署温度采集设备,在高速路地表安装温度检测传感器,检测当前路段的路面实际温度.一段高速路上有多个地点需要采集温度数据. 采集温度数据需要上传到云平台进行数据存储,并 ...

  9. 10kV高压开关柜无线测温系统设计及产品选型

    摘要:保障电力系统稳定安全运行的一个重要部分为高压开关柜.高压开关柜的运行状态非常关键,因为整体温度太高会逐渐损耗其电气设备.分析10kV高压开关柜无线测温技术,阐述10kV高压开关柜无线测温系统的设 ...

最新文章

  1. AI 人才越来越不值钱了吗?
  2. CentOS 5.3 下快速安装配置 PPTP ××× 服务器
  3. java:合并两个排序的整数数组A和B变成一个新的数组。新数组也要有序。
  4. 电脑常见故障排除_中央空调常见故障解析
  5. Python_迭代器和生成器的复习_38
  6. 数据结构与算法之美-排序(下)
  7. vue 监听浏览器页面关闭_前方高能,这是最新的一波Vue实战技巧,不用则已,一用惊人...
  8. Android NuPlayer播放框架
  9. 解决Ubuntun 12.04编译 WARNING: 'automake1.12' is missing on your system
  10. FFmpeg学习(4)——为视频嵌入字幕
  11. 2个比较经典的PHP加密解密函数分享
  12. SylixOS 内存管理源代码分析--vmmMalloc.c
  13. 鲁瑜计算机,程序员计算器.pptx
  14. 计算机网络-自顶向下方法 第五章课后习题答案(第七版)
  15. ExDirectUI 5.0 项目重构正式启动
  16. ps里14号字html里多大,在ps中几号字体是多少点的问题!
  17. 华为nova 2 Plus魔镜版语音助手逗趣玩不停
  18. C# 操作American_America.US7ASCII编码的Oracle数据库出现乱码的问题。
  19. 全网详解如何设计数据库的ER图,即实体关系图
  20. Unity 利用HDRP《异教徒:数字人》中的眼球遮蔽方法,计算眼眶投影

热门文章

  1. Unity NavMesh蓝色表面不出现
  2. ubuntu下文件夹锁的解锁方式
  3. 计算机我们一起学猫叫谱子,学猫叫简谱-小潘潘-我们一起学猫叫,一起喵喵喵喵喵...
  4. 《数字中国建设整体布局规划》出炉,背后蕴含的数字城市巨大机遇
  5. Plug-in插件技术
  6. 自媒体人都在用的自媒体热点网站
  7. python石头剪刀布代码带注释_Python石头剪刀布
  8. linux中vi权限,Linux下文件权限、用户组、VI命令
  9. 基于stc89C52单片机的万年历课设
  10. VLAN配置实验(全程操作,可跟做!)