基于STC12C5A60S2的多功能测量系统设计
扫描二维码
随时随地手机看文章
摘要:本文介绍了基于STC12C5A60S2单片机的多功能测量系统,系统实现对空气温湿度、CO2浓度以及室内光照强度的检测,同时具有万年历时钟显示功能。阐述了系统硬件和软件的整体设计方案、器件选型、单元电路设计及整体电路连接。通过理论分析及实验证明能有效测出温湿度、CO2含量及室内光照强度,测量准确,参数调节方便,使用效果良好。
关键词:单片机;传感器;信号采集;信号调理
0 引言
随着电子技术的发展,居民普遍使用电子温度计或万年历自带的温度计来测量室内温度,但是,随着环境污染的日趋严重及人们对生活质量要求的提高,人们对室内湿度、二氧化碳浓度及光照强度的检测也逐渐关注。然而,目前为止适用于家居型检测湿度、光照强度及CO2浓度还没有一种合适且适用的仪器。小型仓库中传统的方法是采用湿度表、双金属式测量计和湿度试纸等测试器材,通过人工进行检测,对不符合温度和湿度要求的库房进行通风、去湿和降温等工作。这种人工测试方法费时费力、效率低,且测试的温度及湿度误差大、随机性大。因此我们需要一种性价比较高的温湿度测量仪。
本文设计研制一种新颖、方便、实用、结构简单的多功能测量仪,适用于家庭、仓库以及温室等需要环境检测的地方。设计通过LCD显示所监测的结果,用户可以根据监测结果有效调节相关设备,从而达到理想的环境状态。
1 系统设计
1.1 设计任务
本文实现基于STC单片机的多功能测量系统,可以实现湿度检测、温度检测、CO2浓度检测、室内光照强度检测、时间日期显示的功能。其中湿度的测量范围为20~90%RH;温度的检测范围为-55~+125℃;CO2浓度测量范围为350~10000ppmCO2;室内光照强度的测量范围为0~2500lux;系统显示当前时间和日期,并可以通过按键进行修改当前时间日期。
1.2 设计方案及工作原理
多功能检测系统包括:电源模块、控制器、温度检测模块、湿度检测模块、照度检测模块,CO2浓度检测模块、时钟模块、键盘输入模块、LCD显示模块。如图1所示。
本控制系统以STC12C5A60S2单片机为控制核心,该单片机具有高速、低功耗、超强抗干扰的特点,并且自带8路10位精度AD转换;温湿度检测由数字式的温度检测传感器DS18B20和湿度检测传感器DTH11实现,由于数字式传感器输出为数字量,因此在数据处理方面比较简单,且这两款传感器的性价比较高;时钟模块则是应用了比较常用的DS1302时钟芯片,通过控制器与时钟芯片的通讯实现得到比较准确的时间值,另外,通过按键操作实现对时钟的校准;而对于照度和CO2浓度的检测则比较复杂,由于硅光电池和CO2检测传感器输出信号是微弱的模拟信号,因此需要对得到的小信号进行调理,调理后的信号信息送入单片机的AD口,从而得到单片机可以处理的数字量;所有检测结果及日期时间的显示都是由LCD实现;由于信号调理电路中放大器采用双电源供电,因此电源模块选用了交流220V转±5V的电源模块。
2 硬件电路设计
2.1 控制电路
系统的控制电路是以STC12C5A60S2单片机为控制核心构成的最小系统。另外,为方便程序下载,设计了基于CH340的程序下载接口电路,电路图如图2所示。
2.2 检测电路
根据传感器输出信号的不同,可分为数字式传感器和模拟式传感器两种。信号类型的不同导致了检测电路的不同。
2.2.1 温湿度检测电路
由于温度传感器DS18B20和湿度传感器DTH11均为数字量输出,因此检测电路十分简单,为了防止不确定信号的出现,需在信号的输出端接4.7k的上拉电阻,如图3所示。
2.2.2 照度及CO2浓度检测电路
由于光照检测采用硅光电池,信号为小信号的模拟量输出,因此需要对信号进行调理。CO2传感器MG811的输出同样为模拟量电压小信号。其参数如表1所示。
硅光电池测光强的原理是光生伏特效应,即它是一种直接把光能转化成电能的半导体器件,由硅光电池的特性曲线可知,光伏电池输出电流比输出电压的线性性要好,因此在此检测其电流特性。由实验测试可得室内的光照强度一般为0~2500lux,此时硅光电池的输出电流在0~0.15mA左右,在硅光电池两端并联一个100 Ω电阻,可得此时的输出电压在0~15mV左右。
为了将小信号调理为可以适合单片机处理的信号,对小信号进行放大滤波处理。首先对小信号进行放大处理,这里采用高输入阻抗的差分放大器。其次,放大器输出的信号经过二阶有源低通滤波器。最后信号进入单片机的AD口。信号调理电路如图4所示。
(1)差放大电路
因为电路中R3=R4,R6=R8=R7=R9,故可导出两级差模总增益为:
通常,第一级增益要尽量高,第二级增益一般为1~2倍,这里第一级选择100倍,第二级为1倍。则取R6=R7=R8=R9=10KΩ,要求匹配性好,一般用金属膜精密电阻,阻值可在10KΩ几百KΩ间选择。则
先定R5,通常在1~10kΩ内,这里取R5=1k Ω,则可由上式求得R3=99R1=49.5 kΩ。
取标称值51kΩ。通常R1和R2不要超过R5/2,这里选R1=R2=510Ω,用于保护运放输入级。
A1和A2应选用低温飘、高KCMRR的运放,性能一致性要好。
(2)有源低通滤波电路
由于滤波电路的输入输出信号为直流信号,因此在计算时选取的截止频率为3Hz。滤波电容C1=C2=1 μF。
由式(3)(4)可得R=53078 Ω,A0=2,所以在此取R10=R11=51k。
信号经过信号调理电路后实际放大倍数A=200。而对于CO2传感器,根据输入信号的不同,选择合适R3、R4,其信号调理电路的增益为80。
2.2.3 时钟模块
本设计选用美国Dallas公司推出的一种高性能、低功耗的实时时钟芯片DS1302,芯片采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。
工作电压宽达2.5~5.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。电路连接如图5所示。
3 软件设计
3.1 软件系统设计
该系统软件主要包括两部分:数据采集和数据显示。当系统上电之后,系统首先进行初始化;然后判断标志位确定当前是否进行时钟设置,如果是,则通过按键调节时钟,如果否,则采集所有数据并进行相应处理;最后将采集来的数据通过LCD显示出来。系统程序框图如图6所示。
3.2 部分检测软件设计
对于光照强度检测和CO2浓度检测,存在模拟量向数字量的转化,因此需要考虑AD转换器的精度,为了得到较准确的检测值,在此使用STC12C5A60S2自带的10位AD转换接口,即其精度为1/(210-1)。
对于光照强度检测,经信号调理电路后的输出电压为0~3V,相应的光照强度为0~2500lux,假设AD转换后的值为A,则此时对应的光照强度为E,如式(5)。
化简得:E=(12500×A)/3069。因此,通过程序编写可以实现对光照强度的检测。
4 结论
设计了基于STC12C5A60S2的多功能测量系统,通过理论分析与实际电路焊接以及相关程序的编写,设计出了实物。通过测试实现了温湿度检测、CO2浓度检测、室内照度检测、时钟显示的功能。实验结果良好,测量精度在实际计算误差范围内。