3. 发射端电路设计:红外LED驱动电路、恒流源设计、PWM调光控制、散热设计

发射端电路,说白了就是让红外LED稳定发光的那套东西。很多人觉得这有什么难的?给电就亮呗。但实际做触控产品时你会发现,LED的亮度波动、温度漂移、EMI干扰,哪个都能让你调试到怀疑人生。

我个人习惯把发射端电路拆成四个模块来看:驱动拓扑、恒流控制、调光策略、散热处理。咱们一个一个说。

3.1 红外LED驱动电路拓扑

红外LED的驱动方式,常见的有三种:

拓扑类型 适用场景 优点 缺点
电阻限流式 小尺寸、低功率 成本极低、电路简单 电流随温度变化大、效率低
线性恒流式 中小尺寸、中等功率 纹波小、无开关噪声 效率偏低、发热较大
开关恒流式 大尺寸、高功率 效率高、适合多路驱动 电路复杂、有EMI风险

我在项目中遇到过最坑的事,就是选了电阻限流式,结果夏天和冬天测出来的光功率差了30%。红外LED的VF温度系数大约是-2mV/℃,温度一上来,电流就往上蹿,LED寿命直接打折。

注意: 红外LED的峰值波长会随电流密度变化。电流太大,波长会红移,可能偏离滤光片的通带。我曾经因为这个原因,整批产品灵敏度不一致,最后不得不换驱动方案。

3.2 恒流源设计要点

恒流源是发射端的核心。我常用的方案有两种:

3.2.1 基于运放的精密恒流源

这种方案适合对电流精度要求高的场景。基本结构是:运放+采样电阻+MOS管。

// 典型电路参数计算
// 目标电流:I_LED = 100mA
// 采样电阻:R_sense = 0.5Ω
// 参考电压:V_ref = I_LED × R_sense = 50mV

// 运放选型建议:
// - Vos < 1mV(否则电流误差大)
// - 带宽 > 1MHz(应对PWM调光)
// - 轨到轨输出(低压差工作)

嗯,这里要注意采样电阻的功率。100mA流过0.5Ω,功耗才5mW,但如果你用多个LED串联,电压高了,采样电阻上的压降也得重新算。

3.2.2 基于专用LED驱动IC的方案

量产产品我建议用专用IC。比如TI的TPS61165、ADI的LT3476,这些芯片内部集成了恒流控制、过温保护、软启动。省心。

你想想看,自己搭运放电路,PCB布局稍微差一点,反馈环路就振荡。我有一回调试一个四路发射板,运放输出端和采样电阻的走线长了5mm,结果100kHz的PWM调光时,电流波形上全是振铃。

经验之谈: 采样电阻的Kelvin连接(四线制)能显著提高恒流精度。特别是电流大于200mA时,PCB铜箔的压降已经不能忽略了。

3.3 PWM调光控制策略

红外触控里为什么要调光?两个原因:一是适应不同反射率的物体(手指 vs 白纸),二是降低功耗。

PWM调光的核心参数有三个:

  • 频率: 我一般选1kHz~10kHz。太低会被人眼感知(虽然红外看不见,但电路会发出啸叫),太高则开关损耗增大。
  • 占空比: 从1%到99%可调,对应LED的平均电流。
  • 分辨率: 至少8位(256级),高端产品用10位或12位。

实际调光时,有个坑很多人会踩——PWM的上升沿和下降沿时间。如果MOS管开关速度太快,会产生高频辐射干扰,影响触摸检测的ADC采样。我习惯在栅极串联一个10Ω~100Ω的电阻,把边沿时间控制在50ns~200ns。

// PWM调光与ADC采样的时序配合
// 发射LED亮起后,需要等待光路稳定再采样
// 典型延时:LED开启 → 等待10μs → ADC采样 → LED关闭

void pwm_led_control(uint8_t duty) {
    LED_ON();
    delay_us(10);          // 等待光路稳定
    adc_start_conversion();
    while(!adc_is_complete());
    uint16_t value = adc_get_value();
    LED_OFF();
    // 根据value调整duty,形成闭环控制
}
关键点: PWM调光不能和ADC采样同时进行。否则采样结果里会混入LED开关噪声。我见过有人把采样触发放在PWM的中间时刻,效果不错。

3.4 散热设计

红外LED的发光效率其实不高,大概只有20%~30%的电能转成红外光,剩下的全变成热。散热做不好,LED的寿命和光功率都会急剧下降。

散热设计我遵循三个原则:

  1. 热阻路径要短: LED的散热焊盘直接连到PCB的铜皮,铜皮面积越大越好。我一般保证每颗LED至少有100mm²的铜皮散热。
  2. 避免热集中: 多颗LED不要挤在一起。间距至少5mm,否则热叠加效应会让中心温度飙升。
  3. 必要时加散热器: 当总功率超过1W时,PCB铜皮已经不够了。我会在PCB背面贴铝基板或加小型散热片。

我曾经做过一个项目,12颗LED排成一排,间距只有3mm。连续工作10分钟后,中间几颗LED的温度到了85℃,光功率下降了40%。后来把间距拉到6mm,并在PCB背面加了一块2mm厚的铝板,温度才压到55℃。

散热方案 适用功率 热阻(℃/W) 成本
PCB铜皮散热 < 0.5W 50~80 低
铝基板 0.5W~2W 20~40 中
外加散热片+风扇 > 2W < 10 高
警告: 红外LED的结温绝对不能超过数据手册的绝对最大值(通常是100℃或120℃)。超过后,LED的寿命会从几万小时骤降到几百小时。我见过有人用热成像仪一照,结温110℃还在跑,结果一个月后LED全暗了。

3.5 发射端电路设计知识体系

下面这张图把发射端电路设计的核心逻辑串起来了。从驱动拓扑到恒流控制,再到PWM调光和散热,每一步都相互关联。

发射端电路设计知识体系 发射端电路设计 驱动电路拓扑 恒流源设计 PWM调光控制 散热设计 电阻限流 线性恒流 开关恒流 运放方案 专用IC方案 核心逻辑:驱动拓扑决定基础架构 → 恒流源保证光功率稳定 → PWM调光实现动态控制 → 散热设计确保长期可靠性

这张图把四个模块的关系理清楚了。你设计时,从驱动拓扑入手,然后确定恒流方案,再配上PWM调光,最后别忘了散热。每一步都有坑,但每一步也都有成熟的解法。

最后说一句: 发射端电路设计的好坏,直接决定了触控系统的信噪比。我见过太多项目,光学设计做得很好,结果电路上省了几毛钱,整机性能一塌糊涂。该花的钱,别省。