第2章:OIS系统架构——闭环控制系统的组成与信号流

做OIS这么多年,我经常被问到同一个问题:
「光学防抖到底是怎么工作的?」
其实答案就藏在一个闭环系统里。今天咱们就把它拆开看看。

2.1 闭环控制系统的四大核心组件

一个典型的OIS系统,说白了就是四个关键器件在跳舞:
陀螺仪、霍尔传感器、驱动IC、音圈马达

我习惯把它们分成两组:
一组负责「感知」——陀螺仪和霍尔传感器。
一组负责「执行」——驱动IC和音圈马达。

嗯,这里要注意:
感知和执行之间,还有一个看不见的「大脑」——控制算法。它跑在驱动IC内部或者主控芯片里。

2.1.1 陀螺仪——感知角速度

陀螺仪的任务很简单:
检测手机/相机的抖动,输出角速度信号。

我在项目中遇到过一个问题:
某款陀螺仪的采样率只有1kHz,但手抖的频率最高能到20Hz左右。理论上够用,但实际测试时发现,低采样率会导致相位延迟,最终防抖效果打折扣。

关键参数:

  • 量程:一般±2000°/s
  • 灵敏度:0.01°/s/LSB左右
  • 噪声密度:0.005°/s/√Hz以下
我的经验:
选陀螺仪时,别只看数据手册上的「理想值」。实际焊接后的温漂、振动环境下的噪声,才是真正的坑。我曾经因为没做温漂补偿,导致-20℃下防抖失效——嗯,那是个难忘的冬天。

2.1.2 霍尔传感器——检测镜头位置

陀螺仪告诉我们「手抖了多少」,但镜头到底移动了多少?
这就需要霍尔传感器了。

霍尔传感器的工作原理很简单:
它检测磁铁产生的磁场强度变化,从而推算出镜头位移。

常见类型:

  • 线性霍尔:输出模拟电压,与位移成正比
  • 数字霍尔:输出PWM或I2C信号

我个人习惯用线性霍尔,因为模拟信号延迟小,适合高速闭环。

避坑指南:
我曾经遇到过霍尔传感器被外部磁场干扰的情况——手机扬声器里的磁铁,离镜头模组太近,导致位置检测偏差。后来我们加了磁屏蔽罩才解决。

2.1.3 驱动IC——闭环控制的核心

驱动IC是OIS系统的「大脑」。
它接收陀螺仪和霍尔传感器的信号,运行控制算法,然后输出电流驱动音圈马达。

驱动IC内部通常包含:

  • ADC:将模拟信号转为数字
  • PID控制器:核心算法
  • PWM发生器:输出驱动波形
  • 通信接口:I2C/SPI

你想想看,如果驱动IC的ADC分辨率不够,位置检测精度就会下降。我一般要求ADC至少12位,最好14位以上。

2.1.4 音圈马达——执行机构

音圈马达(VCM)是OIS系统的「手」。
它根据驱动IC输出的电流,产生电磁力,推动镜头移动。

VCM的关键指标:

参数 典型值 说明
行程 ±0.3~±0.5mm 镜头可移动范围
推力常数 10~50 mN/A 电流与力的转换效率
谐振频率 50~200 Hz 机械系统的固有频率
响应时间 < 5ms 从指令到稳定位移
核心要点:
音圈马达的谐振频率必须远离手抖频段(1~20Hz),否则系统容易振荡。我一般要求VCM的谐振频率在80Hz以上。

2.2 信号流与反馈机制

现在我们把四个组件串起来,看看信号是怎么流动的。

2.2.1 前向通路

手抖 → 陀螺仪检测 → 驱动IC计算补偿量 → 驱动IC输出电流 → 音圈马达推动镜头 → 镜头位移补偿抖动

这是「开环」的思路。
但开环有个致命问题:
你无法知道镜头到底移动到了正确位置没有。

2.2.2 反馈通路

所以我们需要反馈:
镜头位移 → 霍尔传感器检测 → 反馈给驱动IC → 与目标位置比较 → 修正驱动电流

这就是闭环控制的核心逻辑:
测量 → 比较 → 修正 → 再测量

我习惯把这个过程叫做「每秒几千次的微调」。
驱动IC内部的PID控制器,以1~10kHz的频率运行,不断调整镜头位置。

2.2.3 完整的信号流图

下面这张图,是我在项目中经常用来跟团队沟通的框架图:

OIS闭环控制系统信号流图 手抖输入 陀螺仪 驱动IC (PID控制) ADC + 算法 音圈马达 镜头 霍尔传感器 反馈通路(位置检测) 图例: 感知器件 控制核心 执行机构 反馈器件 反馈信号

2.3 闭环控制的关键——PID算法

驱动IC内部运行的PID算法,是OIS系统的灵魂。
它有三个环节:

  • 比例(P):根据当前误差大小,输出对应的修正量。误差越大,修正越猛。
  • 积分(I):累积过去的误差,消除稳态偏差。说白了就是「纠偏」。
  • 微分(D):预测误差的变化趋势,提前抑制振荡。

我在项目中遇到过一个问题:
某款驱动IC的PID参数没调好,导致镜头在低频抖动时响应慢,高频时又振荡。后来我们花了整整两周,用扫频法才找到最优参数。

调参技巧:
我建议先调P,让系统能响应;再加D抑制振荡;最后加I消除静差。千万别一上来就三个参数一起调——你会疯的。

2.4 信号流中的延迟问题

闭环系统最怕什么?
延迟。

信号从陀螺仪到驱动IC,再到音圈马达,最后反馈回来——每一步都有延迟。

典型延迟分布:

环节 延迟时间 说明
陀螺仪采样 0.5~2ms 取决于采样率和滤波器
ADC转换 0.1~0.5ms 取决于分辨率
PID计算 0.05~0.2ms 取决于算法复杂度
VCM响应 1~5ms 机械惯性
霍尔反馈 0.1~0.3ms 传感器响应

总延迟一般在2~8ms之间。
如果超过10ms,防抖效果就会明显下降——你会看到画面「拖尾」。

避坑指南:
我曾经为了省成本,选了一款便宜的陀螺仪,采样率只有500Hz。结果总延迟飙到15ms,防抖效果还不如不开。后来换回1kHz的器件,问题才解决。有些钱,真不能省。

2.5 小结

OIS闭环控制系统的核心,就是四个组件加一个算法:

  • 陀螺仪感知抖动
  • 霍尔传感器反馈位置
  • 驱动IC运行PID算法
  • 音圈马达执行位移

信号流是:
手抖 → 陀螺仪 → 驱动IC → 音圈马达 → 镜头 → 霍尔传感器 → 反馈回驱动IC

嗯,这个框架你记住了,后面讲具体设计时就不会迷路。


公众号:蓝海资料掘金营,微信deep3321