ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

高速振镜驱动板信号链拆解:四象限光电流与模拟PID前馈调参

高速振镜驱动板信号链拆解:四象限光电流与模拟PID前馈调参

简介:这份高速扫描振镜驱动原理图面向从事电机驱动、光学扫描与电路设计的工程师及高年级学生,可用于理解激光打标、投影显示等场景中振镜高速偏转的控制链路。包内仅有1个PDF文件,约239KB,以整页原理图形式呈现,便于直接查看信号走向与器件选型。图中覆盖PIV运算后的反馈信号、电流检测电阻、差分位置指令与实际位置输入,以及积分与速度调节、误差限幅、窗口比较器和位置前馈等环节,并给出功率驱动电源、电流检测和逻辑输出接口的实现思路;运放、比较器、稳压芯片及滤波电容等关键器件也一并标注。已有2759人学习或下载,适合用来梳理闭环控制结构、对照PCB设计或做故障排查参考。

1. 拆开一块高速振镜驱动板:为什么图纸上全是运放,却几乎看不到三极管

高速扫描振镜驱动原理图,我第一次拿到手时的反应是:这不就是一个大号音频功放吗。整张图里最显眼的是成排的 OP470、TL074、OP27、LM339,功率级只用两颗 LM675 顶着,连个像样的 H 桥都找不到。可等把激光打标机的出光抖动、拐角圆角、长时间跑偏这些毛病对上号,才发现这套电路的难点根本不在“能不能推得动电机”,而在“怎么把微伏级的四象限光电流,稳定地变成一个不飘的位置量”。这份图纸适合三类人:想自己做振镜驱动板的硬件工程师、手里有板子但调不出闭环的调试者、以及想把模拟 PID 和前馈吃透的电机驱动从业者。下面按信号链一节一节拆,参数、量级、坑都写清楚。

2. 信号链拆解:差分指令到误差电压的 34.5 倍增益是怎么凑出来的

振镜驱动板的前半段全是小信号,处理不好,后面功率级再猛也没用。这一章按“指令进来—误差算出来—三环修正量叠上去”的顺序走,把图中每一级的增益、限幅和系数档位对到具体网络标号上。

2.1 差分位置指令输入与差分转单端这一级

图纸左侧进来的是 POSITION 差分对,走 J5 连接器的 PIN2/PIN4,中间串了 JP1、JP2 两组跳线。用差分而不是单端的理由很实在:振镜头到驱动板的排线通常一两米,边上就是驱动电机的 PWM 大电流走线,单端输入在这种环境里等于把地弹和共模干扰直接喂给误差放大器。差分输入配合后面 OP470 搭的差分转单端,共模抑制比能压到 80dB 以上,这是能不能跑稳定的第一道门槛。

图中这一级的标称增益写的是 34.5 倍。从阻值分布看,U24 这颗 OP470 四运放里,1.2M 与 5.1K 这一组阻值反复出现在 R218、R221、R225 上,说明设计者刻意让两路反馈网络走对称阻值,把两路的增益误差和失调误差压到同一量级。四运放里另外两路分别做基准缓冲和极性翻转,最终把 ±0.028V 量级的差分指令放大到 ±1V 左右,正好落进后级误差放大器的线性区。

实操上有一处容易翻车:JP1、JP2 的默认短接位置决定了输入是“差分”还是“单端对地”。我见过有人拿到板子直接接单端信号源,结果输入共模点悬空,运放输出贴着电源轨不动,还以为是芯片坏了。上电前先用万用表量一下 J5 的 PIN2 与 PIN4 对 GND 的直流电位,两边应该都在 0V 附近且基本对称,不对称就先查跳线。

对称性还体现在另一个细节上:R219、R220、R221 全是 5.1K,R218 是 1.2M,1.2M/5.1K 约等于 235,而实际闭环增益只有 34.5,说明这不是单级放大,而是两级串联后又被后面的限幅网络削掉一部分。读这类图纸不要拿着一个电阻对就反推增益,得顺着反馈支路一段段走。

2.2 误差计算、1.5 倍限幅与 ±0.97V 的边界

