MQ7与电压值与PMM的转换
#define CAL_PPM10// 校准环境中PPM值#define RL 10// RL阻值
static float R0 = 8.00;
//得到ADC采样内部传感器的值
//取10次,然后平均
vu16 Get_ADCValue_MQ7(void)
{
u32 val = 0;
u8 times = 10;
u8 count;
for(count = 0; count < times; count++)
{
val += ADC_ConvertedValue;
delay_ms(5);
}
return val/times;
}
// 传感器校准函数
void MQ7_PPM_Calibration(float RS)
{
R0 = RS / pow(CAL_PPM / 98.322, 1 / -1.458f);
}
// 获取传感器的值
float MQ7_GetPPM(void)
{
float Vrl = 3.3f * Get_ADCValue_MQ7() / 4096.f;
Vrl = ( (float)( (int)( (Vrl+0.005)*100 ) ) )/100;
float RS = (3.3f - Vrl) / Vrl * RL;
// printf("MQ7_VRL = %.2f\n", Vrl);
if(times_mq < 6000) // 获取系统执行时间,3s前进行校准
{
MQ7_PPM_Calibration(RS);
}
float ppm = 98.322f * pow(RS/R0, -1.458f);
returnppm;
}
MQ-7是一种可检测一氧化碳(CO)浓度的气敏传感器,它的输出信号是电压值。 可以使用公式:
CO浓度 = (输出电压值 - 零点电压) / 灵敏度 MQ系列的气体传感器的输出电压应该如何处理? 既然MQ7输出信号是电压值,那么是不是意味着它不能远离单片机啊 tpgf 发表于 2023-5-11 12:02
既然MQ7输出信号是电压值,那么是不是意味着它不能远离单片机啊
楼上的意思是不是说如果距离远了电压会产生衰减啊 就是依据电压的大小按照比例转化为pwm的占空比或者频率进行输出是吗 比例关系可以自己根据需求随意设置是吧 这种会不会受到外界的干扰比较厉害呢 电压和浓度是怎么对应的,有公式吗? MQ-7经过AD转换后得出电压值,怎么计算成浓度值 MQ-7的输出电压值与CO浓度存在非线性关系,因此需要通过实验获得MQ-7的输出电压值与CO浓度之间的对应关系,并建立转换函数 mq135传感器 电压和浓度的转化关系怎么计算 mq135传感器 电压和浓度的转化关系怎么计算
页:
[1]