一、传感器概述:从“感知”到“信号”的第一步
各位同学,大家好。我是你们这门课的老朋友,一个在嵌入式圈子里摸爬滚打了十几年的工程师。今天咱们开始聊传感器,这是整个信号处理链条的起点。说白了,传感器就是系统的“五官”——没有它,你的单片机就是个又聋又瞎的呆子。
我记得刚入行那会儿,带我的老师傅说过一句话:“选对传感器,项目就成功了一半。”当时我不信,后来踩了无数坑才明白,这话一点不夸张。
1.1 什么是传感器?
传感器,英文叫Sensor或Transducer。它的核心任务就一个:把物理世界的非电量,转换成电信号。
你想想看,温度、压力、光照、加速度……这些物理量,单片机不认识。它只认识电压、电流、频率。传感器就是那个“翻译官”。
定义:传感器是一种检测装置,能感受被测量(物理量、化学量、生物量),并按一定规律将其转换成可用输出信号(通常是电信号)。
举个例子,你用手摸一杯热水,感觉烫——这是你的生物传感器(皮肤)在工作。换成电子系统,就得用热敏电阻或热电偶。嗯,道理是一样的。
我在做智能家居项目时,用过一种MEMS麦克风。它能把声波(机械振动)转换成电容变化,再变成电压信号。你看,这就是典型的传感器工作流程:感知 → 转换 → 输出。
1.2 传感器的分类
传感器的种类多到让人头疼。我个人习惯按以下几种方式分类,这样好记:
按被测物理量分
- 热工量:温度、热量、热流。比如热电偶、热敏电阻。
- 机械量:位移、力、速度、加速度。比如应变片、压电传感器。
- 光学量:光强、颜色、图像。比如光电二极管、CCD/CMOS图像传感器。
- 磁学量:磁场强度、磁通。比如霍尔传感器、磁阻传感器。
- 化学量:气体浓度、pH值、湿度。比如电化学气体传感器。
按工作原理分
- 物理型:利用物理效应,比如压电效应、光电效应。
- 化学型:利用化学反应,比如气敏传感器。
- 生物型:利用生物识别,比如酶传感器(这个咱们嵌入式用得少)。
按输出信号类型分
这个分类对咱们做嵌入式的最实用:
| 类型 | 输出信号 | 典型例子 | 接口方式 |
|---|---|---|---|
| 模拟传感器 | 电压/电流(连续变化) | 电位器、模拟麦克风 | ADC采样 |
| 数字传感器 | 数字码(0/1序列) | DS18B20温度传感器 | I2C/SPI/1-Wire |
| 开关型传感器 | 高低电平(0或1) | 限位开关、霍尔开关 | GPIO读取 |
个人经验:选型时,我建议优先考虑数字传感器。为什么?抗干扰能力强,而且省去了一路ADC。但模拟传感器也有它的优势——响应速度快,没有量化延迟。看场景选吧。
1.3 传感器的静态特性
静态特性,指的是传感器在输入信号不随时间变化(或变化极慢)时的表现。说白了,就是“你给它一个固定的值,它给你一个固定的输出”。
这里有几个关键指标,我一个个说:
1. 灵敏度(Sensitivity)
灵敏度 = 输出变化量 / 输入变化量。用公式表示:
S = Δy / Δx
比如一个压力传感器,输入每增加1kPa,输出增加5mV。那灵敏度就是5mV/kPa。
注意:灵敏度不是越高越好。太高了,噪声也会被放大。我曾经在一个称重项目里选了超高灵敏度的传感器,结果人打个喷嚏,读数都跳。后来换了灵敏度适中的,配合滤波,稳得很。
2. 线性度(Linearity)
理想情况下,输入输出是一条直线。但现实总有偏差。线性度就是衡量这条线“直不直”的指标。
通常用“最大偏差”与“满量程输出”的百分比表示:
线性度 = (ΔL_max / Y_fs) × 100%
其中ΔL_max是实际曲线与拟合直线之间的最大偏差。
避坑指南:我曾经用过一个号称“高线性度”的温湿度传感器,结果在30°C到40°C区间,误差突然变大。后来查手册才发现,它的线性度指标是在特定温度范围内测的。所以,看线性度一定要看全量程,别只看广告。
3. 迟滞(Hysteresis)
同一个输入值,从上升方向达到和从下降方向达到,输出不一样。这就是迟滞。
比如一个压力传感器,从0kPa升到100kPa,再降回0kPa。在50kPa这个点,上升时输出是2.5V,下降时输出是2.45V。这0.05V的差就是迟滞误差。
4. 重复性(Repeatability)
同一个输入,多次测量,结果的一致性。这个指标很实在——你重复测10次,看输出值有多分散。
5. 分辨力(Resolution)
传感器能检测到的最小输入变化量。比如一个温度传感器分辨力是0.1°C,那温度变化小于0.1°C时,它“感觉”不到。
6. 阈值(Threshold)
传感器能产生可测输出的最小输入值。注意,分辨力和阈值不一样。阈值是“从无到有”的门槛,分辨力是“从有到更精确”的步长。
1.4 传感器的动态特性
动态特性,研究的是传感器对快速变化输入信号的响应能力。说白了,就是“你给它一个突然的变化,它能不能跟得上”。
为什么重要?你想想看,如果你用加速度传感器测碰撞,信号变化在毫秒级。传感器反应慢了,峰值就测丢了。那整个安全气囊系统就废了。
1. 阶跃响应
给传感器一个“从0瞬间跳到1”的输入,看它的输出怎么变化。典型的指标有:
- 上升时间:输出从10%上升到90%所需的时间。
- 稳定时间:输出进入并保持在最终值±5%范围内所需的时间。
- 超调量:输出峰值超过最终值的百分比。
2. 频率响应
输入是正弦波,改变频率,看输出幅值和相位的变化。这涉及到带宽的概念。
比如一个麦克风,频率响应是20Hz~20kHz。低于20Hz的次声波它录不到,高于20kHz的超声波它也录不到。
核心概念:传感器的带宽必须大于被测信号的带宽。否则,信号的高频成分会被衰减,导致失真。这就是“采样定理”在传感器端的体现。
3. 一阶系统与二阶系统
大多数传感器可以简化为一阶或二阶系统:
- 一阶系统:比如RC电路、热敏电阻。特点是响应慢,没有振荡。
- 二阶系统:比如加速度计、压力传感器。可能有超调和振荡。
一阶系统的传递函数:
G(s) = 1 / (τs + 1)
其中τ是时间常数。τ越小,响应越快。
二阶系统的传递函数:
G(s) = ω_n² / (s² + 2ζω_n s + ω_n²)
其中ω_n是固有频率,ζ是阻尼比。ζ<1时系统会振荡,ζ=1时临界阻尼,ζ>1时过阻尼。
我的经验:选动态传感器时,我习惯留出3~5倍的带宽余量。比如被测信号最高频率是100Hz,那传感器的带宽至少选300Hz~500Hz。这样能保证相位延迟和幅值衰减都在可接受范围内。
知识体系总览
下面这张图,是我自己画的,把这一章的核心逻辑串起来了:
小结
这一章,我们聊了传感器的三个核心问题:
- 它是什么?——把物理量变成电信号的器件。
- 怎么分类?——按被测物理量、工作原理、输出信号类型。
- 性能怎么看?——静态特性看精度和稳定性,动态特性看响应速度。
嗯,内容不少。但这些都是基本功。后面我们讲具体传感器和信号处理时,会反复用到这些概念。你先把这些基础打牢,后面学起来就顺了。