PCB電路板為何要有測試點?
對學電子的人來說,在電路板上設置測試點(test point)是在自然不過的事了,可是對學機械的人來說,測試點是什麼?可能多還有點一頭霧水了。我記得我第一次進電子組裝廠工作當製程工程師的時候,還曾經為了這個測試點問過好多人才瞭解它。
基本上設置測試點的目的是為了測試電路板上的零組件有沒有符合規格以及焊性,比如說想檢查一顆電路板上的電阻有沒有問題,最簡單的方法就是拿萬用電錶量測其兩頭就可以知道了。可是在大量生產的工廠裡沒有辦法讓你用電錶慢慢去量測每一片板子上的每一顆電阻、電容、電感、甚至是IC的電路是否正確,所以就有了所謂的ICT(In-Circuit-Test)自動化測試機台的出現,它使用多根探針(一般稱之為「針床(Bed-Of-Nails)」治具)同時接觸板子上所有需要被量測的零件線路,然後經由程式控制以序列為主,並列為輔的方式循序量測這些電子零件的特性,通常這樣測試一般板子的所有零件只需要1~2分鐘左右的時間可以完成,視電路板上的零件多寡而定,零件越多時間越長。
但是如果讓這些探針直接接觸到板子上面的電子零件或是其焊腳,很有可能會壓毀一些電子零件,反而適得其反,所以聰明的工程師就發明了「測試點」,在零件的兩端額外引出一對圓形的小點,上面沒有防焊(mask),可以讓測試用的探針接觸到這些小點,而不用直接接觸到那些被量測的電子零件。

