第一章:传感器信号基础
做嵌入式这么多年,我接触过的传感器少说也有上百种。从最简单的温度传感器,到复杂的激光雷达,说到底它们都在做同一件事——把物理世界的信号,变成电信号,再变成数字信号。
这一章,咱们就把传感器信号的基础打牢。你想想看,信号都搞不清楚,后面滤波、去噪、特征提取根本没法做。
1.1 传感器分类:你到底在测什么?
传感器怎么分类?我习惯按被测物理量来分。这样最直观,也最实用。
| 分类方式 | 常见类型 | 典型传感器 |
|---|---|---|
| 按被测物理量 | 温度、压力、力、位移、速度、加速度、流量、气体、光、声、磁 | 热电偶、压阻式压力计、加速度计、霍尔传感器 |
| 按工作原理 | 电阻式、电容式、电感式、压电式、光电式、磁电式 | 应变片、电容麦克风、压电陶瓷、光电二极管 |
| 按输出信号 | 模拟传感器、数字传感器 | 模拟麦克风、数字温度传感器(DS18B20) |
| 按供电方式 | 有源传感器、无源传感器 | 热电偶(无源)、PT100(有源) |
我个人习惯,选传感器时先看被测物理量,再看输出信号类型。举个例子,做电机转速检测,我一般先选霍尔传感器或编码器,然后看输出是模拟电压还是数字脉冲。
1.2 信号类型:模拟 vs 数字
传感器输出的信号,说白了就两种:模拟信号和数字信号。
模拟信号
模拟信号是连续变化的电压或电流。比如热电偶输出几毫伏的电压,温度每升高1℃,电压变化几十微伏。模拟信号的好处是理论上无限分辨率,坏处是容易受干扰。
我记得有一次做工业现场的温度采集,热电偶信号线走了20米,到ADC输入端一看,噪声比信号还大。后来加了屏蔽线和差分传输才搞定。
数字信号
数字信号就是0和1。常见的数字传感器输出I2C、SPI、UART或者PWM。数字信号抗干扰能力强,但分辨率受限于位数。
举个例子,一个12位的数字温度传感器,温度范围-40℃到125℃,分辨率就是(125+40)/4096 ≈ 0.04℃。够用吗?大部分场景够了。但如果你要做精密恒温控制,可能就需要16位甚至24位的ADC。
- 模拟信号:连续、无限分辨率、易受干扰、需要ADC
- 数字信号:离散、有限分辨率、抗干扰强、直接读取
1.3 信号特性参数:精度、分辨率、带宽
这三个参数,我每次选传感器都要看。很多工程师把它们搞混,其实区别很大。
精度
精度是测量值和真实值的接近程度。说白了就是准不准。精度通常用百分比或值表示,比如±0.5℃或±1%FS。
我遇到过最坑的一次:一个压力传感器标称精度±0.5%,结果实际测试偏差达到2%。后来发现是温度漂移太大。所以看精度时,一定要看全温度范围内的精度,而不是25℃下的精度。
分辨率
分辨率是传感器能检测到的最小变化量。比如一个12位ADC,参考电压3.3V,分辨率就是3.3V/4096 ≈ 0.8mV。
注意:分辨率不等于精度。高分辨率不代表高精度。我见过有人用24位ADC做称重,结果精度还不如16位的——因为噪声太大,低几位全是无效位。
带宽
带宽是传感器能响应的频率范围。比如一个加速度计带宽100Hz,意味着它能测量100Hz以内的振动信号。
带宽和采样率要匹配。根据奈奎斯特定理,采样率至少是带宽的2倍。实际工程中,我一般取5-10倍。比如测100Hz的信号,采样率至少500Hz以上。
| 参数 | 定义 | 典型值 | 注意事项 |
|---|---|---|---|
| 精度 | 测量值与真实值的偏差 | ±0.1℃, ±0.5%FS | 注意温度漂移、长期稳定性 |
| 分辨率 | 能检测的最小变化量 | 12位(0.024%), 16位(0.0015%) | 高分辨率≠高精度,注意噪声 |
| 带宽 | 能响应的频率范围 | 10Hz~1kHz(加速度计) | 采样率至少2倍带宽,建议5-10倍 |
1.4 知识体系总览
下面这张图,是我自己总结的传感器信号基础框架。你把它记在心里,后面学滤波、去噪、特征提取时,就知道每一步在干什么了。
这张图把传感器分类、信号类型、特性参数串起来了。你从左边开始,先确定测什么、用什么传感器,再看输出什么信号,最后评估精度、分辨率、带宽是否满足需求。
好了,传感器信号基础就讲到这里。记住三个核心参数:精度、分辨率、带宽。后面每一章都会用到这些概念。