基于单片机和nRF905的多点温度无线采集系统_第1页
基于单片机和nRF905的多点温度无线采集系统_第2页
基于单片机和nRF905的多点温度无线采集系统_第3页
基于单片机和nRF905的多点温度无线采集系统_第4页
基于单片机和nRF905的多点温度无线采集系统_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2017 年第 30 卷第 7 期 Electronic Sci. Tech. /Jul. 15, 2017 图像编码与软件 www. dianzikeji. org 收稿日期: 2016-09-14 基金项目: 黄冈师范学院科研基金( 2014022603) 作者简介: 祖一康( 1984 ) , 男, 硕士, 讲师。研究方向: 网络化 控制等。徐妙婧( 1984 ) , 女, 硕士, 讲师。研究方向: 智能检 测与控制。 doi: 10. 16180/j. cnki. issn1007 7820. 2017. 07. 027 基于单片机和 nF905 的多点温度无线采集系统 祖一康1, 徐妙婧2 (1 黄冈师范学院 机电工程学院, 湖北 黄冈 438000; 2 黄冈师范学院 电子信息学院, 湖北 黄冈 438000) 摘要文中基于 STC89C52C 单片机和 nF905 模块设计了一个多点温度无线采集系统, 该系统由多个温度采集 节点和一个接收节点组成。采集节点利用数字温度传感器 DS18B20 采集环境温度, 采用 LCD1602 显示温度值; 接收节 点采用带中文字库 LCD12864 显示各采集节点发送的温度值; 采集节点与接收节点间通过 nF905 模块无线通信。接收 节点通过串口将温度值发送到上位机, 上位机采用 Visual Basic 6 0 编写温度显示界面。给出了系统的硬件和软件设计 方法, 并通过实验对系统进行了验证, 结果表明, 系统能实现对多点温度的采集和显示。 关键词单片机; nF905 模块; 温度采集; 无线通信 中图分类号TP274 +. 2 文献标识码A文章编号1007 7820( 2017) 07 099 05 A Multi point Temperature Wireless Acquisition System Based on the Single Chip Microcomputer and nF905 Module ZU Yikang1,XU Miaojing2 ( 1 School of Mechanical and Electronic Engineering,Huanggang Normal University,Huanggang 438000,China; 2 School of Electronic and Information Engineering,Huanggang Normal University,Huanggang 438000,China) AbstractA multi point temperature wireless acquisition system based on STC89C52C MCU and nF905 is designed The system consists of a number of temperature acquisition nodes and a receiving node The acquisition node uses the digital temperature sensor DS18B20 for collecting temperature,and the LCD1602 for display of the temperature value;the receiving node adopts LCD12864 with Chinese font to display the temperature value from the acquisition nodes;the acquisition node and receiving nodes communicate vie the nF905module The receiving nodes send the temperature value to the host computer through the serial port The host computer uses Basic60 Visu- al to prepare the temperature display interface The hardware and software design of the system is given, and the sys- tem is verified by experiment The results show that the system can realize the collection and display of multi point temperature Keywordssingle chip microcomputer;nF905 module;temperature acquisition;wireless communication 温度是一个重要的物理量, 也是一个重要的被控 制量, 例如重要实验室、 大棚、 粮库等都需要对温度进 行实时采集和控制1 2 。在现实中温度的采集往往不 仅采集某一点的温度, 而是采集多个点的温度。传统 的有线通信除了容易产生电磁干扰影响测量数据的准 确性外, 也存在布线复杂、 成本高等缺点, 无线通信电 路简单、 成本低、 省去布线且维护方便, 无线通信越来 越多的应用到了工业控制和现场检测等领域3 4 。文 中采用数字式温度传感器 DS18B20 采集温度值, 以 STC89C52C单 片 机、nF905模 块、LCD1602、 LCD12864 和 Visual Basic 6 0 构建了多点温度无线采 集系统。 1系统总体设计 多点温度无线采集系统总体架构如图 1 所示。 系统由温度采集节点和接收节点组成, 可分为温度 采集模块、 显示模块、 无线通信模块以及上位机远程 显示模块。采集节点通过温度传感器 DS18B20 采集 温度值, 采用 LCD1602 显示温度值, 接收节点采用 LCD12864 显示温度值, 采集节点和接收节点间采用 nF905 模块通信, 接收节点通过串口与上位机通 信, 上位机采用 Visual Basic 6 0 编写温度显示人机 界面, 通过人机界面可选择观测任意点的温度值和 温度变化情况。 99 图像编码与软件祖一康, 等: 基于单片机和 nF905 的多点温度无线采集系统 www. dianzikeji. org 图 1系统总体架构 2系统硬件设计 2. 1温度采集与显示电路 采用美国 Dallas 公司生产的单总线数字式温度传 感器 DS18B20, 测温范围 55 125 5 。文中选用 3 引脚 To 92 封装的 DS18B20, 其与单片机连接如图 2 所示。DQ 引脚与单片机 P1. 6引脚相连接, 并且接 4. 7 k 的上拉电阻。 图 2 DS18B20 与单片机引脚连接图 采集节点的温度显示采用 LCD1602, LCD1602 是 字符型液晶显示器, 可显示 2 行, 每行 16 个字符。其 与单片机引脚连接如图 3 所示, 控制引脚 S、 /W、 E 分别与单片机的 P1. 0、 P1. 1、 P1. 2引脚连接; 数据引脚 DB0 DB7与单片机的 P0口连接。 图 3 LCD1602 与单片机引脚连接图 接收 节 点 的 温 度 显 示 采 用 带 中 文 字 库 的 LCD12864, LCD12864 既可以显示字符也可以显示汉 字, 具有 128 列, 64 行, 内含 8 192 个 16 16 点阵汉字 以及 128 个 16 8 的点阵字符 6 。其与单片机引脚连 接如图4 所示, 控制引脚 S、 /W、 E、 ESET 分别与单 片机的 P1. 0、 P1. 1、 P1. 2、 P1. 4引脚相连接, 数据引脚 DB0 DB7与单片机的 P0口连接。 图 4 LCD12864 与单片机引脚连接图 2. 2nF905 通信模块电路 nF905 是挪威 Nordic 公司生产的一块低功耗无 线通信芯片, 其工作电压为 1. 9 3. 6 V, 可工作在 433 MHz, 868 MHz 和 915 MHz 共 3 个频道, 频道间转换时 间 650 s7 。nF905 模块是在 nF905 芯片基础上 开发而成, 共有 14 个引脚, 具有掉电、 空闲、 接收和发 送 4 种工作模式。14 个引脚功能和 4 种工作模式设 定见文献 8 。 因 nF905 芯片的最高工作电压为 3. 6 V, 而单 片机的工作电压为 5 V, 所以 nF905 模块引脚不能 直接连接, 需要进行电压转换。采用 AMS1117 3. 3 芯片将 5 V 电压转换为 3. 3 V9 10, 给 nF905 模块供电。nF905 模块与单片机引脚的连接如图 5 所示。 图 5 nF905 模块与单片机引脚连接图 001 祖一康, 等: 基于单片机和 nF905 的多点温度无线采集系统图像编码与软件 www. dianzikeji. org 3系统软件设计 软件设计是在硬件基础上编写程序实现系统功 能, 系统软件设计包括温度检测与显示程序、 nF905 通信程序和上位机显示程序等。系统软件设计基本思 路为: ( 1) 发送部分。为每个温度采集节点分配地址, 例如: 1 号节点为 0x01, 2 号节点为 0x02 等, 各温度采 集节点利用 DS18B20 采集温度值, LCD1602 第一行显 示节点编号, 第二行显示温度值; ( 2) 接收部分。定义 一个结构数组用于存放节点编号和温度值, 采用 LCD12864 显示各节点名称和相应的温度值; ( 3) 接收 节点与上位机采用串口通信, 上位机通过串口向接收 节点发送节点编号, 接收节点收到后, 发送该节点的温 度值到上位机。系统的主程序如图 6 所示。 图 6系统的主程序图 3. 1温度采集与显示程序 DS18B20 工作时对时序要求严格, 包括初始化时 序、 写时序和读时序 11 。从 DS18B20 读取的温度存放 在整型变量 temp 中, 待显示的温度需分解为单个字符 以 ASCII 码的形式在 LCD1602 和 LCD12864 上显示, 分别定义变量 qian、 bai、 shi、 ge 用于存放。具体实现 如下: qian = temp/1 000 +0x30千位 ASCII 码 bai = ( temp% 1 000/100)+ 0x30 百位 ASCII 码 shi = ( temp%100/10)+0x30十位 ASCII 码 ge = ( temp%10)+0x30个位 ASCII 码 如果实际温度中千位为 0、 百位不为 0 时, 千位的 0 不显示; 如果实际温度中千位与百位同时为 0 时, 两 位的 0 都不显示。 3. 2nF905 通信程序 nF905 通信包括发送和接收两部分。nF905 采 用 SPI 接口与微控制器通信, STC89C52C 单片机没 有 SPI 接口, 通过普通 I/O 口模拟 SPI, 编写程序模拟 SPI 时序。 nF905 发送流程为 12 13 : ( 1) 把要发送的数据传 给 nF905; ( 2) 引脚 TX_CE = 1 和 TX_EN = 1, 启动 发送模式, 发送数据; ( 3) 当 TX_CE = 0 时, 发送完 成, 进入空闲模式。 定义一个常量 NUM 用于存放温度采集节点的地 址, 通过修改 NUM 值就可以修改采集节点的地址, nF905 寄存器配置参数如下: unsigned char nFConfig11 = 0x00, 配置 命令 0x4c, 配置在 433 MHz 频段 0x0c, 输出功 率为 10 dB, 正常模式, 不重发 0x44, 地址宽 度为 4 Byte 0x04, 0x04, 接 收、 发送有效数据宽度为 32 Byte 0xCC, 0xCC, 0xCC, NUM,接收地址 0x58, ;CC 允 许, 8 位 CC 校验, 输出 4 MHz, 没有外部时钟 定义发送缓冲区 TxBuffer3 , 用于存放待发送的 数据, 具体实现如下: TxBuffer 0= temp/10;存放温度值的千位百 位和十位 TxBuffer 1= temp%10;存放温度值的个位 TxBuffer 2= NUM;存放采集节点地址编号 nF905 接收流程为 12 13 : ( 1) 当引脚 TX_CE = 1 和 TX_EN = 0 时, 进入接收模式; ( 2) 650 s 后, nF905 不断监测, 等待接收数据; ( 3) 当 nF905 监测 同一载波频率时, CD =1; ( 4) 当接收到相匹配地址时, AM =1; ( 5) 接收数据完毕后, D = 1; ( 6) 引脚 TX_ CE =0, 进入空闲模式; ( 7) 单片机以一定的速率通过 SPI 口读取数据; ( 8) 所有数据接收完后, D = 0, AM =0。 定义一个结构数组用于存放温度采集节点编号和 温度值, 假设有 4 个温度采集节点, 定义如下: typedef struct rec unsigned char num;节点编号 unsigned int temp; nFrec;节点温度值 nFrec rxdata4 ;定义用于存放 4 个节点编号 和温度值的结构数组 定义发送地址数组并将初始值设定为地址编号为 101 图像编码与软件祖一康, 等: 基于单片机和 nF905 的多点温度无线采集系统 www. dianzikeji. org 0x01 的采集节点, 具体定义如下: unsigned char nF905 _ TxAddress4 = 0xCC, 0xCC, 0xCC, 0x01 , 通过改变发送数组第 3 位的值, 可 以获得不同采集节点的温度值。 定义接收缓冲区 nF905_xBuf3 , 用于存放接收 到的数据, 具体实现如下 14 : void rec_data() static unsigned char i =0;节点个数 static unsigned char count =0;主程序循环次数 if( count = =200) count =0; nF905_x() ;调用接收函数 rxdatai. temp = nF905 _ xBuf0* 10 + nF905_xBuf 1 ;接收到的温度值 rxdata i . num = nF905_xBuf 2 ;接到的采 集节点地址编号 i + + ; if( i = =4)i =0; nF905_TxAddress 3= i +1;改变地址值, 获 取下一个节点温度值 3. 3上位机程序设计 上位机采用 Visual Basic 6. 0 编写, 采用 MSComm 控件实现串口通信功能15 。采用定时器定时, 每隔一 定的时间读取串口缓冲区的数据, 程序实现如下: Dim temp as Integer Private Sub Timer1_Timer() If MSComm1. InBufferCount = 4 Then temp = Val( MSComm1. Input )接收串口温度值 Text1. Text = temp / 10温度值显示 End Sub 4系统实现 以 2 个温度采集节点和 1 个接收节点为例, 对系 统进行验证。采用 Keil Vision 4 编写温度采集节点 和接收节点程序, 编译成 hex 文件后下载到单片机中, 与上位机一起联合调试, 运行结果如图 7 所示。 在图 7 中, 在串口设置中选择串口号, 点击“打开 串口” , 指示灯变为绿色, 则串口打开, 否则报错; 在节 点选择中选择想要观测的节点; 输入温度报警的下限 和上限; 点击“启动” 按钮, 上位机向温度采集节点发 送所选择的节点编号; 温度值以数组和曲线的形式表 图 7系统运行结果 示; 温度值在温度报警值范围内的, 过高和过低指示灯 为绿色, 当接收到的温度值小于温度报警下限, 则过低 指示灯变为红色, 反之, 则过高指示灯变红色; 点击 “停止” 按钮, 上位机向接收节点发生送 0x00, 接收节 点收到后停止发送温度值; 点击“退出” 按钮则退出温 度采集系统。 5结束语 基于单片机和 nF905 模块设计了多点温度无线 采集系统, 系统由温度采集节点、 接收节点和上位机构 成, 节点间采用 nF905 模块通信。实验结果表明, 系 统结构简单、 扩展性强、 操作方便, 能够实现对多点温 度的无线采集, 具有较好的应用价值。 参考文献 1 祖一康, 徐妙婧 一种基于单片机和 VB 的多点温度监测 系统设计 J 长江大学学报: 自然科学版, 2014, 11( 19) : 50 53 2 徐宏宇, 沈煌飞 基于 STM32 的多点温度检测系统设计 J 电子科技, 2016, 29( 5) : 158 161 3 陈永阳, 司永杰, 艾树峰, 等 基于 nF905 的嵌入式多点 数据 采 集 系 统 设 计J 电 讯 技 术, 2013, 3 ( 10) : 1384 1388 4 彭波, 文方, 孙国梅 基于 nF905 的无线网络在温度测控 中的应用 J 传感器世界, 2013( 9) : 22 26 ( 下转第 109 页) 201 梅武军, 等: 基于 OS 系统的多旋翼自主飞行控制系统图像编码与软件 www. dianzikeji. org 分析 J 电子科技, 2016, 29( 4) : 158 160 7 席志红, 李永佳, 段炼 基于局部特征和 MeanShift 的目标 跟踪算法研究 J 电子科技, 2015, 28( 6) : 13 16 8 华承昊, 窦丽华, 方浩, 等 SLAM 中融合形状上下文和随 机步进的图匹配数据关联算法 J 北京理工大学学报, 2016( 4) : 405 411 9 查尤平 平滑型 SLAM 中数据关联的鲁棒性研究 D 北 京: 北京交通大学, 2016 10石家兴, 丁永生, 郝矿荣 移动机器人同步定位的数据关 联优化控制 J 计算机仿真, 2015, 32( 9) : 377 381 11Williams S B, Dissanayake G Durrant, Whyte H E Towards terraided navigation for underwater roboticsJ Advanced obotics, 2001, 15( 5) : 533 550 12Keller J Navy issues urgent order to equip MQ 8 UAV heli- copter with maritime surveillance radar J Military and Aer- ospace Electronics, 2013, 24( 2) : 31 32 13Smith , Cheeseman P On the representation and estimation of spatial uncertainty J The International Journal of obot- ics esearch, 1986, 5( 4) : 56 68 14Zhang Y, Webber Dynamic world modeling for a mobile ro- bot among moving objectsJ obotica, 1996, 14 ( 5) : 553 560 15Bachrach A, Prentice S, He , et a1 ANGE obust auton- omous navigation in GPSdenied environmentsJ Joumal of Field obotics, 2011, 28( 5) : 檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪 644 666 ( 上接第 102 页) 5 王静霞 单片机应用技术: C 语言版 M 北京: 电子工业 出版社, 2009 6祖一康, 徐妙婧 基于 STM32 的温湿度采集系统设计 J 黄冈师范学院学报, 2015, 35( 6) : 60 63 7谈敏 基于 nF905 的无线嵌入式温度监测系统设计 J 信息化研究, 2015, 41( 2) : 66 70 8 欧幸福, 陈文凤, 李秀忠, 等 基于 nF905 无线通信系统 的时间 J 黑龙江科技信息, 2015( 22) : 162 163 9 魏芬, 季宇峰 基于无线传感网的温室大棚智能监控系统 的研究 J 测控技术, 2016, 35( 2) : 104 107 10雷子浩, 张丽艳, 费继友, 等 基于 nF905 的无线温度测 量系统设计J 大 连 交 通 大 学 学 报, 2014, 35 ( 2) : 108 111 11陈海松 单片机应用技能项目化教程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论