第四章 血氧探头与传感器:光电二极管与LED选型、探头结构设计、传感器接口电路
好,我们进入第四章。这一章讲的是血氧仪最核心的物理层——探头和传感器。说白了,就是那个夹在手指上的东西,以及它背后的电路。
很多刚入行的朋友觉得探头就是个壳子加几个灯,没什么技术含量。嗯,我当年也这么想过,直到有一次项目量产,发现探头一致性差到离谱,同一批产品测同一个人,读数能差3个点。从那以后,我再也不敢小看探头设计。
4.1 光电二极管与LED选型
血氧探头里有两个关键器件:发光端和接收端。发光端是LED,接收端是光电二极管。选型不对,后面电路调得再好也白搭。
4.1.1 LED选型:波长是命根子
血氧仪需要两个波长的光:红光(660nm附近)和红外光(940nm附近)。为什么是这两个波长?因为氧合血红蛋白和脱氧血红蛋白在这两个点的吸收系数差异最大。你想想看,如果选错了波长,差异变小,信噪比就崩了。
我个人习惯选660nm±5nm的红光和940nm±10nm的红外光。注意,波长偏差不能太大。我在项目中遇到过一批便宜的红光LED,标称660nm,实测到了675nm,结果血氧值偏低2%左右。后来换了正规供应商,问题才解决。
| 参数 | 红光LED | 红外LED |
|---|---|---|
| 中心波长 | 660nm ± 5nm | 940nm ± 10nm |
| 半波宽 | ≤20nm | ≤30nm |
| 光功率 | 2-5mW(典型) | 3-8mW(典型) |
| 驱动电流 | 10-50mA | 10-50mA |
4.1.2 光电二极管选型:灵敏度与暗电流
光电二极管把光信号转成电流信号。血氧仪里最常用的是PIN光电二极管,响应速度快,灵敏度高。
选型时我主要看三个参数:
- 响应度:在660nm和940nm处都要高,最好在0.4A/W以上
- 暗电流:越小越好,一般要求小于10nA。暗电流大了,直流偏置会吃掉动态范围
- 结电容:影响响应速度,一般小于50pF
我常用的型号是Vishay的BPW34系列,响应度不错,暗电流也低。当然,国产的也有好货,但一定要实测验证。
4.2 探头结构设计
探头结构决定了光路质量。结构不好,光信号就乱七八糟,算法再强也救不回来。
4.2.1 透射式 vs 反射式
血氧探头分两种:透射式和反射式。
- 透射式:LED和光电二极管在手指两侧,光穿过手指被接收。这是最经典的结构,信噪比高,适合指尖夹持式。
- 反射式:LED和光电二极管在同一侧,光射入组织后反射回来被接收。适合额头、手腕等部位,但信号弱,噪声大。
我个人更推荐透射式,尤其是做指夹式血氧仪。信号强,设计简单。反射式我做过一次,为了抑制噪声,前级放大电路调了整整两周。
4.2.2 光路隔离:别让光"抄近路"
这是探头设计里最容易翻车的地方。LED发出的光,如果不做隔离,会直接从探头外壳内部"抄近路"传到光电二极管。这叫光短路,后果是信号里混入大量直射光,血氧值完全不准。
怎么解决?
- 在LED和光电二极管之间加遮光挡板,材料用黑色硅胶或黑色塑料
- 探头内壁做磨砂处理,减少反射
- LED和光电二极管的安装孔要深一些,让光只能从手指方向射出
避坑指南:我曾经有一版探头,结构设计时没注意光路隔离,结果样机测试时血氧值一直在98%-100%之间跳,怎么调都没用。后来拆开一看,LED的光直接透过外壳塑料照到了光电二极管上。加了遮光片之后,问题立刻解决。
4.2.3 手指定位与舒适度
探头要保证手指每次放的位置基本一致。如果手指偏了,光路长度变化,信号幅度就会变,影响测量重复性。
设计时注意:
- 手指槽的深度和宽度要适配大多数成人手指(约12-20mm宽)
- 弹簧夹的力度要适中,太紧影响血液循环,太松手指会滑动
- LED和光电二极管的中心要对齐,偏差不超过1mm
4.3 传感器接口电路
光电二极管输出的是微弱电流信号,通常只有几微安到几十微安。我们需要把它转成电压信号,再放大到ADC能采样的范围。
4.3.1 跨阻放大器(TIA)
最经典的方案是用跨阻放大器(TIA)。光电二极管的电流流入运放的反相输入端,反馈电阻Rf把电流转成电压:Vout = Ipd × Rf。
选运放时要注意:
- 偏置电流:要远小于光电二极管的信号电流,最好在pA级别
- 带宽:血氧信号的频率很低(0.5-5Hz),但为了抑制噪声,带宽可以设到100Hz左右
- 噪声:电压噪声密度要低,最好小于10nV/√Hz
我常用的运放是TI的OPA2376或ADI的AD8605,偏置电流都在pA级,噪声也低。
// 跨阻放大器电路参数示例
// 反馈电阻 Rf = 1MΩ
// 反馈电容 Cf = 10pF(用于相位补偿,防止振荡)
// 带宽 ≈ 1 / (2π × Rf × Cf) ≈ 16kHz
// 实际应用中,带宽可以进一步限制到100Hz左右
4.3.2 环境光抑制
环境光(尤其是日光灯和太阳光)会引入很大的直流分量,把运放的动态范围吃掉。怎么处理?
- 交流耦合:在TIA后面加高通滤波器,滤掉直流分量。截止频率设在0.5Hz左右
- 差分检测:LED交替点亮和熄灭,用差分方式提取信号。点亮时采到的信号包含环境光+血氧信号,熄灭时只有环境光,两者相减就得到纯净的血氧信号
- 屏蔽:探头外壳做电磁屏蔽,减少外部干扰
我个人习惯用差分检测+交流耦合的组合。差分检测能有效抑制环境光,交流耦合则进一步滤掉低频漂移。
4.3.3 多路复用与同步检测
红光和红外光需要分时点亮,不能同时亮。因为同时亮的话,光电二极管分不清哪个是哪个。
典型的时序是这样的:
- 点亮红光LED,采样红光信号
- 关闭红光LED
- 点亮红外光LED,采样红外光信号
- 关闭红外光LED
- 所有LED关闭,采样环境光(用于背景扣除)
每个周期大约几毫秒,循环进行。ADC的采样要和LED的开关同步,这通常由MCU的定时器控制。
关键点:LED的开关时序和ADC采样必须严格同步。我见过有人用软件延时来做同步,结果时序抖动导致信号噪声很大。正确的做法是用硬件定时器触发ADC采样,保证每次采样的相位一致。
4.3.4 完整的传感器接口电路框图
一个典型的血氧传感器接口电路包括:
- LED驱动电路(恒流源,保证光强稳定)
- 光电二极管 + 跨阻放大器
- 高通滤波器(0.5Hz截止)
- 二级放大(增益可调,适配不同手指透光率)
- 低通滤波器(100Hz截止,抗混叠)
- ADC采样(12位以上,采样率100Hz以上)
嗯,这一章的内容就到这里。探头和传感器是血氧仪的"眼睛",眼睛不好,后面算法再强也白搭。下一章我们讲模拟前端与信号调理,把光电二极管出来的微弱信号调理成ADC能吃的"好料"。