增加CO气体报警、氢气报警以及烟雾报警

标题:增加CO气体报警、氢气报警以及烟雾报警。

内容:通过ADC采集通道,实现传感器电压的采集,通过对电压进行判断是否报警,(理论上应该可以计算出气体浓度,通过气体浓度来判断是否报警)。

1、气体报警的原理

气体报警采用的是分压电路,在基本检测电路中,VC是固定电压1.8V,Rm为固定20kΩ,当气体浓度变化是,电阻Rs的阻值会发生变化,从而引起电压也发生变化。在空气中的Rs的组成作为基准阻值R0,Rs/R0为计算气体浓度。目前的应用场景,需求比较简单,不需要计算详细的浓度值,只需要记录在阈值浓度的情况下的电压,当电压达到阈值电压时,发生报警提醒即可。

增加CO气体报警、氢气报警以及烟雾报警_第1张图片

如需要计算气体浓度的话,就需要考虑气体灵敏度问题,如下图所示,找出对应的气体曲线,当其他达到一定的浓度发生报警。

增加CO气体报警、氢气报警以及烟雾报警_第2张图片

2、气体报警代码实现逻辑

根据下图的原理图,可以发现采用ADC采样,采集电压信息,从原理图上可以看到分别用了ADC采样的ADC6、ADC5和ADC4三个通道,首先要对三个采样通道进行配置,然后采集电压数据。

增加CO气体报警、氢气报警以及烟雾报警_第3张图片

在采集完成电压信号之后,就需要对采样之后的电压信号进行一个判断,主要用于判断气体报警以及气体报警恢复等。具体流程图如下:

增加CO气体报警、氢气报警以及烟雾报警_第4张图片

针对浓度的计算,也是可以通过代码实现的,通过计算出来的电压,利用上述Rs的计算公式就可以计算出具体浓度。

增加CO气体报警、氢气报警以及烟雾报警_第5张图片

你可能感兴趣的:(单片机,嵌入式硬件)