误差计算这一级的输入有两路:一路是刚才放大完的位置指令,另一路是电机实际位置反馈 POSITION,两者进 U24 的另一组运放做减法,输出就是误差信号。图纸上标的“34.5 倍误差信号调节范围”和“1.5 倍误差幅度限制”是两个不同的东西,前者是增益,后者是钳位。

钳位网络由 D16~D19 四颗二极管加 R163、R164 两颗 5.1K 组成,把误差电压硬限制在 -0.97V 到 +0.98V 之间。正负不对称 0.01V 不是画错了,是二极管正向压降离散性带来的,实际调试时这一丁点不对称会被积分环节慢慢吃掉,但如果你的板子偏到 0.1V 以上,那就是二极管批次或者限流电阻装错了。

限幅的意义在于抗积分饱和。振镜在收到大幅阶跃指令时,误差瞬间会冲到几伏,如果没有这一级钳位,后面的积分电容会一路充到电源轨,等误差反向后要花几十毫秒才退饱和,表现出来就是“过冲后长时间抖”。±0.97V 这个值配合 1.5 倍的系数,实际把最大可用的误差摆幅定死了,调参时不用再担心积分风up。

图中还有一路窗口比较器直接挂在误差信号上,用 LM339 做,阈值设在 ±0.98V 附近,一旦误差超过预设值就拉低非正常工作逻辑信号。这个信号的用途是给上位机报警或者直接切断使能,属于最后一道保险。调试阶段建议先把它断开,否则一有超调就报警,反而看不清波形。

提示:限幅二极管要选低结电容的开关管,用 1N4148 这类普通管在几 kHz 以上会让误差信号带上尖刺,示波器上看着像噪声,其实是二极管反向恢复。

2.3 PIV 三环的系数档位:比例、积分、速度前馈怎么配

图纸右侧有一组手写风格的系数标注,这是整张图信息密度最高的地方:

环节图中标注范围折算典型值物理含义
比例系数(15~30)×0.00010.0015~0.0030误差到电流指令的直接增益
积分系数2380~3700同左单位时间内的误差累积速率
速度反馈/微分10~22同左阻尼来源,抑制过冲
位置前馈0.40.4指令直接叠加到电流环的比例

这里有个特别容易搞混的点:图上写的 PIV 不是粒子图像测速那个 PIV,在这类振镜驱动里它指 Proportion-Integral-Velocity,也就是比例、积分、速度反馈三环复合,外加位置前馈。很多刚接触的人搜资料搜到流体力学去了,方向一开始就错了。

比例系数折算下来只有千分之几,看着小得离谱,但要注意它的作用对象是已经放大 34.5 倍、又被钳到 1V 的误差电压,再乘 0.002 得到的是毫伏级的电流指令,后面还有一级电流环的跨导放大。整条链路的量级必须连起来算,单看一段会觉得哪里都不对。

积分系数 2380~3700 这个范围跨度接近 1.5 倍,实际拨到哪一档取决于负载惯量和镜片尺寸。小镜片惯量小,取大值响应快;大镜片取小值,否则拐角处会看到明显的高频抖动。速度反馈 10~22 是阻尼主力,调参顺序一般是先给比例、再加微分把过冲压下去、最后补积分消静差。

前馈系数 0.4 的含义是:指令信号的 40% 不经过误差放大器,直接叠加到电流环输入。这样做的好处是阶跃响应的上升沿不再完全依赖闭环带宽,前馈把“预见性”加了进去。代价是前馈给多了会在拐角处产生尖角过冲,0.4 这个值基本是给中小幅面镜片准备的,换大镜片要往下调到 0.25 附近再试。

下面这段验算脚本可以帮你把系数档位和实际闭环带宽对一下,避免盲目试凑:

