最近碰到一个PCB漏电的问题,起因是一款低功耗产品,本来整机uA级别的电流,常温老化使用了一段时间后发现其功耗上升,个别样机功耗甚至达到了mA级别。仔细排除了元器件问题,最终发现了一个5V电压点,在产品休眠的状态下本该为0V,然而其竟然有1.8V左右的压降!耐心地切割PCB线路,惊讶地发现PCB上的两个毫无电气连接的过孔竟然可以测试到相互间几百欧姆的阻值。查看该设计原稿,两层板,过孔间距焊盘间距>6mil,孔壁间距>18mil,这样的设计在PCB行业中实属普通的钻孔工艺。洗去油墨,排除油墨或孔表层的杂质导电问题,实测过孔间阻值依然存在!百思不得其解一段时间后,才发现原来是“CAF效应”导致的漏电问题!

什么是CAF效应:

CAF,全称为导电性阳极丝(CAF:Conductive Anodic Filamentation), 指的是PCB内部铜离子从阳极(高电压)沿着玻纤丝间的微裂通道,向阴极(低电压)迁移过程中发生的铜与铜盐的漏电行为。

如下图片,对两个相邻的两个过孔进行纵向研磨,置于电子显微镜下放大100倍,板材呈黯淡颜色,亮金色部分则为铜,可以看到在两个过孔间,有铜点、铜丝存在。

CAF产生的机理:

1. 常规的FR4 PCB板材是由玻璃丝编织成玻璃布,然后涂环氧树脂半固化后制成。树脂与玻纤之间的附着力不足或含浸时胶性不良,两者之间容易出现间隙,加之在钻孔等机械加工过程中,由于切向拉力及纵向冲击力的作用对树脂粘合力的进一步破坏,可能造成玻纤束被拉松或分离而出现间隙。在高温高湿的环境下,环氧树脂与玻纤之间的附着力更加出现劣化,并促成玻纤表面硅烷偶联剂化学水解,沿着玻纤增强材料形成可供电子迁移的通路;

2. 基于上面的条件,此时距离较近的两个过孔若存在电势差,那么电势较高的阳极上的铜会被氧化成为铜离子,铜离子在电场的作用下向电势较低的阴极迁移,在迁移过程中,与板材的杂质离子或OH-结合,生成了不溶于水的导电盐,并沉积下来,由此两个绝缘孔之间的电气间距急剧下降,严重的甚至可以直接导通形成短路。

阳极:

Cu → Cu2++2e–

H2O →  H++OH-

阴极:

2H++2e– → H2

Cu2++2OH– → Cu(OH)2

Cu(OH)2 → CuO+H2O

CuO+H2O → Cu(OH)2 → Cu2++2OH–

Cu2++2e– → Cu

在还没有意识到CAF效应导致的不良之前,我对于相互绝缘的两个过孔间出现阻值的现象感到不可思议,后来经过资料查询,才发现许多同行也为这个问题困扰过,甚至CAF效应已经是PCB业内一个较为热门的可靠性问题之一

如何防止或减少CAF的发生?

1. 提高板材在抗CAF方面的能力。对于电路板基材工艺,可以从提高材料中离子纯度、使用低吸湿性树脂、玻璃布被树脂充分浸泡结合良好等方面进行提高。对于应用端的工程师,在板材选型时,可以考虑使用耐CAF板材。如下板材供应商生益的板材选型中,就有耐CAF的板材可供选型。

2. PCB的机械钻孔或镭射烧孔会产生高温,超过板材的Tg点时会融溶并形成残渣,这些残渣附着于孔壁会造成镀铜时接触不良,因此在镀铜前必须进行除渣作业,除渣作业中的浸泡处理会对通孔造成一定的侵蚀并可能带来渗铜问题,使后续的铜迁移现象更加容易;

3. PCB设计时,增加通孔间距,另外,由于CAF通道几乎沿着同一玻璃纤维束产生,因此,将相邻的通孔交叉发布有助于降低CAF的发生;

