传感器基础:从物理世界到电信号的桥梁
做模拟信号链设计,传感器是绕不开的第一关。我常说,传感器就是系统的「眼睛」和「耳朵」。你想想看,没有它,ADC再厉害也白搭。
这一章咱们聊聊传感器的分类、选型要点,以及怎么跟ADC做好匹配。嗯,这里面的坑不少,我当年可没少踩。
传感器分类:温度、压力、光、磁
传感器种类多得很,但模拟信号链里最常见的就是这四大类。我按自己的经验给你捋一捋。
温度传感器
温度传感器分接触式和非接触式。接触式里,热电偶和RTD(电阻温度探测器)是主力。
- 热电偶:测温范围宽(-200°C到2000°C),但输出信号小,只有几毫伏。我做过一个高温炉项目,用的就是K型热电偶,冷端补偿没做好,数据飘得厉害。
- RTD:精度高,稳定性好,但贵。铂电阻PT100最常见,0°C时100Ω,每度变化约0.385Ω。
- 热敏电阻:便宜,灵敏度高,但非线性严重。说白了,适合精度要求不高的场合。
压力传感器
压力传感器核心是压阻效应或电容变化。我见过最多的是MEMS压阻式压力传感器。
- 绝压传感器:参考真空,测绝对压力。
- 表压传感器:参考大气压,测相对压力。
- 差压传感器:测两个端口压力差。工业流量测量常用这个。
记得有一次,我选了个表压传感器做海拔高度测量,结果读数一直不对。后来才发现,表压传感器会随天气变化漂移。嗯,这个坑你们别踩。
光传感器
光传感器种类多,光电二极管、光电晶体管、环境光传感器等等。
- 光电二极管:响应快,线性好,但输出电流小(pA到μA级)。需要跨阻放大器(TIA)来转换。
- 环境光传感器:集成度高,直接输出数字信号或模拟电压。手机屏幕亮度调节就用这个。
我做过一个光纤通信项目,用的就是高速光电二极管。那会儿为了降低暗电流噪声,折腾了好几个礼拜。
磁传感器
磁传感器主要分霍尔效应和磁阻效应两类。
- 霍尔传感器:测磁场强度,输出与磁场成比例的电压。便宜,但灵敏度一般。
- 磁阻传感器:灵敏度高,功耗低。AMR、GMR、TMR三种,TMR最灵敏。
电机转子位置检测,我习惯用霍尔传感器。但如果你要做高精度角度测量,磁阻传感器更合适。
传感器选型要点
选传感器,说白了就是找平衡。我总结了几个关键点,你选型时对照着看。
| 选型维度 | 关键问题 | 我的建议 |
|---|---|---|
| 测量范围 | 被测物理量的最大值和最小值是多少? | 留20%余量,别卡着上限用 |
| 精度与分辨率 | 系统需要多高的精度? | 传感器精度要比系统要求高3-5倍 |
| 响应时间 | 信号变化快不快? | 动态测量选响应快的,静态无所谓 |
| 工作环境 | 温度、湿度、振动、电磁干扰如何? | 工业环境优先选工业级,别省钱 |
| 输出接口 | 模拟还是数字?电压、电流还是电阻? | 看后端ADC的输入类型来定 |
我的小技巧:选型时先看数据手册的「绝对最大额定值」,再看「电气特性」。很多工程师只看典型值,结果一上电就烧了。我曾经就吃过这个亏。
传感器输出特性:电压、电流、电阻
传感器的输出信号,无非三种形式:电压、电流、电阻。每种都有它的脾气。
电压输出
最常见。比如热电偶输出几毫伏,霍尔传感器输出几伏。电压输出传感器,直接连ADC就行,但要注意阻抗匹配。
- 高阻抗输出:比如pH电极,输出阻抗高达1GΩ。必须用高输入阻抗的放大器缓冲。
- 低阻抗输出:比如运放输出的传感器,直接连ADC没问题。
电流输出
工业上常用4-20mA电流环。为什么用电流?因为电流信号抗干扰能力强,长距离传输不掉精度。
- 4-20mA:4mA代表零值,20mA代表满量程。还能通过检测是否低于4mA来判断断线。
- 0-20mA:没有断线检测功能,但范围更宽。
我做过一个工厂自动化项目,现场传感器离控制室有200米。用电压输出,信号衰减得没法看。换成4-20mA,问题立马解决。
电阻输出
RTD和热敏电阻就是典型。电阻变化需要转换成电压才能被ADC读取。
- 分压电路:最简单,但精度受参考电压影响。
- 惠斯通电桥:精度高,适合小电阻变化测量。
- 恒流源激励:最稳定,但电路复杂些。
重点提醒:电阻传感器用分压法时,参考电压的噪声会直接耦合到测量结果里。我建议用低噪声LDO给传感器供电,别省那几毛钱。
传感器与ADC的接口匹配
传感器和ADC之间,不是随便连上就能用的。匹配不好,精度全白搭。
阻抗匹配
ADC的输入阻抗是有限的。如果传感器输出阻抗太高,信号会被分压,导致测量误差。
- SAR型ADC:输入阻抗随采样频率变化,需要驱动运放。
- Σ-Δ型ADC:输入阻抗高,但需要建立时间。
我建议:传感器输出阻抗超过10kΩ时,加一级运放缓冲。别偷懒。
电压范围匹配
ADC的输入范围是固定的(比如0-3.3V或0-5V)。传感器输出范围必须落在这个区间内。
- 信号太小:加放大器,把信号放大到ADC满量程的80%左右。
- 信号太大:加分压电阻或衰减器。
- 有负电压:加电平移位电路,或者用双极性ADC。
噪声匹配
传感器噪声和ADC噪声要匹配。说白了,ADC的量化噪声要比传感器噪声小,否则ADC就是瓶颈。
- 低噪声传感器:选高分辨率ADC(16位以上)。
- 高噪声传感器:用低分辨率ADC(12位)就够了,别浪费钱。
注意:我曾经在一个项目中,用了24位ADC配一个噪声很大的压力传感器。结果ADC的LSB(最低有效位)一直在跳,根本读不到稳定值。后来换成16位ADC,反而效果更好。所以,ADC位数不是越高越好,要看传感器噪声。
采样率匹配
传感器响应速度决定了ADC的采样率需求。
- 温度传感器:响应慢,几Hz采样就够了。
- 压力传感器:几十到几百Hz。
- 光传感器:可能到MHz级别。
采样率选高了,数据量大,功耗高。选低了,信号失真。我一般按传感器带宽的5-10倍来选采样率。
一个实际匹配案例
给你看个我常用的电路结构。假设用PT100测温度,输出电阻范围100Ω到138.5Ω(0°C到100°C)。
// PT100 电阻到电压转换(恒流源法)
// 恒流源输出 1mA,流过 PT100
// 0°C时:V = 1mA * 100Ω = 100mV
// 100°C时:V = 1mA * 138.5Ω = 138.5mV
// 电压变化范围:38.5mV
// 放大电路设计
// 目标:将38.5mV放大到3.3V满量程的80% ≈ 2.64V
// 所需增益:2.64V / 38.5mV ≈ 68.6
// 选标准增益:68(用两个电阻实现)
// ADC选型
// 分辨率要求:0.1°C精度
// 38.5mV对应100°C,0.1°C对应38.5μV
// 放大后:38.5μV * 68 ≈ 2.62mV
// 3.3V / 2^12 ≈ 0.8mV(12位ADC的LSB)
// 3.3V / 2^16 ≈ 50μV(16位ADC的LSB)
// 选16位ADC,LSB 50μV,可以分辨0.1°C
这个案例里,我用了恒流源激励,避免了分压法的参考电压噪声问题。放大器增益选了68倍,把信号放大到ADC的合适范围。ADC选了16位,刚好匹配传感器噪声水平。
经验之谈:实际做的时候,别忘了在传感器和ADC之间加一个低通滤波器。截止频率设在传感器带宽的2-3倍就行。能滤掉不少高频噪声,效果立竿见影。
好了,传感器基础就聊到这儿。下一章咱们深入讲讲ADC的选型和驱动电路设计。到时候我会拿几个实际项目案例,把匹配的细节掰开揉碎了讲。