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 结束语
该仪器的开发主要是为二氧化碳储存项目服务,对二氧化碳泄露进行监测,针对泄露的二氧化碳浓度值范围不定的情况,仪器设计了三个通道,并通过实验测试了三个通道数据采集情况,测试结果说明,仪器运行正常。
关键字:STM32 便携式 二氧化碳监测仪
引用地址:
一款基于STM32的便携式二氧化碳监测仪设计
推荐阅读最新更新时间:2024-11-03 18:17
STM32 ST-LINK Utility解决错误
使用ST-LINK V2下载程序时,出现以下错误,并且连接线无出错 解决方法: Target --- Settings--- Mode更改为Connect Under Reset
[单片机]
STM32中NVIC的个人理解
STM32有43个channel的settable的中断源;AIRC(Application Interrupt and Reset Register)寄存器中有用于指定优先 级的4 bits。这4个bits用于分配preemption优先级和sub优先级,在STM32的固件库中定义如下 /* Preemption Priority Group -------------------------------------------------*/ #define NVIC_PriorityGroup_0 ((u32)0x700) /* 0 bits for pre-emption priority
[单片机]
stm32 发脉冲
发脉冲两种目的 1)速度控制 2)位置控制 速度控制目的和模拟量一样,没有什么需要关注的地方 发送脉冲方式为PWM,速率稳定而且资源占用少 stm32位置控制需要获得发送的脉冲数,有下面4种手段 1)每发送一个脉冲,做一次中断计数 2)根据发送的频率 发送的时间,获得脉冲数量,对于变速的脉冲,可以累计积分的方法来获得总脉冲 3)一个定时器作为主发送脉冲,另外一个定时器作为从,对发送的脉冲计数 4)使用DMA方式,例如共发送1000个脉冲,那么定义u16 per ,每发送一个脉冲,dma会从数组中更新下一个占空比字,数组最后一个字为0,表示停发脉冲 上面4种方法的用途和特点 1)对于低速率脉冲比较好,可以说低速发脉冲的首选
[单片机]
STM32 DMA详解——一串口为例
一. DMA原理: DMA(Direct Memory Access,直接内存存取) 是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依于 CPU 的大量 中断 负载。否则,CPU 需要从 来源 把每一片段的资料复制到 暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。 DMA 传输将数据从一个地址空间复制到另外一个地址空间。当 CPU 初始化这个传输动作,传输动作本身是由 DMA 控制器 来实行和完成。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存区。像是这样的操作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作。 二.STM32使用DMA 1
[单片机]
STM32之中断管理
关于STM32的中断,相信大家玩过单片机的朋友就知道,中断是MCU的一大优点,使MUC工作能够分清事情的”轻重缓急“ ,从而达到处理事情井井有条; 今天就讲解下STM32-Cortex-M3内核的中断管理机制,其他处理器的也类似;M3中F103系列的有60个可屏蔽的中断和16个内核级别的中断; 大家知道,操作一款MCU 其实实质就是操作的寄存器,而寄存器有机的结合起来就实现了特定的功能;中断系统也不例外,下面来认识一下中断系统中的几个重要的寄存器; 1. ISER (Interrupt Set-Enable Registers),就是中断使能寄存器组,这个数组有8个成员,每个成员是32位的寄存器;写1有效,写0无效;
[单片机]
STM32(HY-SRF05)超声波测距项目
首先,先来看一下这个模块的基本功能和原理。 HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm;模块包括超声波发射器、接收器与控制电路。像智能小车的测距以及转向,或是一些项目中,常常会用到。智能小车测距可以及时发现前方的障碍物,使智能小车可以及时转向,避开障碍物。 注意是5v输入,但是我用stm32 的3.3v输入也是没有问题的 1、模块(OUT脚的作用是什么) 2、工作原理 (1)、采用IO口TRIG触发测距,给至少10us的高电平信号; (2)、模块自动发送8个40khz的方波,自动检测是否有信号返回; (3)、有信号返回,通过IO口ECHO输出一个高电平,高电
[单片机]
STM32的重映射功能,以ZET6的TIM3_CH2通道从PA7->PB5为例
还需要先提的是,重映射有的可能只适用于与部分STM32芯片。 TIM3_CH2 默认是接在 PA7,可以通过重映射功能,把 TIM3_CH2映射到 PB5 上 重映射控制是由复用重映射和调试 IO 配置寄存器(AFIO_MAPR) 控制。 TIM3_REMAP 是由 这 2 个位控制的。TIM3_REMAP 重映射控制表如下: 默认条件下,TIM3_REMAP 为 00,是没有重映射的,所以TIM3_CH1~TIM3_CH4 分别是接在 PA6、PA7、PB0 和 PB1 上的。 而我们想让 TIM3_CH2 映射到 PB5 上,则需要设置TIM3_REMAP =10,即部分重映射,这里需要注
[单片机]
STM32 控制舵机, 动态调整PWM
伺服电机拥有更大的扭矩,可以移动沉重的负荷。 深受玩具制造商的欢迎。很多玩具都有伺服电机和直流电机 交流伺服电机可以移动更沉重的负载,一般在工业应用。直流伺服电机最多用于搬动小物品。 span font-size:14px;font-variant-numeric:normal;font-variant-east-asian:normal;line-height:18px;white-space:normal;background-color:#ffffff; = style= overflow-wrap: break-word; color: rgb(46, 48, 51); font-family: 宋体, Arial; t
[单片机]