ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Allegro 17.4 钻带与锣带生成全攻略:从NC Drill到CAM350回读

Allegro 17.4 钻带与锣带生成全攻略:从NC Drill到CAM350回读 去年一块双面板回板后做整板测试发现电源模块的安装孔对不上外壳。板厂返修时反馈光绘文件里的槽孔位置是对的但锣带.rou里根本没有这些槽生产线只能按钻孔文件把四角打穿装上去自然对不齐。这个锅最后在我自己头上出 NC Route 时选漏了层把槽孔层漏掉而 Allegro 17.4 并不会在输出记录里提醒你“这里没有槽”。从那以后我对 .drl 和 .rou 这两个小文件的敬畏程度不亚于对叠层设计。严格来说钻带.drl并不属于 Gerber 格式但它和光绘文件一起构成了板厂需要的完整生产数据集合。这篇文章主要针对 Allegro 17.4 版本把圆孔钻带文件 .drl 和槽孔锣带文件 .rou 的生成流程讲透包括为什么要分两个文件、出文件前要确认哪些参数、NC Drill 和 NC Route 每个选项的实际含义以及最后用 CAM350 回读验证时最容易踩的坑。适合正在用 Allegro 做 PCB、准备投板但还没完全弄懂钻带/锣带细节的工程师也适合被板厂退回文件后想彻底搞明白原因的朋友。1. 先把 .drl 和 .rou 的分工搞清楚板厂拿到文件后到底在做什么1.1 一台钻机、一台锣机两类文件的物理基础不一样PCB 上的孔机械上分两种加工方式钻和锣。钻机是一根高速旋转的钻头垂直往下打只能打出圆孔锣机则像一把铣刀带着刀具在板面上走 X/Y 轨迹可以切出槽、异形孔、板框轮廓。板厂的 CAM 工程师拿到你的文件后会把 .drl 文件输入钻孔机把 .rou 文件输入锣机。两台机器、两套程序、两道工序所以这两个文件天然就是分开的。不少人刚接触时有个误区既然都是“孔位数据”为什么不能把槽孔也写进 .drl 里让钻机一起打实际上钻机在槽孔两端各打一个圆孔是可以的但打出来的孔中间会残留材料还要靠锣机走一刀修成完整的槽等于多一道工序。所以正规流程就是圆孔走钻带槽孔走锣带各管各的。1.2 为什么圆孔和槽孔不能混在一个文件里除了机器不同还有一个控制逻辑的问题。.drl 文件的每一行本质上是一条“钻头在某个坐标打一刀”的指令配一个刀具号 T01/T02每把刀对应一个孔径。而 .rou 文件里记录的是“刀具沿着一条路径走”的中心轨迹配合刀具直径来定义最终切出来的形状。两种文件的坐标解释方式、刀具定义方式、单位格式写法都不一样硬塞在一起轻则板厂读不出来重则把槽孔位置算错。我在实际项目里见过最典型的一次同事图省事把一个 3mm×8mm 的安装长孔画成了三个 3mm 圆孔叠在一起想让板厂加工时靠三个钻刀痕连成槽。板厂确实做出来了但槽壁呈现波浪形螺柱穿进去会卡最后只能报废。正确做法就是在板子上画真正的槽形轮廓让 NC Route 输出 .rou 文件。理解了这个分工后面去看 NC Drill 和 NC Route 的菜单思路就顺了。2. 动手出文件前必须确认的三件事单位、刀具表、钻孔符号2.1 单位制Allegro 数据库单位与输出格式的匹配Allegro 17.4 里 PCB 设计单位可以是 mil也可以是 mm。出钻带前一定要去确认当前设计单位并且让输出格式和设计单位尽量保持一致。比如设计单位是 mm那么 NC 输出也选 Metric设计单位是 mil输出就选 Inch。如果设计用 mm、输出却选了 InchAllegro 会做一次单位换算换算本身没问题但你在 CAM350 里回读时一旦选错单位整板孔位就会整体偏移 25.4 倍看起来像灾难现场其实只是单位设置不一致。提示单位不匹配是钻带文件最隐蔽的问题。用 CAM350 回读时钻孔数据叠加在光绘上“差一点点”或“差很多”先别怀疑坐标先检查单位和格式。在 Allegro 17.4 里出 NC 文件前建议先打开 Setup Design Parameter Editor在 Design 页签下看 User Units记下当前单位。然后在 Manufacturing NC NC Parameters 里把对应单位的参数统一下好再进 NC Drill / NC Route。这套动作几十秒就够但能省掉后面一小时的排查。2.2 刀具表自动选刀与刀径合并的底层逻辑NC Drill 对话框里有一个 Auto tool select 选项很多人不清楚它是干什么的。简单说Allegro 会根据板子上实际用到的钻孔尺寸自动生成一把一把的刀具输出到 .drl 文件头部。勾选这个选项后它会自动排除那些“曾经定义过、但板子上已经不存在”的孔尺寸。如果不勾板子里就算只有一颗残留的旧孔也会被算成一把刀板厂就得为这一颗孔单独装一次刀多花时间还可能报错。另外要注意的是Allegro 不会自动帮你合并相近孔径。比如板子上有 0.3mm 和 0.35mm 两种过孔物理上完全可以统一成 0.35mm 来减少一把刀、降低成本但 Allegro 只会原样列出两把刀。我一般习惯在投板前用 Tools Reports 里的孔报告看一遍刀具清单如果发现相近孔径就返回原理图或封装把孔统一掉。尤其是 0402 小封装、高密度板少一把刀意味着板厂换刀次数减少交期和价格都可能更好谈。2.3 钻孔符号NC Legend 能否画得出来的关键钻孔符号Drill Symbol是 Allegro 里用来在 PCB 图纸上标注“这个位置是什么孔径”的字符标记通常显示在钻孔层或装配层。它不影响 .drl 文件的生成但会影响你输出的钻孔图纸NC Legend是否完整。NC Legend 生成后板子上每个孔位会带上一个字母或数字对应一个孔径表。板厂 CAM 工程师看孔位图纸时就是靠这张表快速核对。如果出 NC Legend 时报错或图上没有符号多半是当前 board 里没生成 Drill Symbol。这时候可以回到 Manufacturing NC NC Drill 对话框在生成钻带的同时让 Allegro 创建默认钻孔符号之后再用 Manufacturing NC NC Legend 把图放到 PCB 上。我的经验是哪怕最后交板不需要图纸也应该生成一次 NC Legend 截图存底。后期板厂打电话问你“T03 是多大孔”时你翻出截图就能直接答。3. NC Drill 生成 .drl 的完整操作与每一项参数的含义3.1 NC Drill 对话框逐项设置在 Allegro 17.4 里依次点击 Manufacturing NC NC Drill会弹出钻孔输出窗口。这张对话框里每一项都值得认真核对我按实际填写顺序说明。Output file输出文件名。默认可能叫 drill_1-2.drl 或类似名字建议改成含版本号的名字比如 V1.2_drill.drl。板厂每天收大量文件一个清晰的文件名比写在邮件里更不容易被忽略。Drill output type选择 ASCII / Excellon。这是钻机最通用的格式基本所有板厂都认。有些工程师会选 NC Drill 格式Gerber 风格但我个人不推荐除非板厂明确要求否则默认 Excellon 最省事。Tool sequence选择 Ascending。意思是刀具从小到大排列。厂里钻刀从细到粗换刀按升序输出可以减少换刀次数也方便机器识别。Auto tool select勾选。这个前面说过能自动排除未使用刀具。务必保持勾选。Excellon format确保勾选否则输出的不是标准 Excellon 语法部分板厂 CAM 软件会报错。对话框下方还有坐标格式和补零方式的选项这两个最容易出错单独放到下一节讲。3.2 坐标格式与补零方式怎么选Excellon 文件里的坐标是一条数字比如 X5625Y3325它必须配合一个“格式”才能被正确还原成 56.25、33.25。格式里的两个数字分别表示整数位和小数位。例如 3:3 表示“整数 3 位 小数 3 位”。Allegro 17.4 里这些参数一般在 NC Parameters 中设置也可以在 NC Drill 对话框里看到当前值。不同单位下推荐用的格式不一样设计单位推荐格式说明mm公制3:3精度 0.001mm满足绝大多数板子mm公制2:4精度更高坐标文件略大高密度板可用mil/Inch英制3:4精度 0.0001inch约 0.00254mm常用mil/Inch英制3:3精度只有 0.001inch孔位容易偏移不推荐格式旁边的“补零”选项更让人懵。所谓 leading zero suppression前导零压缩就是把坐标前面的 0 去掉比如 005.625 写成 5.625trailing zero suppression后导零压缩就是把后面的 0 去掉比如 5.600 写成 5.6。板厂的读码器必须用同样的规则才能还原。这个没有绝对的对错完全取决于板厂 CAM 系统的设定。我的做法是投板前直接在工艺要求里写清楚“Excellon, metric, 3:3, leading zero suppression”并且让板厂确认。大多数板厂支持两种但你不写他们只能猜。3.3 输出后的文件清单.drl、.log、.tap 各是什么点击 Drill 按钮后你会看到工作路径下多出几个文件。.drl 是核心钻带文件.log 或 .txt 是输出日志里面记录了每一把刀的编号、孔径、钻孔数量部分版本还会生成 .tap 文件或中间文件。很多人只看 .drl 有没有生成从来不打开 .log。实际上 .log 是快速自检的第一手资料里面如果有 ERROR 字样或者孔数与设计差几百不用 CAM350 回读就知道有问题。我习惯在生成后立刻打开 .log重点核对两处刀具数量是否与设计一致每种刀具统计的孔数是否与预期相符。比如板上有 200 个 0.3mm 过孔日志里写 198那就说明有 2 颗孔没算进去多半是封装属性有问题这时候直接去 PCB 上查比等板厂反馈快得多。4. NC Route 生成 .rou 槽孔文件画法决定输出质量4.1 槽孔的正确画法板级槽与焊盘槽的区别Allegro 17.4 里的槽孔来源主要有两种一种是在封装Padstack里定义的异性焊盘孔比如长圆形、矩形、U 形另一种是板级结构槽直接在 PCB 上画出来的安装槽、走线槽、通风槽。如果是封装里的槽孔例如 AC 插座引脚、端子台、继电器焊盘应该在 Padstack Editor 里把 Drill Shape 设置成 Oval Slot 或 Rectangle这样放置封装时槽孔会跟着封装走生成 .rou 时 Allegro 会自动识别。如果是板级结构槽推荐画在 Board Geometry 类的 Mill 层或 Slot 层画完整的闭合轮廓。很多新手在这里踩坑画槽孔时只用 Line 画了一条中心线然后觉得宽度由 Route Bit Size 控制就够了。这个思路在 NC Route 输出时并不可靠因为锣带程序需要知道的是“刀具要沿什么路径走、切削范围到哪里”一个没有闭合的轮廓容易让 Allegro 输出异常路径。正确做法是把槽孔实际轮廓画出来比如 1.2mm 宽、6mm 长的槽就画一个 1.2×6 的闭合矩形或长圆形再让 NC Route 去生成路径。4.2 NC Route 参数Route Bit Size 为什么不能随便填点击 Manufacturing NC NC Route出来的对话框和 NC Drill 很像但多了一个关键参数Route Bit Size锣刀直径。这个参数代表锣机实际使用的刀具直径直接影响槽孔能否加工出来。Allegro 17.4 里默认值可能是 2mm如果你的最小槽宽只有 1mm而你没改这把刀输出到板厂后板厂 CAM 一看这个值就知道有问题会打电话来问“是不是要换刀”来回沟通浪费半天。更严重的是如果程序里刀具直径大于槽宽锣机切出来的槽会比设计宽或者根本切不出来。我给你的直接建议Route Bit Size 设置成小于等于设计中最窄槽宽的前一个刀具规格比如最小槽宽 1.2mm设 1.0mm 或 1.2mm 都行如果槽宽种类多可以统一一把常用锣刀让板厂按实际槽宽调整。对话框里的 Feed rate、Plunge feed、Retract rate、Spindle speed 等参数生产意义没有想象中那么大板厂通常会按自己的工艺参数覆盖。但 Allegro 会把它们作为注释写入 .rou 文件所以也别写得太离谱填板厂的主流参考值即可。4.3 异形孔、半孔与拼板的特殊处理异形孔例如一端圆一端方的孔在 Allegro 里可以用封装里的 Rectangle Drill 或自定义槽形搭配不同层实现但要注意NC Route 只能识别闭合轮廓复杂的异形孔最好拆成“圆孔槽孔”的组合或者画成多个简单几何体叠加。有些设计师喜欢把异形孔画成一个复杂 polygon结果 Allegro 生成的路径非常绕锣机走起来慢板厂还会加钱。半孔castellated holes是另一个常见需求。半孔就是板边切开一半的孔通常用于模块板与母板的贴焊。半孔不能靠 .drl 里的圆孔表达它需要在板边轮廓上做半圆开槽并在 NC Route 的锣带里走对应路径。如果你只出钻孔文件不出锣带板厂多半不知道这里要铣半孔最后给你做成整孔或漏做。拼板时也要特别留心。如果你的 Gerber 是拼板panel出图钻带就必须和拼板后坐标系一致。最稳妥的做法是让 Allegro 里看到的就是最终拼板的板框所有孔位坐标都在拼板坐标系下输出而不是交单板钻带给板厂让他们自己扩。板厂不是不能扩但每次“转一道”就多一次出错机会。我自己就遇到过单板钻带坐标和拼板 Gerber 对不上、整批槽孔偏了的情况。5. 回读验证把钻带文件倒进 CAM350一张图看出所有问题5.1 回读前要准备的参数清单生成完 .drl 和 .rou别急着打包发走花十分钟用 CAM350 回读一次这十分钟能挡掉 90% 的返工。打开 CAM350 后选择 File Import Drill Data或直接用 Auto Import 载入整个文件夹。回读时弹出的参数选择框里有几项必须和 Allegro 输出时严格一致Units公制还是英制File Format3:3、3:4 等Zero Suppression前导零压缩 / 后导零压缩文件类型Excellon。这四项只要有一项不符CAM350 里的孔位就会和 Gerber 错位或者坐标显示异常。所以正确流程是先看你在 Allegro 里设的参数再按同样参数去 CAM350 里导看的是“是否贴合”不是“是否导得进来”。5.2 我在回读时发现过的四类致命问题把钻带叠加到光绘层上之后我最常看到的四类问题第一类槽孔直接丢失。.rou 文件导进来后CAM350 里看不到槽孔轮廓或者只看到几段断线。这种情况基本是 Allegro 的 NC Route 没识别到槽孔层或槽孔没有画成闭合轮廓。回读能让你在发板前就把这个问题揪出来而不是等板厂反馈。第二类孔位整体偏移。所有孔都偏到焊盘一侧或每一颗孔都落在焊盘中心但整板旋转了一个角度。前者多半是单位或格式设置不一致后者可能是导出时坐标系基准不同。回读后如果整板偏移直接回到 Allegro 核对 NC Parameters而不是手动去挪孔位。第三类孔径不对。CAM350 里看到的孔圈直径和封装设计的不一样。这类问题往往是封装里的 Drill 尺寸填错了或者 Allegro 输出时单位换算出了问题。回读时按孔径颜色区分一眼就能看出来。第四类孔数量不对。有些板子回读后CAM350 统计的孔数比设计少了十几颗通常是那些孔在 Allegro 里被设置成 Non-Plated 或不属于 NC Drill 输出范围。这种问题在常规检查里极难发现只有回读时通过 Count 统计才能抓到。5.3 Allegro 自带的 NC 结果检查怎么看除了 CAM350Allegro 本地也有几项自检手段。生成 .drl 后用 Tools Reports Drill Report 可以生成一份孔报告里面列出了每种孔径和钻刀编号。这份报告适合和 NC Drill 的 .log 交叉验证。我还习惯把生成的 NC Legend 图放大检查一遍孔径符号的位置是否都落在焊盘中心、有没有叠加到丝印上、有没有跑到板框外。虽然这与生产无关但绘制图纸时能看出很多封装层面的问题比如某颗焊盘和孔不同心、孔壁太薄、或孔出板边。这些小问题板厂不会主动帮你查但造成良率下降时板厂会拿你的文件说事。6. 最终交板前的自检清单与我的个人习惯6.1 交板前的六大检查项投板前我会把下面这张表打印出来一项一项打钩。不要嫌麻烦帮朋友救急时我带过太多“只缺一个文件”的压缩包检查项说明.drl 和 .rou 是否都存在常见低级失误是只出钻孔漏出锣带日志文件是否有 ERROR检查 .log 中的刀具数量和孔数是否正常单位与格式说明是否写清在 readme 中写明 metric/inch、3:3/3:4、补零方式CAM350 回读是否对齐孔位叠加光绘后是否在焊盘中心槽孔数量和位置是否与结构图一致对照机械结构图逐一确认安装孔拼板坐标系与钻带是否一致如果是拼板确保钻带是拼板坐标不是单板坐标6.2 每次改版留下三样东西省掉自己和板厂的反复沟通我现在的习惯是每次投板都在一个以版本号命名的文件夹里固定存三样东西一是 NC Parameters 的配置截图二是 NC Drill / NC Route 输出日志三是 CAM350 回读后的截图。这三样东西可能看起来增加了工作量但每当板厂说“钻孔有问题”时我只需要把文件夹打包发过去他们对照配置就能立刻复现省掉来回确认的邮件。改版时更要小心钻孔文件不会跟着原理图自动更新。只要有人动过任何一个过孔直径、槽孔位置、封装类型出 Gerber 的时候必须重新生成 .drl 和 .rou哪怕只是删了一颗螺丝孔。我曾经因为在最后一版只更新了光绘、忘记更新锣带导致整批板子的安装孔还是旧位置多花了一周时间返工。最后分享一个小技巧在 NC Drill 和 NC Route 输出前把 Allegro 的视图缩放到全板然后分别只显示钻孔层和槽孔层截图”看一遍“确认孔位、槽位没有意外跑到板框之外。这个动作比任何参数检查都直观。钻孔文件这种东西生成只需要一分钟但真正考验人的是你是否清楚自己的设计里到底有哪些孔、哪些槽以及板厂拿到文件后会怎么理解它们。把这两件事想透了Allegro 17.4 的钻带/锣带输出就不再是玄学。
返回列表