IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 基于STM32的学习记录--MQ系列计算公式 -> 正文阅读

[嵌入式]基于STM32的学习记录--MQ系列计算公式

?

目录

MQ-2

定义

计算

MQ-4

定义

公式

MQ-7

定义

公式

MQ-135

定义

公式


所有的MQ系列传感器都需要一定的预热时间进行一个精度的校准

MQ-2

定义

//R2-1K.
#define SMOG_PIN46_R	1000			//烟雾传感器管脚4、6接出到地的电阻值
#define SMOG_READ_TIMES	10				//定义烟雾传感器读取次数,读这么多次,然后取平均值

计算

//读取烟雾传感器的电压值
u16 Smog_Get_Vol(void)
{
	u32 temp_val=0;
	u8 t;
	for(t=0;t<SMOG_READ_TIMES;t++)
	{
		temp_val+=Get_Adc2(SMOG_ADC_CHX);	//读取ADC值
		delay_ms(5);
	}
	temp_val/=SMOG_READ_TIMES;//得到平均值
	printf("Smog_ADC_Val:%d\r\n", temp_val);
    return (u16)temp_val;
}
//分析从烟雾传感器获取的电压值,通过公式计算出可燃气体的浓度值
//设Rs为传感器的体电阻,其中气体浓度上升,将导致Rs下降。而Rs的下降则会导致,MQ-2的4脚、6脚对地输出的电压增大。
//所以气体浓度增大,其输出的电压也会增大。因Rs在不同气体中有不同的浓度值,所以该函数仅作为参考.
u16 Smog_Trans_Concentration(void)
{
    u16 ulVal = 0;
    u16 temp_val = Smog_Get_Vol();
	u16 Rs;
	Rs = SMOG_PIN46_R*(4096.0/temp_val - 1);
	printf("Smog_Rs_Val:%d\r\n", Rs);
	
	ulVal = Rs;//这里填写公式根据Rs计算气体浓度
	
    return ulVal;
}

MQ-4

定义

#define MAX_CONVERTED_VALUE   4095    /* Max converted value */
#define VREF                  3300

公式

float MQ4_Get_Vol(void)
{
	u32 temp_val=0;
	u8 t;
	for(t=0;t<SMOG_READ_TIMES;t++)
	{
		temp_val+=ADC_ConvertedValue[1];	//读取ADC值
		Delay_ms(SMOG_READ_TIMES);
	}
	temp_val/=5;//得到平均值
	
  return (u16)temp_val;
}
u16 MQ_4_Value(void)
{
    u16 ppm = 0;
		u16 temp = MQ4_Get_Vol();
		printf("%d\n",temp);
		ppm =temp*VREF/MAX_CONVERTED_VALUE ;
	
    return ppm;
}

MQ-7

定义

#define CAL_PPM  10  // 校准环境中PPM值
#define RL	10  // RL阻值

公式

static float R0;
 // 传感器校准函数
void MQ7_PPM_Calibration(float RS)
{
    R0 = RS / pow(CAL_PPM / 98.322, 1 / -1.458f);
}
 
 // 获取传感器的值
float MQ7_GetPPM(void)
{
    float Vrl = 3.3f * ADC_ConvertedValue[3]/ 4095.f;
    float RS = (3.3f - Vrl) / Vrl * RL;
	MQ7_PPM_Calibration(RS);
    float ppm = 98.322f * pow(RS/R0, -1.458f);
    return  ppm;
}

MQ-135

定义

#define MAX_CONVERTED_VALUE   4095    /* Max converted value */
#define VREF                  3300

公式

//读取MQ-135传感器的电压值
float MQ135_Get_Vol(void)
{
	u32 temp_val=0;
	u8 t;
	for(t=0;t<SMOG_READ_TIMES;t++)
	{
		temp_val+=ADC_ConvertedValue[2];	//读取ADC值
		Delay_ms(SMOG_READ_TIMES);
	}
	temp_val/=5;//得到平均值
	
  return (u16)temp_val;
}
u16 MQ_135_Value(void)
{
    u16 ppm = 0;
		u16 temp = MQ135_Get_Vol();
		printf("%d\n",temp);
		ppm =temp*3300/4095 ;
	
    return ppm;
}

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-05-18 17:49:03  更:2022-05-18 17:49:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 0:28:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码