新手向,MQ系列气体传感器公式计算,附代码参考

计算方法来源于:MQ系列传感器电压与浓度转换关系

本人只对其进行一些复述和丰富,主要目的是记录这次学习过程

以MQ2为例子,首先查看它的规格书,规格书可以到炜盛科技找到

        以下是市面上基本所有MQ系列模块的电路,根据功能可以划分成两部分,分别是加热部分和AO部分,加热部分服务于AO,传感器需要加热一段时间才能正常取值,左侧供电和下侧供电一般来说是同一个供电电路

        加热电阻和气敏电阻都在传感器内部,传感器外部有附加的一个5Ω电阻(与加热电阻串联),RL电阻与气敏电阻串联,作负载,RL两端的电压就是AO的输出值,也就是ADC取到的值,当然,因为ADC的精度和测量范围问题,一般单片机ADC读到的电压和电压表测量到的电压有差值并且可测量的最大电压低于MQ能输出的最高电压体现出了MQ系列只能作为一个参考,不能精准测量,简称看个乐呵就好

        根据这个电路,我们可以得知,RL两端的电压比上RL的阻值=总供电电压-RL两端电压比上气敏电阻的阻值,即:Vrl/Rl = Vc-Vrl/Rs

下面是电阻比(RS/R0)与气体浓度(ppm)的关系,同时也可以看到,MQ2能够测量到的气体有很多,只是对烟雾特别敏感,也就是说不能用单个传感器进行单类气体的测量

RS:气敏电阻在不同浓度目标气体中的阻值

R0:气敏电阻在洁净的空气中的阻值

RS/R0:气敏电阻相对于默认阻值的变化,等于1代表空气很干净,小于1代表检测到目标气体,                  RS越小则RS/R0越小,则表示气体浓度越大

ppm:表示每一百万份中所含有的某种物质的份额。因此,1 ppm等于1部分物质与1000000部分             总物质的比例。通常情况下,PPM表示为单位为毫克/升(mg/L),微克/升(μg/L)或其               他适当的单位。例如,水中的铅浓度为1 ppm,表示每一百万升水中含有1升的铅。

根据这个曲线,为了更好更直观得出电阻比与气体浓度的关系,这需要借助一个工具

在线曲线拟合

x轴填写气体浓度,y轴填写对应的电阻比,拟合出一个幂函数曲线,最终得到一个y=ax^b样式的公式,代入得:RS/R0 = a*ppm^b

        曲线的点需要自己对照规格书的表格一点一点填写,生成的曲线会标记出你取的点,如果点偏离很大就改一下点的值,使其符合曲线,毕竟我们只是为了参考,不是真的要测量浓度,a和b对最终结果有很大影响,所有这一步需要多费点力

        最终,我们得到了两个公式

公式1:Vrl/Rl = Vc-Vrl/Rs           公式2:RS/R0 = a*ppm^b

        而最终的最终,我们要得到ppm的计算公式,在此之前,我们先分析以下这些变量

Vrl:AO输出电压,未知,因为在不同浓度气体中值不同

Rl:负载电阻,已知,用电压表测一下就知道了,值得注意的是,Rl的原始电阻值可能是3k,
       可能是2k,可能是75k,但是接入电路后其电阻值会降低,我是按降低后的电阻来计算的

Rs:气敏电阻阻值,未知,因为在不同浓度气体中值不同

R0:气敏电阻在洁净空气中的阻值,已知,在洁净空气中,测量其Vrl和Vc,代入公式1计算得出            的Rs就是R0

Rs/R0:电阻比,未知,因为Rs是未知的

ppm:气体浓度,未知

a和b:根据曲线图,已知

        开始计算ppm的公式

第一步:测量出空气中Vrl、供电Vc、负载电阻Rl,根据公式1,计算出R0的值

第二步:根据公式1,代入Rl和Vc(二者恒不变所以直接代入),求出Rs的关系式,

                Rs = d - e*Vrl/Vrl,其中d、e是常数,二者是随机的根据你代入的值来决定,想算浓度,必先算出Rs关系式

第三步:根据公式2,代入Rs的关系式,即(d - e*Vrl/Vrl)/R0 = a*ppm^b,换算一下

              得出ppm的公式:ppm = pow((Vrl/d - e*Vrl) * R0 * a, b)

        最后再次重申,MQ只能作参考,只能定性分析不能定量分析,也就是说你可以用来判断是哪些类型方向的气体,但不能来测量其真正浓度,干扰不仅是ADC精度,还有供电电压,曲线的取值准确度等,本文仅供参考,不具备专业性,纯个人推算使用,程序中也无额外校准,只要把值传入,就直接得出结果,顶多ADC多次采集取平均值

        代码参考:

附部分气体的浓度与危害对照,计算得出的值如果超过安全范围说明算错了某些地方,可以从R0值和ppm曲线入手检查

                                                

  • 48
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值