MQ135

article/2025/9/27 3:48:24

这里写自定义目录标题

    • 以MQ135为例

原文链接

首先声明,公式不是官方给定的,而且有很多的局限性。

这篇文章是个人对MQ系列传感器电压与浓度转换的公式进行一个探索。

以MQ135为例

在这里插入图片描述
在氨气曲线上采点,得
在这里插入图片描述

x(ppm)=[10,20,30,40,50,60,70,80,90,100];

y(Rs/Ro)=[2.61,1.91,1.70,1.53,1.4,1.31,1.20,1.14,1.07,1];

通过MATLAB处理数据,拟合曲线选取最适合的模型得:

General model Power1:

f(x) = a*x^b

Coefficients (with 95% confidence bounds):

a = 6.467 (6.017, 6.917)

b = -0.3962 (-0.4164, -0.376)

Goodness of fit:

SSE: 0.009492

R-square: 0.9956

Adjusted R-square: 0.995

RMSE: 0.03445

则:

Rs/Ro = 6.467 *(ppm)^-0.3962 ①

在官方手册中,可以看到

在这里插入图片描述

Ro表示传感器在100ppm氨气中的电阻值,则Ro应为一个常数,这个我在网上查也没有查到具体的值是多少,有一种说法为10k,姑且认为如此。
在这里插入图片描述

商家模块的电路图
通过商家模块的电路图,以及和官方的手册对比可以得到,RL的值为1k。

Vc=5V为工作电压。

综上,联合①②

并且带入Ro,RL,Vc的值可以得到氨气(NH4)的C语言计算公式ppm=pow((6.467*10*V)/(5-V),(1.0/0.3962))

变量V为ADC采集到的电压值

同理

在甲苯曲线上采点,得

x(ppm)=[10,20,30,40,50,60,70,80,90,100];

y(Rs/Ro)=[1.61,1.35,1.21,1.08,0.98,0.91,0.88,0.85,0.82,0.80];

General model Power1:

f(x) = a*x^b

Coefficients (with 95% confidence bounds):

a = 3.367 (3.104, 3.63)

b = -0.3123 (-0.3343, -0.2904)

Goodness of fit:

SSE: 0.005299

R-square: 0.9917

Adjusted R-square: 0.9907

RMSE: 0.02574

最终得到公式:ppm=pow((3.367*10*V)/(5-V),(1.0/0.3123))

综上所述,公式的局限性(包括出错的可能误差)为:

1.Ro的值

2.在曲线上采点读数存在误差

3.拟合出公式的系数存在误差

4.模块也会受环境温度和湿度的影响,公式没有考虑到此影响系数

个人感觉MQ系列传感器适合做定性而不是定量分析,需要更精确的气体浓度参数时,应该使用更加精密的模块。

才学疏浅,如有错误之处,望不吝赐教。


http://chatgpt.dhexx.cn/article/mlkRPO5p.shtml

相关文章

MQ简介以及架构图

一、什么是MQ Message Query(MQ),消息队列中间件,很多初学者认为,MQ通过消息的发送和接受来实现程序的异步和解耦,mq主要用于异步操作,这个不是mq的真正目的,只不过是mq的应用&…

IBMMQ java远程访问(四)

当应用程序和MQ不在同一台主机上的时候,我们将要通过通道去访问; 1.创建队列管理器时勾选创建服务器链接通道; 2.创建一个本地队列 命名为Q1 3.创建通道 右击通道->新建->服务器链接通道 命名为SERVERQM2 4.代码示例调用 package com.i…

MQ理论介绍与主流MQ对比

1、什么是MQ? MQ(Message Queue)消息队列,是基础数据结构中“先进先出”的一种数据结构。指把要传输的数据(消息)放在队列中,用队列机制来实现消息传递——生产者产生消息并把消息放入队列,然…

什么是MQ

MQ概述 MQ全称 Message Queue(消息队列),是在消息的传输过程中保存消息的容器。多用于分布式系统之间进 行通信。 分布式系统之间进行通信: 远程调用:各系统间直接通过远程调用的方式; 借助第三方完成系统…

MQ的概念和RabbitMQ知识点(无代码)

目录 1. MQ的基本概念 1.1 MQ概述 1.2 MQ的优势 1. 应用解耦 2. 异步提速 3. 削峰填谷 1.3 MQ的劣势以及可能引发的问题 1.4 常见的MQ产品 2. RabbitMQ的知识点 2.1 RabbitMQ的工作模式 1. 简单模式 2. 工作队列模式 Work Queue 3. 发布订阅模式 Publish/subscri…

MQ简介

