3. 传感器基础:传感器分类、工作原理与选型要点
做物联网项目,传感器就是我们的「眼睛」和「耳朵」。
没有传感器,数据采集就是一句空话。我刚开始做嵌入式那会儿,就吃过传感器的亏——选型不对,整个项目推倒重来。今天咱们就把传感器这块彻底聊透。
3.1 传感器分类:四大金刚
物联网能耗采集,说白了就盯紧四个物理量:温度、湿度、电流、电压。我习惯把它们叫做「四大金刚」。
| 传感器类型 | 常见型号 | 输出信号 | 典型应用 |
|---|---|---|---|
| 温度传感器 | DS18B20、SHT30、PT100 | 数字/模拟 | 环境测温、设备过热保护 |
| 湿度传感器 | DHT22、SHT30、AM2301 | 数字 | 机房湿度监控、仓储环境 |
| 电流传感器 | ACS712、SCT013、霍尔电流 | 模拟/数字 | 设备功耗监测、漏电检测 |
| 电压传感器 | 电阻分压模块、ZMPT101B | 模拟 | 电池电压监测、电网电压采集 |
你想想看,这四个参数基本覆盖了90%的能耗场景。温度高了?散热有问题。电流大了?设备过载。电压低了?电池快没电了。
3.2 传感器工作原理:别被「黑盒」骗了
很多新手拿到传感器就当黑盒用,插上就读数据。我个人习惯是——先看原理,再动手。不然出了问题你都不知道从哪查起。
3.2.1 温度传感器
最常见的是热敏电阻和数字温度芯片。热敏电阻说白了就是「温度一变,电阻就变」。数字芯片内部集成了ADC,直接给你吐出温度值。
我在项目中遇到过用DS18B20做冷链监测。这玩意儿用单总线通信,一根线就能传数据,省IO口。但有个坑——它需要严格的时序,延时不对就读不到数据。
// DS18B20 读取温度示例(简化版)
uint8_t ds18b20_reset() {
// 拉低总线480us,然后释放
// 等待从机应答脉冲
// 嗯,时序必须精确到微秒级
}
3.2.2 湿度传感器
湿度传感器内部通常有个电容式感湿元件。湿度一变,介电常数就变,电容值也跟着变。芯片内部再把这个电容变化转成数字信号。
说白了,就是「测电容」的变种。DHT22这类传感器,单总线通信,一次能读出温度和湿度两个值,性价比很高。
3.2.3 电流传感器
电流测量分两种:直通式和霍尔式。
- 直通式:电流流过采样电阻,测电阻两端压降。简单粗暴,但会发热。
- 霍尔式:利用霍尔效应,非接触测量。不发热,但精度略低。
我建议做交流电流采集时用SCT013这种开口式互感器。不用断电就能安装,现场调试特别方便。有一次在工厂改造项目里,工人不让断电,全靠它才搞定。
3.2.4 电压传感器
电压测量更简单——电阻分压。把高电压降到ADC能承受的范围(通常是0-3.3V或0-5V)。
但要注意:分压电阻的精度直接影响测量结果。我习惯用1%精度的电阻,别省那几分钱。省了电阻钱,后面调试能让你崩溃。
// 电压采集示例(假设ADC参考电压3.3V,12位分辨率)
uint16_t adc_value = read_adc(ADC_CHANNEL_0);
float voltage = (adc_value / 4095.0) * 3.3;
// 如果分压比是10:1,实际电压 = voltage * 10
3.3 选型要点:别踩这些坑
选传感器,我总结了五个字:准、稳、省、小、贵。别笑,排序有讲究。
3.3.1 精度够用就行
别盲目追求高精度。做环境监测,±0.5°C的精度完全够用。你非要买±0.1°C的传感器,成本翻十倍,没必要。
我有个项目做机房温控,用了SHT30,精度±0.3°C,价格才十几块。甲方验收时拿水银温度计对比,误差在范围内,一次过。
3.3.2 稳定性比精度更重要
传感器漂移是常见问题。今天测25°C,明天同一环境测出26°C,这就麻烦了。
选型时看数据手册里的「长期稳定性」参数。一般标「每年漂移<0.1°C」的,基本靠谱。
3.3.3 功耗要算清楚
电池供电的项目,传感器功耗是命门。有些传感器工作电流几十毫安,待机也得几毫安。你算算,2000mAh的电池能撑多久?
我建议选带「休眠模式」的传感器。平时睡觉,采集时叫醒。比如SHT30的休眠电流才0.2μA,这才是做低功耗该用的料。
3.3.4 接口要匹配
传感器输出接口有I2C、SPI、单总线、模拟电压。选型时先看你主控芯片有什么接口。
- I2C:两根线,可挂多个传感器。适合板内通信。
- SPI:速度快,但线多。适合高速采集。
- 单总线:一根线搞定,但时序要求高。
- 模拟输出:需要ADC,抗干扰能力弱。
3.3.5 环境适应性
传感器工作温度范围、防护等级都要看。工业现场温度高、湿度大、有粉尘,普通传感器扛不住。
我曾经在注塑车间装传感器,普通型号三天就坏。后来换了工业级(-40°C~125°C),再也没出过问题。环境恶劣的地方,别省那点钱。
3.4 实战选型清单
最后给个我常用的选型清单,直接抄作业就行:
| 应用场景 | 推荐传感器 | 理由 |
|---|---|---|
| 室内环境监测 | SHT30 | 精度高、功耗低、I2C接口 |
| 工业设备测温 | DS18B20 | 单总线、可级联、成本低 |
| 交流电流采集 | SCT013-30A | 开口式、非接触、安装方便 |
| 电池电压监测 | 电阻分压+ADS1115 | 高精度ADC、可调量程 |
嗯,传感器这块就聊到这儿。记住一句话:选对传感器,项目就成功了一半。下一章咱们开始讲数据采集电路设计,到时候会用到今天讲的知识点。