# 仅用于量级验算,不是固件代码 Kp = 0.0020 # 比例系数,图上 15~30 * 0.0001 的中间值 Ki = 3000 # 积分系数 Kd = 15 # 速度反馈系数 Kf = 0.4 # 位置前馈系数 J = 1.2e-6 # 镜片+转子转动惯量 kg·m^2,按小镜片估 Kt = 0.05 # 电机转矩常数 N·m/A # 开环增益折算,用来判断闭环带宽是否落在 1~3kHz 区间 loop_gain = Kp * Kt / J print(f"比例通道等效加速度增益: {loop_gain:.1f} rad/s^2 per V") print(f"前馈占比: {Kf*100:.0f}%")

这段脚本里的惯量和转矩常数是估值,真正的用途不是算出精确带宽,而是让你在换镜片时有个换算依据。惯量翻倍,比例系数要么减半要么接受带宽下降,别指望靠调积分找回来。

3. 功率级与电流环:LM675 桥式驱动、0.3Ω 采样和 ±12V 母线

小信号算得再漂亮,最后都得靠功率级把电流灌进电机线圈。这一章讲为什么这张图选了功率运放而不是分立 H 桥、0.3Ω 采样电阻怎么用、以及三路电源和基准为什么必须分开。

3.1 用 LM675 做线性桥式驱动而不是分立 H 桥

图中 U6 位置画了两颗 LM675T,标注是 U6/1 和 U6/3,构成桥式输出的两个半臂。LM675 是几安培级的功率运放,单位增益稳定,压摆率够用,最关键的优点是线性放大、输出没有开关纹波。振镜线圈是个典型的感性负载,用 PWM 硬开关驱动,电流纹波会在镜片位置上都体现出来,高频段信噪比直接崩掉。

代价也很明显:效率低、发热大。±12V 母线、稳态几百毫安到一安培的线圈电流,两颗 LM675 上的功耗加起来轻松超过 5W,所以图上才需要那么大面积的散热和那组 1000uF/25V 的母线电容。我一般会先算最坏情况下的结温,再决定要不要加风扇,别等装进机箱才发现烫手。

两颗功率运放的接法上有个细节值得注意:反馈电阻 R158、R159 用的是 470Ω 和 2.7K,R165、R166 是 470Ω 和 12K,两组阻值不对称。这不是画错,是两个半臂承担的功能不同,一个做同相放大、一个做反相,增益要分别配平才能让桥 outputs 对称。装配时如果两颗电阻装反,表现出来是输出直流偏置,镜片静止时不在光路中心。

图上还标了 C74、C75 两颗 220pF 补偿电容跨在反馈网络上。这两颗电容是防自激的命根子,感性负载加上几米长的电机线,很容易在几百 kHz 处起振,示波器上看是叠加在电流上的等幅振荡,摸功率管会明显发烫。补偿电容给大了会拖慢响应,220pF 是折中值,换长线缆时可以适当加大到 330pF 再试。

3.2 0.3Ω 采样电阻与 OP27 差分电流检测

电流环的感知元件是 R162 和 R168 两颗 0.3Ω 电阻,串在两个半臂的下端。选 0.3Ω 这个值是在“信号够大”和“损耗够小”之间取的平衡:线圈峰值电流 2~3A 时,采样电压 0.6~0.9V,对后面 OP27 来说是个很舒服的输入范围;而 3A 下的功耗是 2.7W,必须用功率电阻并且留足铜箔散热。

采样信号进的是 U23 这颗 OP27,搭成差分放大。OP27 的失调电压和温漂在这类应用里是关键指标,因为采样电阻上的直流分量直接对应电机转矩,漂 1mV 就是 3mA 的静态电流误差。图上 R169~R172 这组 1K、10K、10K、1K 就是标准差分放大网络,增益为 10 倍,把 0.9V 抬到 9V 以内送进后级。

布线上的血泪经验:0.3Ω 电阻必须用开尔文接法,两条检测线从电阻焊盘内侧单独引出,不能和功率走线共用一段铜箔。我见过一块板子为了省事直接在功率线上分支取样,结果电流一大,采样电压里混进铜箔电阻上的压降,电流环把电机电流稳在了一个错误的点上,表现出来是“小信号正常、大信号力矩不足”,查了两天才发现是布线问题。

