基于at89s52的无线温度测量系统毕业论文_第1页
基于at89s52的无线温度测量系统毕业论文_第2页
基于at89s52的无线温度测量系统毕业论文_第3页
基于at89s52的无线温度测量系统毕业论文_第4页
基于at89s52的无线温度测量系统毕业论文_第5页
已阅读5页,还剩128页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计 I 摘 要 温度作为工业、农业生产中最常见的和最基本的参数之一,我们常常需要 对温度进行检测和监控,利用微型机进行温度的采集处理,数据存储以及实时 控制等来提高工作效率、保证产品质量。本文设计了一个基于 AT89S52 的高精 度短距离无线传输的温度测量系统。发送端的温度传感器 AD590 采集到的模拟 信号经过数据处理后送给单片机,单片机通过无线传输模块 nRF24L01 将数据 发送到接收端,接收端的 nRF24L01 接收到数据后送给单片机进行数据处理。 文章在简要介绍 AT89S52、AD590、nRF24L01 无线传输模块、 AD7896、AD623 以及液晶模块的基础上,详细介绍了系统方案的选择,以及 无线温度测量系统的硬件和软件设计的过程。 关键字:关键字:AT89S52;温度测量;AD590;nRF24L01 毕业设计 II Abstract Temperature as one of the most common and the most basic parameters in industrial, agricultural production, We often need to detect and monitor temperature, use microcomputer for temperature acquisition and processing, data storage and real- time control to improve the work efficiency, and ensure the quality of products .This article describes the design of a high precision temperature measure- ment system of short distance wireless transmission based on the AT89S52. After data processing, analog signals acquired by the temperature sensor AD590 of the sender is sended to the single chip microcomputer. By wireless transmission module, nRF24l01 sends the data to the receiving end. After receiving the data, the receiving end of the nRF24l01 sends it to the single chip microcomputer for data processing. This article briefly introduces the AT89S52, AD590, nRF24l01, AD7896, AD623, wireless transmission module and liquid crystal module basis and introduces in detail the choice of the scheme about this system, as well as the wireless temperature measurement system hardware and software design process. Keywords: AT89S52;temperature measurement;AD590;nRF24l01; 毕业设计 III 目 录 摘 要.I ABSTRACTII 第一章 绪 论1 1.1 课题的背景与意义1 1.2 国内外研究状况及相关领域中已有的研究成果1 1.3 方案的选择2 1.3.1 信号采集与放大模块2 1.3.2 模数转换模块3 1.3.3 单片机模块3 1.3.4 无线发射模块4 1.3.5 显示模块4 1.4 设计要求4 1.5 本章小结4 第二章 硬件系统的设计与实现5 2.1 单片机模块6 2.1.1 AT89S52 简介.6 2.1.2 模块原理图8 2.2 温度采集与放大模块9 2.2.1 AD590 简介.9 2.2.2 AD590 的工作原理.10 2.2.3 温度采集电路11 2.2.4 放大电路12 2.2.5 信号电压调整电路13 2.3 模数转换模块15 2.4 无线发射模块16 2.4.1 引脚功能及描述17 2.4.2 工作模式18 2.4.3 工作原理18 2.5 液晶显示模块20 2.5.1 LCD1602 管脚介绍.20 2.5.2 LCD1602 的指令说明及时序.21 2.6 电源模块22 2.7 本章小结23 毕业设计 IV 第三章 软件系统的设计与实现24 3.1 软件的总体设计24 3.1.1 发送端软件总体设计24 3.1.2 接收端软件总体设计25 3.2 各模块软件设计26 3.2.1 模数转换26 3.1.2 LCD1602 液晶显示部分.28 3.1.3 无线发射模块软件设计29 3.1.4 无线接收模块软件设计30 3.3 本章小结30 第四章 系统的调试及实验结果31 4.1 调试步骤31 4.1.1 硬件电路调试31 4.1.2 软件调试32 4.2 实验结果33 4.3 本章小结35 第五章 总 结36 参考文献38 致 谢39 附 录40 1 第一章 绪 论 1.1 课题的背景与意义 温度是工业、农业生产中常见的和最基本的参数之一。伴随着工业农业中 应用的科技飞速发展,对产品在生产过程中温度的测量需求也越来越多,也显 得越来越重要。尤其是对温度要求比较严格,但是布线又不方便的情况下,这 时就采用无线温度测量。 进入 21 世纪后,特别在我国加入 WTO 后,国内产品面临巨大挑战。各行 业特别是传统产业都急切需要应用电子技术、自动控制技术进行改造和提升。 例如在商业中纺织行业,温湿度是影响纺织品质量的重要因素,但纺织企业对 温湿度的测控手段仍很粗糙,十分落后,很多仍在使用测温贴片,采用人工观 测,人工调节阀门、风机的方法,其控制效果可想而知。在医学制药行业中, 由于微生物对温度的要求很高,就需要高精度的温度监测,如果采用无线温度 测量的话可以完全保证测温的无菌化。在农业中随着农业向产业化发展,许多 农民意识到必需摆脱落后的传统耕作、养殖方式,采用现代科学技术来应付进 口农产品的挑战,并打进国外市场。各地建立了越来越多的新型温室大棚,种 植反季节蔬菜,花卉。调温冷库的大量兴建都给温湿度测控技术提供了广阔的 市场。考虑到以上方面本文设计一个基于 AT89S52 的无线温度测量系统。 1.2 国内外研究状况及相关领域中已有的研究成果 温度是表征物体冷热程度的物理量,它与人类生活、工农业生产和科学研究 有着密切关系。随着科学技术水平的不断提高,温度测量技术也得到了不断的发 展。 在温度测量方面各国均取得了许多可喜的成果,其中前苏联的压电石英频率 温度计分辨能力可达 0.0001,理论上可达 0.00001,而且在-40230范 围内具有温度与频率的线性特性,日本利用所谓石英温度频率转换器-80 200的温度范围,最大分辨率达 0.0001,美国标准局研制的电阻温度计 25 欧标准铂电阻温度计电桥分辨 0.00002,我国生产的石英温度传感器分辨率达 到 0.0001,误差在 0.05以内。中国航天工业总公司 702 所研制的 5901(STP-1000)型粘贴式测温片,其静态测温精度为 0.5%,快速响应时间小于 0.013s。 温度的测量方式也多种多样,传统的热电偶以测量方便,电路简单,使用 方便等特点广泛应用在现在的测温领域中。随着新材料、新工艺以及一些新技 术的发展,其应用范围更加拓展。测量技术有:利用薄膜温度传感器;热电偶材 2 料性能的提高;温度传感器保护套管材料;辐射测温技术;光纤测温技术。 虽然温度测量方法多种多样,但在很多情况下,对于实际工程现场或一些特 殊条件下的温度测量,比如对极限温度、高温腐蚀性介质温度、气流温度、表 面温度、固体内部温度分布、微尺寸目标温度、大空间温度分布、生物体内温 度、电磁干扰条件下温度测量来讲,要想得到准确可靠的结果并非易事,需要非 常熟悉各种测量方法的原理及特点,结合被测对象要求选择合适的测量方法才能 完成。同时,还要不断探索新的温度测量方法,改进原有测量技术,以满足各 种条件下的温度测量需求。 1.3 方案的选择 根据各项功能的实现方法以及硬件连接方式,将整个系统划分为信号采集 与放大模块、模数转换模块、单片机模块、无线发射模块、液晶显示模块、电 源模块。 1.3.1 信号采集与放大模块 1.3.1.1 温度传感器的选择 方案一:由于传感器 DS18B20 价格便宜,硬件简单,传感器直接输出数字 信号,便于控制,并且 DS18B20 可以采用单总线传输,一根总线能挂载多个传 感器,易于扩展。但是 DS18B20 的温度精度为 0.5C,对于温度要求很严格的 应用领域不大适合,本系统的测温精度为 0.1C,DS18B20 无法满足要求。 方案二:于是考虑采用了高精度温度传感器 AD590, AD590 不但实现了温 度的电量测量,而且灵敏度高、反应时间短,因此可作为恒温控制电路的信号 检测器。与目前大量使用的接点式水银温度计相比,它具有控温精度(温控在某 点时的温度最大波动范围)高、体积小、无污染、使用方便等优点。 从上述两个方案的对比看出 DS18B20 无法满足系统指标,我们采用 AD590 作为温度传感器。 1.3.1.2 运算放大器的选择 方案一:采用运用非常广泛的 LM324,单电源供电,供电范围大,从 3.0 伏 到 32 伏,并且一块芯片集成 4 个运放,输出动态范围大,轨到轨输出。共模输 入范围包括负电源,因而消除了在许多应用场合中采用外部偏置元件的必要性。 但 LM324 的失调电压大,一般为2mV,最大达到了7mV,对于此系统中小 信号的放大不大适合。并且噪声大,抗干扰性不强。 方案二:采用 AD632 作为系统的放大芯片是最适合不过的了,AD623 是一 个集成单电源仪表放大器,它能在单电源(+3V 到+12V)下提供满电源幅度的 输出。它允许使用单个增益设置电阻进行增益编程,以得到更好的灵活性。符 3 合 8 引脚的工业标准配置。增益放大倍数可调,使用简单。噪声小,输入阻抗 大。 从上述两个方案对比我们采用 AD623 专用仪表放大器作为整个系统的放大 器。 1.3.2 模数转换模块 方案一:ADC0809 是 8 位逐次逼近式 A/D 模数转换器。其内部有一个 8 通 道多路开关,它可以根据地址码锁存译码后的信号,只选通 8 路模拟输入信号 中的一个进行 A/D 转换。是目前国内应用最广泛的 8 位通用 A/D 芯片。单电源 +5V 供电,转换时间为 100s(时钟为 640kHz 时),130s(时钟为 500kHz 时) 低功耗,约 15mW,成本低廉。 但是 8 位的分辨率太低,我们可以计算,信号采集时温度每变化 1,电 压变化 10mV,放大 5 倍后电压随温度的变化为 50mV/,也就是信号采集到 的温度每变化 0.1,电压变化 5mV。而系统对温度精度的要求是 0.1,而对 于 ADC0809 而言每变化 0.1 信号电压的变化必须大于 AD 的分辨率 5V/255 =19.6mV,要使用一个电压分辨率为 19.6mV 的模数转换器去分辨电压变化为 5mV 的模拟信号,很明显 AD 是分辨不出来的。如果采用 ADC0809 那么系统 的精度就变成了 19.6mV/5mV0.4,远远小于系统要求的精度。 那我们可以通过计算,我们需要选择至少多少位的 AD 芯片如果选择 10 位 的 AD 芯片,那么他的分辨率就为 5V/(210-1)=4.88mV 满足要求,所以必须 采用不小于 10 位的 AD。 方案二:采用 AD7896 高速高精度高分辨率的 AD 转换芯片,内置采样、 保持电路,逐次比较转换片内时钟,最大转换频率 100 KHz,连续转换时间 8S,高速,操作简单、串口输出,12 位串口输出,单电源供电: +2.7 V 至 +5.5 V ,模拟电压输入范围:0 V 至 VDD,输出精度:1LSB 即1.22mV。 从上述两个方案对比由于 ADC0809 无法满足系统要求的精度,我们采用 AD7896 为系统的模数转换器。 1.3.3 单片机模块 方案一:采用传统的 AT89S52 单片机作为主控芯片。此芯片价格便宜、操 作简便,低功耗,比较经济实惠。 方案二:采用宏晶科技有限公司的 STC12C5A60S2 增强型 51 单片机作为 主控芯片。此芯片内置 ADC 和 SPI 总线接口,且内部时钟不分频,可达到 1MPS。而且价格适中。 从性能和价格上综合考虑我们选择方案一,即用 AT89S52 作为本系统的主 4 控芯片。 1.3.4 无线发射模块 方案一:采用 GSM 模块进行通信,GSM 模块需要借助移动卫星或者手机 卡,虽说能够远距离传输,但是其成本较大、且需要内置 SIM 卡,通信过程中 需要收费,后期成本较高。 方案二:采用 TI 公司 CC2430 无线通信模块,此模块采用 Zigbee 总线模式, 传输速率可达 250kbps,且内部集成高性能 8051 内核。但是此模块价格较贵, 且 Zigbee 协议相对较为复杂。 方案三:采用 NRF24L01 无线射频模块进行通信,NRF24L01 是一款高速 低功耗的无线通信模块。如果加 PA 能传输上千米的距离,而且价格较便宜, 采用 SPI 总线通信模式电路简单,操作方便。 考虑到系统的复杂性和程序的复杂度,我们采用方案三作为本系统的通信 模块。 1.3.5 显示模块 方案一:选择主控为 ST7920 的带字库的 LCD12864 来显示信息。12864 是 一款通用的液晶显示屏,能够显示多数常用的汉字及 ASCII 码,而且能够绘制 图片,描点画线,设计成比较理想的结果。 方案二:采用字符液晶 LCD1602 显示信息,1602 是一款比较通用的字符 液晶模块,能显示字符和数字等信息,且价格便宜,容易控制。 综合以上方案,我们选择了经济实惠的字符液晶 LCD1602 来作为接收端的 显示。 1.4 设计要求 采用 AT89S52 作为系统的 MCU,采用 AD590 作为系统的温度传感器,要 求系统有温度显示部分,要求完成硬件电路的设计、调试和电路板的制作,温 度测量范围为 0至 100,温度精度为 0.1,采用无线传输方式传输数据。 1.5 本章小结 本章主要是对文章编写目的、背景、国内外在测温领域的发展现状以及系 统设计要求,根据系统要求详细介绍了系统方案的选择。 5 第二章 硬件系统的设计与实现 温度检测在日常生活、工作和工程实践中经常用到,随着生活水平和科学 技术的不断进步,对检测温度数据的精度要求也越来越苛刻,传统的温度测量 装置很难满足现在的要求,本设计采用 AD590 作为温度采集元件,精度高,线 性度好,而且此系统采用 nRF24L01 模块对采集到的温度数据进行无线传输, 打破了传统操作中距离受限的问题,使测温操作更易实现。将整个系统划分为 信号采集与放大模块、模数转换模块、单片机模块、无线发射模块、液晶显示 模块、电源模块。其系统总体框图如图 2.1 所示。 信号采集 放大模块 模数转换模块 单片机模块 无线发射模块 单片机模块 无线接收模块 显示模块 显示模块 图 2.1 系统总体架构图 在系统总体框图中,信号采集与放大模块主要作用是温度传感器 AD590 采 集温度信号输出电流信号,再经过一个电阻后采集信号转换成电压信号。模数 转换器主要完成模拟信号转换成数字信号送到单片机中进行处理。发送端单片 机主要完成控制模数转换器 AD7896,并且将数字信号转换成温度值,并且为 提高精度,减小系统误差,做了一些数据处理,除此之外,单片机还负责控制 LCD1602 显示温度,控制无线发射模块将测量的温度值发送出去。在接收端无 线接收模块接收到了发送端发送过来的数据后,将数据送给单片机模块,单片 6 机模块接收到数据后进行数据处理后送给 LCD1602 进行显示。 2.1 单片机模块 2.1.1 AT89S52 简介 AT89S521是 ATMEL 生产的一种低功耗、高性能 CMOS 8 位微型控制器, 具有 8K 在系统可编程 Flash 存储器。该单片机使用高密度非易失性存储器技 术制造,与工业 80C51 产品指令和引脚完全兼容。片上 Flash 允许程序存储器 在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在 系统可编程 Flash,使得 AT89S52 在众多嵌入式控制应用系统中得到广泛应用。 按功能划分 AT89S522由中央处理器(CPU), 8k Bytes Flash 片内程序存储 器,256 bytes 的随机存取数据存储器(RAM) ,32 个外部双向输入/输出 (I/O)口,5 个中断优先级 2 层中断嵌套中断,2 个 16 位可编程定时计数器,2 个 全双工串行通信口,片内特殊功能寄存器(SFR),看门狗(WDT)电路, 片内时钟振荡器。引脚如图 2.2 所示,以下是各引脚的说明3。 图 2.2 单片机管脚图 7 VCC:AT89S524电源正端输入,接+5V。 VSS:电源地端。 XTAL1:单芯片系统时钟的反向放大器输入端。 XTAL2:系统时钟的反向放大器输出端。 RESET:复位信号输入端。单片机运行时,在此端口上加上持续时间为 2 个机器周期(24 个时钟周期)的高电平时,系统完成复位操作。单片机复位能 解决单片机内部寄存器的初始化以及单片机出现程序“跑飞”的现象。 ALE/PROG:ALE 为地址锁存允许信号,当单片机上电正常工作后,ALE 引脚输出正脉冲信号。如果要访问外部存储器时,ALE 输出负跳变作为低 8 位 地址锁存信号。PROG 是该引脚的第二功能。在对片内 EPROM 型单片机编程 时,此引脚作为编程脉冲输入端。 EA:EA 为内外部程序存储器选择控制端。当 EA 端为高时单片机访问内 部程序存储器,在 PC 值超过 0X1FFFH 时,单片机将自动转向执行外部程序存 储器内的程序。当 EA 端为低电平时单片机只访问外部程序存储器。 PSEN:PSEN 为程序存储器允许输出控制端。在单片机访问外部程序存储器是, 此引脚输出负脉冲作为读外部程序存储器的选通信号。 PORT0(P0.0P0.7):端口 0 是一个 8 位宽的漏极开路双向输出入端口。 除了作为普通并行 I/O 口外,还可作为低 8 位数据总线和地址总线时分复用端 口。PO 口是漏极开路,当作为普通 I/0 口时必须接上拉电阻。接上拉电阻后最 多可驱动 8 个 LS TTL 负载。 PORT1(P1.0P1.7):端口 1 也是具有内部提升电路的双向 I/O 端口,其输 出缓冲器可以推动 4 个 LS TTL 负载,若将端口 1 的输出设为高电平,使是由 此端口来输入数据。 PORT2(P2.0P2.7):端口 2 是具有内部提升电路的双向 I/O 端口,每一个 引脚可以推动 4 个 LS 的 TTL 负载,若将端口 2 的输出设为高电平时,此端口 便能当成输入端口来使用。P2 除了当做一般 I/O 端口使用外,若是在 AT89S52 扩充外接程序存储器或数据存储器时,也提供地址总线的高字节 A8A15,这 个时候 P2 便不能当做 I/O 来使用了。 PORT3(P3.0P3.7):端口 3 也具有内部提升电路的双向 I/O 端口,其输 出缓冲器可以推动 4 个 TTL 负载,同时还多工具有其他的额外特殊功能,包括 串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入 控制等功能。 其引脚分配如下: P3.0:RXD,串行通信输入。 8 P3.1:TXD,串行通信输出。 P3.2:INT0,外部中断 0 输入。 P3.3:INT1,外部中断 1 输入。 P3.4:T0,计时计数器 0 输入。 P3.5:T1,计时计数器 1 输入。 P3.6:WR,外部数据存储器的写入信号。 P3.7:RD,外部数据存储器的读取信号。 2.1.2 模块原理图 图 2.3 单片机模块原理图 AT89S525是整个系统中微型处理器,此芯片负责控制 AD7896 进行 AD 转 换,接收 AD7896 的转换数据,AD 转换后数据处理,控制 nRF24l01,将数据 传送给 nRF24L01,控制 LCD1602 进行数据显示。上图 2.3 为单片机模块原理 图。 时钟电路用于产生 AT89S51 单片机工作时所必需的时钟信号。时钟频率直 接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。这里 我们选用 11.0592M 的晶振,由于当晶体振荡器振荡频率在 1M 到 12M 之间取 值时,两个微调电容的典型取值通常选择在 22pF 左右。 单片机的复位需要至少 2 个机器周期的高电平,复位电路必须确保系统上 9 电时能够自动复位,在必要时还可以手动复位。系统上电上电时,C1 两端的电 压为零,在上电的瞬间我们可以看做一个交流信号穿过电容 C1,使得电容 C1 负端的电压为高,单片机复位,经过 45 个 后,C1 两端的电压约为零。按 键复位时,按键 SW1 按下后,单片机的复位端的电平为高电平,单片机复位, 在按键松开时,经过 45 个 后,单片机复位端的电平为低电平,单片机退 出复位状态。 2.2 温度采集与放大模块 2.2.1 AD590 简介 AD5906是一个将输出电流比例转换成绝对温度的二终端集成电路温度变 换装置。电源电压在+4 V 和+30 V 之间设备作为一个高阻抗、恒定电流为 1 uA/K 的装置。芯片的薄膜电阻器的激光微调装置被用于将设备微调至在 298.2K (+25C)时输出 298.2 uA。AD590 的引脚图和电路符号如图 3.4 和图 3.5。AD590 有以下特点: 线性电流传感器:1 uA/K 范围:55C-+150C 陶瓷传感器探头兼容包 终端装置:电压/电流 激光微调到0.5C 校准精度(AD590M) 良好的线性:0.3C 覆盖全量程(AD590M) 供电电压范围:+4 V -+30 V 图 3.4 AD590 引脚图 图 3.5 AD590 电路符号 10 2.2.2 AD590 的工作原理 在被测温度一定时,AD590 相当于一个恒流源,把它和 530V 的直流电源 相连,并在输出端串接一个 10k 的恒值电阻,那么,此电阻上流过的电流将 和被测温度成正比,此时电阻两端将会有 10mVK 的电压信号。其基本电路如 图 3.6 所示。 图 3.6 AD590 内部基本原理图 图 3.6 是利用 UBE特性的集成 PN 结传感器7的感温部分核心电路。其中 V1、V2起恒流作用,可用于使左右两支路的集电极电流 I1 和 I2 相等;V3、V4 是感温用的晶体管,两个管的材质和工艺完全相同,但 V3管的发射面积是 V4 管的 8 倍,即 r=8,流过电路的总电流 I: be 1 22 I2Iln q UKT RR A 当式中 R 和 r 为固定值时,电路的输出电流和温度有良好的线性关系。取 R=358,则电路的温度系数为 2 ln =1uA/ q T T dIK CK dTR 11 2.2.3 温度采集电路 AD590 基本上是一个 PTAT(正比于绝对温度)电流调节器。通过调整理论 温度(例如:输出电流)接近于实际温度,这些因子在模式下被修正接近 1 uA/K。在+25C (298.2K)内,当在 AD590 串联一个 10K 的电阻,这 10K 的电阻 由一个固定阻值的 9.1K 的电阻和一个 1K 的可调电阻构成,1K 的可调电阻主要 是提高 10K 电阻的精度。故 AD590 的 2 端的电压随温度的变化速率为 10mV/K。 接 CN1 跳线主要是为了调试的便利,断开跳线可以在中间接电流表测量 AD590 的输出电流。下图为信号采集电路8的原理图。 图 2.7 温度采集电路原理图 12 2.2.4 放大电路 图 2.8 放大电路原理图 AD623 是基于改进的传统三运放方案的仪表放大器4,具有低输入输出失 调电压,绝对增益精确性,并且只需要一个外接电阻设置增益,使 AD623 成为 同类产品中中最通用的仪表放大器之一。 AD623 输入作为电压缓冲器的 PNP 晶体管上,并且提供一个共模信号输 入放大器。每个放大器介入一个精确地 50K 的反馈电阻以保证增益可编程。 差分输出增益为: (2-1) 100K Av1 Rg () 下面我们来计算一下信号需要放大的倍数。系统采用的模数转换器的参考 电压是 5V,温度的测量范围为 100,那么每摄氏度所对应的最大的电压是 (2-2) 5V Vmax=50mV/ 100 而信号采集到的信号电压随温度的变化速率为 (2-3)Vin1uA / K 10K10/mV 为了最大提高系统精度,就让输入信号放大倍数设置为 13 (2-4) 50mV/ A5 10mV/ 倍 又由于 AD623 的增益放大倍数可得 (2-5) 100 Rg= (1) V K A 故 (2-6)Rg25K 在图中 25K 的电阻由阻值固定的 20K 的电阻 R4 和 10K 的可调电阻 R5 组成。调试时候将 R4 和 R5 串联后的电阻调为 25K 欧姆,加可调电阻主要是 为了降低由于电阻值的偏差带来的误差,提高系统精度。 AD623 的输出端并联电容主要是起滤波的作用,而 5V 的稳压管主要是起保 护作用,由于运放的供电电源是 9V,可能会由于某些原因(上电时没有接上信 号采集电路中的跳线而使得 AD623 的输出电压为 9V)使输出端的电压高于 5V, 这是 5V 的稳压管就能方向击穿是输出端的电压稳定在 5V,从而保护单片机的输 入口。 2.2.5 信号电压调整电路 图 2.9 电压调整电路原理图 14 图 2.9 为电压调整电路的原理图,此电路为电压调整电路9,就是一个输 出电压可调的电源。接到 AD623 的反相端。由于 AD623 是差分放大电路,将此 电压信号接到 AD623 的方向端可达到将 AD590 采集到的电压信号降低 2.73V 再 放大的目的。 那为什么对 AD590 采集到的电压信号进行调整呢?目的有三: 其一,为了让采集到的信号在模拟数值转换器的基准电压范围内。我们要 测量的温度范围是 0至 100,而采集到的电压信号的变化范围是 2.73V 至 3.73V,电压放大 5 倍后电压信号变化范围是 13.65V 至 16.65V。而我们的模数 转换器的参考电压是 5V,已经超过了模数转换器的电压转换的量程,所以必须 想办法同时减小 0和 100的电压而不影响系统的整体设计思路。我们可以利 用 AD623 的差分放大的特性,在 AD623 的反相端接入一个稳定的电压,进行差 分放大。反相端接入的电压值就为 AD590 在 0是采集电路采集到的电压信号 大小。正常情况下 AD590 在 0时输出的电流大小为 273uA,那么信号采集电路 采集到的电压信号大小就为 2.73V,经过电压调整后采集到的电压信号变化范 围就变为了 0V 至 1V,放大 5 倍后电压变化范围从 0V 至 5V,刚好达到满量程变 化。 其二,将温度单位从开尔文转换为摄氏度。首先温度单位开尔文和摄氏度 之间的转换关系为 (2-7)KT273 也就是开尔文和摄氏度之间是存在线性关系的。我们可以利用这种线性关 系来调整温度的单位。设某一时刻温度开尔文值是 K1,对应的摄氏度温度为 T1,采集到电压信号的值为 U0,电压调整后的电压为 U1,经过放大器后输出的 电压为 U2,则 (2-8)U0K1 10mV / K10mV /T12.73V 将上式变换后 (2-9)U02.73VK1 10mV / K2.73V10mV /T1 根据上式可将电压调整为 (2-10)U1U02.73V 再将电压放大 5 倍后得到 (2-11)U25U15U02.73V50mV/T1 这样 (2-12)U2T1 这样不仅消除了一次函数的常数,使得输出电压 U2 和温度 T1 成正比例关 系,这样也大大降低了调试的难度。 15 其三,对 AD590 进行非线性补偿。图 5 显示的是在校准误差修正前后一个 典型的 AD590 的温度曲线。 图 2.10 AD590 非线性补偿 由于电源电压,电阻的阻值,各种器件的温漂,AD590 的输出电流随电源 的影响会使得 AD590 的特性曲线有一定的变化,这样通过调整电压可以进行系 统非线性误差调整。那如何进行调整呢?设 AD590 在 25的时候输出电流为 ,那么经过 10K 的电阻后信号为,在不考虑误298X uA 2.980.01 X V 差的情况下,AD590 在 25时信号采集电路输出的电压应该是 2.98V,那么要 进行系统的非线性补偿,则可以通过改变调整电压电路的电压, 使得0.01 X AD623 在 25时输出电压为 2.98V。这样就很简单有效的进行了非线性误差调 整,提高了系统精度。图 2.10 为 AD590 非线性补偿示意图。 16 2.3 模数转换模块 图 2.11 AD7896 原理图 AD7896 是一种 12 位低功耗高速串行 AD 转换器。该产品有 8 脚 Plastic DIP,Lead Cerdip 和 SOIC 三种封转形式,且带有内部时钟。AD7896 的外部接 线很简单,转换时间为 8us,采用标准的同步串行接口输出和 2.7V 至 5.5V 单一 电源供电。 图 2.12 AD7896 时序图 图 2.12 是 AD7896 工作在高速模式时的时序图,在此模式下,启动信号 CONVST 一般处于高电平。当 CONVST 输入一个负脉冲,其下降沿将启动一 次转换,该信号出发 BUSY 由低电平变为高电平,并且标记转换正在进行。经 过最大 8us 后转换结束,BUSY 自动从高电平变为低电平,然后用 16 个时钟读 出转换数据进行存储,时钟脉冲频率最大 10MHz(+5V)供电,读出数据最短 为 1.6us,在经过 400ns 时间等待,在下一次转换开始时,数据串行移位输出, 17 整个转换时间最短为 10us。AD7896 将 AD623 放大后的信号进行模拟数字转换 后送给单片机。 2.4 无线发射模块 该模块由挪威(Nordic)公司生产的 nRF24L0110及其外围电路组成。nRF24L 01 是一款新型单片射频收发器件,工作于 2.4 GHz2.5 GHz 世界通用的 ISM 频 段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了 增强型 ShockBurst 技术,其中输出功率和通信频道可通过程序进行配置。 nRF24L 01 功耗低,在以-6dBm 的功率发射时,工作电流也只有 9mA;接收时, 工作电流只有 12.3mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计 更方便。nRF24L01 主要特性如下: 1、GFSK 调制,硬件集成 OSI 链路层; 2、具有自动应答和自动再发射功能; 3、片内自动生成报头和 CRC 校验码; 4、数据传输率为 l Mb/s 或 2Mb/s; 5、SPI 速率为 0 Mb/s10 Mb/s; 6、125 个频道与其他 nRF24 系列射频器件相兼容; 7、QFN20 引脚 4 mm4 mm 封装; 8、供电电压为 1.9 V3.6 V; 2.4.1 引脚功能及描述 无线模块的引脚排列如图所示。 18 图 2.13 nRF24L01 原理图 GND:电源地。 VCC:电源输入端,电压范围是 1.9V 至 3.6V。 CE:芯片模式控制线。在 CSN 为底的情况下,CE 协同 nRF24L01 的 CONFIG 寄存器共同决定 nRF24L01 的状态。 CSN:芯片的片选线,CSN 为底电平芯片工作。 SCK:SPI 时序的时钟信号线。 IRQ:中断标志位。有三种情况 IRQ 的引脚会输出低电平。当 nRF24L01 内部寄存器中的 RX_RD 寄存器位被拉高,则表明 nRF24L01 接收到了数据。 当 nRF24L01 内部寄存器中的 TX_RD 寄存器位被拉高,则表明在有效应答时间 范围内模块收到了应答信号(在自动应答模式下) 。当 nRF24L01 内部寄存器中 的 MAX_RT 寄存器位被拉高,则表明自动重发次数已达到设定的最大重发次 数,并且在此期间没有接受到有效地应答信号。以上三种情况都会使 IRQ 中断 输出端输出低电平。 2.4.2 工作模式 通过配置寄存器可将 nRF24L01 配置为发射、接收、空闲及掉电四种工作 模式,如表 3.1 所示。 表 2.1 nRF24L01 工作模式 模式PWR_UPPRIM_RXCEFIFO 寄存器状态 接收模式111- 发射模式101数据在 TX FIFO 寄存器中 发射模式1010停留在发送模式,直至数据发送完 待机模式 2101TX_FIFO 为空 待机模式 11-0无数据传输 掉电0- 待机模式 1 主要用于降低系统平均电流,在该模式下晶体振荡器正常工作; 待机模式 2 则是在当 FIFO 寄存器为空且 CE=1 时进入此模式;待机模式下,所 有配置字仍然保留。在掉电模式下电流损耗最小,同时 nRF24L01 也不工作, 但其所有配置寄存器的值仍然保留。 19 2.4.3 工作原理 发射数据时,首先将 nRF24L01 配置为发射模式,配置发射模式包括按照 时序由 SPI 口将接收节点地址 TX_ADDR 和有效数据 TX_PLD 写入 nRF24L01 缓存区,配置自动应答,设置数据传输率,使能 CRC 校验等等。TX_PLD 必须 在 CSN 为低时连续写入,而 TX_ADDR 在发射时写入一次即可,然后 CE 置为 高电平并保持至少 10s,延迟 130s 后发射数据;若自动应答开启,那么 nRF24L01 在发射数据后立即进入接收模式,接收应答信号(自动应答接收地址 应该与接收节点地址 TX_ADDR 一致) 。如果收到应答,则认为此次通信成功, TX_DS 置高,同时 TX_PLD 从 TX FIFO 中清除。若未收到应答,则自动重新 发射该数据(自动重发已开启),若重发次数(ARC)达到上限,MAX_RT 置高, TX FIFO 中数据保留以便在次重发。MAX_RT 或 TX_DS 置高时,使 IRQ 变低, 产生中断,通知 MCU。最后发射成功时,若 CE 为低则 nRF24L01 进入空闲模式 1;若发送堆栈中有数据且 CE 为高,则进入下一次发射;若发送堆栈中无数据且 CE 为高,则进入空闲模式 2。 接收数据时,首先将 nRF24L01 配置为接收模式,接着延迟 130s 进入接收 状态等待数据的到来。当接收方检测到有效的地址和 CRC 时,就将数据包存储 在 RX FIFO 中,同时中断标志位 RX_DR 置高,IRQ 变低,产生中断,通知 MCU 去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信 号。最后接收成功时,若 CE 变低,则 nRF24L01 进入空闲模式 1。在写寄存器 之前一定要进入待机模式或掉电模式。 表 2.2 常用配置寄存器 地址(H)寄存器名称功能 00CONFIG设置 24L01 工作模式 01EN_AA 设置接收通道及自动应答 02EN_RXADDR使能接收通道地址 03SETUP_AW设置地址宽度 04SETUP_RETR设置自动重发数据时间和次数 07STATUS状态寄存器,用来判定工作状态 0A0FRX_ADDR_P0P 5 设置接收通道地址 20 10TX_ADDR设置接收接点地址 1116RX_PW_P0P5设置接收通道的有效数据宽度 2.5 液晶显示模块 图 2.14 液晶显示模块电路图 液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点, 在微型仪表和低功耗应用系统中得到越来越广泛的应用。在发射端和接收端同 时采用 LCD1602,方便比较发射和接受到的温度值。 2.5.1 LCD1602 管脚介绍 1602 采用标准的 16 脚接口,其中: 1 脚:VSS 为电源地。 2 脚:VDD 接 5V 电源正极。 3 脚:V0 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电 源时对比度最高 ,当对比度过高时会产生 “鬼影”,使用时可以通过一个 10 K 的电位器调整对比度。 4 脚:RS 为寄存器选择,高电平 1 时选择数据寄存器、低电平 0 时 选择指令寄存器。 21 5 脚:RW 为读写信号线,高电平 (1)时进行读操作,低电平 (0)时进行 写操作。 6 脚:E(或 EN)端为使能(enable)端。 714 脚:D0D7 为 8 位双向数据端。 1516 脚:空脚或背灯电源。 15 脚背光正极, 16 脚背光负极。 2.5.2 LCD1602 的指令说明及时序 1602 液晶模块内部的控制器共有 11 条控制指令,如表 2.3 所示: 表 2.3:控制命令表 序号指令RSR/WD7D6D5D4D3D2D1D0 1清显示0000000001 2光标返回000000001* 3置输入模式00000001I/DS 4显示开/关控制0000001DCB 5光标或字符移位000001s/rr/l* 6置功能00001DLNF* 7置字符发生存贮器地址0001字符发生存贮器地址 8置数据存贮器地址001显示数据存贮器地址 9读忙标志或地址01BF计数器地址 10 写数到 CGRAM 或 DDRAM) 10 要写的数据内容 11 从 CGRAM 或 DDRAM 读数 11 读出的数据内容 LCD1602 工作状态有读状态,写指令和读数据命令,控制信号具体设置如下 表 3.4: 表 3.4 LCD1602 工作状态命令 读状态输入RS=L,R/W=H,E=H输出D0D7=状态字 写指令输入RS=L,R/W=L,D0D7=指令码,E=高脉 冲 输出无 读数据输入RS=H,R/W=H,E=H输出D0D7=数据 22 图 2.15 液晶读操作操作时序 图 2.16 写操作时序 23 2.6 电源模块 图 2.15 电源模块原理图 整个系统我采用了+9V 的单电源供电,像 AD590、AD623 电压供电范围大 的器件采用+9V 供电,单片机、液晶、OP07、AD7896 都是采用+5V 供电,而 无线发射接收模块电压范围小,采用+3.3V 供电。为了方便系统电源管理整个 系统只入+9V 的电压,而+5V 和+3.3V 的电压直接采用三端集成稳压器件来实 现,这样可以大大是电路的设计简便化。另外在系统设计中还添加了很多滤波 电容,尽量减小系统电源给整个系统带来干扰。 2.7 本章小结 本章主要是讲述了对于各个模块的电路设计,其中主要是单片机模块、温 度采集与放大模块、信号电压调整电路、模数转换模块、无线发射模块、液晶 显示模块、电源模块。比较详细介绍了主要芯片的工作原理、特点和性能,着 重分析了硬件电路的设计以及工作原理。通过这一章的介绍,可以了解本系统 详细的硬件设计方案。 24 第三章 软件系统的设计与实现 3.1 软件的总体设计 3.1.1 发送端软件总体设计 发送部分软件的一个循环程序。首先是初始化 LCD1602,显示第一行的 “temperature:” ,程序的主体是 AD7896 采样电压值并把它转换成数字信号送 给单片机,单片机进行数据处理后,控制 LCD1602 显示。定时器主要是做 500ms 的定时,当定时器溢出后,也就是定时达到 500ms 发送一次数据。下图 3.1 为发送端总体软件设计流程图。 开始 初始化LCD 初始化定时器 LCD在第二行 显示温度 AD7896采样 数据处理 定时器溢出? 无线发送数据 Y N 图 3.1 发送端软件总体设计 25 3.1.2 接收端软件总体设计 接收部分的总体思路是先初始化 LCD1602 和单片机 I/O 口,再将 nRF24L01 配置成接收模式,然后就是一个无线循环,单片机不断地读 nRF24L01 的工作状态寄存器 STATUS 来监测接收模块的工作状态。当发现 nRF24L01 接收到了数据后单片机负责存储数据,发送发送应答信号,并且控制 LCD1602 显示。下图为图 3.2 接收端软件设计流程图。 开始 初始化LCD 初始化IO口 接收模式 读寄存器STATUS 收到数据?清标志位 LCD显示温度 Y N 数据处理 Y 图 3.2 接收端软件总体设计 26 3.2 各模块软件设计 3.2.1 模数转换 AD7896 是 12 位高速 AD 转换芯片。采用串行输出的方式,并且 AD7896 有两种工作模式,一种是高速转换模式,一种是自动休眠模式。我采用高速转 换模式,其操作流程图如图 3.3 所示。 开 始 初始化 AD转换 数值计算 ASC码转换 结束 图 3.3 AD7896 工作流程图 流程图中的初始化是对 AD7896 的输入端口付初始值,主要是保证 AD 转 换开始转换时的有效性。AD 转换主要完成拉低 AD_CONVST,启动转换,随 后拉高确保模数转换器一直处于高速转换模式。8us 后通过 SCLK 来输入一个 读取的模拟时钟,AD7896 内部寄存器在 SCLK 下降沿输出数据,单片机在 SCLK 上升是读取数据,经过 16 个时钟周期后数据被全部读出,完成 AD 转换。 数值计算主要完成将 AD 采样得到的二进制信息转换成对应的模拟信号的十进 制数值,并把十进制的数按位拆分存入数组 temperature 中。设通过 AD7896 得 到的二进制数值为 GETDATA,AD7896 的基准电压是 AD7896VCC,最终得到 的模拟信号对应的数值为 ADDATA,则 27 (3-1) 12 GETDATAAD7896VCC ADDATA 2150mV 流程图中的 ASC 码转换模块主要完成将数值计算得到的数组中存入的每一 位的值转换成 ASC 码,主要是为了 LCD1602 显示更便利。 在数值计算中还对系统误差的校准,系统误差的校准的主

温馨提示

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

评论

0/150

提交评论