第一章:传感器基础认知

做嵌入式这些年,我经手过的传感器少说也有上百种。从最简单的温度传感器到复杂的激光雷达,每种传感器都有自己的脾气。今天咱们就来聊聊传感器的基础认知——这部分搞明白了,后面的参数调优才能得心应手。

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 选型实战建议

说了这么多理论,最后给几条实战建议。

  1. 先明确需求:测什么?量程多少?环境温度?精度要求?这些先写清楚。
  2. 看数据手册:别只看标题,要仔细看「电气特性」和「绝对最大额定值」部分。我见过有人把3.3V传感器接到5V上,直接烧了。
  3. 留余量:量程留20%余量,温度范围留30%余量。这是血的教训换来的。
  4. 考虑接口:I2C、SPI、UART、模拟输出,选你MCU支持的。别买回来发现没有对应外设。
  5. 先买样品测试:批量采购前,一定先买几个样品回来跑一跑。数据手册写的再好,不如实际测一测。

最后说一句:传感器选型没有万能公式,每个项目都有自己的坑。多积累经验,多动手测试,慢慢就有感觉了。

可可精品资料库