4. 对PCBA进行表面清洁处理,例如使用高压气枪进行灰尘清理,避免杂质残留导致不必要的杂质发生电解。另外,在PCBA表面涂覆三防漆,避免水汽的侵入,特别是在高温高湿的地理环境

对于这个CAF问题导致的漏电问题,从一开始的困扰到后面的豁然开朗,这其中有两点让我有了更深的体会:

1. 对于一个bug现象的存在,当自己感到不可思议时,也请保持一种客观的态度面对,因为当前现象与已有认知的相去甚远,很可能只是你的知识体系里有盲区而已。碰到CAF现象时,我向PCB产商抛出“相互绝缘的过孔间为什么会有阻值存在”的问题,产商也觉得不可思议,但对方基于“自己做了几十年的板子也没有客户反应过这个问题”的经验性思维,始终没能客观地面对这个问题的存在,在这个前提下,即使有再好的配合力度,所谓的验证也就只能停留在了自证自己材料、制程属于行业规范的层面上,但CAF对于目前PCB行业来说本来就是一个无法100%规避的问题。由此迫使我找第三方的厂家进行剖片分析,显而易见地看到孔间的铜后,该问题才有了不容反驳的定论;

2. 应用端的电子工程师,对电子器件的认知,除了能用、会用的能力之外,还要对其基础材料有所认知。如同每天都在和电容、电阻、电感等器件打交道,但对于这些器件的制作工艺、基础材料组成却是有很多人都不自知的,而这正是这些器件电气特性的根本所在。例如在不同工作频率特性下,一个电容为什么会有阻性、感性、容性的成分所在;又或者一个铝电解电容反接为什么会爆浆,在反接电压未知的情况下,一定会爆浆吗?关于这些问题,后续我会整理出来进行记录、分享~

本文参考文献传送门:

http://www.anytesting.com/news/543325.html

《PCB漏电流失效案例分析》

http://www.edadoc.com/cn/TechnICalArticle/Show.aspx?id=1239

《谈谈钻孔间距对产品可靠性的影响》

https://mp.ofweek.com/ee/a345673623826

《印制电路板CAF失效研究》

http://www.researchmfg.com/2014/12/caf/

《电路板内微短路现象》

https://www.researchmfg.com/2015/08/caf-cause-solution/

《CAF形成的原因及改善对策》

http://www.researchmfg.com/2016/06/3d-x-ray-ct/

《3D X-Ray CT非破坏性立体扫描分析PCBA不良》

==================================================================================================================================================================================================

 更多交流,可微信关注:

