多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

镜片组装设计全流程:光学与结构工程师的协作实战与公差分配

镜片组装设计全流程:光学与结构工程师的协作实战与公差分配 干过精密光学项目的工程师都懂镜片组装设计这个活儿最磨人的不是哪一家的镜片加工超差也不是结构件尺寸不到位而是光学工程师和结构工程师坐在同一张图纸前面说的明明是同一片镜片脑子里想的却是完全不同的两套东西。我做过几年镜头类产品的结构设计也和光学同事反复拉扯过不少轮次这里把协作完成镜片组装设计的思路、流程和踩过的坑梳理一遍给即将入坑或者正在坑里的朋友一个参考。这个题目看起来只是一个“协作完成”的设计任务实际上覆盖了从光学设计指标拆解、结构约束定义、材料选型、公差分配到装配工艺验证、环境适应性测试的完整链条。适合结构工程师、光学工程师、精密制造工艺人员以及做项目管理的人参考。核心就一句话把光学系统对镜片位置、角度、面形的敏感度翻译成结构设计里能落地、能加工、能装配、能测试的硬约束。1. 内容整体设计与思路拆解1.1 光学工程师关心什么结构工程师关心什么先说透这两类人的思维差异后面所有协作冲突都源于此。光学工程师眼里镜片不是一个铝环加一片玻璃而是一组抽象的参数曲率半径、厚度、折射率、阿贝数、中心偏、面形PV值、RMS值。他们关心的是光线经过每一片镜片后的追迹结果最终落在像面上的光斑够不够小、能量够不够集中、畸变有没有超标。镜片的物理固定方式、镜筒壁厚多少、螺纹牙型什么样光学仿真里一概不体现全是理想化的坐标位置和角度。结构工程师这边恰恰相反脑子里全是“能不能加工”“能不能装配”“能不能扛住振动和温度”。镜片被当成一个质量块加一个光学口径边界关心的是镜片外径和镜室孔径的配合间隙是多少压圈压在哪里胶水点到哪一圈范围镜片在温度变化时会不会被挤压变形振动时会不会松动移位。至于这个镜片的光焦度是多少、像差校正到什么程度结构工程师通常只在开会时听个结论很少深究。协作的第一步不是谁说服谁而是互相理解对方手里那套参数到底意味着什么。光学工程师得明白任何一块镜片装进结构里位置不会正好在理想坐标上那个偏差量就是公差结构工程师也得明白镜片的倾斜和偏心对像质的影响不是线性递减的很多时候你放大了0.02mm的公差光学系统直接散焦得没法看。1.2 为什么“组装设计”不能只靠画图镜片组装设计之所以单独立项而不是随便出几张零件图就完事是因为这里面的核心不是零件本身而是零件之间的相互位置关系。一颗口径50mm的球面镜面形加工到λ/4大概是0.15微米级别的PV值中心偏控制在0.01mm以内这已经是工厂常规工艺里偏上的水平了。但如果你把这片镜子用压圈锁紧在镜筒里压圈拧紧的扭矩稍微大了一点镜片边缘受到不均匀的轴向力面形可能立刻从λ/4恶化到λ/2甚至更差。也就是说加工得再好的镜片装进一个设计不合理的结构里照样性能崩盘。所以镜片组装设计的关键不是“画出镜筒和压圈”而是控制装夹力、温度应力、胶层固化收缩、零件公差叠加这几条传递路径。每一条都对应一套设计原则和验证方法。这也是为什么结构工程师不能关起门来只顾自己画图必须拿到光学工程师给的公差数据和敏感度曲线才能知道哪些方向要死磕哪些方向可以放宽。1.3 协作流程的总体框架我们当时跑通的流程大致分六步光学设计冻结输出镜片参数表、系统图、公差分配表。结构工程师和光学工程师一起评审公差分配确认哪些公差是结构能扛的哪些扛不住要改方案。结构方案设计包括镜片固定方式、镜筒结构、材料选型、表面处理。用光学软件反向验证把结构公差作为扰动输入复算像质余量。打样、装配、实测对比实测数据与仿真数据。环境试验温度循环、振动、冲击确认结构长期稳定。这六步听着简单每一步里都有很多细节。后面逐一展开。2. 核心细节解析与实操要点2.1 读懂光学工程师给的那张公差表几乎所有协作的起点都是一张公差分配表。光学工程师在Zemax或Code V里跑完公差分析会导出一个表格列出每个镜片的曲率半径公差、厚度公差、偏心公差、倾斜公差、折射率公差等。结构工程师拿到这张表第一反应往往是“这个偏心0.01mm也太苛刻了”第二反应是“这么多项公差怎么可能每项都保证”。这两句话我在会议室里都听过自己也说过。但这里有一个不太直观的点公差表里的每一项都是单独给出的意思是“其他项都处于理想状态时这一项的允许偏差”。实际装配中各项偏差是同时存在的所以真正决定成品率的是公差叠加后的统计结果。光学工程师通常会用蒙特卡洛方式跑几百组随机公差组合得出一个像质合格率预测可能是90%也可能是70%。结构工程师的正确姿势是先别急着抱怨数值苛刻先问清楚三点——这项公差对应的参考基准是什么比如偏心是相对于光轴还是相对于镜室安装面这项公差是哪个环节能贡献的加工、装配、还是材料本身哪些公差项对像质的敏感度最高哪些是无关痛痒的第三点尤其重要。一块镜片的偏心公差给得严往往是因为这块镜片离光阑面远、光线入射高度大对偏心极其敏感。而同组的另一片镜片偏心公差给到0.05mm都无所谓因为它处在近轴区域移一点对光路影响微乎其微。结构工程师要做的不是均匀用力保证所有公差而是在敏感度高的方向上重点设防。2.2 公差分配的决策逻辑我习惯用一个简单的方法判断公差分配合不合理把所有机械相关的公差项换算成最终镜片位置偏差再看这个偏差对应的光学敏感度是多少。举个例子方便理解。假设一个两片式物镜第一片镜片的口径是30mm光学工程师给出的偏心公差是±0.02mm。结构上镜片靠镜室内孔定位镜室内孔加工公差如果取H7/g6配合孔径偏差大约在0.010.02mm级别加上镜片外径公差实际偏心可能到0.03mm。这时候直接按图加工大概率超差。正确做法是调整定位策略不靠镜片外径和镜室内孔间隙定位而是在镜片一侧设计一个精加工的凸台端面做轴向定位径向用三到六个均匀分布的弹性压点施加径向力让镜片自定心。这样镜片的位置不再被零件公差直接决定而是被弹性件的对称性决定实际偏心可以稳定控制在0.01mm以内。这个例子的核心逻辑就是公差分配不是把表格里的数字扔给加工厂而是先想清楚用什么结构方案让关键公差项的敏感性降下来。方案对了公差要求不需要极致也能满足指标方案错了加工厂精度拉到极限也救不回来。2.3 光学与结构之间的“翻译”工具跨学科协作最怕的就是参数体系不对接。光学工程师嘴里说的“波前差”“Zernike系数”结构工程师听着发懵结构工程师嘴里说的“直线度”“同轴度”“端跳”光学工程师也不清楚会带来多大像差。我建议每个项目组至少做一次这样的翻译对照把结构公差项和光学像差项的因果关系列成一张表后续所有争执都以这张表为依据。当时我们组内做的一个简化版本大概是这样的结构偏差光学表现敏感度等级镜片偏心decenter像面照度不对称、像散、彗差高离光阑越远越敏感镜片倾斜tilt轴外像差急剧恶化、光轴偏折极高空气间隔偏差焦点漂移、球差变化中高镜片面形受压变形波前差增大、分辨率下降高镜片与镜筒温度失配空气间隔变化、面形畸变视材料而定这张表的意义在于结构设计阶段做方案取舍时可以直接对照着判断哪些结构环节要加倍小心哪些环节可以放宽。比如说一个镜片如果倾斜敏感度极高结构上就不能只用端面压紧必须加径向支承或者用锥面配合来约束倾斜自由度。2.4 工具链和软件协同结构工程师常用的设计工具是SolidWorks、Creo、NX这类CAD软件光学工程师用的是Zemax、Code V。两边的模型体系完全不同中间往往需要一个对接环节。问题在于光学工程师在Zemax里建的模型是一个近轴或实际光线追迹模型镜片是理想几何体加光学材料属性。结构工程师在CAD里建的模型是带公差带、带表面处理、带螺纹特征的实体模型。两边导来导去经常出现“结构模型里的镜片厚度和Zemax里差了0.05mm”这种低级但对不上的情况。解决的办法也很朴素结构设计启动之前先锁定一版镜片光学设计图纸以它作为唯一数据源。镜片曲率半径、中心厚度、外径、倒角这些关键参数结构工程师必须按照光学图纸建模不能用CAD原始模型里的默认数据。镜片供应商在加工时也以这份光学图纸为准结构这边的装配模型只是“拿来用”。另外有条件的话建议结构工程师学一点Zemax的基本操作至少知道怎么看一个系统的光线追迹结果、怎么改一个面的曲率半径看像质变化。不是为了替代光学工程师而是为了在协作时能自己动手验证疑问不用什么事都排队等着光学同事跑仿真。我们项目后期结构这边的人能自己打开Zemax改镜片间隔两分钟看MTF变化趋势沟通效率提升不是一点半点。3. 镜片组装设计的实操过程与核心环节实现3.1 镜片固定方式选型压圈与压片镜片固定方式是组装设计里最核心的决策。常见的方案有螺纹压圈、压片弹片、滚边、胶装、弹性卡环等。每一种都有优点和坑实际选型要看镜片口径、工况温度、装配节拍和返修要求。先说我们项目里用得最多的螺纹压圈方案。压圈通过外螺纹拧入镜筒用端面压住镜片台阶。优点是结构简单、可拆卸、成本低适合直径在50mm以内的镜片。缺点是压紧力很难精确控制拧太紧镜片边缘受力过大面形会被压坏拧太松又容易在振动条件下松动。装配时需要严格控制拧紧扭矩并且最好在压圈和镜片之间加一个柔性隔圈比如POM垫圈把集中力分散成面力。压片方案是用多个小弹片勾住镜片边缘用螺钉压紧弹片。切向布置多个弹片一方面提供轴向压紧力另一方面因为弹片有径向柔性可以补偿镜片与镜筒的热膨胀差。这个方案常用于中型口径、温度变化大的镜头但缺点是零件数量多装配效率低而且每个弹片的压紧力一致性需要靠加工精度和装配技巧保证。3.2 无应力装调的要点“无应力”这个词听着玄乎实际操作上指的是镜片装配完成后在自由状态下工作时受到的附加应力小到可以忽略。要做到这一点结构设计的核心原则是定位面和压紧面分开。简单说镜片的轴向位置由一个精加工的支承端面决定这个端面与光轴的垂直度要好表面粗糙度要低。压圈或弹片只负责把镜片“轻轻按住”在支承面上而不是像老虎钳一样死死夹住。这里有个非常常见的坑结构设计时把支承端面做成了整个圆周面的连续台阶看起来受力均匀但实际加工后这个环面很难保证绝对在一个平面内总会有几微米的翘曲。镜片压上去以后实际接触点可能只有三五个高点受力非常不均匀。解决办法是把连续环面改为三个或六个均匀分布的“小平台”每个平台宽度35mm这样加工时有明确可测量的高点区域装配时受力位置也固定可控。我当时设计一个φ45mm的胶合镜组时第一版镜筒支承面就是连续的环面。加工回来实测端跳倒是合格了但装上去用Zygo干涉仪测透射波前发现面形从0.08λ恶化到0.15λ怎么都查不出原因。后来把环面改成了六个均布的小平台重新装配后波前恢复到了0.09λ左右。原因就是连续环面在高点区域产生了局部应力集中。这种问题在2D图纸上看不出来必须在3D模型上思考实际接触情况最好装配试做后用干涉仪或者应变片数据说话。3.3 胶装固定的工艺控制小口径镜片或者对位置要求极高的镜片比如某些激光光学系统里的透镜经常采用胶装固定。胶装的好处是应力可以控制得非常低因为胶层是弹性的可以吸收温度变化带来的应力坏处是返修困难、固化过程不稳定、胶层厚度和均匀性不好控制。胶装工艺里最关键的两个参数是胶层厚度和涂胶位置。胶层厚度一般控制在0.020.1mm之间。太薄了胶层失去弹性缓冲作用温度变化时镜片和镜筒的热膨胀差会直接传递为应力太厚了胶层固化收缩量大反而拉偏镜片位置。实际操作中通常是靠间隔件控制厚度在镜片外圆和镜室内孔之间放两三片非常薄的垫片比如0.05mm厚的锡箔片点胶后待胶体初步固化再把垫片撤出留下均匀的胶层间隙。涂胶位置也有讲究。小口径镜片可以360度全周涂胶大口径镜片或者对温度敏感的镜组建议采用六点或八点分段涂胶相当于在圆周方向均匀布几个柔性支点。这样温度变化时镜片可以在未涂胶的方向上自由膨胀一些避免产生不对称热应力。我们做过对比测试全周涂胶的镜组在-40℃到60℃循环后面形恶化了0.2λ分段涂胶的只恶化0.05λ差别非常明显。胶水选型上我自己的经验是优先用有机硅类或改性环氧类光学胶固化收缩率小、弹性模量低、耐温范围宽。具体牌号不方便在这里做推荐但建议重点关注三个指标固化收缩率越低越好、弹性模量越低越好、玻璃化转变温度高于最高工作温度。固化工艺上分步固化的效果普遍好于一次性固化比如先在室温下凝胶再升温充分固化可以把收缩应力明显降下来。3.4 镜筒结构设计与材料选型镜筒是镜片组装的骨架它的设计和材料选择直接决定了镜片间距和同轴度的稳定性。铝合金6061-T6是最常见的镜筒材料原因无他加工性能好、成本低、表面阳极氧化后耐腐蚀、导热系数不错有利于热均衡。但铝合金的热膨胀系数大约是23×10⁻⁶/℃而普通光学玻璃K9大约是7×10⁻⁶/℃这个失配在宽温工作环境下会带来明显的镜片间隔变化。对热稳定性要求高的镜头通常会在两种思路里选一个思路一镜筒用殷钢或钛合金热膨胀系数和光学玻璃接近温度变化时结构变形小。思路二保持铝合金镜筒但镜片之间用弹性补偿结构如一个弹簧垫圈或波纹垫圈允许镜片沿轴向有微小位移靠弹力维持接触而不产生额外应力。思路一性能好但是贵加工难度也高。殷钢车削时容易“粘刀”表面质量难控制钛合金导热差加工发热明显切屑处理麻烦。思路二成本低但需要精心设计弹性元件的刚度和预紧力否则补偿不成反而变成振动隐患。我的建议是先看工作温度范围和光学系统的焦深。如果温度范围只有常温±15℃铝合金镜筒完全够用如果是-40℃到70℃的高低温循环那光学系统设计时最好就预留温度补偿机制结构这边优先考虑思路二并以试验验证为准。3.5 防松动与防转设计有一种情况很让人抓狂装配时一切都好干涉仪测量各项指标优秀整机装好后振了十几分钟再测像质明显下降。拆开一看压圈没松镜片没碎但镜片在镜室内转了半圈。镜片转动本身不一定会带来像质问题——如果是完全对称的球面镜转半圈和没转一样。但如果是柱面镜、自由曲面镜或者装在同一镜室的多片透镜组件任何一片发生旋转都可能导致两个镜片之间的相对角度发生变化像质直接崩掉。防转设计要从两个层面来考虑。一是压圈螺纹连接本身的防松通常用螺纹胶乐泰222这类低强度型点在外螺纹上或者用止动螺钉顶住压圈端面。二是镜片与镜筒之间的切向限位可以在镜筒内孔开一个半圆槽配一个半圆键或者用切边凸台限位。后者增加零件成本但可靠性高适合量产品。我们有一次在环境试验中遇到的问题就出现在这里压圈外侧涂了防松胶但镜片与镜筒之间没有任何切向限位振动试验后镜片旋转了大约3度系统像质从接近衍射极限掉到了无法接受。加了一个简单的径向销钉后问题彻底消失。4. 常见问题与排查技巧实录4.1 装配后像质与仿真不一致这是项目中最常遇到的问题几乎每次打样都会碰到。方向不对的时候结构工程师和光学工程师会互相甩锅一个说“结构没问题”一个说“仿真没问题”最后折腾半天发现是某个环节的数据源对不上。我建议的排查顺序是固定的能省很多时间先查镜片实物参数。拿镜片面形仪实际测一下每一片的曲率半径和厚度和光学图纸对比。镜片加工超差远比结构超差常见而且一旦发生所有的装配调试都白做。再查空气间隔。用三坐标或者塞尺实测装配后的镜片间隔和设计值对比。很多时候是止口台阶高度加工错了导致间隔偏了零点几个毫米。最后查装配应力。用干涉仪看透射波前如果出现规则的“星形”或“三叶草”形状的像差基本可以断定是压紧力不均匀导致的面形变形。按照这个顺序排查大多数问题能在半天内定位比盲目调这个松那个快得多。4.2 镜片压合后开裂小口径镜片在压圈锁紧时开裂是结构工程师最怕的事故。原因通常是三类一是支承端面和压圈端面的平行度超差。镜片被夹在两端面之间受力不均边缘局部压应力过大产生裂纹。排查方法是装配前用千分表打一下两个端面的平行度控制在0.005mm以内。二是压紧力传递路径不合理。压圈是金属件直接接触玻璃边缘力集中在圆周上很小的接触线附近。镜片边缘如果有微小的倒角崩口或者内应力这圈接触线就成了裂纹起点。改善措施是压圈端面车一个0.20.3mm宽的锥面只让压圈内侧棱边接触镜片倒角的外侧尽量让合力落在镜片边缘的斜面上而不是直接压在镜片端面上。三是温度冲击配合间隙不合理。镜片外径和镜室内孔之间如果没有足够的径向间隙低温时镜筒收缩比镜片快直接把镜片“箍”碎。这个在设计阶段就要校核热膨胀差留出足够的径向间隙一般单边间隙不小于0.020.05mm具体看口径大小和工作温差。4.3 装配一致性差拆装后性能漂移如果同一批次的镜头在同样装法的情况下有的像质很好有的很差而且拆开重装后指标还变了这基本可以判断是定位结构“过定位”或者“欠定位”的问题。“过定位”指镜片的位置被多个特征同时约束但这些特征本身是有加工误差的互相矛盾导致镜片每次装到一个略微不同的位置。比如端面A和圆柱孔B都提供定位但A面跳动和B孔同轴度都不完美镜片装上后实际位置是两者妥协的结果不重复。解决办法很直接把定位改成“一面一孔”或者“一面三点”的确定性定位。镜片的轴向位置由端面决定径向位置由内孔或者外圆决定其他方向全部让开不要增加多余的约束。这样装配的可重复性会显著提高。4.4 温度循环后像质劣化环境试验里常见的现象是高低温循环之前各项指标都正常循环几十个小时后拿出来再测像质变差了而且不是简单地恢复不过去。这种情况最大的嫌疑是“应力松驰后的残余位移”。胶装镜片如果胶层选择不当固化后在温度循环中产生了蠕变镜片位置发生了微米级的永久偏移。或者镜筒材料有轻微的内应力在温度循环中被释放导致安装面发生了微小翘曲。排查时要先确认是“位置偏移”还是“面形变形”用干涉仪测透射波前如果是整体波前的倾斜项和离焦项超差大概率是镜片位置偏移了如果是高阶不规则项超差大概率是镜片面形被应力改变了。这两个方向的解决思路完全不同前者要改胶水和固定结构后者要改支承方式和压紧力。4.5 常见问题速查表整理一个我们内部常用的排查速查表供遇到问题时快速对照现象优先排查项常用工具装配后MTF下降镜片间隔偏差、镜片偏心三坐标、Zygo干涉仪波前出现三叶草像差压圈受力不均、支承面翘曲干涉仪、千分表温度循环后间隔变化结构件内应力释放、胶层蠕变二次测试对比、应力仪振动后像质下降压圈松动、镜片微转拆解检查、划线标记镜片碎裂端面平行度超差、压紧力过大千分表、扭矩扳手同一批次一致性差定位结构不稳定、零件公差叠加过程能力分析Cpk5. 跨学科协作的流程管理心得5.1 建立共同语言和评审机制技术层面的协作细节讲了很多但贯穿项目始终的其实是流程管理和沟通机制。再好的技术方案如果两个工程师之间的信息传递是断的实施起来照样一地鸡毛。我的经验是每个项目启动时先花半天时间拉通“语言”光学工程师给结构工程师讲一遍这套系统的敏感度最高的是哪几个自由度哪些位置公差是“死命令”哪些是“软指标”。结构工程师给光学工程师讲一遍哪些结构方案会带来额外的公差风险哪些装配工艺环节是过程不可控的。然后双方一起在两页A4纸上画清楚“从镜片加工到整机装配”的流程标出每个环节负责的人和验收标准。后面每次技术评审都拿这张图对照谁负责的环节出了问题就找谁改不互相扯皮。5.2 打样验证一定要尽早做结构设计画图阶段花再多时间讨论方案都不如一次快速打样来得直白。我强烈建议在正式开模具或大批量加工之前先用机加工方式打样一套镜筒用成品镜片实际装配一遍把安装力、间隔、干涉仪测量跑通。原因很简单仿真和计算能发现大多数问题但装配过程中那种“动手才会发现”的细节比如压圈螺纹手感不顺、镜片放进去的时候碰了边缘、胶水涂抹位置被压圈遮挡这些只能靠实际装一遍才能暴露。打样验证的成本很低但通常能省出后面几周的返工时间。5.3 数据和记录是协作的基础跨学科协作中最容易丢失的是数据链路。光学设计文件更新了一版结构这边用的还是旧版装配记录表没有完整记录每个镜片的实侧面形数据导致后续异常分析时缺少关键输入。我的习惯是设置一个共享的项目文件目录规则很简单光学设计文件版本号 日期结构只能读取不能修改。结构设计文件版本号 日期光学工程师需要复查时锁定评审。装配记录表每台样机一个编号记录每个镜片实测数据、装配扭矩、间隔测量值、干涉仪截图。这个习惯在问题排查时价值巨大。有一次客户反馈一台镜头成像模糊我们靠装配记录表直接定位到某一批镜片的面形数据有异常而不是猜来猜去。最后说两句实在话如果你问我做镜片组装设计这几年最大的体会是什么我会说这个活儿本质上不是一个纯粹的技术问题而是一个“翻译”问题。光学工程师用波前、MTF、像差的语言描述需求材料和加工供应商用公差、工艺、成本的语言描述能力结构工程师站在中间两边的话都得听懂还得把两边的需求翻译成可落地的图纸和工艺。刚开始做这个方向时我也犯过拿着光学公差表对着加工厂咬文嚼字的错误也踩过连续支承端面压坏面形的坑。后来渐渐摸到门路先理解光学系统的敏感度分布再设计固定方案然后用实验数据验证最后把所有参数固化到工艺文件里。这套流程走顺了以后镜片组装设计这个活儿就从一个“玄学”变成了一门可以稳定交付的工程学科。你现在如果正要开始一个类似的项目记住一点就够了不要等图纸全画完了再去和光学工程师对公差而是从方案设计的第一天开始就把光学敏感度数据摆在结构设计文档的最前面。那些成熟的镜头设计公司能稳定交付一大批产品靠的正是这种把跨学科沟通前置到设计源头的习惯。做到这一点你已经比绝大多数团队跑得快了。
返回列表