最近碰到一个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. 【搬家啦】2019年06月20日csdn难民来报道啦~

    原博地址:https://blog.csdn.net/the_fool_

  2. CSS3常用转换总结

    一.2D转换 translate(npx,npx) 相对当前元素位置移动 /* 实现div向左移动50个像素,并向下移动100个像素 */ div { transform: translate(50p ...

  3. 随时发布:REST API文档的代码仓库中的持续集成与协作

    本文主要内容:API文档提供了预测客户成功的关键路径:在代码附近的文档上进行协作可以更好地检查代码和文档文件,提高自动化效率,并专门针对文档进行质量测试:提供通用文档框架,标准,自动化和工具,以提高团 ...

  4. HDU 4819:Mosaic(线段树套线段树)

    http://acm.hdu.edu.cn/showproblem.php?pid=4819 题意:给出一个矩阵,然后q个询问,每个询问有a,b,c,代表(a,b)这个点上下左右c/2的矩形区域内的( ...

  5. TypeScript算法与数据结构-队列和循环队列

    本文涉及的源码,均在我的github.有两部分队列和循环队列.有问题的可以提个issue,看到后第一时间回复 1. 队列(Queue) 队列也是一种线性的数据结构, 队列是一种先进先出的数据结构.类似 ...

  6. C# 中奇妙的函数–6. 五个序列聚合运算(Sum, Average, Min, Max,Aggregate)

    今天,我们将着眼于五个用于序列的聚合运算.很多时候当我们在对序列进行操作时,我们想要做基于这些序列执行某种汇总然后,计算结果. Enumerable 静态类的LINQ扩展方法可以做到这一点 .就像之前 ...

  7. async与await详解

    async和await只是编译器功能.编译器会用Task类创建代码.如果不适用这两个关键字,也可以用C#4.0和Task类实现同样的功能,只是没有那么方便. 题主在概念上确实混淆的不行,但是确实asy ...

  8. 微信小程序全局变量改变监听

    问题来源 最近工作需要写小程序页面,其中有个页面情况为:父页面中包含了一个组件页面,组件页面中又包含了另外一个组件页面.需求为:点击最后一个组件页面中的一个view,需要显示最外层父页面中的一个弹出层 ...

  9. C#常用正则表达式回顾

    项目中有些时候需要用到正则表达式,但是自己对正则表达式不熟悉,每次学习完,过一段时间(长时间)不用,就又忘了,每次需要用到的时候都需要百度下,比较麻烦,这里把C#中经常用到的正则表达式做下总结. 正则 ...

  10. 七牛云图床和Markdown使用

    七牛云图床和Markdown使用 1.图床是什么? 图床一般是指储存图片的服务器,有国内和国外之分.国外的图床由于有空间距离等因素决定访问速度很慢影响图片显示速度.国内也分为单线空间.多线空间和cdn ...