警惕!CAF效应导致PCB漏电的更多相关文章

  1. PCB布线经验

      查看: 3645|回复: 11    [经验] PCB设计经验(1)——布局基本要领 [复制链接]     ohahaha 927 TA的帖子 0 TA的资源 纯净的硅(中级) 发消息 加好友 电 ...

  2. PCB的封装尺寸

    PCB封装主要分为贴片式与插件式 1)贴片元件封装说明发光二极管:颜色有红.黄.绿.蓝之分,亮度分普亮.高亮.超亮三个等级,常用的封装形式有三类:0805.1206.121  (常用封装为RB.1/. ...

  3. Cadence PCB层的概念

    Slikscreen_Top  :顶层丝印层 Assemly_Top    :装配层,就是元器件含铜部分的实际大小,用来产生元器件的装配图.我自己感觉这一层如果对于贴片的元器件,如电容,就是两个贴片铜 ...

  4. PCB 钻孔补偿那点事

    没有优秀的个人,只有优秀的团队,在团队共同的协作下,PCB CAM自动化[net处理]与[钻孔处理] 第一阶段开发项完成了,,后续工作可以转向PCB规则引擎开发了.这里说说PCB工程钻孔补偿的那点事, ...

  5. PCB SQL SERVER 数据库阻塞进程关系以思维导图方式呈现的实现方法

    最近公司服务数据库同步机制常发生阻塞,时不时的导致PCB工程系统卡死现象,只有找到阻塞源头并处理掉,才以消除阻塞,但数据库中查看会话阻塞是通过二维表方式展示的父子会话进程ID的,是很难清楚的展示各会话 ...

  6. 避开PCB假八层结构的温柔陷阱---浅谈六层板的叠层

    https://blog.csdn.net/qijitao/article/details/51505611 作者:王辉东   一博科技高速先生团队队员 在<PCB的筋骨皮>一文中,我们提 ...

  7. CodeReview Learning

    目录 . 引言 . 代码检视的指导思想 . 代码检视的内容 . 回归测试 0. 引言 代码检视(Code Review)是指软件开发人员在完成代码设计.编写.调试后展开的个人或群体性的代码阅读过程,代 ...

  8. fMRI数据分析处理原理及方法(转载)

    原文地址:http://www.cnblogs.com/minks/p/4889497.html 近年来,血氧水平依赖性磁共振脑功能成像(Blood oxygenation level-depende ...

  9. fMRI数据分析处理原理及方法

    来源: 整理文件的时候翻到的,来源已经找不到了囧感觉写得还是不错,贴在这里保存. 近年来,血氧水平依赖性磁共振脑功能成像(Blood oxygenation level-dependent funct ...

随机推荐

  1. C++类的完美单元测试方案——基于C++11扩展的friend语法

    版权相关声明:本文所述方案来自于<深入理解C++11—C++11新特性解析与应用>(Michael Wong著,机械工业出版社,2016.4重印)一书的学习. 项目管理中,C语言工程做单元 ...

  2. 从无到有构建vue实战项目(一)

    vue的安装 首先下载nodehttp://nodejs.cn/download/ 有两种安装方式安装包安装和二进制文件安装 输入以下命令,出现版本提示表示安装成功: node -v 10.15.3 ...

  3. Git密码修改后,Jenkins job如何批量更新密码?

    很多时候,由于一些原因,更新了Git账号密码:但是,Jenkins构建时,需要通过这个账号去拉取代码:这个时候咋办? 很多同学会说,直接一个个项目更新就OK. 那么,如果是几百个项目.甚至几千个项目呢 ...

  4. Quartz每次调度时被执行两次

    [关键字:重复执行.重复调用.每次执行两次.执行2次] 前言: 先说一下,项目背景.由于组内某成员在用Maven搭建项目时不规范,导致项目的名称与实际访问项目名称不一致.在部署项目时,必需要配一下虚拟 ...

  5. Codeforces 730A:Toda 2(multiset模拟)

    http://codeforces.com/problemset/problem/730/A 题意:有n个人打天梯,想让这n个人的分数相同,每场比赛必须有2-5个人参赛,参赛的人会降低一分,问一个合理 ...

  6. POJ 3264:Balanced Lineup(RMQ模板题)

    http://poj.org/problem?id=3264 题意:给出n个数,还有q个询问,询问[l,r]区间里面最大值和最小值的差值. 思路:RMQ模板题,开两个数组维护最大值和最小值就行. #i ...

  7. java的封神之路[转载]

    一.基础篇 1.1 JVM 1.1.1. Java内存模型,Java内存管理,Java堆和栈,垃圾回收 http://www.jcp.org/en/jsr/detail?id=133 http://i ...

  8. JVM结构的简单梳理

    #cnblogs_post_body img { width: 500px; height: auto; } JVM是什么 JVM的基本特性 JVM的流程结构 1. Java编译(Java Compi ...

  9. 和朱晔一起复习Java并发(一):线程池

    和我之前的Spring系列文章一样,我们会以做一些Demo做实验的方式来复习一些知识点. 本文我们先从Java并发中最最常用的线程池开始. 从一个线程池实验开始 首先我们写一个方法来每秒一次定时输出线 ...

  10. 浅入深出Vue:注册

    基本布局已经有了, 现在我们来开始做我们的注册页面~ 当然需要注册才能发表文章啊(糟老头子坏得很, 我可以只有我一个人能发啊). 这里我们设定只有注册才能发表文章,也就淡化了管理员这个概念.在开发中先 ...