基于NRF2401无线模块的温度采集毕业论文_第1页
基于NRF2401无线模块的温度采集毕业论文_第2页
基于NRF2401无线模块的温度采集毕业论文_第3页
基于NRF2401无线模块的温度采集毕业论文_第4页
基于NRF2401无线模块的温度采集毕业论文_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

本科毕业设计本科毕业设计( (论文论文) ) (2012 届) 论文题目论文题目 基于 NRF2401 无线模块的温度采集 (英文) The temperature acquisition system based on NRF2401 wireless modules 所在学院电子信息学院 专业班级 学生姓名 指导教师 完成日期 2012年 摘要 文章主要是介绍了一个基于 NRF2401 的点对点短距离无线温度控制系统的 设计思想和实现方法。系统以凌阳 SPCE061A 单片机作为主控制器,采用数字式 温度传感器 DS18B20 采集数据,用工作于 2.4G 波段的无线收发芯片 nRF2401 做 无线传输,目的是实现短距离温度的无线采集。 在生活和工业应用中,该系统相 对于其他温度采集系统来说,其优点是机构简单,并且解决了一些不允许人们直 接采集系统的问题。该系统的可靠性高,数据传输速度快,功能易扩展,适用于 多种应用领域。 文章首先简单介绍了无线温度采集技术及无线收发芯片的发展近况, 结合了 系统方案的要求, 论证了实现温度数据采集与无线传输方案的设计思路及系统的 总体架构,完成了各项功能相关的软件设计以及系统的通信协议。系统主要分为 两部分,发射端和接收端。 在工作过程中,温度传感器DS18B20 将采集的温度通 过主控芯片将数据传输给作为发射端的无线收发器 NFR2401,并传送给另外一个 无线收发器 NRF2401,通过 LCD 显示出温度值。在发射端,将温度传感器采集的 温度数据发送至接收端;在接收端,将收集到的数据通过液晶显示器进行显示。 关键词:关键词:凌阳单片机;无线收发器;DS18B20 AbstractAbstract The article is to introduce the design philosophy and its implementing method of a point-to-point short-range wireless temperature control system based on RNF2401 wireless modules . The system uses Sunplus SPCE061A MCU as the master controller , digital temperature sensor DS18B20 collects data , uses wireless transceiver chip the NRF2401 that working in the 2.4G band do wireless transmission , to achieve collecting temperature data of short distance wireless . In domestic and industrial applications , the system relatives to the other temperature acquisition system , the advantage of simple bodies , and solve some problems do not allow people direct acquisition system . The systems high reliability , fast data transfer speeds , and features easy to expand , apply to a variety of applications . Wirelesstemperaturearticlefirstbrieflydescribetheacquisitionand development of wireless transceiver chip, combined with the system requirements, demonstration and implementation of temperature data acquisition and wireless transmission scheme design and the overall architecture of the system, complete the function of software design and systems of communication protocols. This system can be divided into two parts, the transmitter and the receiver. In the course of work, temperature sensor DS18B20 temperature collected data through the main control chip to NFR2401 as the transmitter of the wireless transceiver, and delivered to another NRF2401 wireless transceiver, displayed by LCD temperature values. At the transmitter, the temperature sensor temperature data collected is sent to the receiving end; at the receiving end, the collected data displays through the LCD monitor. Key Words:Key Words:Sunplus microcontroller ; wireless transceiver ; DS18B20 目目录录 1引言.1 1.1 无线温度采集技术简介.1 1.2 数据采集技术发展.1 1.3 课题研究主要内容.2 2总体设计.3 2.1 系统方案 .3 2.2 系统总体设计思路.3 2.2.1 核心控制电路.3 2.2.2 温度采集电路.4 2.2.3 显示系统电路.4 2.2.4 无线收发电路.4 3硬件设计.6 3.1 硬件连接.6 3.2SPCE061A 概述 .6 3.2.1 SPCE061A 模块结构.7 3.2.2 SPCE061A 主要性能.7 3.3 无线模块.8 3.4温度采集模块 .9 3.4.1 DS18B20 简介.9 3.4.2 DS18B20 工作原理.11 4软件设计.12 4.1 软件开发工具 .12 4.2 软件主体部分及流程图 .13 4.2.1 温度采集原理框图.13 4.2.2 数据收发模块.18 4.2.3 DS18B20 的工作时序 .21 5制作和调试.23 5.1 硬件制作和调试.23 5.2 软件制作和调试.24 6结论.26 致谢.27 参考文献.28 附录 1系统实物图.29 附录 2实验原理图.30 附录 3源程序.32 1 1引言引言 1.1 无线温度采集技术简介 随着计算机网络与通信技术、自动控制技术、微电子技术、检测与传感技术 等的飞速发展和普及,计算机控制技术的不断提高,在数据采集方面,数据采集 卡、仪器放大器、数字信号处理芯片等技术的不断升级和更新。数温度据采集是 工、农业控制系统中的重要的性是不言而喻的。在医药、化工以及食品等多个领 域的生产和发展中,总是要对每个生产环节中的温度参数进行检测。与此同时, 还要对随机抽取的任一监测点的任一参数进行查询, 并且将在一个较长时间段内 检测到的温度参数进行转换后提取出来,这样做的目的是为了便于比较,做出一 个接近正确的决策,调整控制方案, 总的一处是在提高产品合格率的同时能够取 得良好的经济效益。 1.2 数据采集技术发展 随着工、农业的发展,无线温度采集系统得到了越来越多的应用,为适应这 一趋势,无线温度采集技术的研究也突显了它的重要性。在科学研究中,运用无 线采集系统可获得大量的动态信息,这也是获取科学数据重要手段之一。总而言 之, 不论在哪个应用领域中,无线数据采集与处理直接影响工作效率和所取得的 经济效益。 从严格的意义上来说, 数据采集系统, 应该是计算机控制的多路数据自动检 测或巡回检测,能对数据实行存储、处理、分析计算并从检测的数据中提取可用 的信息,供显示、记录、打印或描绘的系统。 数据采集系统一般包括以下五个部分:数据输入通道、数据存储与管理、数 据处理、数据输出以及显示。其中,数据输入通道的实现目的是检测、采样以及 对被测对象的进行信号转换三大主要工作。 数据存储与管理将采集到的数据通过 存储器存储后并在此基础上建立对应的数据库,并且对数据库进行管理、筛选和 调用。数据处理是针对最初采集的数据,即原始数据,删除不必要的信息,例如 干扰噪声和无法反应检测对象的信息, 保留和提取能够准确反应被测对象的相关 信息,对采集的数据做一个整体的统计和分析报告,方便检索。数据输出就是把 数据恢复成原来物理量的形式,以可输出的形态在输出设备上输出,例如打印、 显示、绘图等。 1.3 课题研究主要内容 本课题为基于 NRF2401 温度采集系统设计。 设计目的是利用 NRF2401 无线收 发模块实现系统间的无线通信。NRF2401 具有成本低、低功率、节能等特点,这 使得这一目的的实现顺畅不少。本系统分为两部分,在工作过程中,温度传感器 DS18B20 采集温度通过无线收发器 NRF2401 发射端传送给无线收发器的接收端, 并通过 LCD 显示温度值。该系统使用方便,在工业控制、消费电子等领域都具有 较广阔的应用前景。 课题基于凌阳十六位单片机进行指令遥控, 通过无线传输模块进行数据传输 和遥控。系统分两部分:发射模块和接收模块。其中发射模块由凌阳 SPCE061A 单片机控制模块、NRF2401 无线传输模块和 DS18B20 温度采集模块组成;接收模 块由凌阳 SPCE061A 单片机控制模块、NRF2401 无线接收模块和显示设备组成。 在发射模块处, 由按键控制单片机, 然后控制无线传输模块发射相应数据至 接收模块处。接收模块处,无线接收模块接收信号,通过单片机控制模块处理, 然后控制各个模块来完成相应的指令。 2 2总体设计总体设计 2.1 系统方案 本系统用单片机作为控制核心,接受来自 ADC0809 的数据,处理后通过串 口传送,并完成采样通道的选择。在每次的采集过程中,所采集的参数数目、采 样点数、采样速率、采样精度都固定不变。单片机通过无线模块发收数据,在接 收端通过单片机处理控制驱动显示器显示采集到的数据。系统以凌阳 SPCE061A 单片机作为主控芯片,建立两个主板,一块作为发射端,一块作为接收端。在发 射端,将温度传感器采集的温度数据发送。在接收端,将收集到的数据通过液晶 显示器进行显示。 2.2 系统总体设计思路 设计一个短距离无线温度采集设备,并且该电子设备可以把温度通过LCD 显示出来。本短距离无线温度系统主要由两部分组成,系统框图如图 1 所示: 图 2-1整体系统原理框图 2.2.1 核心控制电路 核心控制类芯片很多,比如 89C51 单片机、ARM 等单片机。核心控制芯片的 选择对整个方案和外围器件的选择都有决定性的影响,因此,对于控制芯片的选 择,我们考虑得很慎重。考虑到芯片的性能和我们的熟悉情况,选择了凌阳公司 的 SPCE061A 单片机作为控制电路。首先我们对凌阳单片机非常熟悉,这样也能 降低我们的设计难度,节省一些时间。其次这款单片机的工作速度较高,具有 32 位编程多功能 I/O 端口,2 个 16 位定时器/计数器,内置有 16 位乘法器。凌 阳十六位单片机集成开发环境集软件编辑编译仿真链接在线编程在线调试等众 多功能于一体,具有友好的交互界面,程调试工作更加方便且高效,此外它的软 件仿真功能可以在不连接开发板的情况下模拟硬件的各项功能来调试程序。 2.2.2 温度采集电路 本系统温度采集部分采用温度传感器 DS18B20。DS18B20 测温系统具有测温 系统简单、测温精度高、连接方便、占用口线少等优点。DS18B20 数字温度传感 器接线方便,封装后还可以应用于多种场合,如管道式、螺纹式、磁铁吸附式、 不锈钢封装式。封装后的 DS18B20 可用于弹药库测温、电缆沟测温、机房测温、 高炉水循环测温、 锅炉测温、 洁净室测温、 农业大棚测温等各种非极限温度场合。 该温度传感器具有体积小、耐磨耐碰、使用方便、封装形式多样等特点,适用于 各种狭小空间设备的数字测温和控制领域。 2.2.3 显示系统电路 凌阳公司的 SPCE061A 单片机有相应配套的 LCD 显示模块 SPLC501。SPLC501 液晶显示控制驱动器集行、列驱动器和控制器于一体,广泛应用于小规模液晶显 示模块。SPLC501 单芯片液晶驱动,可以直接与其他为控制器接口总线相连。微 控制器可以将显示数据通过 8 位数据总线或者串行接口写到 SPLC501 的显存中。 内置 8580 位显示 RAM。RAM 中的一位数据控制液晶屏上的一个像素点的亮、暗状 态。“1” 亮、“0” 暗1。 内置晶振电路, 也可以外接晶振。 其工作温度范围为-40 +85。 2.2.4 无线收发电路 这里采用 NRF2401 是单片射频收发芯片作为无线收发模块,NRF2401 芯片工 作于 2.4GHz 全球开放 ISM 频段,125 个频道,满足多点通信和跳频通信需要,工 作速率 01Mb/s,最大发射功率 0dBm,外围元件极少,内置硬件 CRC(循环冗 余校验)和点对多点通信地址控制,集成了频率合成器、晶体振荡器和调制解调 器2,输出功率和通信频道可通过程序进行配置。这个芯片有一个很大的优点就 是能耗低,当以-5dBm 的功率发射时,其运转过程中产生的电流只有 10.5mA,同 样的接收时运转过程产生的电流也只有 18mA。该芯片还有一个节能设计的优点, 可以在多种低功率模式下工作。DuoCeiverTM 技术的产生使得 NRF2401 用同一天 线就能完成同时接收来自于两个不同频道的数据的任务。 3 3硬件设计硬件设计 本系统硬件主要由采集发送和接收显示两部分组成。 3.1 硬件连接 基于 NRF2401 无线温度采集系统由两块都有 SPCE061A 作为控制系统的电路 板组成。 发射模块由 DS18B20 温度采集模块、SPCE061A、NRF2401 无线模块组成,它 的硬件连接图如图 3-1 所示: 图 3-1发射模块系统硬件连接图 接收模块由 SPCE061A、NRF2401 无线模块、LCD 组成,它的硬件连接图如图 3-2 所示: 图 3-2接收模块系统硬件连接图 3.2 SPCE061A 概述 SPCE061A 是凌阳科技公司 nSP系列产品中的 16 位微控制器芯片,内置 32K 内存,芯片具有较高的处理速度,能够非常容易、快速地处理复杂的数字信 号, 适用于数字语音识别等应用领域。 在 2.6V3.6V 工作电压范围内, SPCE061A 的工作速度范围为 0.32MHz49.152MHz,具备8 通道 10 位 ADC 输入功能,内置 的具有自动增益控制的麦克风输入功能,双通道10 位 DAC 音频输出功能及 A、B 两个 I/O 输入输出功能。其主要特点是:语音处理能力,A/D 转换功能,开发调 试方便。 3.2.1 SPCE061A 模块结构 图 3-3 所示为 SPCE061A 的模块结构图。其主要模块有并行 I/O 端口、模/ 数转换 ADC、数/模转换 DAC、存储器RAM void showtemp(); /全局变量定义 void showdelay() /延时显示函数 int i; i=35; /延时约1s while(i-) showtemp(); void TxReset(void) /产生复位脉冲 初始化DS18B20 unsigned int i; *P_IOA_Dir=0 xffff; /置A为输出端 DQ=0 x0000; delay(8); /拉低约900微秒 DQ=0 x8000; i=30; /延时30微秒 while (i-); void RxWait(void) /等待应答脉冲 unsigned int i; *P_IOA_Dir=0 x0000; while(DQ while(DQ/等待应答脉冲 i=4; while (i-); unsigned int RbBit(void) /读取数据的一位,满足读时时隙要求 unsigned int i,b; *P_IOA_Dir=0 xffff; /置A口为输出口 DQ=0 x0000; i+; i+; i+; i+; /拉低后延时1us,然后释放 总线 DQ=0 x8000; *P_IOA_Dir=0 x0000; 据 i=10; while(i-); b=(DQ i=60; while (i-); / return(b); unsigned int RbByte(void) / unsigned int i,j,b; b=0; for (i=1;i=16;i+) j=RbBit(); b=(j1); return (b); / 置 A 口 为 输 入 口 , /15us内读数据 延时60us 读取数字的两个字节 接 受 数 void WrByte(unsigned int b) /写数据的一个字节 unsigned int i,j,btmp; for (j=1;j1; *P_IOA_Dir=0 xffff; if (btmp=0 x0001) /写1 DQ=0 x0000; i=13; while(i-); DQ=0 x8000; i=55; while (i-); i+; i+; else / DQ=0 x0000; i=64; while (i-); DQ=0 x8000; i+; i+; /置A口为出入口 /拉低15us 内必须将总线了拉高 写0 /15us void convert(void) /启动温度转换 TxReset(); /初始化 RxWait(); /应答脉冲 delay(10); WrByte(0 x00cc); /skip rom命令 WrByte(0 x0044); /温度转换 *P_Watchdog_Clear=0 x0001; void RdTemp(void) /读取温度值,将温度值赋予temp TxReset(); /初始化 RxWait(); /应答脉冲 delay(10); WrByte(0 x00cc); /skip rom命令 WrByte(0 x00be); /读暂存器温度 temp=RbByte();/读取温度 void showtemp() /温度显示函数 *P_IOB_Data=tabletens+0 xfe00; /显示十位 delay(50); *P_IOB_Data=tablesone+0 xfd00; /显示个位 delay(50); *P_IOB_Data=tablepoint+0 xfb00; /显示小数 delay(50); *P_IOB_Data=0 xffff; void main() 定义全局变量; IO端口初始化; *P_SystemClock=0 x0040; /设置系统时钟, while(1) delay(10); convert();/启动温度转换 showdelay(); /延时750ms以上 RdTemp(); /读取温度值 tens=(temp /取十位 sone=(temp /取个位 i=(temp point=(int)i; /取小数点后第一位 if (int) (i*10)%10=5 ) /取小数点后第二位,四舍五入 point+; showtemp();/显示温度 showtemp(); showtemp(); showtemp(); showtemp(); *P_Watchdog_Clear=0 x0001; /清狗 4.2.2 数据收发模块 这部分是将接收到的数据通过单片机处理、分析,然后通过LCD显示。通过 NRF2401的子程序进行调用来实现无线传输系统核心代码见附录4。 数据收发的流程如图4-3所示: 图4-3 数据收发流程说明框图 接收部分的主函数,主要功能接收数据,根据接收数据执行显示动作。 int main() /定义全局变量 for(i=0;i0) if(Temp/10=0)/表示要LCD501显示四位,如8.97,小数点后精确两位 sone=Temp*10/10; /取个位的值 point_0=Temp*10%10; /取小数点后第一位的值 point_1=Temp*100%10; /取小数点后第二位的值 else /表示LCD501显示5位,如18.97, 小数点后精确两 位 ten=Temp/10; /取十位的值 sone=Temp%10; /取个位的值 point_0=Temp*10%10; /取小数点后第一位的值 point_1=Temp*100%10; /取小数点后第二位的值 /Temp为负数,做判断 if(Temp0); Delay(40); Write_18B20_Byte(0 xcc); Write_18B20_Byte(0 x44); for(i=0;i0); Write_18B20_Byte(0 xcc); Write_18B20_Byte(0 xbe); for(i=0;i8;i+)/数据读取 Datai = Read_18B20_Byte(); Init_18B20(); int main() / unsigned long int freqValue,freqValueLow,freqValueHigh,high; / 定义变量 for(i=0;i0 x3fff;i+)*P_Watchdog_Clear= 0 x0001; LCDINIT (); Key_InitIO(); / 设置nRF2401A工作方式: _asm(int irq); /

温馨提示

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

最新文档

评论

0/150

提交评论