温度报警系统完整软硬件设计
扫描二维码
随时随地手机看文章
1 总体设计方案
随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中温度报警系统就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。
该设计采用的温度报警系统与传统的系统相比,方便阅读温度测量值,温度测量精度,温度数字显示输出范围广,同时可以通过发送射频信号实现远程监控。设计利用单片机Cerebot 32MX4,温度传感器PMODTMP,共阴极,8位串行数据的数字传输,以LED来实现温度显示,可同时满足上述要求。另外,考虑到现实中可能需要远程获取信息,该系统添加了射频发送模块,提供了远程监控的能力。
1.1 总体设计框图
系统总体设计方案:温度计电路设计总体设计方框图如图1所示,控制器采用Cerebot 32MX4,温度传感器采用PmodTMP,报警器采用PmodSPKR1(1W扬声器模块板),LED显示器采用PmodCLS(字符LCD串行接口模块),射频信号发送采用PmodRF1(无线电收发器)。
1.2 主控制器
Cerebot 32MX4对于机器人项目的学生和业余爱好者是一个有用的嵌入式控制工具。其多功能的设计和可编程特性可以让您访问众多的微控制器外围设备和设计多种用途的方案。此开发板有许多的I / O连接器和电源供应方案。
Cerebot 32MX4与Microchip MPLAB共同合作,开发环境支持在MPLAB下的编程和调试。Cerebot 32MX4提供了多个连接外围设备的接口。它有九个连接器用于连接Digilent的Pmod™外设模块。 Digilent的周边模块包括H桥,数模转换器,扬声器放大器,开关,按钮,指示灯,以及转换器,方便连接到RS232,接线端子,BNC接头插孔,伺服电机等。
其特点包括:
•一种PIC32 MX460F512L微控制器
•支持Microchip MPLAB下的编程和调试开发环境
•九个Pmod Digilent的连接器外设模块板
•八个爱好RC伺服连接器
•USB 2.0设备,主机和OTG支持
•两个按钮
•四个LED
•多种电源选择,包括USB供电
•ESD保护和短路保护所有I / O引脚。
•512KB的闪存
•内部32KB的SRAM存储器
•兼容USB 2.0全速上的-移动(OTG)控制器,专用DMA通信
•两个串行(SPI)的外设接口
•两个UART串行接口
•2个I2C串行接口
•5个16位定时器/计数器
•五个定时器捕捉输入
•五个比较/ PWM输出
•16个10位模拟输入
•两个模拟比较器
1.3 温度传感器介绍
PmodTMP是一个接口板半导体PMODTMP三线数字温度计和恒温器。该PMODTMP可用于需要精确测量环境温度读数的项目。[!--empirenews.page--]
其特点包括:
•达拉斯半导体集成电路PMODTMP
•6针接头,6针连接器
•可编程恒温器输出
•低功耗
•± 0.5 º C从0℃至+70 º C的精度
•-55 º C至+125 º C范围内
•小尺寸(0.80“× 0.80”)
•一个简单的3线接口
1.3.1 功能描述
PmodTMP可以被用作一个可配置精度的温度计或作为可编程独立温控器,输出TH,TL和 TC表示环境温度超过任何的预编程阈值。
在板上的PMODTMP配有可编程的EEPROM存储设备的配置设置。PmodTMP和主板之间的数据传输的驱动,在PMODTMP数据手册中描述。
1.4 LED显示器简介
在本系统中,采用PmodCLS——字符LCD串行接口作为显示器,用于温度的显示。PmodCLS模块可用于显示在程序开发过程中重要的调试信息,或作为已完成设计的用户界面。该模块非常适合于在Digilent嵌入式控制开发板上的项目。
1.5 射频信号发送模块简介
本系统采用PmodRF1来设计射频发送模块。PmodRF1是一个无线电收发器,它能够有选择的在以下区域内进行配置操作:北美ISM频段的902MHz到928MHz、欧洲SRD频段的863MHz到870MHz或中国WPAN频段的779MHz到787MHz。这样可以确保来自世界各地的用户,放心安全的将其应用于无线通信的项目中。 该PmodRF1集成了Atmel AT86RF212,一个功耗低、范围广的无线电收发器。通过Atmel的合作伙伴,Meshnetics公司,独立验证了收发器在6公里范围内的通信能力,但有效的范围将取决于多种因素,如天线的选择,视线和其他环境障碍。 该模块也具有一个SMA连接器,它允许用户选择最适合他们应用的通信天线。
1.6 报警器简介
本系统使用PmodSPKR1——1W扬声器模块板作为报警器。由于外围模块没有蜂鸣器,故采用该模块。
2 系统算法
2.1 计算温度子程序
计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图10所示。