-Allegro 16.6 含有槽孔的PCB出钻孔文件的注意事项

时间:2024-04-05 13:49:19

一、背景知识

1、PCB生产过程中板子上的孔分为两类:

  • 规则通孔 :使用钻头垂直钻孔生成
  • 不规则通孔(槽孔):使用铣刀沿指定路径铣制而成

2、Allegro中对应的文件也分为两类:
- 规则通孔 :对应扩展名为*.drl的钻孔文件
- 不规则通孔(槽孔):对应扩展名为*.rou的槽孔文件

3、如果PCB电路板上包含不规则通孔的接插件、或是含有开槽隔离、挖孔等情况时,交给制板厂的文件除.art的gerber文件以外,还要提供上述两类.drl和*.rou文件,以及相关的参数配置文件。

4、槽孔、钻头和铣刀
什么是槽孔?普通的DIP封装以及电容等都是圆形钻孔,但某些特殊元件的安装脚需要长方形、椭圆形或其他类型的通孔。这些长方形、椭圆形或者其他类型通孔都算作槽孔。
PCB加工过程中,对通孔有两种刀具,一种谓之钻头,是用来钻圆形通孔;另外一种谓之铣刀,是用来打槽孔。

5、DRILL钻孔和ROUTE槽孔
我们把用钻头打出来的孔称为DRILL钻孔,把铣刀铣出来的孔成为ROUTE槽孔。
ALLEGRO15.5对出这两种钻孔GERBER文件有各自的注意事项,详见后文。

6、生成DRILL钻孔

生成DRILL钻孔时,会涉及到如下3个文件:
nc_param.txt
nc_tools_auto.txt
xxxxxx_project.drl

nc_param.txt:用来定义钻孔文件格式,数据精度方面的文件。在Manufacture->NC->NC Parameters里面设置。
nc_tools_auto.txt:钻头文件,是执行DRILL命令、生成drl文件时自动生成的。
xxxxxx_project.drl:最后生成的钻孔文件。

7、生成ROUTE槽孔
生成槽孔时,会涉及到如下1个文件:
ncroutebits.txt

ncroutebits.txt:用来定义槽孔的铣刀文件。执行Manufacture->NC->NC Route时调用该文件,如文件不存在,则Allegro自动生成ncroutebits_auto.txt

Allegro16.6中,Manufacture->NC->NC Route,设置Route feedrate为1,详见下图。然后点击Route在.brd文件的路径中生成.rou文件。
20180509-Allegro 16.6 含有槽孔的PCB出钻孔文件的注意事项

8、槽孔线的来源
槽孔有两种制作形式:
一种是在制作pin时,选择非圆形hole,那么在输出rou文件时会自动生成hole的槽孔线。
另一种是用户在ncroute_path层通过add line、add arc等命令画的line来组成的槽孔。

最重要的时刻到了,重要注意事项!
最重要的时刻到了,重要注意事项!
最重要的时刻到了,重要注意事项!

/*************************************/
在第一种情况下,生成的槽孔线是按照pin孔的内径来生成的。
在铣刀处理时,如果铣刀size过大,会将pin上的铜皮割掉,无法可靠焊接。

默认情况,铣刀size选用T01编号对应的铣刀size。
正常情况下铣刀编号T01对应的是ncroutebits.txt文件里尺寸最小的铣刀。

所以,在做非圆孔时,必须要考虑铣刀处理的铣刀size大小。
一般是在pin的铜皮宽度上加上铣刀size直径的一半。

当然别忘了编辑ncroutebits.txt文件,设置默认铣刀size。
铣刀size=(pin的铜皮宽度+铣刀size直径)/2
/*************************************/
在第二种情况下,用户自己画的铣刀走线,可以自己定义宽度或者使用零线宽(零线宽的铣刀size也选用T01)。
20180509-Allegro 16.6 含有槽孔的PCB出钻孔文件的注意事项
20180509-Allegro 16.6 含有槽孔的PCB出钻孔文件的注意事项
当用户自定义线宽时,在生成rou文件前,要手动创建编辑一个ncroutebits.txt文件,格式如下:
0.2 T03
0.3 T04

0.2对应的是用户铣刀走线的宽度。
T03是铣刀size的编号。

最后allegro会自动选择对应线宽的铣刀size生成rou文件。
/*************************************/
小结:生成ROUTE槽孔rou文件,需要事先手动编辑ncroutebits.txt文件。

依xxxxxxxxx提供的数据,当前常用技术精度如下:
常用钻头最小直径0.25mm(10mil)
常用铣刀最小直径0.8mm(32mil)


二、生成钻Drill钻孔时的相关waring

1.
在brd路径下未找到nc_tools.txt文件,并勾选Auto tool select选项时。
Allegro会自动生成名为nc_tools_auto.txt文件,并自动产生如下报警:
WARNING(SPMHMF-368): Cannot find NC Drill tool file ‘nc_tools.txt’
WARNING(SPMHMF-369): … will auto-generate tool file ‘nc_tools_auto.txt’.

在brd路径下未找到nc_tools.txt文件,不勾选Auto tool select选项时,不产生报警。

解决办法:
在brd路径下创建并编辑nc_tools.txt的钻头文件。格式如下:
0.3000 P T01 0.000000 0.000000
0.5000 P T02 0.000000 0.000000
0.7000 P T03 0.000000 0.000000
0.8999 P T04 0.000000 0.000000
1.2000 P T05 0.000000 0.000000
2.4000 N T06 0.000000 0.000000

2.板上含有槽孔时,执行NC->NC_Drill时,有会槽孔信息的提示,如果认真的审核每一个waring,会有较大收获。
WARNING(SPMHMF-365): This design contains 3 slot holes that can NOT be drilled.
WARNING(SPMHMF-366): They can be processed by NC routing instead.

解决办法:
这个waring可能无法消除吧,只要按提示去NC_Route就可以了。


三、生成route槽孔时的相关waring

1.如果没有ncroute_path会出现警告:
WARNING: No route path data was found for processing.

解决办法:
ncroute_path是指你在板子上画的一条铣刀路径,比如板卡外框就是铣刀铣出来的。或者说板卡中间有挖空,需要自己画一条ncroute_path。

在板子上画一个route path的边框,边框画在board geometry的ncroute_path层上,如果没有,则在allgero的命令窗口输入:define subclass找到board geometry,然后输入ncroute_path,回车就好。

2.如果ncroute_path没有走刀方向,会有如下提示:
WARNING: No start point indicators found on board!
Start and end points for route paths will be selected at random.

解决办法:
加上起始点和方向,具体做法是在ncroute_path层靠近边框起始处写一个数字1,然后在下一个方向上写一个数字2。

3.如果没有找到ncroutebits.txt文件,会有如下提示:
WARNING: Can’t find NC Route bit file (ncroutebits.txt)!

解决办法:
ncroutebits.txt文件是自己手动创建的,放在和brd同一个目录就OK。
ncroutebits.txt文件的内容:
0.032 T01
0.060 T02
0.120 T03
该文件记录了铣刀的大小,每一行一个铣刀,常用铣刀最小直径0.8mm(32mil),最大3.175mm(125mil)。(常用钻头最小直径0.25mm(10mil)。

没有这个文件,就会有告警,在cam350中导入route文件的时候,软件会自动分配一个铣刀直径。

4.缺少铣刀编号,会有如下提示:
0.800
WARNING(SPMHMF-331): Bad tool name: … line ignored.
ERROR(SPMHMF-290): NC Route terminating due to an error.


打开Allegro16.6生成的*.rou文件,将文件最上方以;开头的注释行删掉,把非注释行的%删掉,即可正常导入CAM350。