历史上的今天
今天是:2025年04月01日(星期二)
2021年04月01日 | 一款基于STM32的便携式二氧化碳监测仪设计
2021-04-01 来源:eefocus
CO2浓度的检测方法大致分化学方法和物理方法。CO2浓度检测方法有滴定法、热催化法、气敏法、电化学法,这些属于化学方法,这些方法普遍存在价格贵,普适性差等问题,且测量精度较低。而物理的方法有超声波法、气相色谱法以及众多借助于光学来实现检测的方法。也有像光声光谱法这种化学和物理结合的方法。吸收光谱法的依据是不同化学结构的气体分子对不同波长的辐射的吸收程度不同,CO2气体分子对特定波长的红外光有强烈的吸收。
目前各种检测用的CO2传感器主要有固体电解质式、钛酸钡复合氧化物电容式、电导变化型厚膜式等,这些传感器存在对气体的选择性差、易出现误报、需要频繁校准、使用寿命较短等不足。而红外吸收型CO2传感器具有测量范围宽、灵敏度高、响应时间快、选择性好、抗干扰能力强等特点。因此,本次设计采用红外吸收型CO2传感器。
1 传感原理
红外吸收型CO2气体传感器是基于气体的吸收光谱随物质的不同而存在差异的原理制成的。不同气体分子化学结构不同,对不同波长的红外辐射的吸收程度就不同,因此,不同波长的红外辐射依次照射到样品物质时,某些波长的辐射能被样品物质选择吸收而变弱,产生红外吸收光谱,故当知道某种物质的红外吸收光谱时,便能从中获得该物质在红外区的吸收峰。
同一种物质不同浓度时,在同一吸收峰位置有不同的吸收强度,吸收强度与浓度成正比关系。因此通过检测气体对光的波长和强度的影响,便可以确定气体的浓度。
根据比尔朗伯定律,输出光发光强度I、输入光发光强度I0和气体浓度c之间的关系为
I=I0exp(-αmLc) (1)
式中:αm为摩尔分子吸收系数;c为待测气体浓度;L为光和气体的作用长度(传感长度)。对式(1)进行变换,得:

2 仪器设计框图
前端传感器输出的数字信号,以串口方式与STM32进行通讯,此仪器设计三通道采集,利用继电器电路对传感器通道进行选择,STM32将浓度值显示在液晶屏上,液晶屏带有触摸功能,通过编写液晶显示界面,调用相关按键程序,选择传感器通道以及保存为U盘数据等功能。框图如图1所示。

3 传感器选择
选择了DYNAMENT公司的premier二氧化碳传感器,此传感器运用非色散红外原理检测气体,它包括长寿命钨红外光源、供扩散气体进入的光通道、一对经温度补偿的红外原理热电交换检测元件、半导体温度传感器和处理红外热电交换检测器信号的电子电路,使用方便快捷,如图2为二氧化碳传感器外形封装图。

4 硬件电路设计
本仪器设计3个通道的二氧化碳传感器采集,通过3个继电器来选择传感器的通断。如图3为继电器控制电路。

使用低功耗单片机STM32F103RE,内核为:ARM 32-bitCortex-M3 CPU,尺寸为:10mmx10 mm,带有4个串口,在本仪器设计中,用到3个串口,一个与传感器进行通讯,一个与液晶进行通讯,一个与USB存储模块通讯。如图4为控制器最小系统。

选择迪文科技有限公司的液晶,型号为DMT32240C035_02W,基本参数为:3.5英寸,M100内核,65K色串口液晶人机界面。此款液晶带有触摸功能,系统设计时,不用添加按键电路,只需编写液晶按键程序就能实现按键功能,简单的实现参数的设置,数据保存,档位切换等功能。
5 软件设计
仪器开机后进入液晶程序界面,选择传感器通道,进入数据采集程序,将当前二氧化碳浓度值显示于液晶屏上,点击液晶显示界面上的保存按钮,保存当前时间的二氧化碳浓度值。仪器软件总体设计流程如图5所示。


6 室内实验
利用组装的便携式二氧化碳监测仪进行了室内的测试实验,如表1为3个通道对同一环境下,二氧化碳浓度的测试数据,每个通道测试10次。从测试数据上看每个通道测试数据较为稳定。且与空气中二氧化碳碳理论在浓度值接近。
7 结束语
该仪器的开发主要是为二氧化碳储存项目服务,对二氧化碳泄露进行监测,针对泄露的二氧化碳浓度值范围不定的情况,仪器设计了三个通道,并通过实验测试了三个通道数据采集情况,测试结果说明,仪器运行正常。
史海拾趣
|
呵呵,一点个人建议哦!现在学习单片机的人是越来越多,EEworld在这方面的推广的功劳那也是非常多的!! 单片机的学习者一般都是从MC51的8位机学习起来的,但是随着信息社会的发展。8位的单片机毕竟也有一定的局限性,所以16位的,32位的单片机也 ...… 查看全部问答> |
|
大开眼界---看看国外工程师们的AVR单片机设计实例---连载中 这是从国外一个网站上摘抄的AVR单片机设计实例。网址是http://www.avrfreaks.net。 由于本人英文水平很烂,技术水平也很烂。所以翻译的不好,请大家原谅。 另外高手们可以直接到这个网站看看,如果我翻译的不对,请指出来。感谢大家! 先给出5 ...… 查看全部问答> |
|
socket函数原型为:int socket(int domain, int type, int protocol);domain指明所使用的协议族,通常为PF_INET,表示互联网协议族(TCP/IP协议族);type参数指定socket的类型:SOCK_STREAM 或SOCK_DGRAM,Socket接口还定义了原始Sock ...… 查看全部问答> |
|
1,插上USB线,OS会把SD卡在PC机上弹出;插上电源线,OS只会充电。请问OS如何区分的? 2,在PC机上卸载掉SD卡,OS能否收到通知?… 查看全部问答> |
|
我想要实现如下功能:要用stm32自带的AD测量交流信号的一个周波32个点。思路是这样子的:先用TIM4来检测交流信号的过零点,我准备用TIM4的捕获功能,当信号有上升沿时,捕获,此时会进入中断程序(在定时器配置的时候已经开了捕获中断),在中 ...… 查看全部问答> |
|
小弟最近刚开始学习avr的单片机,手上有一块mega128的开发板 在学习的过程中,发现书中总是提到“mega103兼容模式下”。对此我不是很明白 谁能准确的告诉我一下,什么叫103兼容模式呀?为什么要设计兼容mega103 模式啊… 查看全部问答> |
|
真不知道这个问题放在哪个版块,因为这个项目于FPGA有关就暂时放在这里吧! 今天临时接到一份任务,需要查找有关PATA接口设计的问题,在网上看到很多资料,才发现硬盘接口有多种,分为IDE、SATA、SCSI、光纤通道和SAS五 ...… 查看全部问答> |




