单片机控制下的家居温度监控系统设计
随着信息科学与微电子技术的发展, 温度的监控可以利用现代技术使其实现自动化和智能化。多路无线温度监控系统就是朝着这一目标进行设计的。本次设计要求利用单片机及无线传输模块实现无线温度监测系统,实现温控范围调节及其超温范围报警。
1 技术要点
由于本系统是一个实时监控的系统, 对温度的采集控制是实时的, 所以温度采集的时间间隔, 数据发送接收的时间差,单片机与PC 机之间数据的传送速度以及上位机程序对数据的分析处理是本系统的关键。通过对温度传感器,无线模块的优化选择,实现单片机与PC 机通过高速USB 接口进行通信及对上位机代码的优化实现本系统的实时监控功能, 同时还要考虑的是温度传感器的各个参数,无线模块的参数,以及硬件电路的优化搭建问题。
2 硬件及软件设计为了使系统能够最优化的工作, 系统的硬件器件选择将是十分重要的问题。
(1)温度传感器的选用
系统是做温度监控的, 首要的工作就是如何选取温度传感器, 正确的选择温度传感器对系统的性能和价格有着重大的影响。就温度传感器的温度测量范围、精度、响应时间、稳定性、线性度和灵敏度。等几个因素的比较分析,本系统选用的是美国DALLAS 半导体公司生产的DS18B20 温度传感器。选用该传感器的原因有: ①DS18B20 与微处理器仅需要一条线即可实现双向通讯,简化连接难度;②无需其他的AD 转化器件,降低成本, 也减少了硬件制板的费用; ③可供使用电压范围大:3.0V 到5.5V 都可以使用,器件的功耗较低;④测温分辨率高,最高可达0.125 度,便于温度精确控制;⑤支持多点测试,多个DS18B20 可以并联在一根线上,实现多点测温。
(2)无线模块的选用本系统是多点监控, 同时他的数据传输是通过无线传输的,所以无线传输模块的需要支持多点的数据的传送。考虑稳定性, 传输数据的速度, 错误率等方面, 本系统选用的是NRF905 无线数据传输模块,选择该模块的原因有:①433MHZ开放ISM 频段免许可证使用,无需额外申请频段;②传输速率高,最高数据传输速率可达50KB,满足实时监控的需要;③自带有CRC 纠错功能,抗干扰能力强。所需电压仅3.3V,功耗低;④125 个频道,支持多点通信,满足系统多点监控的需要。
(3)主控芯片选用ATmega16 是ATMEL 公司推出的一款基于AVR RISC 构架的低功耗CMOS 的8 位单片机。ATmega16 在16MHz 时有16MIPS 的运算速度,具有两周期硬件乘法器,从而使得设计人员可以在功耗和执行速度之间取得平衡, 且非易失性程序和数据存储器资源较大能满足程序代码设计需要。外设资源丰富:2 个具有独立预分频器和比较器功能的8 位定时/计数器;一个独立预分频器和比较/捕捉功能的16 位定时/计数器;支持4 路PWM 输出、8 路10 位ADC。支持TWI 接口、USART、SPI 接口多机通信满足扩展功能的需要。
(4)其他外围器件USB 与PC 机通信中USB 控制芯片PDUSBD12,显示模块1602,报警蜂鸣器等。
2.1 系统的硬件连接方法
硬件方面主要由两部分组成, 温度采集发送部分和数据接受分析控制部分。
2.1.1 温度采集发送部分
主要的连接器件有NRF905 无线数据传输模块,DS18B20温度传感器采集模块,1602 显示模块,报警模块,及温度异常处理模块。其连接方法如图1 所示。主控芯片M16 通过SPI 总线协议向无线模块发送配置信息,使其工作初始化。温度传感器与M16 的连接使用的是单总线协议,来采集温度。显示芯片1602 来显示采集到得温度,同时使用蜂鸣器作为报警装置,当温度有异常时单片机会控制加热设备或降温设备来对异常进行处理。
2.1.2 数据接收分析控制部分
主要的连接器件有无线数据传输模块,USB 传送模块,和PC 机构成。其电路连接如图2 所示。同样主控芯片M16 通过SPI 总线协议向无线模块发送配置信息,使其工作初始化。接收到温度后通过PDUSBD12 芯片利用USB 协议将数据发送到PC 机上,可以直接在VC 界面上显示。PC 机可以自动分析数据是否存在异常,当存在异常时,PC 发送控制信号来远程控制加热或降温设备对异常进行处理,同时发出报警信号,这样可以将危险降到最低,实现自动化与智能化。
图1 数据采集与发送 图2 数据接收与分析
2.2 软件程序的设计
由于系统由两个模块构成, 所以软件程序的设计也分为温度采集发送模块程序设计和数据接受分析控制模块程序设计。2.2.1 温度采集发送模块
主要需要设计的程序有NRF905 的内部寄存器配置,温度传感器温度采集程序,液晶显示模块程序,报警系统程序。程序流程图如图3:
图3 主程序流程图
2.2.2 数据接受分析控制模块主要需要设计的程序有NRF905 的内部寄存器配置,USB模块的驱动编写,上位机程序的建立,由于篇幅有限,源代码及流程图不再给出。
3 系统的工作流程
本系统主要由两个模块组成, 温度采集发送模块和数据接收监控模块。
3.1 数据采集发送模块
该模块的主要功能是采集温度和发送数据。主控单片机发出命令开始有DS18B20 进行温度采集, 温度传感器将采集到的温度传回主控芯片,在1602 上进行显示,然后主控芯片通过SPI 总线将数据传送给无线发送模块NRF905,由无线发送模块将数据发送出去。同时主控芯片会检测温度是否异常,当温度出现异常时会发出报警信号,同时启动异常处理模块。
具体工作流程如图4:图4 采集发送模块工作流程
3.2 数据接收监控模块该模块的主要功能是接收和处理数据, 由单片机控制无线模块接收数据, 同时控制USB 模块将数据发送到PC 机上去,PC 机接收到温度后会对温度进行分析处理,当温度由异常时,会发出报警信号,同时通过将控制指令发送至单片机,通过无线模块来远程控制异常处理模块执行工作, 从而实现异常自动处理和双报警, 从而最大限度的确保被监控地的预警和安全。具体工作流程如图5:
图5 接受监控模块工作流程
4 结语对本系统进行远距离具体温度测试有, 经数据对比发现实地温度采集与上位机显示数据完全吻合, 且能实现实时温度监控。同时可以通过PC 机对单片机进行远程控制,性能稳定。
本系统采用的数据传输是通过无线技术实现的, 不仅仅可以用在物联网家居上,还可以在很多环境条件恶劣,且不容易铺设电缆的地方使用,同时移动起来比较方便,在不久的将来会有更大的利用价值。
谢谢
看看先
看看先
好贴、给我往死里顶、、、
介绍的( ^_^ )不错嘛
挺好……支持
看看,支持
看看
好资料
顶