第一章:传感器基础认知
做嵌入式这些年,我经手过的传感器少说也有上百种。从最简单的温度传感器到复杂的激光雷达,每种传感器都有自己的脾气。今天咱们就来聊聊传感器的基础认知——这部分搞明白了,后面的参数调优才能得心应手。
1.1 传感器的分类
传感器的分类方式很多,我个人习惯按被测物理量来分。这样在实际选型时最直观。
| 分类方式 | 类型 | 常见例子 |
|---|---|---|
| 按被测物理量 | 温度、压力、位移、速度、加速度、流量、气体等 | DS18B20、MPU6050、BMP280 |
| 按工作原理 | 电阻式、电容式、电感式、压电式、光电式、霍尔式 | 光敏电阻、电容式触摸、霍尔开关 |
| 按输出信号 | 模拟输出、数字输出、频率输出 | LM35、I2C传感器、超声波模块 |
| 按供电方式 | 有源、无源 | 热电偶(无源)、PT100(有源) |
你想想看,选传感器时如果连分类都搞不清楚,很容易买错东西。我记得刚入行那会儿,有个项目需要测液位,我直接买了个超声波传感器,结果现场有泡沫,数据完全没法用。后来换成压力式液位计,问题才解决。
1.2 传感器的工作原理
传感器的工作原理说白了就是「把物理量变成电信号」。不同的物理量对应不同的转换方式。
核心思想:传感器 = 敏感元件 + 转换电路
敏感元件感知外界变化,转换电路把变化变成电压、电流或频率信号。
举个例子,热电偶温度传感器。两种不同金属接触时会产生热电势,温度越高电势越大。这就是塞贝克效应。我曾在高温炉项目中用过K型热电偶,1000℃环境下连续工作,数据一直很稳定。
再比如压阻式压力传感器。硅片受到压力时电阻会变化,通过惠斯通电桥把电阻变化转成电压输出。嗯,这里要注意:电桥的激励电压必须稳定,否则测量误差会很大。
1.3 关键性能指标
这部分是重点。我面试嵌入式工程师时,必问这几个指标。搞不懂它们,参数调优就是瞎调。
1.3.1 精度
精度是传感器测量值与真实值的接近程度。说白了就是「准不准」。
精度通常用百分比或绝对值表示。比如±0.5℃的精度,意思是测量值和真实值最多差0.5℃。
我的经验:精度不是越高越好。高精度传感器往往贵很多,而且对电路要求也高。我曾经在一个消费级产品里用了工业级精度的传感器,结果成本翻了三倍,客户根本不买账。选精度够用就行,别盲目追求指标。
1.3.2 分辨率
分辨率是传感器能检测到的最小变化量。说白了就是「多小的变化能看出来」。
举个例子,一个12位ADC的温度传感器,量程0~100℃,分辨率就是100/4096 ≈ 0.024℃。但注意,分辨率高不代表精度高。我见过不少新手把分辨率当精度用,结果数据跳得厉害,根本没法用。
避坑指南:我曾经在一个精密称重项目中,选了24位ADC的称重传感器,以为分辨率够高就能测准。结果噪声太大,最后一位数据一直在跳。后来加了硬件滤波和软件平均,才把有效分辨率稳定在18位左右。
1.3.3 灵敏度
灵敏度是输出变化量与输入变化量的比值。说白了就是「输入变一点,输出变多少」。
比如一个压力传感器,灵敏度是10mV/kPa。压力每增加1kPa,输出电压增加10mV。
灵敏度太高容易饱和,太低又测不到小信号。我建议选型时留出20%~30%的余量。
1.3.4 线性度
线性度是传感器的实际输出曲线与理想直线的偏离程度。说白了就是「输出是不是一条直线」。
理想情况下,输入和输出是线性关系。但实际传感器总会有非线性误差。线性度通常用满量程的百分比表示,比如±0.5%FS。
你想想看,如果传感器非线性严重,你测出来的数据就得做校准补偿。我在做气体传感器项目时,MQ系列传感器的线性度很差,必须用多项式拟合才能得到准确浓度值。
1.4 知识体系框架
下面这张图是我自己整理的传感器基础认知框架,帮你理清思路。
1.5 选型实战建议
说了这么多理论,最后给几条实战建议。
- 先明确需求:测什么?量程多少?环境温度?精度要求?这些先写清楚。
- 看数据手册:别只看标题,要仔细看「电气特性」和「绝对最大额定值」部分。我见过有人把3.3V传感器接到5V上,直接烧了。
- 留余量:量程留20%余量,温度范围留30%余量。这是血的教训换来的。
- 考虑接口:I2C、SPI、UART、模拟输出,选你MCU支持的。别买回来发现没有对应外设。
- 先买样品测试:批量采购前,一定先买几个样品回来跑一跑。数据手册写的再好,不如实际测一测。
最后说一句:传感器选型没有万能公式,每个项目都有自己的坑。多积累经验,多动手测试,慢慢就有感觉了。