
MQ135MQ135 是一款模拟量输出的气体传感器。它内部有一个对气体浓度敏感的半导体二氧化锡 SnO₂材料。主要监测目标空气质量通常指 TVOC 总挥发性有机物、烟雾、以及有害气体如氨气、苯、二氧化碳等。在您的工厂项目中它可以用来检测车间内是否有烟雾火灾预警或有害气体泄漏。输出方式模拟电压0V ~ 5V / 3.3V。预热要求它内部有一个加热电阻通电后需要大约1~2 分钟的预热时间才能进入稳定工作状态预热期间数值是跳动的。它的核心是一个“气敏电阻”Rs。无有害气体时气敏电阻阻值非常大接近无穷大。遇有害气体时气敏电阻阻值会迅速急剧下降。电路转换由于 MQ135 模块上通常会自带一个分压电路即一个与气敏电阻串联的固定负载电阻 RL气敏电阻阻值下降会导致分压点即模块的AO 模拟输出引脚的电压急剧升高。结论AO 引脚输出的电压越高说明空气中的有害气体/烟雾浓度越大。1. VCC —— 电源正极作用给 MQ135 内部的两个核心电路供电加热电阻维持传感器内部温度和信号处理电路。接线建议强烈建议接 5V。虽然很多模块标称支持 3.3V~5V但如果接 3.3V内部加热电阻功率不足传感器无法达到最佳工作温度会导致灵敏度极低甚至测不到变化。⚠️注意接 5V 时请确保这个 5V 是开发板上引出的 5V 引脚通常标为5V或VCC_5V千万不要误接成 3.3V 或 GND。2. GND —— 电源地作用电路的公共参考地0V。接线必须将 MQ135 的 GND 与 i.MX6ULL 开发板上的任何GND引脚连通否则无法形成电流回路信号读不出来。3. AO —— 模拟输出Analog Output——您最关心的引脚作用输出连续的模拟电压。环境中的气体/烟雾浓度越高AO 引脚输出的电压越高通常范围在 0V ~ 3.3V 或 0V ~ 5V 之间取决于模块设计。接线规则极度重要不能直接连到 i.MX6ULL 的 GPIO 引脚因为 GPIO 只能识别 0 或 1无法读取中间值。必须连接到 i.MX6ULL 开发板的ADC模数转换器引脚上如ADC1_IN系列引脚。4. DO —— 数字输出Digital Output——辅助报警引脚作用这是一个开关量输出只有 0 或 1 两种状态。原理模块板上有一个蓝色的可调电位器。您可以拧动它设定一个“电压阈值”。当 AO 端电压低于该阈值时DO 端输出高电平或低电平取决于模块。当 AO 端电压超过该阈值即烟雾浓度超标时DO 端电平发生翻转比如从高变成低。ADC模数转换器分辨率位数12 位。输出范围0 ~ 4095。这意味着不管输入的模拟电压是多少最终都会映射成一个 0 到 4095 之间的整数。输入电压范围0V ~ 3.3V。采样速率最高可达1MSPS每秒 100 万次采样12位分辨率意味着模数转换器可以将模拟电压信号量化为2的12次方个离散的数字等级即4096个级别ADC引脚图IMX6ULL一共有两个ADC 每个ADC都有10个通道但他们共用一个ADC控制器menuconfig修改ADC时钟树电气属性稳压器vref参考电压实验结果我们使用的传感器本质是ADC或者DAC器件的时候可以考虑使用IIO驱动框架。在 Linux 内核中IIO 是一个专门用来管理“传感器”和“模数转换ADC/DAC”的软件子系统驱动框架。在 Linux 内核源代码中NXP 官方以及社区的开发者已经为 i.MX6ULL 的 ADC 硬件编写了完整的驱动程序。这个驱动就是IIO (Industrial I/O) 子系统驱动。