# 采样电阻功耗与量级验算 R_sense = 0.3 # R162 / R168 I_peak = 3.0 # 线圈峰值电流 A V_sense = I_peak * R_sense P_sense = I_peak**2 * R_sense print(f"采样电压 {V_sense:.2f} V,单颗功耗 {P_sense:.2f} W") print(f"差分放大 10 倍后 {V_sense*10:.1f} V,注意不要顶到 ±12V 轨")

第二行输出是提醒你核对裕量:如果峰值电流估到 4A,放大 10 倍就是 12V,正好顶轨,这时候要么降增益要么换更小的采样电阻。

3.3 三路电源与 6.89V 基准:为什么不能合并

整张图上有三组电源:±15V 给 OP27、OP470、TL074 这些小信号运放,±12V 给 LM675 功率级和电机,+5V 给逻辑和比较器上拉。三组地用单点汇聚,图上画了一堆 GND 符号但实际布线必须分开走。

电源芯片分别是 U30 的 MC7812CT、U31 的 MC7912CT 和 U32 的 LM78L05AC。7812/7912 前面挂了 1000uF/25V 的大电容 C109、C110,后面是一排 0.1uF 和 2.2uF/35V 的退耦。这个配置看起来冗余,但功率运放在大信号突变时会在母线上拉出几百毫伏的跌落,退耦不够就会串到小信号侧,表现为“大信号一来,位置反馈上就多一个毛刺”。

基准源是 U20 的 ADR02,输出 6.89V 和 -6.88V 两个参考。正负差 0.01V 是器件本身精度,但如果你量出来偏差超过 0.05V,先查 R205、R206 这组 360K/750K 的分压电阻,多半是 1% 精度件装成了 5% 件。基准不对称会直接导致误差放大器的零点偏移,镜片静止位置偏离光路中心,这个坑在调试初期特别容易被误判成机械装配问题。

注意:±15V 和 ±12V 的上电时序会影响 LM675 的输入共模。如果 ±15V 先建立、±12V 后到,功率运放输入端会短暂超出共模范围,输出可能锁死。稳妥做法是让 ±12V 先上,或者在使能端加一个延时。

4. 光学反馈与热管理:四象限探测、LED 恒流与恒温窗口

振镜的位置反馈不走编码器,走的是光学:红外 LED 照亮镜片背面,反射光打到四象限探测器上,四个象限的光电流之差就是位置量。这条路的好处是无接触、分辨率高,坏处是所有的温度漂移、LED 老化、镜面反射率变化都会直接变成位置误差,所以图上才有一大堆补偿电路。

4.1 光电流转电压与和差运算

四象限探测器的输出是四路短路电流,和光通量成正比。U6 这颗 OP470 的四组运放分别做四路电流转电压,把微安级电流变成几百毫伏电压。图上标注的工作点很有意思:0.53V、1.13V、1.28V、1.34V、6.56V,这几个数不是随便标的,是设计者实测的四路静态工作点,正常板子偏离不应超过 ±50mV。

转成电压之后要做和差运算:两路相减得到 X 方向位置,另两路相减得到 Y 方向,四路相加得到总光强。总光强这一路非常关键,它是后面 LED 恒流环的反馈量。很多人调试时只关注 X、Y 两路,把和路丢在一边,结果 LED 老化之后位置增益整体下降,表现为“小幅度扫描正常、大幅度扫描变软”。

减法电路用的是 U24 的另外两组运放,配合 R216~R222 这组 10K、1.2M、5.1K 的阻值。1.2M 出现在反馈位上,说明这一级增益不低,目的是把几十毫伏的差值放大到伏级。增益高了,运放的失调也跟着放大,所以这级必须用低失调器件,换成普通 TL074 会明显看到零点随温度爬。

幅度和零点偏移校准是单独一级,图上有 W1、W2、W3 三个电位器,分别调 X 零点、Y 零点和总增益。调的顺序不能乱:先调总增益(保证和路落在 6.5V 附近),再调 X、Y 零点。顺序反了,增益一动零点又跑,来回折腾。

4.2 红外 LED 驱动的四类补偿

