传感器基础:常见传感器类型与工作原理
做物联网项目,传感器就是我们的「眼睛」和「耳朵」。没有传感器,数据采集就是空谈。今天我就带你把这些基础打牢。
常见传感器类型
先说说最常用的几种传感器。我这些年做过的项目里,90% 都离不开它们。
温度传感器
温度传感器,说白了就是测量冷热程度的器件。常见的类型有:
- 热电偶:测量范围广(-200°C 到 2000°C),适合工业高温环境。我曾在锅炉监控项目里用过,精度够用但需要冷端补偿。
- 热敏电阻:便宜、响应快,但线性度差。家用空调里基本都是它。
- 数字温度传感器:比如 DS18B20,直接输出数字信号,用起来省心。我个人特别喜欢它的一线总线协议,一根线就能挂多个传感器。
湿度传感器
湿度测量其实比温度复杂。空气里的水蒸气含量,受温度影响很大。
- 电容式湿度传感器:利用高分子材料吸湿后介电常数变化。DHT11、DHT22 就是典型代表。
- 电阻式湿度传感器:通过湿度变化引起电阻值改变。精度一般,但成本低。
光照传感器
光照强度测量,常见的有:
- 光敏电阻:最原始的方式,阻值随光照变化。便宜但线性度差,适合做开关量检测。
- 光电二极管/三极管:响应速度快,适合做光通信。
- 数字光照传感器:比如 BH1750,直接输出 lux 值,I2C 接口。我最近做智能窗帘项目就用的它,省去了校准的麻烦。
气压传感器
气压传感器主要用来测大气压力,也能辅助测海拔。
- MEMS 气压传感器:比如 BMP280、BME280。体积小、功耗低,手机里用的就是这种。
- 压阻式气压传感器:利用硅膜片受压后电阻变化。精度高,但成本也高。
嗯,这里要注意:气压传感器对温度敏感,很多型号内部都集成了温度补偿。BME280 甚至还能测湿度,一个顶三个。
传感器工作原理
传感器的工作原理,说白了就是「把物理量变成电信号」。怎么变的?
电阻式原理
物理量变化 → 电阻值变化 → 测量电阻。比如热敏电阻、光敏电阻、应变片。
电容式原理
物理量变化 → 电容值变化 → 测量电容。比如电容式湿度传感器、电容式触摸按键。
压电式原理
物理量变化 → 产生电荷 → 测量电压。比如压电陶瓷、加速度计。
半导体原理
物理量变化 → 半导体特性变化 → 测量电流/电压。比如霍尔传感器、光电传感器。
核心要点:不管什么原理,最终都是把非电信号转换成电信号。这个电信号要么是模拟的(连续变化),要么是数字的(离散值)。
模拟信号与数字信号
这个问题,我当年刚入行时也搞混过。咱们用大白话说清楚。
模拟信号
模拟信号是连续变化的。比如温度从 25°C 升到 26°C,电压就从 0.5V 慢慢升到 0.52V。中间有无数个值。
- 优点:信息完整,理论上无限精度
- 缺点:容易受干扰,传输距离有限
数字信号
数字信号只有两个状态:高电平(1)和低电平(0)。比如 DS18B20 输出的就是数字信号。
- 优点:抗干扰能力强,适合长距离传输
- 缺点:精度受限于位数,信息有量化损失
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 类型
- 逐次逼近型(SAR ADC):速度快、精度适中。单片机内置 ADC 基本都是这种。
- 积分型(双斜率 ADC):精度高、抗干扰强,但速度慢。万用表里常用。
- Σ-Δ 型:精度极高,适合音频、精密测量。比如 ADS1256。
说实话,对于大多数物联网项目,单片机自带的 12 位 SAR ADC 完全够用。除非你要做高精度称重或者音频采集,才需要外挂专用 ADC 芯片。
小结
传感器这块,记住三点:
- 选型看场景:室内温湿度用 DHT22,室外光照用 BH1750,气压用 BMP280。别盲目追求高精度,够用就行。
- 信号要匹配:模拟信号注意走线长度和抗干扰,数字信号注意协议时序。
- ADC 要校准:参考电压不准,再好的传感器也白搭。我习惯用万用表实测参考电压,然后软件校准。
下一章,咱们就动手写代码,把这些传感器用起来。到时候你会发现,理论懂了,实践起来其实没那么难。