一氧化碳浓度检测
原理:忙了很多天,终于搞懂了气体浓度检测的原理了。一般来说,我们都是使用气敏传感器来检测气体浓度。检测原理是:气体吸附在气敏传感器(气敏电阻一般是二氧化锡金属氧化物)上,会改变其电导率的变化,从了导致其电压值发生变化。一般来说,气敏电阻电导率与气体浓度成线性变化关系。搭建简答的电路,通过电位差,就可以求出电阻的变化。根据电阻的变化,就可以反求气体浓度了。一般地,在数据手册都会给出电阻与气体浓度·的计算公式。
一般气敏传感器模块的原理图。某宝上都有的卖。需要检测浓度值的需要将AOUT接到ADC上。
检测气体浓度最终要ADC。其源码如下:
ADC初始化
void Adc_Init(void)
{
ADC_InitTypeDef ADC_InitStructure;
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA |RCC_APB2Periph_ADC1 , ENABLE ); //使能相应的时钟
RCC_ADCCLKConfig(RCC_PCLK2_Div6); //六分频
//GPIO参数设置
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; //模拟输入
GPIO_Init