温度信号波形c 语言,基于CC2530的温度报警器的应用实现
岳彦名
摘 要:随着时代的不断进步,带动着社会的不断发展,单片机技术的出现,现已经渗透到我们生活、工作、教育、科研等各个领域,已然成为一种比较普遍的技术。在日常生活中,温度和温差对我们的生活都有非常大的影响。据此本文基于CC2530 芯片作处理器,使用DS18B20温度传感器采集外部环境数据并通过处理器进行比对分析,结合ZigBee 协议的无线网络通信模块传输数据,并通过蜂鸣器报警以达到温度报警的应用效果。为相关设计方向者提供一个较好的实践案例。
关键词:单片机;ZigBee;温度报警;DS18B20
1 主控制器模块
本系统的核心是采用CC2530单片机实现和控制温度报警功能以及认为设定额定数值进行数据比对。单片机具有其独特的优点——简单、方便、快速的控制。以本系统来看,其关键点在于能够实现当温度监测数据通过ZigBee组网传输数据,通过达到额定比值时开启报警的功能。本实验的核心CC2530 单片机结合了领先的RF 收发器的优良性能,业界标准的增强型8051 CPU,系统内可编程闪存,8-KB RAM 和许多其它强大的功能。CC2530 有四种不同的闪存版本:CC2530F32/64/128/256,分别具有32/64/128/256KB 的闪存。CC2530 具有不同的运行模式,使得它尤其适应超低功耗要求的系统。运行模式之间的转换时间短进一步确保了低能源消耗[1]。且该单片机售价低,拥有ZigBee协议栈,为本系统提供了良好的ZigBee组网连接解决方案。
2 温度测量及比对模块及报警模块
2.1 温度测量及比对
使用DS18820采集现实环境中的实际温度,再将采集到的温度信号输出转化为数字化,这一转化使得单片机处理和控制这些信号将会变得非常方便,即可以省略很多传统测温方法的复杂的外围电路,也可以省去很多不必要的麻烦的错误。该传感器具有极其稳定的物理和化学性质,可用作工业测温元件,并具有良好的线性形状,其测量温度的范围为:-55℃——125℃,其中-10℃——85℃的精确度是±0.5℃[2]。并且DS18B20温度传感器具有单总线数据传输的特点,其测量的温度也是通过单接口总线传输,这样的传输方式不仅提高了系统的抗干扰能力,并且使其具有了面对各种环境的能力。我们使用CC2530单片机对其进行控制,且单片机CC2530软件编程的开放度大,可自由编程实现多种算法以及逻辑控制,除此之外,CC2530单片机不仅能控制多个DS18B20模块,还能加入ZigBee组网,并通过组网进行数据传输。
设置温度比对的方法是通过代码编写方式,以CC2530单片机结合DS18B20温度传感器作为终端的方式加入组网,因此代码的编写在终端上设置额定值,当采集温度值通过比对,若达到额定预设值时,报警,若没有达到额定预设值,则继续监测。
2.2报警模块
为了简化电路以及方便程序的调试,以蜂鸣器作为本系统的报警装置。蜂鸣器由温度传感器控制,当温度变化达到额定值时,蜂鸣器打开并开始报警。
3 ZigBee组网模块
组建ZigBee网络需要两个步骤: 网络初始化 ,节点加入网络。其中节点加入网络又包括两个步骤:通过与协调器连接入网和通过已有父节点入网。ZigBee网络中的节点主要包含三个:终端节点、路由器节点、协调器节点[3]。
(1)協调器节点:ZigBee协调器是网络的核心节点,负责组建、维护和管理网络,并通过串口实现各节点与上位机的数据传递;
(2)路由器节点:负责转发数据资料包,进行数据的路由路径寻找和路由维护,允许节点加入网络并辅助其子节点通信;
(3)终端节点:终端节点可以直接与协调器节点相连,也可以通过路由器节点与协调器节点相连。
本设计通过ZigBee组网组建星型拓扑网络,由一个网络协调器和一个或多个终端设备节点组成,所有的终端设备与网络协调器通信。系统通过网络初始化和已有父节点直接加入网络。
4 实验与测试分析
4.1 实验过程
本设计使用C语言进行整个系统的开发,其关键在于对组网各个节点的接入,以及温度传感器作为终端加入网络,使温度传感器代码接口具有终端节点特性,本设计使用两台CC2530单片机,一台结合温度传感器以终端形式接入网络,另一台以协调器创建网络。待网络组建成功之后,将分别在炎热,寒冷等各种模拟环境中进行实验测试验证。
4.2 实验数据分析
对实验数据进行记录,分析发现。被测试环境在测试过程中通过实验可知。温度报警器具有灵敏,及时的测量效果,但同时还是存在一定的误差。由于实验环境简陋,外界环境中存在的影响因子大大增加,如温度传感器不能精准的采集外界环境的温度数值,网络传输数据较慢等,但总体实验测试结果正确率高达89.3%。通过实验可知,基于CC2530温度报警器表现效果良好,可以为相关设计方向的类似产品提供参考。
5 总结
本温度报警器,通过CC2530单片机为核心实时检测温度传感器DSl8820发出的数字信号,并对DSl8820获得的数据信号进行处理,以达成温度报警的效果。启动后,则进行外部环境温度监测以及到达额定比对数值时报警。本仪器的温度检测精度控制可在0.1℃以内,精确度极高。它还具有掉电保存功能,当系统意外断电后,数据将自动保存在单片机内部EEPOM中,方便重新上电后的查询。本设计结构简单,调试方便,实验结果可观,可应用于预防火灾发生的各种环境中。本设计是一个很好的实践案例。
参考文献:
[1] 百度百科, CC2530 [OL].
[2] 百度百科, DS18B20 [OL].
[3]谢舰锋.物联网下室内温度智能控制系统优化设计[J].电子设计工程,2018,26(16):67-71.
温度信号波形c 语言,基于CC2530的温度报警器的应用实现相关推荐
- 温度警报c语言,基于STC89C52单片机温度报警器.doc
基于STC89C52单片机温度报警器 摘 要 温度的检测与控制是工业生产过程中比较典型的应用之一,随着传感器在生产和生活中的更加广泛的应用,利用新型单总线式数字温度传感器实现对温度的测试与控制得到更快 ...
- 温度自动控制系统c语言,基于STC89C52RC单片机的大棚温湿度自动控制系统毕业论文+外文翻译及原文+C程序+proteus仿真文件+Altium Designer原理图...
大棚温湿度自动控制系统设计 摘 要:本设计是基于STC89C52RC单片机的大棚温湿度自动控制系统,采用SHT10作为温湿度传感器,LCD1602液晶屏进行显示.SHT10使用类似于I2C总线的时序 ...
- 温度报警程序c语言设计,51单片机课程设计:基于DS18B20的温度报警器
51单片机课程设计:基于DS18B20的温度报警器 本程序用于读取DS18B20温度,同时具备报警功能,工程分为3个文件,main.c.temp.c.temp.h,经本人修改部分代码,适用于吉林农业大 ...
- 基于matlab的温度信号采集,基于matlab与单片机的动态温度监控系统的设计
基于matlab与单片机的动态温度监控系统的设计 基于Matlab/Simulink 与单片机的动态温度监控系统的设计Matlab 有着强大的数值处理能力,已应用于工程计算.控制系统设计.数字信号处理 ...
- R语言基于lm模型构建线性回归模型(蟋蟀的鸣叫声与温度的关系)、计算回归模型的RMSE指标、计算回归模型的R方指标(R-squared)
R语言基于lm模型构建线性回归模型(蟋蟀的鸣叫声与温度的关系).计算回归模型的RMSE指标.计算回归模型的R方指标(R-squared) 目录
- 基于cc2530获取ds18b20温度值
@基于CC2530单片机获取温度传感器 基于CC2530单片机获取温度传感器 cc2530单片机是目前Ztack主流的一款产品,它与普通51的单片机不同于需要对各个IO口配置比如(设置io口的方向或输 ...
- 基于 CC2530 的温度采集系统(未定稿)
前言 最近在自学 Zigbee,每天的主要是任务是:看博客,看 CC2530 的 datasheet 和实践,熟悉片上的 SFR 以及控制板子. 学和做内容包括:IO.外部中断.Timer1/3/4. ...
- 微弱信号相关检测程序matlab,基于MATLAB微弱信号的相关检测设计与仿真.pdf
基于MATLAB微弱信号的相关检测设计与仿真.pdf 2010年第1期 中国高新技术企业 NO.1.2010 (总第136期) ChinaHi-TechEnterprises (Cumulativet ...
- 【IoT】基于 CC2530 的 ZigBee 物联网系统设计
1.1设计背景 无线传感器网络是目前研究的热门领域,它集成 了多门学科的知识,应用领域广泛,因此深受国际社会 的关注. 在 21 世纪里,无线传感器网络技术是具有 较大影响力技术中的一个热门技术,也是 ...
最新文章
- 前腾讯员工不堪房价压力回老家进国企!终于过上了清闲的日子,他又担心这个问题?...
- Linux各版本完整发展图
- 采购订单检查/保存BADI使用
- 2021年炼丹笔记最受欢迎的10篇技术文章
- 进度条的另外一种用法
- 【转】VS问题集合,不用也要收藏防止以后使用找不到
- 2k11补丁php,【西乙】西班牙人4比0 武磊替补出场险造点球
- 2021住房消费品质服务报告
- Google面试题—有四个线程1、2、3、4。线程1的功能就是输出1,线程2的功能就是输出2,以此类推.........现在有四个文件ABCD...
- 关于RedisTemplate和StringRedisTemplate
- Win10 启动项找不到ctfmon项,系统启动后无法输入文字怎么办?
- 计算机内存有何组成,电脑4个4g内存条组成16g内存和16g内存有什么不同?
- 最新微软产品MAK激活密钥
- 怎么用python制作随机点名软件_利用Python实现课堂点名器!辅导员大大的夸赞了我!...
- 正则表达式训练-QQ号校验
- IDEA 使用 git (码市)
- 【PR #2】史莱姆(值域分段)
- intellij idea 工具栏的隐藏和显示
- 什么是微信不死域名?
- 二元函数对xy同时求导_更新丨10分钟掌握高等数学上册函数极限求解问题(考研、期末复习均可以用)...