查看: 42064
回复: 32
【试验】用钢网手工贴装SMT打样的剩余器件

主题

回复
发表于2018-07-27 12:22:17 | 显示全部楼层
1# 电梯直达
SMT打样了一块板子,上面的有好几片不能贴的密脚器件,需要拿回来自己装。
本人手比较残,总是确定不好上锡量,决定搞一块钢网来刷未贴装的器件,然后用风枪吹。
于是做了个SMT打样加钢网手工贴装的试验板。
SMT打样的板子已经贴了一些器件,做钢网要贴合得好,必须在这些已经贴装的器件上开孔。
器件在画封装的时候都会做一个边界层,可以用来检测是否干涉。
在KiCad中这一层叫Courtyard,我把已经贴装的器件的边界层复制到Paste层,然后再用合并了边界层的Paste层去做钢网,这样已经贴装的器在钢网上就是一个和它边界一样大的孔。
下钢网单的时候只能单独下,因为已经SMT的PCB订单不能再下钢网了。下单的时候备注中说明完全按照Gerber文件做,不做任何调整补偿。不过审核小姐姐不放心,还是电话确认了一下。

做出来效果如下:

已经贴了部分器件的板子

  


已贴器件开边界孔的钢网



由于已经贴了一些器件,钢网上的孔和这些器件配合,正好能固定钢网不乱移动。

钢网和已经SMT的板子合体

 


刮锡膏的时候要小心一些,特别是左下角那个晶振,刮中间芯片的锡膏就比较随意了


KiCAD中把边界层复制到Paste层的Python脚本代码


def CopyModuleCourtyard(module, brd = None, layer = pcbnew.F_Paste):
    ''' Copy module courtyard to the destination layer
    '''
    if not brd:
        brd = pcbnew.GetBoard()
    poly = module.GetPolyCourtyardFront()
    dw = pcbnew.DRAWSEGMENT()
    dw.SetShape(pcbnew.S_POLYGON)
    dw.SetLayer(layer)
    dw.SetPolyShape(poly)
    brd.Add(dw)
    
def CopyCourtyard(refs = None, brd = None, layer = pcbnew.F_Paste):
    ''' Copy board modules courtyard to the destination layer
    '''
    if not brd:
        brd = pcbnew.GetBoard()
    if not refs:
        for m in brd.GetModules():
            if m.GetReference().find('J') == -1:
                CopyModuleCourtyard(m, brd, layer)
    else:
        for ref in MakeRefs(refs):
            m = brd.FindModuleByReference(ref)
            if m:
                CopyModuleCourtyard(m, brd, layer)
    pcbnew.Refresh()


主题

回复
发表于2018-08-20 17:39:18   |  显示全部楼层
7#
这个办法高

主题

回复
  • 温馨提示: 标题不合格、重复发帖、发布广告贴,将会被删除帖子或禁止发言。 详情请参考: 社区发帖规则
  • 您当前输入了 0 个文字。还可以输入 8000 个文字。 已添加复制上传图片功能,该功能目前仅支持chrome和火狐

禁言/删除

X
请选择禁言时长:
是否清除头像:
禁言/删除备注:
昵 称:
 
温馨提示:昵称只能设置一次,设置后无法修改。
只支持中文、英文和数字。

举报

X
请选择举报类型:
请输入详细内容:

顶部