




已阅读5页,还剩60页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要 温度作为工业 农业生产中最常见的和最基本的参数之一 我们常常需要 对温度进行检测和监控 利用微型机进行温度的采集处理 数据存储以及实时 控制等来提高工作效率 保证产品质量 本文设计了一个基于 AT89S52 的高精 度短距离无线传输的温度测量系统 发送端的温度传感器 AD590 采集到的模拟 信号经过数据处理后送给单片机 单片机通过无线传输模块 nRF24L01 将数据 发送到接收端 接收端的 nRF24L01 接收到数据后送给单片机进行数据处理 文章在简要介绍 AT89S52 AD590 nRF24L01 无线传输模块 AD7896 AD623 以及液晶模块的基础上 详细介绍了系统方案的选择 以及 无线温度测量系统的硬件和软件设计的过程 关键字 关键字 AT89S52 温度测量 AD590 nRF24L01 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 目 录 摘 要 I ABSTRACT II 第一章 绪 论 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 第三章 软件系统的设计与实现 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 课题的背景与意义 温度是工业 农业生产中常见的和最基本的参数之一 伴随着工业农业中 应用的科技飞速发展 对产品在生产过程中温度的测量需求也越来越多 也显 得越来越重要 尤其是对温度要求比较严格 但是布线又不方便的情况下 这 时就采用无线温度测量 进入 21 世纪后 特别在我国加入 WTO 后 国内产品面临巨大挑战 各行 业特别是传统产业都急切需要应用电子技术 自动控制技术进行改造和提升 例如在商业中纺织行业 温湿度是影响纺织品质量的重要因素 但纺织企业对 温湿度的测控手段仍很粗糙 十分落后 很多仍在使用测温贴片 采用人工观 测 人工调节阀门 风机的方法 其控制效果可想而知 在医学制药行业中 由于微生物对温度的要求很高 就需要高精度的温度监测 如果采用无线温度 测量的话可以完全保证测温的无菌化 在农业中随着农业向产业化发展 许多 农民意识到必需摆脱落后的传统耕作 养殖方式 采用现代科学技术来应付进 口农产品的挑战 并打进国外市场 各地建立了越来越多的新型温室大棚 种 植反季节蔬菜 花卉 调温冷库的大量兴建都给温湿度测控技术提供了广阔的 市场 考虑到以上方面本文设计一个基于 AT89S52 的无线温度测量系统 1 2 国内外研究状况及相关领域中已有的研究成果 温度是表征物体冷热程度的物理量 它与人类生活 工农业生产和科学研究 有着密切关系 随着科学技术水平的不断提高 温度测量技术也得到了不断的发 展 在温度测量方面各国均取得了许多可喜的成果 其中前苏联的压电石英频率 温度计分辨能力可达 0 0001 理论上可达 0 00001 而且在 40 230 范 围内具有温度与频率的线性特性 日本利用所谓石英温度频率转换器 80 200 的温度范围 最大分辨率达 0 0001 美国标准局研制的电阻温度计 25 欧标准铂电阻温度计电桥分辨 0 00002 我国生产的石英温度传感器分辨率达 到 0 0001 误差在 0 05 以内 中国航天工业总公司 702 所研制的 5901 STP 1000 型粘贴式测温片 其静态测温精度为 0 5 快速响应时间小于 0 013s 温度的测量方式也多种多样 传统的热电偶以测量方便 电路简单 使用 方便等特点广泛应用在现在的测温领域中 随着新材料 新工艺以及一些新技 术的发展 其应用范围更加拓展 测量技术有 利用薄膜温度传感器 热电偶材 料性能的提高 温度传感器保护套管材料 辐射测温技术 光纤测温技术 虽然温度测量方法多种多样 但在很多情况下 对于实际工程现场或一些特 殊条件下的温度测量 比如对极限温度 高温腐蚀性介质温度 气流温度 表 面温度 固体内部温度分布 微尺寸目标温度 大空间温度分布 生物体内温 度 电磁干扰条件下温度测量来讲 要想得到准确可靠的结果并非易事 需要非 常熟悉各种测量方法的原理及特点 结合被测对象要求选择合适的测量方法才能 完成 同时 还要不断探索新的温度测量方法 改进原有测量技术 以满足各 种条件下的温度测量需求 1 3 方案的选择 根据各项功能的实现方法以及硬件连接方式 将整个系统划分为信号采集 与放大模块 模数转换模块 单片机模块 无线发射模块 液晶显示模块 电 源模块 1 3 1 信号采集与放大模块 1 3 1 1 温度传感器的选择 方案一 由于传感器 DS18B20 价格便宜 硬件简单 传感器直接输出数字 信号 便于控制 并且 DS18B20 可以采用单总线传输 一根总线能挂载多个传 感器 易于扩展 但是 DS18B20 的温度精度为 0 5 C 对于温度要求很严格的 应用领域不大适合 本系统的测温精度为 0 1 C DS18B20 无法满足要求 方案二 于是考虑采用了高精度温度传感器 AD590 AD590 不但实现了温 度的电量测量 而且灵敏度高 反应时间短 因此可作为恒温控制电路的信号 检测器 与目前大量使用的接点式水银温度计相比 它具有控温精度 温控在某 点时的温度最大波动范围 高 体积小 无污染 使用方便等优点 从上述两个方案的对比看出 DS18B20 无法满足系统指标 我们采用 AD590 作为温度传感器 1 3 1 2 运算放大器的选择 方案一 采用运用非常广泛的 LM324 单电源供电 供电范围大 从 3 0 伏 到 32 伏 并且一块芯片集成 4 个运放 输出动态范围大 轨到轨输出 共模输 入范围包括负电源 因而消除了在许多应用场合中采用外部偏置元件的必要性 但 LM324 的失调电压大 一般为 2mV 最大达到了 7mV 对于此系统中小 信号的放大不大适合 并且噪声大 抗干扰性不强 方案二 采用 AD632 作为系统的放大芯片是最适合不过的了 AD623 是一 个集成单电源仪表放大器 它能在单电源 3V 到 12V 下提供满电源幅度的 输出 它允许使用单个增益设置电阻进行增益编程 以得到更好的灵活性 符 合 8 引脚的工业标准配置 增益放大倍数可调 使用简单 噪声小 输入阻抗 大 从上述两个方案对比我们采用 AD623 专用仪表放大器作为整个系统的放大 器 1 3 2 模数转换模块 方案一 ADC0809 是 8 位逐次逼近式 A D 模数转换器 其内部有一个 8 通 道多路开关 它可以根据地址码锁存译码后的信号 只选通 8 路模拟输入信号 中的一个进行 A D 转换 是目前国内应用最广泛的 8 位通用 A D 芯片 单电源 5V 供电 转换时间为 100 s 时钟为 640kHz 时 130 s 时钟为 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 5mV 0 4 远远小于系统要求的精度 那我们可以通过计算 我们需要选择至少多少位的 AD 芯片如果选择 10 位 的 AD 芯片 那么他的分辨率就为 5V 210 1 4 88mV 满足要求 所以必须 采用不小于 10 位的 AD 方案二 采用 AD7896 高速高精度高分辨率的 AD 转换芯片 内置采样 保持电路 逐次比较转换片内时钟 最大转换频率 100 KHz 连续转换时间 8 S 高速 操作简单 串口输出 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 作为本系统的主 控芯片 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 本章小结 本章主要是对文章编写目的 背景 国内外在测温领域的发展现状以及系 统设计要求 根据系统要求详细介绍了系统方案的选择 第二章 硬件系统的设计与实现 温度检测在日常生活 工作和工程实践中经常用到 随着生活水平和科学 技术的不断进步 对检测温度数据的精度要求也越来越苛刻 传统的温度测量 装置很难满足现在的要求 本设计采用 AD590 作为温度采集元件 精度高 线 性度好 而且此系统采用 nRF24L01 模块对采集到的温度数据进行无线传输 打破了传统操作中距离受限的问题 使测温操作更易实现 将整个系统划分为 信号采集与放大模块 模数转换模块 单片机模块 无线发射模块 液晶显示 模块 电源模块 其系统总体框图如图 2 1 所示 信号采集 放大模块 模数转换模块 单片机模块 无线发射模块 单片机模块 无线接收模块 显示模块 显示模块 图 2 1 系统总体架构图 在系统总体框图中 信号采集与放大模块主要作用是温度传感器 AD590 采 集温度信号输出电流信号 再经过一个电阻后采集信号转换成电压信号 模数 转换器主要完成模拟信号转换成数字信号送到单片机中进行处理 发送端单片 机主要完成控制模数转换器 AD7896 并且将数字信号转换成温度值 并且为 提高精度 减小系统误差 做了一些数据处理 除此之外 单片机还负责控制 LCD1602 显示温度 控制无线发射模块将测量的温度值发送出去 在接收端无 线接收模块接收到了发送端发送过来的数据后 将数据送给单片机模块 单片 机模块接收到数据后进行数据处理后送给 LCD1602 进行显示 2 1 单片机模块 2 1 1 AT89S52 简介 AT89S52 1 是 ATMEL 生产的一种低功耗 高性能 CMOS 8 位微型控制器 具有 8K 在系统可编程 Flash 存储器 该单片机使用高密度非易失性存储器技 术制造 与工业 80C51 产品指令和引脚完全兼容 片上 Flash 允许程序存储器 在系统可编程 亦适于常规编程器 在单芯片上 拥有灵巧的 8 位 CPU 和在 系统可编程 Flash 使得 AT89S52 在众多嵌入式控制应用系统中得到广泛应用 按功能划分 AT89S52 2 由中央处理器 CPU 8k Bytes Flash 片内程序存储 器 256 bytes 的随机存取数据存储器 RAM 32 个外部双向输入 输出 I O 口 5 个中断优先级 2 层中断嵌套中断 2 个 16 位可编程定时计数器 2 个 全双工串行通信口 片内特殊功能寄存器 SFR 看门狗 WDT 电路 片内时钟振荡器 引脚如图 2 2 所示 以下是各引脚的说明 3 图 2 2 单片机管脚图 VCC AT89S52 4 电源正端输入 接 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 0 P0 7 端口 0 是一个 8 位宽的漏极开路双向输出入端口 除了作为普通并行 I O 口外 还可作为低 8 位数据总线和地址总线时分复用端 口 PO 口是漏极开路 当作为普通 I 0 口时必须接上拉电阻 接上拉电阻后最 多可驱动 8 个 LS TTL 负载 PORT1 P1 0 P1 7 端口 1 也是具有内部提升电路的双向 I O 端口 其输 出缓冲器可以推动 4 个 LS TTL 负载 若将端口 1 的输出设为高电平 使是由 此端口来输入数据 PORT2 P2 0 P2 7 端口 2 是具有内部提升电路的双向 I O 端口 每一个 引脚可以推动 4 个 LS 的 TTL 负载 若将端口 2 的输出设为高电平时 此端口 便能当成输入端口来使用 P2 除了当做一般 I O 端口使用外 若是在 AT89S52 扩充外接程序存储器或数据存储器时 也提供地址总线的高字节 A8 A15 这 个时候 P2 便不能当做 I O 来使用了 PORT3 P3 0 P3 7 端口 3 也具有内部提升电路的双向 I O 端口 其输 出缓冲器可以推动 4 个 TTL 负载 同时还多工具有其他的额外特殊功能 包括 串行通信 外部中断控制 计时计数控制及外部数据存储器内容的读取或写入 控制等功能 其引脚分配如下 P3 0 RXD 串行通信输入 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 单片机模块原理图 AT89S52 5 是整个系统中微型处理器 此芯片负责控制 AD7896 进行 AD 转 换 接收 AD7896 的转换数据 AD 转换后数据处理 控制 nRF24l01 将数据 传送给 nRF24L01 控制 LCD1602 进行数据显示 上图 2 3 为单片机模块原理 图 时钟电路用于产生 AT89S51 单片机工作时所必需的时钟信号 时钟频率直 接影响单片机的速度 时钟电路的质量也直接影响单片机系统的稳定性 这里 我们选用 11 0592M 的晶振 由于当晶体振荡器振荡频率在 1M 到 12M 之间取 值时 两个微调电容的典型取值通常选择在 22pF 左右 单片机的复位需要至少 2 个机器周期的高电平 复位电路必须确保系统上 电时能够自动复位 在必要时还可以手动复位 系统上电上电时 C1 两端的电 压为零 在上电的瞬间我们可以看做一个交流信号穿过电容 C1 使得电容 C1 负端的电压为高 单片机复位 经过 4 5 个 后 C1 两端的电压约为零 按 键复位时 按键 SW1 按下后 单片机的复位端的电平为高电平 单片机复位 在按键松开时 经过 4 5 个 后 单片机复位端的电平为低电平 单片机退 出复位状态 2 2 温度采集与放大模块 2 2 1 AD590 简介 AD590 6 是一个将输出电流比例转换成绝对温度的二终端集成电路温度变 换装置 电源电压在 4 V 和 30 V 之间设备作为一个高阻抗 恒定电流为 1 uA K 的装置 芯片的薄膜电阻器的激光微调装置被用于将设备微调至在 298 2K 25 C 时输出 298 2 uA AD590 的引脚图和电路符号如图 3 4 和图 3 5 AD590 有以下特点 线性电流传感器 1 uA K 范围 55 C 150 C 陶瓷传感器探头兼容包 终端装置 电压 电流 激光微调到 0 5 C 校准精度 AD590M 良好的线性 0 3 C 覆盖全量程 AD590M 供电电压范围 4 V 30 V 图 3 4 AD590 引脚图 图 3 5 AD590 电路符号 2 2 2 AD590 的工作原理 在被测温度一定时 AD590 相当于一个恒流源 把它和 5 30V 的直流电源 相连 并在输出端串接一个 10k 的恒值电阻 那么 此电阻上流过的电流将 和被测温度成正比 此时电阻两端将会有 10mV K 的电压信号 其基本电路如 图 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 2 2 3 温度采集电路 AD590 基本上是一个 PTAT 正比于绝对温度 电流调节器 通过调整理论 温度 例如 输出电流 接近于实际温度 这些因子在模式下被修正接近 1 uA K 在 25 C 298 2K 内 当在 AD590 串联一个 10K 的电阻 这 10K 的电阻 由一个固定阻值的 9 1K 的电阻和一个 1K 的可调电阻构成 1K 的可调电阻主要 是提高 10K 电阻的精度 故 AD590 的 2 端的电压随温度的变化速率为 10mV K 接 CN1 跳线主要是为了调试的便利 断开跳线可以在中间接电流表测量 AD590 的输出电流 下图为信号采集电路 8 的原理图 图 2 7 温度采集电路原理图 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 为了最大提高系统精度 就让输入信号放大倍数设置为 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 电压调整电路原理图 图 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 成正比例关 系 这样也大大降低了调试的难度 其三 对 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 非线性补偿示意图 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 时间等待 在下一次转换开始时 数据串行移位输出 整个转换时间最短为 10us AD7896 将 AD623 放大后的信号进行模拟数字转换 后送给单片机 2 4 无线发射模块 该模块由挪威 Nordic 公司生产的 nRF24L01 10 及其外围电路组成 nRF24L 01 是一款新型单片射频收发器件 工作于 2 4 GHz 2 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 s 10 Mb s 6 125 个频道与其他 nRF24 系列射频器件相兼容 7 QFN20 引脚 4 mm 4 mm 封装 8 供电电压为 1 9 V 3 6 V 2 4 1 引脚功能及描述 无线模块的引脚排列如图所示 图 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 寄存器中 发射模式101 0停留在发送模式 直至数据发送完 待机模式 2101TX FIFO 为空 待机模式 11 0无数据传输 掉电0 待机模式 1 主要用于降低系统平均电流 在该模式下晶体振荡器正常工作 待机模式 2 则是在当 FIFO 寄存器为空且 CE 1 时进入此模式 待机模式下 所 有配置字仍然保留 在掉电模式下电流损耗最小 同时 nRF24L01 也不工作 但其所有配置寄存器的值仍然保留 2 4 3 工作原理 发射数据时 首先将 nRF24L01 配置为发射模式 配置发射模式包括按照 时序由 SPI 口将接收节点地址 TX ADDR 和有效数据 TX PLD 写入 nRF24L01 缓存区 配置自动应答 设置数据传输率 使能 CRC 校验等等 TX PLD 必须 在 CSN 为低时连续写入 而 TX ADDR 在发射时写入一次即可 然后 CE 置为 高电平并保持至少 10 s 延迟 130 s 后发射数据 若自动应答开启 那么 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 配置为接收模式 接着延迟 130 s 进入接收 状态等待数据的到来 当接收方检测到有效的地址和 CRC 时 就将数据包存储 在 RX FIFO 中 同时中断标志位 RX DR 置高 IRQ 变低 产生中断 通知 MCU 去取数据 若此时自动应答开启 接收方则同时进入发射状态回传应答信 号 最后接收成功时 若 CE 变低 则 nRF24L01 进入空闲模式 1 在写寄存器 之前一定要进入待机模式或掉电模式 表 2 2 常用配置寄存器 地址 H 寄存器名称功能 00CONFIG设置 24L01 工作模式 01EN AA 设置接收通道及自动应答 02EN RXADDR使能接收通道地址 03SETUP AW设置地址宽度 04SETUP RETR设置自动重发数据时间和次数 07STATUS状态寄存器 用来判定工作状态 0A 0FRX ADDR P0 P5设置接收通道地址 10TX ADDR设置接收接点地址 11 16RX PW P0 P5设置接收通道的有效数据宽度 2 5 液晶显示模块 图 2 14 液晶显示模块电路图 液晶显示器以其微功耗 体积小 显示内容丰富 超薄轻巧的诸多优点 在微型仪表和低功耗应用系统中得到越来越广泛的应用 在发射端和接收端同 时采用 LCD1602 方便比较发射和接受到的温度值 2 5 1 LCD1602 管脚介绍 1602 采用标准的 16 脚接口 其中 1 脚 VSS 为电源地 2 脚 VDD 接 5V 电源正极 3 脚 V0 为液晶显示器对比度调整端 接正电源时对比度最弱 接地电 源时对比度最高 当对比度过高时会产生 鬼影 使用时可以通过一个 10 K 的电位器调整对比度 4 脚 RS 为寄存器选择 高电平 1 时选择数据寄存器 低电平 0 时 选择指令寄存器 5 脚 RW 为读写信号线 高电平 1 时进行读操作 低电平 0 时进行 写操作 6 脚 E 或 EN 端为使能 enable 端 7 14 脚 D0 D7 为 8 位双向数据端 15 16 脚 空脚或背灯电源 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输出D0 D7 状态字 写指令输入RS L R W L D0 D7 指令码 E 高脉 冲 输出无 读数据输入RS H R W H E H输出D0 D7 数据 图 2 15 液晶读操作操作时序 图 2 16 写操作时序 2 6 电源模块 图 2 15 电源模块原理图 整个系统我采用了 9V 的单电源供电 像 AD590 AD623 电压供电范围大 的器件采用 9V 供电 单片机 液晶 OP07 AD7896 都是采用 5V 供电 而 无线发射接收模块电压范围小 采用 3 3V 供电 为了方便系统电源管理整个 系统只入 9V 的电压 而 5V 和 3 3V 的电压直接采用三端集成稳压器件来实 现 这样可以大大是电路的设计简便化 另外在系统设计中还添加了很多滤波 电容 尽量减小系统电源给整个系统带来干扰 2 7 本章小结 本章主要是讲述了对于各个模块的电路设计 其中主要是单片机模块 温 度采集与放大模块 信号电压调整电路 模数转换模块 无线发射模块 液晶 显示模块 电源模块 比较详细介绍了主要芯片的工作原理 特点和性能 着 重分析了硬件电路的设计以及工作原理 通过这一章的介绍 可以了解本系统 详细的硬件设计方案 第三章 软件系统的设计与实现 3 1 软件的总体设计 3 1 1 发送端软件总体设计 发送部分软件的一个循环程序 首先是初始化 LCD1602 显示第一行的 temperature 程序的主体是 AD7896 采样电压值并把它转换成数字信号送 给单片机 单片机进行数据处理后 控制 LCD1602 显示 定时器主要是做 500ms 的定时 当定时器溢出后 也就是定时达到 500ms 发送一次数据 下图 3 1 为发送端总体软件设计流程图 开始 初始化LCD 初始化定时器 LCD在第二行 显示温度 AD7896采样 数据处理 定时器溢出 无线发送数据 Y N 图 3 1 发送端软件总体设计 3 1 2 接收端软件总体设计 接收部分的总体思路是先初始化 LCD1602 和单片机 I O 口 再将 nRF24L01 配置成接收模式 然后就是一个无线循环 单片机不断地读 nRF24L01 的工作状态寄存器 STATUS 来监测接收模块的工作状态 当发现 nRF24L01 接收到了数据后单片机负责存储数据 发送发送应答信号 并且控制 LCD1602 显示 下图为图 3 2 接收端软件设计流程图 开始 初始化LCD 初始化IO口 接收模式 读寄存器STATUS 收到数据 清标志位 LCD显示温度 Y N 数据处理 Y 图 3 2 接收端软件总体设计 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 则 3 1 12 GETDATAAD7896VCC ADDATA 2150mV 流程图中的 ASC 码转换模块主要完成将数值计算得到的数组中存入的每一 位的值转换成 ASC 码 主要是为了 LCD1602 显示更便利 在数值计算中还对系统误差的校准 系统误差的校准的主要目的是为了减 小由于温度传感器 AD590 带来的误差 AD590 的非线性误差如下图 3 4 所示 图 3 4 AD590 非线性误差 通过观察 AD590 的非线性误差的曲线特性可发现 当温度范围从 0 到 100 AD590 的线性误差具有一定的线性性 我们可以利用这个特性来校准 AD590 的误差 我们可以看到在温度范围为 0 至 100 AD5902 测量的温度偏 高 我们可以通过软件将测量的温度减去由于误差产生的一部分温度 从而来 提高测量温度的精度 下面我们来计算软件校准所需的一次函数 如下图 做 F 点关于 C 点对称点 E 连接 BE 则直线 BE 是我们所求的函数 设函数的方程 为 ykxb 由直线 BE 经过点 B 0 0 则 3 2 b0 由直线 BE 经过点 E 100 0 8 则 3 3 k0 0008 解得 3 4 y0 0008x 由于单片机计算的管理在设计时将采样到的数据扩大了 100 倍 则曲线误 差也扩大了 100 倍 但是误差曲线任然是 3 5 y0 0008x 图 3 5 AD590 非线性误差软件校准算法示意图 3 1 2 LCD1602 液晶显示部分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Review Module 2(教学设计)-2023-2024学年外研版(一起)英语六年级上册
- Unit 8 What's his job Part B(教学设计)-2024-2025学年接力版(2024)英语三年级上册
- 第四节 澳大利亚教学设计-2025-2026学年初中地理商务星球版七年级下册-商务星球版2012
- 《任务二 餐具我来摆》(教案)-2024-2025学年劳动一年级上册浙教版
- 2025年初中生物教材教法考试模拟试卷及答案
- 2025年叉车证理论考试题及答案
- 项目主题 重现滕王阁说课稿-2025-2026学年高中信息技术华东师大版2020选择性必修5 三维设计与创意-华东师大版2020
- 3.4 光的折射规律说课稿-2025-2026学年初中物理沪粤版2024八年级上册-沪粤版2024
- 蒸馏萃取课件
- 2025年高考数学试题分类汇编:等式不等式(试卷+解析)
- (2025秋新版)苏教版三年级数学上册全册教案
- 2025玉溪市公安局公开招聘警务辅助人员(120人)笔试参考题库附答案解析
- 纪念中国人民抗日战争暨世界反法西斯战争胜利80周年
- 南京大学课程《普通地质学》教学大纲及教案
- 2025年临床危急值报告管理制度测试题(附答案)
- 胃癌疼痛的个案护理
- 八大联考练习试卷附答案
- GA 1010-2012看守所床具
- 河道清淤施工方案(定稿)
- 苏教版 六年级数学上册全套下载(全册)合集(含整理与复习)课件
- 《安徒生童话》读书分享名著导读ppt
评论
0/150
提交评论