1. 课程导入

各位同学,欢迎来到《Code V 公差分析从入门到精通》的第一章。

做光学设计这些年,我见过太多“纸上谈兵”的案例。设计文件上 MTF 跑得飞起,一到车间装配,性能直接腰斩。为什么会这样?说白了,就是没做公差分析。

1.1 什么是公差分析?

公差分析,就是评估“制造误差”对光学系统性能影响的过程。

你想想看,设计时我们用的都是理想参数:曲率半径、厚度、折射率、偏心、倾斜……全是精确值。但实际加工中,镜片有面形误差,镜筒有装配间隙,胶合有偏移。这些误差叠加起来,系统还能不能达标?公差分析就是回答这个问题的。

我个人习惯把公差分析比作“压力测试”。就像芯片设计要跑 PVT corner,光学系统也要跑“制造 corner”。

核心定义:公差分析是在给定制造和装配误差分布的前提下,预测系统性能(如 MTF、波前误差、畸变等)的统计分布或最坏情况。

1.2 为什么需要做公差分析?

这个问题,我每次带新人时都会问。答案通常很统一:“为了知道能不能造出来。” 对,但不全对。

我总结了几点,你看看有没有道理:

  • 验证可制造性:设计再漂亮,造不出来就是废纸。公差分析告诉你,以现有工艺水平,良率能到多少。
  • 指导成本控制:公差越紧,成本越高。一个非球面面形从 0.5 波降到 0.1 波,价格可能翻三倍。公差分析帮你找到“性价比最优”的分配方案。
  • 定位敏感元件:我曾经有个投影镜头项目,怎么调都达不到分辨率要求。一跑公差分析才发现,第二片镜片的倾斜公差极其敏感。后来改了结构,问题迎刃而解。
  • 建立容差预算:系统级性能指标需要分解到每个元件、每个自由度。公差分析就是做这个“预算分配”的工具。

避坑指南:千万不要等到设计冻结了才做公差分析。我见过有人把公差分析当成“最后交差”的步骤,结果发现某个公差太紧,只能重新设计,白白浪费两个月。公差分析应该贯穿设计全过程,从初始结构就要开始考虑。

1.3 Code V 公差分析模块简介

Code V 的公差分析模块,说实话,是我用过最顺手的。它不像有些软件那样“黑盒”,而是给了你充分的控制权。

模块主要包含以下几个核心功能:

功能模块 说明 我常用的场景
TOLERANCE 定义公差操作数,如曲率、厚度、偏心、倾斜、折射率等 建立初始公差表,设定每个参数的允许变化范围
TOR (Tolerance Report) 执行公差分析并生成报告,支持灵敏度分析和蒙特卡洛模拟 快速查看哪些公差最敏感,哪些可以放松
COMP (Compensator) 定义装配时的补偿参数,如后焦距调整、镜片移动等 模拟实际装调过程,看看补偿器能挽回多少性能
STAT (Statistics) 统计结果分析,计算良率、均值、标准差等 给客户提交良率报告时必用
INVERSE (Inverse Tolerancing) 反向公差分析:给定性能目标,反推允许的公差范围 当客户要求“MTF 必须大于 0.3”时,用这个功能反算公差

嗯,这里要注意一点。Code V 的公差分析是基于“扰动”的。它会在你当前设计的基础上,给每个参数加上一个微小变化,然后重新评价系统性能。这个“微小变化”就是你的公差。

我的小技巧:刚开始做公差分析时,别一上来就跑蒙特卡洛(1000 次甚至更多)。先跑一遍灵敏度分析(Sensitivity Analysis),看看哪些参数是“雷区”。把敏感参数收紧,不敏感的参数放松,这样效率最高。我一般先跑 20 次灵敏度,再根据结果调整,最后才跑 500-1000 次蒙特卡洛做最终验证。

下面这张图,是我自己总结的公差分析整体流程,你可以先有个印象:

Code V 公差分析核心流程 初始光学设计 定义公差操作数 (TOLERANCE) 灵敏度分析 (TOR SENS) 调整公差分配 蒙特卡洛模拟 (TOR MC) 良率评估 & 报告 不满足要求,重新分配 💡 流程说明 • 先跑灵敏度,找出敏感参数 • 再跑蒙特卡洛,评估统计良率 • 良率不够?回去调整公差分配

这个流程,我建议你记在心里。以后做任何公差分析项目,都按这个节奏走,不会乱。