MQ-9气体传感器是一种用于检测一氧化碳(CO)、甲烷、丙烷以及其他可燃气体的半导体传感器。
1. **气敏材料**:MQ-9传感器使用的气敏材料是二氧化锡(SnO2),这种材料在清洁空气中具有较低的电导率。
2. **工作原理**:MQ-9通过高低温循环检测方式工作。在低温(1.5V加热)下检测一氧化碳,传感器的电导率随着空气中一氧化碳气体浓度的增加而增大。在高温(5.0V加热)下检测可燃气体如甲烷、丙烷,并清洗低温时吸附的杂散气体。
3. **技术参数**:
- 工作电压:5V DC
- 工作电流:≤ 150mA
- 响应时间:≤ 10秒
- 恢复时间:≤ 30秒
- 检测范围:一氧化碳(CO):1-1000ppm;甲烷(CH4):300-10000ppm;丙烷(C3H8):300-10000ppm
- 输出信号:模拟信号
4. **应用领域**:MQ-9传感器主要用于家庭用气体泄漏报警器、工业用可燃气体报警器和便携式气体检测器。
5. **产品特点**:
- 对一氧化碳/可燃气体有良好的灵敏度
- 对甲烷、丙烷、一氧化碳的灵敏度较高
- 长寿命、低成本
- 简单的驱动电路即可
6. **使用注意事项**:MQ-9传感器在使用过程中应避免暴露于硅化合物蒸气、高腐蚀性气体、碱金属盐、卤素等环境中,以防止性能劣变。此外,传感器应避免接触到水或在结冰条件下使用,以免影响性能。
7. **连接方式**:MQ-9模块通常有4个引脚,分别是VCC、GND、AO(模拟输出)、DO(数字输出)。VCC连接5V电源,GND接地,AO提供模拟信号输出,DO提供数字信号输出。
8. **编程实例**:MQ-9传感器可以通过简单的电路连接到微控制器(如Arduino、ESP8266等)进行数据读取和处理。通过编程读取传感器的模拟或数字输出,可以检测环境中的一氧化碳或可燃气体浓度。
MQ-9传感器因其低成本和高灵敏度而广泛应用于各种气体检测应用中。然而,由于其基于半导体材料的特性,MQ-9传感器更适合于定性分析而非精确的定量测量。在需要更高精度的气体浓度测量时,应考虑使用更专业的传感器设备。
#define CAL_PPM 10 // 校准环境中PPM值
#define RL 10 // RL阻值
static float R0=3;//MQ9 R0阻值
uint16_t ADC_Value;//ADC检测到的电压值
unsigned int CO;
// 传感器校准函数,根据当前环境PPM值与测得的RS电压值,反推出R0值
void MQ9_PPM_Calibration(void)
{
ADC_Value = adc_get_result_average(ADC_ADCX_CHY,10);//可燃气体传感器ADC的值(模拟量)
float Vrl = 3.3f * ADC_Value / 4095.f;//计算出电压值
float RS = (3.3f - Vrl) / Vrl * RL;//根据分压原则计算出RS的电阻
R0 = RS / pow(CAL_PPM / 98.322, 1 / -1.458f);//根据MATLAB绘制曲线推导出R0的对应公式
//printf("R0: %.3f\r\n",R0);
}
// 获取传感器的值
float MQ9_GetPPM(void)
{
ADC_Value = adc_get_result_average(ADC_ADCX_CHY,10);//可燃气体传感器ADC的值(模拟量)
float Vrl = 3.3f * ADC_Value / 4095.f;//计算出电压值
//printf("Vrl: %.3f\r\n",Vrl);
float RS = (3.3f - Vrl) / Vrl * RL;//根据分压原则计算出RS的电阻
//printf("RS: %.3f\r\n",RS);
float ppm = 98.322f * pow(RS/R0, -1.458f);//计算出PPM的值
//printf("ppm: %f\r\n",ppm);
return ppm;
}