一、何为MQ? MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通…

【MQ基本概念 MQ的工作原理】

一、 MQ 基本概念 1 、 MQ 概述 MQ 全称 Message Queue (消息队列),是在消息的传输过程中保存 消息的容器。多用于分布式系统之间进 行通信。 小结 MQ ,消息 队列,存储消息的中间件 分布式系统通信两种方式&…

mq的基本介绍和基本用法

一 、什么是MQ,有什么用 MQ 是message queue ,消息队列,也叫消息中间件,遵守JMS(java message service)规范的一种软件。(同时还有另一个叫AMQP的应用层协议,语言无关性不受产品 语言等限制,r…

MQ(Message Queue)简介

一、何为MQ? MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通…

MQ消息队列详解、四大MQ的优缺点分析

MQ消息队列详解、四大MQ的优缺点分析 前言面试题切入面试官心理分析面试题剖析①为什么要使用MQ系统解耦异步调用流量削峰消息队列的优缺点四大主流MQ(kafka、ActiveMQ、RabbitMQ、RocketMQ)各自的优缺点 前言 近期有了想跳槽的打算,所以自己…

file和filestream

在C#编程环境中,当我们对电脑文件进行读写、移动、复制、删除等这些操作时,这些都可以在system.IO名称空间下,所以当我们想要通过C#编程语言对其进行操作时,需要添加该名称空间,它内部包含对数据流和文件进行同步或异步…

java filestream_java FileStream文件流操作

直接上代码,函数使用说明详见Java API文档 import java.io.*; public class StreamDemo { public static void main(String[] args) { File fnew File("F:\\workspace\\JavaPrj\\test.txt"); FileOutputStream outnull; try { outnew FileOutputStream(f)…

c#FileStream文件读写

//C#文件流写文件,默认追加FileMode.Append string msg "okffffffffffffffff"; byte[] myByte System.Text.Encoding.UTF8.GetBytes(msg); using (FileStream fsWrite new FileStream("D:\1.txt", FileMode.Append)) {fsWrite.Write(myByte, 0, myByte.…

FileStream类

FileStream类的官方介绍请见&#xff1a; https://msdn.microsoft.com/zh-cn/library/system.io.filestream.aspx 一、使用FileStream来读取文本文件 <pre name"code" class"csharp"> string path "E:\TEMP\TestFileStream\the ol…

猿创征文|【.Net实用方法总结】 整理并总结System.IO中FileStream类及其方法介绍

&#x1f40b;作者简介&#xff1a;博主是一位.Net开发者&#xff0c;同时也是RPA和低代码平台的践行者。 &#x1f42c;个人主页&#xff1a;会敲键盘的肘子 &#x1f430;系列专栏&#xff1a;.Net实用方法总结 &#x1f980;专栏简介&#xff1a;博主针对.Net开发和C站问答过…

FileStream的使用

FileStream的使用 一.基本介绍&#xff1a; 二.FileStream读写文件实例&#xff1a; string path1 "d\test\test1.txt";string path2 "d\test\test2.txt";byte[] buffered new byte[1024];using (FileStream fsr new FileStream(path1, FileMode.Ope…

C#中File和FileStream的用法

在近期的工作过程中发现自己的基础比较薄弱&#xff0c;所以最近在恶补基础知识。下面就对我所学习的File类和FileStream进行简单的总结。1.首先先介绍File类和FileStream文件流 1.1 File类&#xff0c;是一个静态类&#xff0c;支持对文件的基本操作&#xff0c;包括创建&am…

FileStream 总结

FileStream 如何去理解FileStream? 我们磁盘的中任何文件都是通过2进制组成&#xff0c;最为直观的便是记事本了&#xff0c;当我们新建一个记事本时&#xff0c;它的大小是0KB, 我们每次输入一个数字或 字母时文件便会自动增大4kb,可见随着我们输入的内容越来越多&#xff…

FileStream读写文件

FileStream读写文件 FileStream类:操作字节的&#xff0c;可以操作任何的文件 StreamReader类和StreamWriter类:操作字符的&#xff0c;只能操作文本文件。 1、FileStream类 FileStream类 命名空间: System.IO &#xff08;1&#xff09;构造函数&#xff1a; FileStre…

本地socket unix domain socket

socket API原本是为网络通讯设计的&#xff0c;但后来在socket的框架上发展出一种IPC机制&#xff0c;就是UNIXDomain Socket。虽然网络socket也可用于同一台主机的进程间通讯&#xff08;通过loopback地址127.0.0.1&#xff09;&#xff0c;但是UNIX Domain Socket用于IPC更有…