图上给 LED 驱动标的注释是整张图纸里最有价值的部分:温度变化补偿、LED 发光效率变化补偿、探测器件灵敏度变化补偿、反射面反光效率变化补偿。四类漂移叠加在一起,如果不做补偿,开机半小时后位置就会明显偏移。

补偿的核心思路是用和路光强做闭环:不管哪一类漂移导致光强变化,恒流环都会把 LED 电流调回去,维持探测器上的总光通量恒定。U33 这颗 UA741 就是恒流环的误差放大器,配合 Q19 调整 LED 电流,R257 的 620Ω 是限流采样。

窗口比较器在这里的作用是判断光强是否落在合理区间。LM339 的几组比较器分别设定上下限,光强太低(LED 老化或镜面污染)或太高(反射率异常)都会拉出非正常工作逻辑信号。调试时这个信号建议先接到 LED 指示灯上,肉眼能直接看到光路状态,比盯着示波器猜快得多。

四类补偿里最容易被忽略的是反射面反光效率。镜片镀膜用久了会有细微的雾化,反射率下降,恒流环会把 LED 电流往上推,推到上限之后就失去调节能力,此时位置增益开始随光强下降。所以图上的 LED 电流上限设定要留 30% 以上裕量,别为了初始亮度把电流顶满。

4.3 热敏电阻恒温与欠压报警

振镜的温度稳定性直接决定零点漂移。图上有一路独立的热敏电阻测温加电热丝加热,构成恒温控制:热敏电阻和 R282、R283 分压,进 LM339 做窗口比较,上下限之间保持恒温,超出下限就打开电热丝,超出上限就点亮位置传感器恒温指示灯。

窗口比较器的回差一定要够。图上 R284、R285 两颗 2.2M 就是设回差的,如果回差太小,温度在阈值附近时会频繁开关加热丝,表现出来是“指示灯闪烁、镜片位置周期性轻微抖动”。这类抖动频率很低,几秒一次,很容易被误判成机械共振。加大回差或者加 RC 延时都能解决,我一般倾向于加大回差,简单可靠。

欠压检测挂在 +12V 母线上,由 R278、R279 两颗 3.9K 分压后进比较器,电压低于阈值就输出报警。这个功能在电池供电或者多板共电源的场合很有用,母线跌落时振镜会先失位再报警,比直接飞光安全。

5. 避坑与排查:五条从烧板子换来的记录

原理图看得再明白,第一次上电该炸还是会炸。这一章的五条都是可复现的故障模式,现象、原因、解决按顺序写,照着对能省不少器件钱。

5.1 上电瞬间烧 LM675

现象:合闸瞬间两颗功率运放同时失效,外壳有裂纹,保险丝熔断。

原因:±12V 和 ±15V 同时上电时,LM675 的输入端通过反馈网络挂在小信号侧,如果 ±15V 建立更快,输入共模会短暂超出电源轨,内部保护来不及动作。另一个常见原因是电机线接反,桥式输出的两个半臂同时导通。

解决:先断开电机,只上电测两颗 LM675 的输出对地电压,应该都在 0V 附近。确认无误再接电机,并且在 ±12V 母线上串一个 2A 的慢熔保险丝做首轮测试。首次上电用可调电源限流到 300mA,这个习惯救过我很多次。

5.2 镜片静止时位置缓慢爬行

现象:没有指令输入,镜片位置在几分钟内缓慢偏移,示波器上看误差信号单调爬升。

原因:基准 ±6.89V 不对称,或者四象限探测器四路 TIA 的失调不一致。图上标注的四路工作点 0.53V、1.13V、1.28V、1.34V 如果偏差超过 50mV,和差运算就消不掉共模分量。

解决:先量 ADR02 输出的正负基准,偏差大就查分压电阻精度;基准正常的话,逐路量 TIA 输出,用 W1、W2 把零点调回来。调完静置半小时复测一次,温漂大的板子要等热平衡后再调。

5.3 几百 kHz 的等幅自激

现象:电流波形上叠加高频振荡,幅度不随指令变化,功率管明显发烫但输出功能正常。

原因:电机线缆的分布电容加电感,在 LM675 的反馈环路里形成额外极点,相位裕度不够。图上 C74、C75 的 220pF 补偿电容如果装成了 22pF,或者用了高 ESL 的瓷片,就会出这个问题。