早期在電路板上面還都是傳統插件(DIP)的年代,的確會拿零件的焊腳來當作測試點來用,因為傳統零件的焊腳夠強壯,不怕針紮,可是經常會有探針接觸不良的誤判情形發生,因為一般的電子零件經過波峰焊(wave soldering)或是SMT吃錫之後,在其焊錫的表面通常都會形成一層錫膏助焊劑的殘留薄膜,這層薄膜的阻抗非常高,常常會造成探針的接觸不良,所以當時經常可見產線的測試作業員,經常拿著空氣噴槍拼命的吹,或是拿酒精擦拭這些需要測試的地方。
其實經過波峰焊的測試點也會有探針接觸不良的問題。後來SMT盛行之後,測試誤判的情形就得到了很大的改善,測試點的應用也被大大地賦予重任,因為SMT的零件通常很脆弱,無法承受測試探針的直接接觸壓力,使用測試點就可以不用讓探針直接接觸到零件及其焊腳,不但保護零件不受傷害,也間接大大地提昇測試的可靠度,因為誤判的情形變少了。
不過隨著科技的演進,電路板的尺寸也越來越小,小小地電路板上面光要擠下這麼多的電子零件都已經有些吃力了,所以測試點佔用電路板空間的問題,經常在設計端與製造端之間拔河,不過這個議題等以後有機會再來談。
測試點的外觀通常是圓形,因為探針也是圓形,比較好生產,也比較容易讓相鄰探針靠得近一點,這樣才可以增加針床的植針密度。 
使用針床來做電路測試會有一些機構上的先天上限制,比如說:
- 探針的最小直徑有一定極限,太小直徑的針容易折斷毀損。
- 針間距離也有一定限制,因為每一根針都要從一個孔出來,而且每根針的後端都還要再焊接一條排線,如果相鄰的孔太小,除了針與針之間會有接觸短路的問題,排線的干涉也是一大問題。
- 某些高零件的旁邊無法植針。如果探針距離高零件太近就會有碰撞高零件造成損傷的風險,另外因為零件較高,通常還要在測試治具針床座上開孔避開,也間接造成無法植針。
- 電路板上越來越難容納的下所有零件的測試點。由於板子越來越小,測試點多寡的存廢屢屢被拿出來討論,現在已經有了一些減少測試點的方法出現,如 Net test、Test Jet、Boundary Scan、JTAG…等;也有其它的測試方法想要取代原本的針床測試,如AOI、X-Ray,但目前每個測試似乎都還無法100%取代ICT。
關於ICT的植針能力應該要詢問配合的治具廠商,也就是測試點的最小直徑及相鄰測試點的最小距離,通常多會有一個希望的最小值與能力可以達成的最小值,但有規模的廠商會要求最小測試點與最小測試點間距離不可以超過多少點,否則治具還容易毀損。
PCB電路板為何要有測試點?的更多相关文章
- [Testing] 測試電子原文書
測試電子原文書 http://files.cnblogs.com/vincentmylee/SoftwareTesting2ndEdition.7z
- 測試 battery capacity curve 的負載
昨天有同事問說, 他要測試 battery capacity curve, 並且負載要使用 33mA, 於是我想到有一個 apk 名稱為 快速放電 (最下方),可以控制 cpu 的 load, 他試了 ...
- 一起來玩鳥 Starling Framework(2)效能測試以及Image與Texture
上一篇我們放了一個Quad與TextField在舞台上慢慢轉.眼尖的可能會發現轉起來邊緣有點鋸齒,這可以透過設定Starling的反鋸齒來解決,在Main.as裡,新增了_starling之後,可以加 ...
- 測試大型資料表的 Horizontal Partitioning 水平切割
FileGroup 檔案群組 :一個「資料庫(database)」可對應一或多個 FileGroup,一個 FileGroup 可由一或多個 file (.ndf) 構成. FileGroup 可讓 ...
- ASP.NET MVC 單元測試系列
ASP.NET MVC 單元測試系列 (7):Visual Studio Unit Test 透過 Visual Studio 裡的整合開發環境 (IDE) 結合單元測試開發是再便利不過的了,在 Vi ...
- [備註] 安裝與整合 xUnit 測試框架@VS2012
開發環境:Visual Studio 2012, Update 1 (必須). 說明:VS2012 已整合各測試框架的 Test Runner,包括 NUnit, xUnit 等.藉由標準的介面,可讓 ...
- Postman - 測試 API 的好工具
POSTMAN in Google APP Store 因為工作的關係,常常寫一些 API 供 APP 使用.以前傻傻的,每次測試的時候都會自己刻一個 HTML 的表單,一個一個填入 input ,接 ...
- [Xamarin]測試帳號申請與到期後如何續用 (转帖)
在Xamarin網站上可以申請30天試用的測試帳號.試用期內,Xamarin會提供完整的功能試用. 30天試用時間到期後,在Visual Studio裡面你載入你的專案的時候,專案旁會標註(無法使用) ...
- 【转】Visual Studio單元測試小應用-測執行時間
[转]Visual Studio單元測試小應用-測執行時間 Visual Studio的單元測試會記錄每一個測試的執行時間,如果有幾個Method要測效能,以前我會用Stopwatch,最近我都改用單 ...
随机推荐
- information_schema.columns 学习
每一个表中的每一列都会在information_schema.columns表中对应一行 1.informaiton_schema.columns 常用列: 1.table_catalog :不管是t ...
- Strtus2工作流程及原理
从上图可以看出,一个请求在Struts2 框架中的处理大概分为以下几个步骤:1.客户端初始化一个指向Servlet 容器(例如Tomcat)的请求:2.这个请求经过一系列的过滤器(Filter)(这些 ...
- Linux进程笔记
进程及作业管理 Uninterruptible sleep: 不可中断的睡眠Interruptible sleep:可中断睡眠 kernel:init: COW: Copy On Write, 写时复 ...
- 给Visual Studio更替皮肤和背景图
给Visual Studio更换皮肤和背景图 1.先安装更换皮肤的插件 VS菜单栏里面找到:工具>扩展和更新>联机>搜索: Theme Editor 下载并安装: 安装后先不着 ...
- asp.net 错误处理
一.从客户端(...)中检测到有潜在危险的 Request.Form 值.(如图) 解决办法: 1.为 c:/windows/temp 文件夹 设置 IIS_Iusers 可读写权限 (可解决部分问题 ...
- Train Problem I(栈)
Train Problem I Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- ios应用view之间数据传递的方式
对于不同的viewcontroller之间数据的共享和处理 采用代理的方式,子viewcontroller设计代理协议,并定义协议接口,父viewcontroller实现协议接口,实现子视图控制器退出 ...
- 在spring+hibernaet+mysql事务处理中遇到的一些坑
spring的事务处理本来就是依赖于底层的实现,比如hibernate及数据库本身. 所以,当使用mysql数据库时,首先要确定的是,所操作的对象表是innodb格式的. 1. read-only方法 ...
- 使用Marshal.Copy把Txt行数据转为Struct类型值
添加重要的命名空间: using System.Runtime.InteropServices; 先建立结构相同(char长度相同)的Struct类型用于转换: [StructLayout(Layou ...
- Asp.Net Identity自定义user类的运用,ClaimsIdentity
mvc5自动生成的用户验证是比较好用的,还可以扩展,可是要求code first,目前使用sqlite,支持entity framework,但不支持code first. 只有自已简单模仿一下了.经 ...