




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业设计本科毕业设计( (论文论文) ) (2012 届) 论文题目论文题目 基于 nrf2401 无线模块的温度采集 (英文) the temperature acquisition system based on nrf2401 wireless modules 所在学院 电子信息学院 专业班级 学生姓名 指导教师 完成日期 2012 年 基于基于 nrf2401nrf2401 无线模块的温度采集无线模块的温度采集 2012 年 4 月 摘摘 要要 文章主要是介绍了一个基于 nrf2401 的点对点短距离无线温度控制系统的 设计思想和实现方法。系统以凌阳 spce061a 单片机作为主控制器,采用数字式 温度传感器 ds18b20 采集数据,用工作于 2.4g 波段的无线收发芯片 nrf2401 做 无线传输,目的是实现短距离温度的无线采集。在生活和工业应用中,该系统 相对于其他温度采集系统来说,其优点是机构简单,并且解决了一些不允许人 们直接采集系统的问题。该系统的可靠性高,数据传输速度快,功能易扩展, 适用于多种应用领域。 文章首先简单介绍了无线温度采集技术及无线收发芯片的发展近况,结合 了系统方案的要求,论证了实现温度数据采集与无线传输方案的设计思路及系 统的总体架构,完成了各项功能相关的软件设计以及系统的通信协议。系统主 要分为两部分,发射端和接收端。在工作过程中,温度传感器 ds18b20 将采集 的温度通过主控芯片将数据传输给作为发射端的无线收发器 nfr2401,并传送 给另外一个无线收发器 nrf2401,通过 lcd 显示出温度值。在发射端,将温度 传感器采集的温度数据发送至接收端;在接收端,将收集到的数据通过液晶显 示器进行显示。 关键词:关键词:凌阳单片机;无线收发器;ds18b20 abstract 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 . wireless temperature article first briefly describe the acquisition and 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: 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.2 spce061a 概述 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 浙江万里学院本科毕业论文 - 0 - 1 1 引言引言 1.1 无线温度采集技术简介 随着计算机网络与通信技术、自动控制技术、微电子技术、检测与传感技 术等的飞速发展和普及,计算机控制技术的不断提高,在数据采集方面,数据 采集卡、仪器放大器、数字信号处理芯片等技术的不断升级和更新。数温度据 采集是工、农业控制系统中的重要的性是不言而喻的。在医药、化工以及食品 等多个领域的生产和发展中,总是要对每个生产环节中的温度参数进行检测。 与此同时,还要对随机抽取的任一监测点的任一参数进行查询,并且将在一个 较长时间段内检测到的温度参数进行转换后提取出来,这样做的目的是为了便 于比较,做出一个接近正确的决策,调整控制方案,总的一处是在提高产品合 格率的同时能够取得良好的经济效益。 1.2 数据采集技术发展 随着工、农业的发展,无线温度采集系统得到了越来越多的应用,为适应 这一趋势,无线温度采集技术的研究也突显了它的重要性。在科学研究中,运 用无线采集系统可获得大量的动态信息,这也是获取科学数据重要手段之一。 总而言之,不论在哪个应用领域中,无线数据采集与处理直接影响工作效率和 所取得的经济效益。 从严格的意义上来说,数据采集系统,应该是计算机控制的多路数据自动 检测或巡回检测,能对数据实行存储、处理、分析计算并从检测的数据中提取 可用的信息,供显示、记录、打印或描绘的系统。 数据采集系统一般包括以下五个部分:数据输入通道、数据存储与管理、 数据处理、数据输出以及显示。其中,数据输入通道的实现目的是检测、采样 以及对被测对象的进行信号转换三大主要工作。数据存储与管理将采集到的数 据通过存储器存储后并在此基础上建立对应的数据库,并且对数据库进行管理、 筛选和调用。数据处理是针对最初采集的数据,即原始数据,删除不必要的信 息,例如干扰噪声和无法反应检测对象的信息,保留和提取能够准确反应被测 浙江万里学院本科毕业论文 - 1 - 对象的相关信息,对采集的数据做一个整体的统计和分析报告,方便检索。数 据输出就是把数据恢复成原来物理量的形式,以可输出的形态在输出设备上输 出,例如打印、显示、绘图等。 1.3 课题研究主要内容 本课题为基于 nrf2401 温度采集系统设计。设计目的是利用 nrf2401 无线 收发模块实现系统间的无线通信。nrf2401 具有成本低、低功率、节能等特点, 这使得这一目的的实现顺畅不少。本系统分为两部分,在工作过程中,温度传 感器 ds18b20 采集温度通过无线收发器 nrf2401 发射端传送给无线收发器的接 收端,并通过 lcd 显示温度值。该系统使用方便,在工业控制、消费电子等领 域都具有较广阔的应用前景。 课题基于凌阳十六位单片机进行指令遥控,通过无线传输模块进行数据传 输和遥控。系统分两部分:发射模块和接收模块。其中发射模块由凌阳 spce061a 单片机控制模块、nrf2401 无线传输模块和 ds18b20 温度采集模块组 成;接收模块由凌阳 spce061a 单片机控制模块、nrf2401 无线接收模块和显示 设备组成。 在发射模块处,由按键控制单片机,然后控制无线传输模块发射相应数据 至接收模块处。接收模块处,无线接收模块接收信号,通过单片机控制模块处 理,然后控制各个模块来完成相应的指令。 浙江万里学院本科毕业论文 - 2 - 2 2 总体设计总体设计 2.1 系统方案 本系统用单片机作为控制核心,接受来自 adc0809 的数据,处理后通过 串口传送,并完成采样通道的选择。在每次的采集过程中,所采集的参数数目、 采样点数、采样速率、采样精度都固定不变。单片机通过无线模块发收数据, 在接收端通过单片机处理控制驱动显示器显示采集到的数据。系统以凌阳 spce061a 单片机作为主控芯片,建立两个主板,一块作为发射端,一块作为接 收端。在发射端,将温度传感器采集的温度数据发送。在接收端,将收集到的 数据通过液晶显示器进行显示。 2.2 系统总体设计思路 设计一个短距离无线温度采集设备,并且该电子设备可以把温度通过 lcd 显示出来。本短距离无线温度系统主要由两部分组成,系统框图如图 1 所示: 图 2-1 整体系统原理框图 2.2.1 核心控制电路 核心控制类芯片很多,比如 89c51 单片机、arm 等单片机。核心控制芯片 的选择对整个方案和外围器件的选择都有决定性的影响,因此,对于控制芯片 的选择,我们考虑得很慎重。考虑到芯片的性能和我们的熟悉情况,选择了凌 浙江万里学院本科毕业论文 - 3 - 阳公司的 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 个频道,满足多点通信和跳频通信需要, 浙江万里学院本科毕业论文 - 4 - 工作速率 01mb/s,最大发射功率 0dbm,外围元件极少,内置硬件 crc(循环 冗余校验)和点对多点通信地址控制,集成了频率合成器、晶体振荡器和调制 解调器2,输出功率和通信频道可通过程序进行配置。这个芯片有一个很大的 优点就是能耗低,当以-5dbm 的功率发射时,其运转过程中产生的电流只有 10.5ma,同样的接收时运转过程产生的电流也只有 18ma。该芯片还有一个节能 设计的优点,可以在多种低功率模式下工作。duoceivertm 技术的产生使得 nrf2401 用同一天线就能完成同时接收来自于两个不同频道的数据的任务。 浙江万里学院本科毕业论文 - 5 - 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 内存,芯片具有较高的处理速度,能够非常容易、快速地处理复杂的数字 浙江万里学院本科毕业论文 - 6 - 信号,适用于数字语音识别等应用领域。在 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=0xffff; /置a为输出端 dq=0x0000; delay(8); /拉低约900微秒 dq=0x8000; i=30; /延时30微秒 while (i-); void rxwait(void) /等待应答脉冲 unsigned int i; *p_ioa_dir=0x0000; while(dq while(dq /等待应答脉冲 i=4; while (i-); unsigned int rbbit(void) /读取数据的一位,满足读时时隙要求 浙江万里学院本科毕业论文 - 14 - unsigned int i,b; *p_ioa_dir=0xffff; /置a口为输出口 dq=0x0000; i+; i+; i+; i+; /拉低后延时1us,然后释放总线 dq=0x8000; *p_ioa_dir=0x0000; /置a口为输入口,接受数据 i=10; while(i-); b=(dq /15us内读数据 i=60; while (i-); /延时60us return(b); unsigned int rbbyte(void) /读取数字的两个字节 unsigned int i,j,b; b=0; for (i=1;i1); return (b); void wrbyte(unsigned int b) /写数据的一个字节 浙江万里学院本科毕业论文 - 15 - unsigned int i,j,btmp; for (j=1;j1; *p_ioa_dir=0xffff; /置a口为出入口 if (btmp=0x0001) /写1 dq=0x0000; /拉低15us i=13; while(i-); dq=0x8000; /15us内必须将总线了拉高 i=55; while (i-); i+; i+; else /写0 dq=0x0000; i=64; while (i-); dq=0x8000; i+; i+; void convert(void) /启动温度转换 浙江万里学院本科毕业论文 - 16 - txreset(); /初始化 rxwait(); /应答脉冲 delay(10); wrbyte(0x00cc); /skip rom命令 wrbyte(0x0044); /温度转换 *p_watchdog_clear=0x0001; void rdtemp(void) /读取温度值,将温度值赋予temp txreset(); /初始化 rxwait(); /应答脉冲 delay(10); wrbyte(0x00cc); /skip rom命令 wrbyte(0x00be); /读暂存器温度 temp=rbbyte(); /读取温度 void showtemp() /温度显示函数 *p_iob_data=tabletens+0xfe00; /显示十位 delay(50); *p_iob_data=tablesone+0xfd00; /显示个位 delay(50); *p_iob_data=tablepoint+0xfb00; /显示小数 delay(50); *p_iob_data=0xffff; void main() 浙江万里学院本科毕业论文 - 17 - 定义全局变量; io端口初始化; *p_systemclock=0x0040; /设置系统时钟, 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=0x0001; /清狗 4.2.2 数据收发模块 这部分是将接收到的数据通过单片机处理、分析,然后通过lcd显示。通过 nrf2401的子程序进行调用来实现无线传输系统核心代码见附录4。 数据收发的流程如图4-3所示: 浙江万里学院本科毕业论文 - 18 - 图4-3 数据收发流程说明框图 接收部分的主函数,主要功能接收数据,根据接收数据执行显示动作。 int main() /定义全局变量 for(i=0;i #define c_irq4_4khz0x0040 unsigned int temp_data(void); int main(void) float abs(flaot number);/求绝对值函数声明 int ten,sone,point_0,point_1; float m; temp=readtemp();/获取温度值 /temp为0 if(temp=0) k=0; /temp为正数,做判断 if(temp0) 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,小数点后精确 两位 浙江万里学院本科毕业论文 - 32 - ten=temp/10; /取十位的值 sone=temp%10; /取个位的值 point_0=temp*10%10; /取小数点后第一位的值 point_1=temp*100%10; /取小数点后第二位的值 /temp为负数,做判断 if(temp0); delay(40); write_18b20_byte(0xcc); write_18b20_byte(0x44); for(i=0;i0); write_18b20_byte(0xcc); write_18b20_byte(0xbe); for(i=0;i8;i+)/数据读取 datai = read_18b20_byte(); init_18b20(); unsigned int temp_data(void); 浙江万里学院本科毕业论文 - 35 - int main() / unsigned long int freqvalue,freqvaluelow,freqvaluehigh,high; / 定义变量 for(i=0;i0x3fff;i+)*p_watchdog_clear= 0x0001; lcdinit (); key_initio(); / 设置nrf2401a工作方式: _
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论