解决:先把补偿电容加到 330pF 看振荡是否消失,消失说明是相位裕度问题。同时检查电机线是否捆扎在信号线旁边,分开走线能明显改善。不要指望靠降低增益解决,增益降下来带宽也没了,振镜的响应速度会直接垮掉。

5.4 恒温指示灯周期性闪烁

现象:恒温指示灯几秒亮灭一次,镜片位置随之轻微抖动。

原因:LM339 窗口比较器的回差不足,温度在阈值附近时加热丝频繁开关。R284、R285 的 2.2M 如果装成了 220K,回差会小一个数量级。

解决:加大回差电阻,或者在比较器输出到加热丝驱动之间加一级 RC 延时,时间常数取加热丝热时间常数的十分之一左右。改完观察十分钟,指示灯应该常亮或常灭。

5.5 非正常工作信号误触发

现象:振镜工作正常,但报警信号时不时拉低,上位机频繁报错。

原因:LM339 是开集电极输出,上拉电阻 R280 的 3.3K 如果接到了 +5V 而逻辑侧是 3.3V,电平不匹配会引起误判。另一个原因是比较器未使用的输入端悬空,噪声耦合进来导致输出翻转。

解决:所有未用比较器的输入按图纸接到确定电平,不要悬空;上拉电阻按逻辑侧电压重算,3.3V 逻辑用 10K 更稳。误触发频繁的话,在比较器输出加一个 100nF 对地滤波,能压掉大部分窄脉冲。

6. 上电验证与调参:从静态工作点到阶跃响应的四步走

板子焊完别急着接镜片,按下面四步走,每一步都有明确的判据,过不了就停下来查,不要抱着“先跑起来再说”的心态。

第一步静态工作点。不接电机、不接镜片,只上电,用万用表逐点核对:±15V、±12V、+5V 偏差在 ±5% 内;ADR02 输出 6.89V ±0.02V;四路 TIA 输出对照图纸标注的 0.53V、1.13V、1.28V、1.34V,偏差超过 50mV 就先调零点。这一步花二十分钟,能省掉后面几小时的迷茫。

第二步电流环闭环。接上电机但不装镜片,给一个 100Hz 方波指令,用电流探头看线圈电流波形。判据是上升沿无过冲、无高频振荡、稳态无静差。如果电流波形顶部有台阶,多半是 LM675 进入了压摆率限制,把指令幅度降一半再看。

第三步位置环阶跃。装上镜片,给 1° 的小阶跃,用位置传感器输出看响应。下面这张表是我一般会记录的判据:

测试项激励期望不合格时的首要怀疑
上升时间1° 阶跃0.3~0.8ms比例系数偏小、前馈不足
过冲1° 阶跃<10%速度反馈偏小
稳态误差0.5° 阶跃<0.02°积分系数偏小
拐角跟随三角波 200Hz无圆角前馈系数偏小
长时间漂移恒位 30min<0.01°恒温未稳、基准温漂

第四步温漂与老化。让板子连续跑两小时,每十五分钟记录一次静止位置。前半小时漂移是正常的,那是热平衡过程;半小时后如果还在单调漂,重点查基准和 TIA 的温漂,别去怪机械结构。

调参顺序上我吃过亏:一开始就想把比例给足,结果过冲大得吓人,又回头猛加积分,越调越乱。后来固定成“比例→速度反馈→积分→前馈”这个顺序,每加一档等波形稳定再动下一个,虽然慢,但每次改动的影响都可追溯。前馈放在最后是因为它不改变闭环稳定性,只改跟随性,先调它会掩盖比例和阻尼的问题。

从那以后我每次拿到一张新的振镜驱动图,都会先把三路电源、基准、四路 TIA 这六个点量一遍再谈调参,不管别人说这板子多成熟。图纸上的 6.89V 和 -6.88V 差那 0.01V,看着不起眼,真到了微米级定位的时候,就是它先翻脸。希望帮到你。

本文还有配套的精品资源,点击获取

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进