传感器基础:常见传感器类型与工作原理

做物联网项目,传感器就是我们的「眼睛」和「耳朵」。没有传感器,数据采集就是空谈。今天我就带你把这些基础打牢。

常见传感器类型

先说说最常用的几种传感器。我这些年做过的项目里,90% 都离不开它们。

温度传感器

温度传感器,说白了就是测量冷热程度的器件。常见的类型有:

  • 热电偶:测量范围广(-200°C 到 2000°C),适合工业高温环境。我曾在锅炉监控项目里用过,精度够用但需要冷端补偿。
  • 热敏电阻:便宜、响应快,但线性度差。家用空调里基本都是它。
  • 数字温度传感器:比如 DS18B20,直接输出数字信号,用起来省心。我个人特别喜欢它的一线总线协议,一根线就能挂多个传感器。

湿度传感器

湿度测量其实比温度复杂。空气里的水蒸气含量,受温度影响很大。

  • 电容式湿度传感器:利用高分子材料吸湿后介电常数变化。DHT11、DHT22 就是典型代表。
  • 电阻式湿度传感器:通过湿度变化引起电阻值改变。精度一般,但成本低。
我的经验:DHT22 比 DHT11 贵不了多少,但精度高出一大截。预算允许的话,直接上 DHT22。

光照传感器

光照强度测量,常见的有:

  • 光敏电阻:最原始的方式,阻值随光照变化。便宜但线性度差,适合做开关量检测。
  • 光电二极管/三极管:响应速度快,适合做光通信。
  • 数字光照传感器:比如 BH1750,直接输出 lux 值,I2C 接口。我最近做智能窗帘项目就用的它,省去了校准的麻烦。

气压传感器

气压传感器主要用来测大气压力,也能辅助测海拔。

  • MEMS 气压传感器:比如 BMP280、BME280。体积小、功耗低,手机里用的就是这种。
  • 压阻式气压传感器:利用硅膜片受压后电阻变化。精度高,但成本也高。

嗯,这里要注意:气压传感器对温度敏感,很多型号内部都集成了温度补偿。BME280 甚至还能测湿度,一个顶三个。

传感器工作原理

传感器的工作原理,说白了就是「把物理量变成电信号」。怎么变的?

电阻式原理

物理量变化 → 电阻值变化 → 测量电阻。比如热敏电阻、光敏电阻、应变片。

电容式原理

物理量变化 → 电容值变化 → 测量电容。比如电容式湿度传感器、电容式触摸按键。

压电式原理

物理量变化 → 产生电荷 → 测量电压。比如压电陶瓷、加速度计。

半导体原理

物理量变化 → 半导体特性变化 → 测量电流/电压。比如霍尔传感器、光电传感器。

核心要点:不管什么原理,最终都是把非电信号转换成电信号。这个电信号要么是模拟的(连续变化),要么是数字的(离散值)。

模拟信号与数字信号

这个问题,我当年刚入行时也搞混过。咱们用大白话说清楚。

模拟信号

模拟信号是连续变化的。比如温度从 25°C 升到 26°C,电压就从 0.5V 慢慢升到 0.52V。中间有无数个值。

  • 优点:信息完整,理论上无限精度
  • 缺点:容易受干扰,传输距离有限

数字信号

数字信号只有两个状态:高电平(1)和低电平(0)。比如 DS18B20 输出的就是数字信号。

  • 优点:抗干扰能力强,适合长距离传输
  • 缺点:精度受限于位数,信息有量化损失
避坑指南:我曾经在一个项目中,用 10 米长的线连接模拟温度传感器,结果读数跳得跟心电图似的。后来换成数字传感器,问题立刻解决。长距离传输,优先选数字信号。

ADC 转换概念

你想想看,单片机是数字器件,只能处理 0 和 1。但传感器输出的可能是 0V 到 3.3V 的模拟电压。怎么办?

这时候就需要 ADC(模数转换器)出场了。它的工作就是:把连续的模拟电压,转换成离散的数字值

ADC 的关键参数

参数 说明 我的建议
分辨率 多少位?10 位就是 1024 级,12 位就是 4096 级 一般项目 10 位够用,高精度选 12 位以上
采样率 每秒能转换多少次?单位 SPS 温度变化慢,几 Hz 就够;音频需要几十 kHz
参考电压 ADC 的满量程电压,比如 3.3V 或 5V 参考电压要稳定,否则测量不准

ADC 转换过程

举个例子:假设你用 10 位 ADC,参考电压 3.3V。传感器输出 1.65V。

数字值 = (输入电压 / 参考电压) × 2^分辨率
       = (1.65 / 3.3) × 1024
       = 0.5 × 1024
       = 512

所以单片机读到的就是 512。反过来,你要还原电压值:

电压值 = (数字值 / 2^分辨率) × 参考电压
       = (512 / 1024) × 3.3
       = 1.65V
实用技巧:我习惯在代码里把 ADC 值先转成电压,再根据传感器数据手册的公式换算成物理量。这样调试时直接看电压值,心里更有底。

常见 ADC 类型

  • 逐次逼近型(SAR ADC):速度快、精度适中。单片机内置 ADC 基本都是这种。
  • 积分型(双斜率 ADC):精度高、抗干扰强,但速度慢。万用表里常用。
  • Σ-Δ 型:精度极高,适合音频、精密测量。比如 ADS1256。

说实话,对于大多数物联网项目,单片机自带的 12 位 SAR ADC 完全够用。除非你要做高精度称重或者音频采集,才需要外挂专用 ADC 芯片。

小结

传感器这块,记住三点:

  1. 选型看场景:室内温湿度用 DHT22,室外光照用 BH1750,气压用 BMP280。别盲目追求高精度,够用就行。
  2. 信号要匹配:模拟信号注意走线长度和抗干扰,数字信号注意协议时序。
  3. ADC 要校准:参考电压不准,再好的传感器也白搭。我习惯用万用表实测参考电压,然后软件校准。

下一章,咱们就动手写代码,把这些传感器用起来。到时候你会发现,理论懂了,实践起来其实没那么难。