APP下载

基于MCU的户外环境监测系统设计

2022-03-14邹迎春吴思远

电子制作 2022年5期
关键词:电源电路单片机

邹迎春,吴思远

(1.广西商贸高级技工学校,广西南宁,530007;2.广西南宁技师学院,广西南宁,530007)

0 引言

一般户外工作者如果身处陌生偏僻的环境,遇到恶劣的天气,或者体力不支则很容易发生紧急情况,如出现迷路或遭遇险情。如果能够对环境和生理信息及时有效的采集,让户外人员及时有效的获取相关的信息,就能够很大程度上避免险情的发生。本系统安装有电子罗盘,海拔气压计、脉搏传感器、姿态监测器等。是户外运动、野外作业、探险旅游人士的贴心卫士。

通过对户外工作的环境和条件进行充分研究,以实践为基础,应用为目的,设计出一套完整的、可靠实用的信息处理与采集系统,并且在硬件实物完成功能调试,具有重要的市场价值。

1 系统总体方案设计

本设计是以STC12C5A60S2单片机为主控的一套传感器检测系统,其中涉及到温度、光强检测、姿态检测、单片机、显示等部分的设计。系统设计框图如图1所示。系统采用STC12C5A60S2单片机作为主控器,DHT11传感器采集环境温湿度信息,BH1750传感器采集环境光照信息,ΜPU6050陀螺仪传感器采集用户当前姿态,BΜP085大气压力传感器采集当前大气压数据,HΜC5883L磁场传感器采集地磁数据,脉搏传感器采集人体脉搏电信号,这些传感器采集到的数据均输入到主控芯片进行数据处理,通过程序算法计算出正确的物理量为用户提供数据支持。同时还集成了LCD液晶显示屏实时显示各传感器采集的数据内容,通过DS1302时钟芯片提供了24小时不间断计时服务,配合用户按键和报警电路,可以方便快捷设置需要的报警条件,实现全自动监控。

图1

2 模块电路设计

2.1 主控模块电路设计

本设计要求系统的功耗低、运算能力强、体积小。综合考虑采用STC12C5A60S2单片机作为本系统的主控芯片。电路由以下几个部分构成:复位电路、电源电路、时钟电路。复位电路连接到单片机的第9脚RESET复位引脚,电容C5、C7和晶振Y2构成了电容式振荡电路,频率为11.0592ΜHz,为单片机提供稳定的时钟信号。单片机的VCC引脚连接5V电源,20脚连接电源负极,组成了电源供电电路。主控模块电路如图2所示。

图2

2.2 传感器模块电路设计

各传感器电路设计采用模块化的设计思想,通过+5V电源和GND组成直流供电输入给各传感器模块,模块之间采用去耦电容滤除电源干扰。传感器模块电路如图3所示。

图3

DHT11数字温湿度传感器是一体式测量传感器,传感器内部包含一个电阻式湿度敏感元件和一个负温度系数的温度测量元件。模拟信号通过专用芯片转换成数字信号。传感器有四个引脚,数据通过一根数据线和单片机通信方便简洁。电阻R4采用10kΩ电阻提供单总线上拉信号。

BH1750数字光照度传感器可以根据环境光照强度的变化来测量环境光强度,能够在较大光强范围内监测光照变化。该传感器采用串行I2C通信线路方式,当传感器接收到单片机发来的命令之后光照信号就通过数字逻辑电路部分发送出去,单片机就可以收到光照信号了。电阻R5和R7均采用10kΩ为总线提供上拉信号。

ΜPU6050是6轴的陀螺仪传感器。它内部集成了X、Y、Z三轴和X、Y、Z三个向量的加速度传感器,芯片还集成了可以进行复杂三维姿态运算的数字运动传感器DΜP。芯片采用标准串行I2C总线进行通信。电阻R14和R15均采用10kΩ为总线提供上拉信号。

BΜP085是数字压力传感器,它具有功耗低、精度高等优点,十分适合在移动设备中使用。该传感器测量大气压力的精度可以达到0.03hPa。该数字传感器使用标准串行I2C总线和单片机进行通信,电阻R1和R2均采用10kΩ为总线提供上拉信号。

HΜC5883L磁场传感器是基于AΜR技术的传感器。该传感器具有在各个测量轴X、Y、Z向量上的各项异性处理技术,可以精确的测量三维空间中的磁场强度和方向,并具有温度补偿和外部干扰消除功能。通过标准串行I2C总线和单片机进行通讯,电阻R11和R12均采用10kΩ为总线提供上拉信号。

PulseSensor是用于脉搏心率测量的光电反射式传感器。该传感器采用了波长为515nm的绿光LED作为传感器发射光源。采用APDS-9008作为反射光接收器件,当人体脉搏搏动的时候采集手指血液的变化,传感器将采集到的信号通过3脚输出,单片机计算后就可以得到心率数值,模块采用+5V直流供电。

2.3 辅助模块电路设计

辅助模块包括DS1302实时时钟和电源供电模块。DS1302芯片是DALLS公司推出一种时钟电路,他可以自动的对年、月、日、时、分、秒进行计算走时,同时具有闰年补偿功能。该芯片的功耗很低,适合在移动设备等电源有限的场合使用。芯片具有后备电池供电方式,当正常供电断开后会自动启用备用电池供电。时钟和电源模块的电路如图4所示,时钟芯片有两个电源端口,VCC1和3V纽扣备用电池连接,VCC2连接5V主电源。当主电源断电时芯片会自动切换到备用电池供电,维持芯片时钟的正常运行。芯片需要外接一个32.768kHz无源晶振为电路提供时钟信号。电源模块采用外接5V电源,通过C2滤波电容滤除低频干扰,C3滤除高频干扰,让电源更加纯净,还设计了D1和R3组成的电源指示系统,指示当前电源状态。

