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

文章详情

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

PCB飞针测试全流程指南:从原理、编程到调试的实用手册

PCB飞针测试全流程指南:从原理、编程到调试的实用手册 PCB做出来之后怎么快速知道它有没有短路、断路这是每个硬件工程师和PCB工程师都会遇到的问题。飞针测试就是解决这个问题的关键手段之一。去年我系统性梳理了一遍从零开始学习PCB飞针测试的流程从测试理论、文件准备、程序生成到上机调试都走了一遍过程中踩了不少坑也整理了一些排查思路。这篇文章就按实际操作的顺序把飞针测试全流程拆开揉碎讲清楚内容包括测试原理、编程准备、常见报错处理和实用避坑技巧适合刚接触飞针测试的新手工程师也适合想优化产线测试流程的硬件从业者参考。1. 先搞清楚飞针测试到底在测什么1.1 飞针测试在PCB制造流程中的位置一块PCB从设计图纸变成实际板子中间要经历很多道工序包括钻孔、沉铜、电镀、阻焊、丝印、表面处理等等。加工过程中可能因为对位偏差、药水残留、铜屑短路等原因导致电性能出现异常。飞针测试就是在这个阶段通过探针接触板上焊盘用电学方式验证各网络之间的连接关系是否正确。在测试层级上飞针测试和AOI属于“搭档关系”AOI主要看外观比如少锡、偏移、异物、焊点不良飞针测试则看电性能比如短路、开路、阻值异常。两者侧重点不同AOI发现不了微短飞针测试也看不到外观问题。规范一点的产线流程通常是“AOI先看外观飞针再测电性”两道关卡配合使用。飞针测试和ICT在线测试也经常被放在一起比较。ICT需要制作针床治具也就是一块顶针密密麻麻的专用夹具一次性接触板上所有测试点。优点是速度快适合大批量生产缺点也很明显——治具贵、制作周期长板子一改版治具就报废。飞针测试则是通过机械手臂移动探针逐点接触测试点属于“无治具”测试。它测试速度比ICT慢很多但不需要制作治具编程相对灵活特别适合样品阶段、小批量以及频繁改版的板子。我平时做样品和小批量比较多飞针测试是主力手段。批量到了上万片的项目才会专门做ICT治具两种方式各有分工不是替代关系。1.2 飞针测试的检测项开路、短路、阻值、电容和二极管飞针测试的底层原理并不复杂本质上是“两点测量法”两根探针分别接触板上的两个测试点施加测试信号测量回路上的电参数再对照设计文件里的网络表来判断是否合格。最常见的检测项是开路和短路测试。这种方法把板上的网络两两组合测量它们之间的绝缘电阻和导通电阻。如果一个网络内部本应导通的点位之间测出来是高阻说明存在开路如果两个本应绝缘的网络之间测出来是低阻则说明存在短路。测试范围覆盖整个板面有点类似“给每个网络做一次体检”。除了最基础的开短路测试飞针测试还能测量电阻值、电容值和二极管方向。比如测量一个贴片电阻的实际阻值是否在标称范围内测量电源和地之间的去耦电容是否贴装正确或者判断一个二极管是否反向装反了。这些功能在验证样品时非常实用相当于一个低配版的ICT。不过要注意飞针测试不能替代功能测试FCT。飞针测试验证的是“电路连接是否正确”FCT验证的是“整板功能是否正常”。前者查硬件基础后者查系统表现两者不在一个维度。1.3 哪些场景更适合用飞针测试我见过的应用中飞针测试主要用在下面几类场景第一类是PCB样板的电气验证。刚打样回来的板子焊接元件之前先做一次飞针测试确认内部网络没问题再投料焊接。这样能避免因为PCB本身短路导致贴片后排查困难。第二类是小批量多品种的生产场景。比如一批板子有十几种型号每种的量只有几十片开ICT治具完全不划算飞针测试改个程序就行灵活度高。第三类是柔性板、刚挠结合板这类不适合制作治具的板型。柔性板容易变形顶针接触不稳定飞针测试通过程序控制探针轻触配合专业载具能有效避免物理损伤。还有一种高价值场景是返修验证。板子修好之后对维修区域做定向飞针测试确认更换元件后的网络连接恢复正常比整板功能测试更精准。2. 编程之前先备齐这三类文件2.1 坐标数据探针要能找到每一个目标飞针测试程序的核心是坐标。每根探针要移动到哪里去接触点完全依赖坐标数据。坐标数据一般从EDA软件中直接导出AD、Allegro、PADS、嘉立创EDA都有导出坐标文件的功能。我第一次做飞针程序时踩过一个坑导出的坐标原点和飞针机的原点不一致导致探针全部偏了。后来养成了习惯每次导出前都会确认三件事单位使用毫米还是密耳原点设在板边还是拼板左下角导出的板子是否包含工艺边。这些信息如果不一致程序跑起来就会错位轻则测试点对不上重则探针撞板。坐标文件格式各家设备略有差异但本质上都包含元件位号、所在层、X坐标、Y坐标、旋转角度这几项。重要的是确保坐标文件中包含过孔和贴片焊盘的坐标不只是元件中心坐标。因为探针需要落到具体的网络点上元件中心并不等于可接触的测试点。2.2 网表数据判定合格与否的“标准答案”坐标文件告诉机器“去哪里碰”网表文件告诉机器“应该测到什么”。飞针测试程序通过网表来知道哪些网络之间存在连接关系、哪些网络之间应当绝缘。网表文件的常见格式是IPC-356这是PCB行业通用的网络表输出标准绝大多数EDA工具都能生成。IPC-356文件里记录了每一块板的层叠信息、每个网络的节点坐标以及网络间的连接关系。飞针测试软件解析完成后会自动生成测试点对也就是程序要测量的探针组合。需要注意的是IPC-356文件和坐标文件必须来自同一版本的PCB设计数据。板子改了一版网表却没更新测试时就会出现一批假Pass——程序测的是旧设计板子却是新设计问题板直接放过去了。这种错误特别隐蔽表现出来就是“飞针测试全通过但板子上机就故障”。如果拿不到IPC-356文件有些飞针设备可以从Gerber文件和钻孔文件Excellon格式反推网络关系。这种方式虽然可行但处理时间更长而且遇到铺铜区域、孔壁镀层等信息不完整时生成的网表可能不够准确。能用EDA原生导出的IPC-356就尽量不用反推方式。2.3 原理图与BOM辅助核对网络名称和元件参数很多人以为飞针测试编程只要坐标和网表就够了其实原理图和BOM也很有用。尤其在首板调试阶段如果测试报错需要快速定位“是不是某个元件焊错或贴反”这时候原理图和BOM就是排查利器。实际项目中设计工程师给的网络名称有时候会不符合设备命名规则比如包含空格、斜杠、中文等特殊字符飞针测试软件解析时可能报错。这种问题就可以结合原理图确认实际网络然后在网表中做重命名处理。BOM参数则主要用于设定阻值、容值的测试公差。比如一个4.7kΩ的电阻测试程序要设定判定上限和下限一个10μF的电容也要根据容差范围设定测量阈值。BOM里的精度等级就是设定依据常见的贴片电阻精度有1%、5%电容有±10%、±20%阈值至少要比精度范围留出余量否则会出现良性误判。3. 飞针测试程序编制的完整流程3.1 新建测试任务并导入设计数据飞针测试软件的界面各厂商有所不同但核心操作流程一致。一般步骤是新建任务填写板名、板号和版本号导入坐标文件和网表文件导入板框文件和工艺信息软件自动生成测试所需的工程数据。导入时需要重点确认层数和正负片设置。多层板的内电层如果是负片网表中网络的定义和正片不一致会直接影响短路判定结果。特别是一些电源层、地层采用了负片设计如果导入时选错层属性探针就会在明明应该绝缘的网络之间测出导通产生大量误报。数据导入完成后软件一般会生成一个测试点分布图。我习惯先看一眼整体分布情况比如测试点是否集中在板边、某个区域是否完全没有测试点。如果分布严重不均后面测试时探针路径会很长效率明显下降。3.2 测试点选择自动选点与手动补点飞针测试软件通常具备自动选点功能算法会自动从每个网络中选择合适的物理位置作为测试点。选择原则一般有几个优先选择通孔焊盘和专用测试点因为它们的可靠接触性更好优先选择器件少、高度低的区域方便探针接触避开丝印区域、阻焊桥较窄的位置和元件密集区域。但自动选点不是万能的。对于大面积的铺铜网络自动选点可能会选到铺铜的边缘区域那里接触面积不够稳定容易在测试时产生开路误报。对于这类网络我会手动添加测试点选择铺铜上专用的方形或圆形测试点焊盘甚至补充两个以上测试点这样即使一个点接触不良软件还能用另一个点做确认。测试点间距也要特别注意。飞针机的探针有一定直径两根探针的距离如果过近移动时可能发生碰撞或者同时接触同一个焊盘导致信号串扰。一般飞针设备会给出最小安全间距参数选点时软件会自动规避但手动补点时我仍会留意。对于间距不足的测试点对宁可换一个位置也不要强行保留。3.3 测试路径优化跑得越快效率越高飞针测试程序生成后有一个优化步骤容易被新手忽略——路径优化。测试路径决定了探针在板上的移动顺序路径不合理会导致测试时间成倍增加。飞针测试软件一般会自动计算优化路径基本原则是让探针按照就近原则遍历测试点减少来回跑的距离。同时还要规划两根探针的配合方式避免两个测试头互相干扰。我通常会把类似的网络类型分组排序。比如先把所有开短路测试点按区域分组再对关键网络做单独测量。这样虽然编程时多花几分钟但批量测试时的效率提升很明显。有一款板子优化前后对比单片测试时间从4分钟降到2分半效果相当可观。3.4 阈值设置判定标准的设定逻辑测试阈值是飞针测试程序中最关键的参数。阈值设得太严格好板子可能被误判设得太宽松坏板子可能漏过去。以开短路测试为例开路判定一般基于导通电阻上限。常规FR-4板铜箔走线电阻通常在几欧姆到几十欧姆带过孔链路的网络电阻会更高。我常接触的信号板开路阈值通常设在20Ω到50Ω之间也就是说网络内两点间测得的导通电阻超过这个值就判定为开路。不同板材和布线方案差异很大设定前最好用万用表实测几个典型网络的电阻值再按实测值乘以1.5到2倍作为阈值。绝缘测试是测两个网络之间的绝缘电阻判定标准通常设为1MΩ到10MΩ。这是考虑到PCB表面正常绝缘电阻一般都大于几十兆欧低于这个范围往往意味着板面有异物、微短路或者基材不良。阻值测量类测试则需要根据BOM精度设定上下限。比如一个10kΩ±1%的电阻测试范围可以设为9.85kΩ到10.15kΩ留出探针接触电阻余量。元件容差越宽阈值范围越大但也不能一味放宽否则电阻贴错比如10kΩ贴成100kΩ时程序会因为范围太宽而测不出来。4. 上机测试从首板试测到批量运行4.1 首板试测校验程序消除隐性问题程序编制完成之后真正上机测试不是直接批量跑而是要先做首板试测。首板试测的校验项目主要有三个设备基准点对准情况、探针接触状态和测试结果正确性。首先将首板放到测试台上固定好位置。飞针机一般通过光学镜头识别板边MARK点或定位孔来建立坐标系。如果程序中的基准点与实物对不上探针的落点就会出现偏移。开机后先缓慢跑一遍定位流程观察镜头能否准确捕捉到标记点是首板调试的第一步。其次测试过程要留意听声音、看痕迹。探针接触焊盘时有轻微“嗒”的声音移动时声音均匀说明走位正常。测试完成后打开板子用放大镜检查测试点上的针痕。正常针痕应该是小而清晰的圆形压痕如果出现明显划伤说明探针在焊盘上有滑动可能是落针高度或角度不对。最重要的校验是用万用表复测。首板测试如果出现误报项先不要急着调整程序拿万用表实测对应网络确认是板子真有问题还是程序判定问题。同理如果首板测试全Pass我也会抽样几个关键网络用万用表确认排除假Pass的可能。4.2 探针压力与接触可靠性的平衡飞针测试有个常见矛盾压力太小探针与焊盘接触不充分测出虚假开路压力太大焊盘表面留下针痕严重时甚至会压伤焊盘影响后续焊接。探针压力的调整没有固定标准与探针型号、焊盘材质、表面处理方式都有关。一般来说喷锡板表面较粗糙需要略大的压力保证接触沉金板表面平滑压力可以稍小。我常用的方式是先设置一个中等压力值试测后用显微镜观察针痕如果针痕清晰但没有破坏阻焊层说明压力合适。探针磨损也是影响接触可靠性的重要因素。使用一段时间后针尖会磨损变形接触面积变大导致测试电阻升高。定期检查针尖状态必要时及时更换探针能让测试结果稳定很多。我通常每测完一批板子就简单清洁一下针尖如果发现经常误报开路优先排查针尖是否磨损。4.3 批量测试做好设备防呆和机种切换首板试测通过后就可以进入批量测试。批量测试前要确认几件事测试板的朝向是否统一、拼板间距是否一致、设备真空吸附是否正常。机种切换时最容易出问题的是程序选错。设备里往往保存了很多机种的测试程序选错程序不仅测不出问题还可能让探针撞板。我的习惯是在程序文件名上明确标注“板号版本号日期”每次切换机种时核对一遍文件日期和版本确认无误后再启动。对于拼板虽然飞针测试一般不需要像ICT那样开治具但拼板之间的位置精度会影响测试点坐标。如果拼板间距有轻微偏差首测可能需要微调坐标系。V-CUT分板后板翘变形严重的测试时探针可能因为板面不平产生接触不良这时要用夹具辅助压平或者减少一次性测试的跨区域移动。5. 进阶测试模式四线测试与特殊测量5.1 四线测试叩开毫欧级测量的大门常规两线测试受探针接触电阻影响能稳定测量的下限大约在数百毫欧到几欧姆级别。但有些应用场景需要测量更小的电阻比如电源模块中功率走线的环路电阻、连接器的接触电阻、保险丝的熔断电阻等这些阻值往往只有几十毫欧甚至更低。这就需要用到四线测量也就是常说的开尔文测试。四线测量使用四根探针接触被测点两根作为电流源探针通入恒定电流另外两根作为电压探测探针测量电压降。因为电压探测回路中几乎没有电流所以探针接触电阻对测量结果的影响可以忽略能测量毫欧级的小电阻。飞针设备支持四线测试但测试程序要比两线测试复杂一些需要为每个被测网络找到两个独立接触点。通常要求网络上有两个测试点焊盘或者一个焊盘加上一个过孔。如果板上没有预留足够的测试点四线测试就无法覆盖所有目标网络。这也提醒设计和测试人员在板子设计阶段就要考虑测试点预留。5.2 电容测试与二极管极性测试电容测量是飞针测试另一个常用功能。测量原理简单说就是通过对被测电容器充放电计算出容量值。这个功能对排查电源附近的去耦电容贴装是否正确特别管用。我在测试电源板时会为板上的大容量储能电容单独建一个测量项。比如一个标称100μF的电解电容程序设定上下限后如果实际容量偏低可能是电容本体问题如果完全测不到容量多半是电容虚焊或者方向焊反了。二极管极性测试的原理是利用二极管的单向导电性。探针分别接触二极管两端正反两个方向各测一次正常应表现为一次导通、一次截止如果双向都导通说明二极管击穿双向都不导通则可能虚焊或装反。这类测试在飞针机上属于标准功能用好之后能省下不少手工烙铁验证的功夫。5.3 高压绝缘测试提升微弱漏电的检出能力普通绝缘测试用的测试电压通常只有几伏到几十伏对于绝缘层内部潜在微短路可能测不出来。有些飞针设备支持施加上百伏甚至更高的测试电压来提高绝缘缺陷的检出率。高电压测试主要用在一些对绝缘性能要求严格的板子比如电源板的高低压隔离区域、安规相关板卡。开启高电压测试时设备会输出设定的电压值持续一段时间测量漏电流是否在允许范围内。高电压测试会增加程序时间和设备损耗不建议整板所有网络都使用。我通常只对重点安全区域比如初次级之间、不同电压域之间单独添加高电压测试项。批量测试时高电压测试的速度本来就慢玩成“全板高压扫”会严重影响产能。6. 常见问题排查与避坑技巧6.1 误报率异常偏高的排查方向飞针测试经常遇到误报也就是好板被判定为不合格。遇到误报我的排查顺序一般是先检查测试点接触状态再检查测试点位置最后检查阈值设置。先看针痕。如果某个点经常误报且针痕位置偏了多半是板子定位或基准点有问题。如果针痕位置正常但接触不稳定可能是焊盘表面氧化或者是探针尖磨损。喷锡板放置时间太长焊盘表面会氧化接触电阻变大这种情况在烘烤或者重新洗板后通常能改善。其次看测试点是否落在了过孔边缘。自动选点有时会选择过孔作为测试点如果过孔尺寸小且没有盖油探针接触边缘或孔口接触面积不稳定导致电阻测试值跳变。这种问题只要把测试点换成旁边的独立焊盘就行。如果接触没问题再看阈值。有的工程师为了追求高检出率把开路阈值设得特别低结果很多走线较长、带有多个过孔的网络都被误判为开路。合理的做法是先万用表实测该网络电阻按实测值适当放宽阈值。6.2 假Pass问题比误报更值得警惕误报虽然麻烦但没有漏掉真正的坏板假Pass才是最危险的——问题板从眼前溜走直至整机测试才暴露。假Pass的几个常见原因我整理成了一个速查表常见原因典型现象排查与解决网表未更新板子改版后仍用旧版本测试程序核对测试程序的导出日期与板子版本测试点遗漏部分网络没有分配测试点查看测试点分布图确认覆盖率测试点选择不当两个网络测试点距离过近探针同时触碰调整测试点位置拉开间距绝缘阈值过松存在微短路但阻值高于阈值下限适当降低绝缘电阻阈值或提高测试电压程序缺少关键网络只在网表中筛了一部分网络对比IPC-356与设计数据确认网络完整性针对假Pass我还有一个笨但有效的方法用已知好板和已知坏板各一片专门用来验证测试程序的有效性。新程序调完先用坏板测确认能报错再用好板测确认不误报。这套“双校验”流程虽然多花一点时间但大大降低了漏测风险。6.3 探针保养测试稳定性的隐形保障探针保养是容易被忽略的环节但它直接影响测试结果的可靠性。飞针机的探针属于消耗品随着使用次数增加针尖会磨损、沾污导致接触电阻升高、测试数据漂移。日常保养的重点是定期清洁针尖。设备一般配有针尖清洁装置用细砂纸或特殊清洁垫摩擦针尖去除氧化层和污物。清洁频率取决于测试板的表面工艺和测试量喷锡板容易脏针头我一般在每班次结束后清洁一次沉金板可以适当拉长间隔。针尖磨损到一定程度后清洁无法恢复接触性能必须更换。判断标准是针尖出现明显变形、针痕变大变散、测试误报率持续上升。备好同一型号的替换针现场更换并不复杂但要注意更换后重新校准探针位置否则落针点会偏移。6.4 从测试结果反推PCB设计问题飞针测试不仅能筛选成品还能反馈设计阶段的可测性问题。我见过不少板子测不出来是测试人员的锅追问下去其实是设计阶段测试点没规划好。如果一块板经常在特定网络区域误报有可能是设计中测试点间距过小、测试点与元件干涉、或者铺铜散热导致焊盘温度异常。这类问题的根本解法不是调整测试程序而是在设计阶段就做好DFT设计。现在主流EDA工具都有测试点分析功能可以自动查找可用的测试点位置并生成测试报告设计时花点时间检查一下后续生产会省心很多。做过一段时间飞针测试之后再回头看我认为它不只是产线环节里的一个“过站”更是连接设计和制造的一座桥。测试结果能够暴露出设计上的可测性短板也能反映生产过程中的工艺波动。所以我也越来越建议做PCB设计的朋友在出板之前用飞针测试数据回头审视一下自己的设计看看哪些点不太好测、哪些网络容易误报这些经验积累起来对新项目的帮助非常直接。最后再分享一个我一直保留的小习惯——每次做飞针测试程序我都会把对应的网络表打印一份纸质文件放在手边。调试时用惯了电子档但真遇到设备报错、现场沟通时纸板能快速翻阅网络对应关系也方便和同事一起核对效率反而更高。
返回列表