传感器基础:常见传感器类型与工作原理
做TinyML的朋友,传感器就是我们的眼睛和耳朵。我刚开始接触嵌入式AI时,总觉得传感器就是读个数据而已,后来才发现——不懂传感器的脾气,你做的模型再漂亮也是白搭。
今天咱们聊聊四种最常见的传感器:加速度计、陀螺仪、磁力计、气压计。它们各自能测什么?怎么工作的?输出数据长什么样?
加速度计:感知运动的第一道门
加速度计,说白了就是测量物体受到的加速度。包括重力加速度和运动加速度。
工作原理:内部有个微小的质量块,用弹簧悬着。你一动,质量块就跟着晃,电容值就变了。芯片根据电容变化算出加速度。
我做过一个跌倒检测项目,用的就是加速度计。当时踩了个坑——静止时输出不是0,而是1g(约9.8m/s²)。因为地球引力一直在。很多新手会问:为什么平放时Z轴读数是16384?嗯,那是1g对应的ADC值。
| 轴 | 静止水平放置 | 静止竖直放置 |
|---|---|---|
| X | 0g | 0g |
| Y | 0g | 1g |
| Z | 1g | 0g |
陀螺仪:告诉你转了多少
加速度计测直线运动,陀螺仪测旋转。你想想看,手机横竖屏切换靠的就是它。
工作原理:利用科里奥利效应。内部有个振动的质量块,你一转它,质量块就会偏。偏多少,就对应转多快。
我曾经在无人机姿态估计项目里,只用陀螺仪做积分算角度。结果呢?漂移得亲妈都不认识。因为陀螺仪输出的是角速度,要积分才能得到角度。积分嘛,误差会累积。
输出特性:三轴角速度(ωx, ωy, ωz),单位°/s。常见量程±250°/s到±2000°/s。我个人习惯做手势识别时用±500°/s,够用又不浪费分辨率。
磁力计:电子罗盘
磁力计测磁场强度。说白了就是电子指南针。
工作原理:利用霍尔效应或磁阻效应。磁场变化会引起材料电阻变化,测电阻就知道磁场大小和方向了。
这里有个大坑——硬铁干扰和软铁干扰。我做过一个室内定位项目,磁力计装在电路板上,旁边就是扬声器磁铁。结果方向偏差30度。后来做了椭圆拟合校准才搞定。
| 干扰类型 | 来源 | 表现 | 校准方法 |
|---|---|---|---|
| 硬铁干扰 | 永磁体、电流 | 数据整体偏移 | 减去偏移量 |
| 软铁干扰 | 铁磁材料 | 数据椭圆变形 | 椭圆拟合校正 |
气压计:高度感知利器
气压计测大气压力。你可能觉得它用处不大,但在室内楼层检测、无人机高度控制里,它是关键角色。
工作原理:内部有个薄膜,气压变化薄膜就变形,电容值跟着变。芯片根据电容算出气压。
我记得有个项目,用气压计做楼层识别。一开始直接读气压算高度,结果误差3米多。后来发现——气压受天气影响很大。同一个位置,晴天和雨天能差20米的高度值。所以必须做相对高度,不能做绝对高度。
输出特性:气压值(hPa或Pa),典型范围300~1100hPa。分辨率可以做到0.01hPa,对应约10厘米的高度变化。采样率一般10Hz~200Hz。
四种传感器对比总结
| 传感器 | 测量物理量 | 典型输出 | 常见量程 | 主要痛点 |
|---|---|---|---|---|
| 加速度计 | 加速度 | X, Y, Z (g) | ±2g ~ ±16g | 重力分量干扰 |
| 陀螺仪 | 角速度 | ωx, ωy, ωz (°/s) | ±250 ~ ±2000°/s | 零偏漂移 |
| 磁力计 | 磁场强度 | X, Y, Z (μT) | ±50 ~ ±120μT | 环境磁干扰 |
| 气压计 | 大气压力 | 气压 (hPa) | 300 ~ 1100hPa | 天气影响大 |
做传感器数据融合时,你得清楚每个传感器的脾气。加速度计高频响应好但低频有重力干扰,陀螺仪动态响应好但会漂移,磁力计稳定但怕干扰,气压计能测高度但受天气影响。
下一章咱们聊聊怎么把这些数据融合起来,取长补短。你想想看,如果把加速度计和陀螺仪的数据融合,是不是就能得到既稳定又灵敏的姿态估计?嗯,这就是卡尔曼滤波要做的事。