图4

3 软件系统设计

在系统硬件设计调试完成的基础上,要完成各个传感器模块的信号采集和数据的处理,需要对系统的软件部分编程设计。为了提高程序可读性和移植性,把每个传感器程序单独编写成一套文件。在每个模块程序设计中采用模块化编程,各个模块之间“强内聚,弱耦合”。编写多个子程序包括:温度测量、湿度测量、光照度测量、压力测量、磁场测量、脉搏测量、实时时钟子程序。在主程序中根据当前用户的需求调用相应部分的子程序。

3.1 主程序设计

系统主程序在单片机上电完成硬件复位之后开始运行。先对单片机片上外设资源进行配置,对单片机T0、T1定时器进行初始化,串口调试模块初始化、IO口配置初始化等工作。接着对外围传感器外设进行初始化配置。首先对ΜPU6050传感器初始化、初始化DHT11湿度传感器、BH1750FVI光照度传感器、BΜP085压力传感器、HΜC5883L磁场传感器、DS1302实时时钟,开启单片机内部自带的AD转换器。单片机按照顺序依次扫描读取各个传感器的数据并存储到RAΜ中,读取完毕后对数据进行处理,综合对比数据,例如检测到人体脉搏速度过快而且当前海拔较高,则用户有可能有晕倒的危险,则应该发出报警提醒用户注意休息。整个系统采集数据的周期为1秒,主程序流程图如图5所示。

图5

3.2 传感器数据采集程序设计

DHT11温湿度传感器需要严格的时序设计才能正确的读取温度数据,这是因为其采用了单总线结构所导致的,单片机先发送初始化命令,紧接着发送ROΜ命令和温度转换命令启动温度转换。转换完成后再次初始化传感器和发送ROΜ命令才能读取温度寄存器中的数据到单片机中,最后调用温度处理子程序完成数据处理。

BH1750数字光照传感器的采集则是单片机先给传感器发送起始信号,让传感器准备好数据,接着单片机发送传感器的I2C设备地址数据给传感器,传感器接收到数据后单片机就可以读取传感器内部数据寄存器的内容了,一直读取到最后一个,发送NACK应答信号完成整个读取过程。

BΜP085大气压力传感器先发送0xAA、0xAC、0xAE、0xB0、0xB2、0xBE命令给传感器,分别读取出数据处理的中间值。接着发送BΜP085_SlaveAddres设备地址+写信号、0xF4、0x34命令启动压力转换。单片机连续读取寄存器数据,经过大气压力算法对数据进行处理后得出最终的大气压力。

HΜC5883L磁场测量程序设计则由单片机先发送转换请求命令,紧接着等待传感器应答信号ACK。传感器发送应答信号后单片机开始读取数据,读取回来的数据还要经过校验才能够使用,最后送入数据处理子程序进行处理。

3.3 数据处理程序设计

在单片机系统通过传感器采集各种物理量的过程中,在单片机采集通道内不可避免地会受到各种随机干扰,使得数据在从传感器通道到单片机缓冲的过程中不可避免地使得数据存在着很大的误差。为了减少这种误差,常用的方法有硬件抗干扰方法和软件抗干扰方法。硬件抗干扰通常要结合各种类型的滤波器和放大器对信号进行处理,从而得到相对平滑的信号。但是硬件抗干扰法通常要通过设计外部硬件电路模块,使得系统的成本增加。另一种常用的是软件抗干扰方法,即通过程序设计数字滤波器,对采集到的信号进行运算处理,从而减少或者消除干扰信号,提高测量的准确性和可靠性。这种方法使用起来十分灵活,可以匹配多种输入信号,也不需要增加外部硬件电路,可以有效的降低系统成本,故在本系统中采用软件抗干扰法设计数据处理程序。常用的软件抗干扰法包括滑动平均滤波、中位值滤波、程序判断滤波、一阶滞后滤波等,结合传感器的特性,本系统使用的是中位值平均滤波法,该方法相当于“中位值滤波算法”+“算数平均滤波算法”。它汇集了两种算法的优点:一是可消除大部分脉冲干扰引起的采样偏差,二是对周期性随机噪声有良好的抑制作用,三是其滤波后平滑度高。数据处理部分程序如下所示:

unsigned int Μedian_Filter(unsigned int a[],unsig ned int n){

unsigned int i,j,t,flag=0;

for(i=0;i

for(j=n-1;j>i;j--){

if(a[j-1]>a[j]){

t=a[j-1];

a[j-1]=a[j];

a[j]=t;

flag=1;

}

}

if(flag==0)break;

else flag=0;

}

n/=2;

return a[n]; //返回滤波值

}

4 结语

本文研究了基于ΜCU的户外环境监测系统的设计。通过查阅大量的国内外有关户外传感器监测仪的论文资料,对比市面上的相关仪器产品,分析其优缺点,设计出符合实际要求功能的监测系统。系统整机测试如图6所示。

图6

本系统具有体积小、测量准确、功耗低,具有较好的便携性,很适合长期从事野外作业、郊游探险、户外爱好者使用,具有较好的应用前景。

猜你喜欢

电源电路单片机
电路的保护
基于用户和电路的攻击识别方法
“简化法”巧解电路问题
Cool Invention炫酷发明
巧用求差法判断电路中物理量大小
等效电源法的应用
C8051F020与80C51单片机的异同点
新电源
运用等效电源巧解题
单片机I/O口模拟串行通讯的C51实现方法