應用工程師答客問1:使用於電子設備中人機介面的電容感測器(Capacitance Sensor)

本文作者:admin       點擊: 2007-03-14 00:00
前言:
問:什麼是電容感測器?
答:當某物體或是某人接近或者碰觸到感測器時,電容感測器會偵測到電容值的變化。此項技術已經在業界的應用領域上使用多年,它可以用來量測液體位準、濕度、以及物質成分。

一個將會受到廣泛使用的較新應用領域,是使用在人機介面上。機械式的按鈕、開關、以及滾輪(jog wheel)等裝置長期以來一直被當成使用者與機器之間的介面。然而由於它們的許多缺點,介面設計者已經逐漸開始尋找更為可靠的解決方案。電容感測器可以被當成按鈕一樣使用,但是它們同時還具有更多用途的功能,例如128階的捲動軸(scroll bar)。

ADI目前已經有專門針對人機介面應用領域而設計的電容感測用途晶片產品。舉例來說,AD7142以及AD7143分別可以對高達14個與8個電容感測器予以觸發及回應。他們提供了電容感測器的觸發,感測因使用者的接近所造成的電容變化,並提供數位輸出。


問:電容感測是如何運作的?
答:一個基本的感測器包括了一個接收器與一個發射器,其分別都具有在印刷電路板(PCB)層上成形的金屬走線。如圖1中所示,AD714x有一個連接到感測器內發射器走線上的內建觸發源。在接收器與發射器走線之間會形成一個電場。大部分的電場都會集中在感測器PCB的兩個板層之間。然而,會有一個邊緣(fringe)電場由發射器產生並延伸至PCB外面,然後再回返至接收器上而終止。接收器上的電場強度是利用內建的積分三角(sigma-delta)電容數位轉換器來加以量測。當人們的手進入到邊緣電場內時,電子環境將會改變,導致一部份的電場會被分流到地線而非回返至接收器終止。此變化所造成的電容降低─大小範圍會在毫微微法拉(femtofarad)為單位的規模,不同於一般計算電場時所採用的微微法拉(picofarad)規模─會被轉換器偵測到。

圖1‧感測電容值


一般來說,電容感測的解決方案包含了三個部分,而這三個部分在ADI都有提供。
* 驅動IC - 提供了觸發功能、電容值數位轉換器、以及補償電路,以確保在所有環境中都能有正確的結果。
* 感測器 - 具有特定樣式走線的PCB,像是按鈕、捲動軸、滾輪、或是某些組合等。其走線材質可以是銅、碳、或是銀,而PCB材質則可使用FR4、flex、PET、或是ITO。
* 主微控制器上執行的軟體 - 用以執行串聯介面以及元件設定、還有中斷服務程序。對於像是捲動棒與滾輪之類的高解析度感測器而言,其主微控制器會執行一個軟體運算法,以達到高解析度的輸出。按鈕則不需要軟體。

問:電容感測的優點為何?
答:電容感測器比機械式感測器具有更好的可靠度─關於此點有為數不少的理由。因為沒有會移動的零件,所以使用包覆材料。舉例來說,像是MP3播放器的塑膠外殼。加以保護的感測器不會有磨損與破裂的情況。人體絕不會直接接觸到感測器,所以可以將污物與溢出物封鎖在外。

這使得電容感測器特別適合需要做經常性清潔的元件,因為感測器不會被粗糙而具有磨損性的藥劑傷害到,同時對於遭到意外溢出物(像是咖啡)潑灑的機會很高且不可忽視的掌上型裝置而言更具有適用性。

問:告訴我更多關於AD714x IC如何運作的資料。
答:這些電容值數位轉換器是針對人機介面應用領域上的電容感測而設計的,其元件的核心是一個16位元sigma-delta電容對數位信號的轉換器(CDC),用以將電容輸入信號(使用一組交換陣列做為路由)轉換成數位化數值,轉換後的結果則會儲存在內建的暫存器(register)中。內建的觸發源是一個250-kHz的方波(square wave)。

主微控制器會透過串聯介面來讀取結果,具有SPI或是I2C相容等兩種介面選擇的AD7142,共有14個電容輸入接腳。至於具有I2C介面的AD7143,則有8個電容輸入接腳。其串聯介面搭配上一中斷輸出信號,可以讓元件輕易地連接上任何系統中的主微控制器。

這些元件均能連接高達14個外部電容感測器,並可以安排為按鈕、滾動棒、滾輪、或是不同型態感測器的組合。外部感測器包含了位於2層或4層PCB上的電極,以便與IC直接連結。該元件可以藉由對內建暫存器的編程寫入,而設定成與任何的輸入感測器組相連結。此外,也可以透過對暫存器的編程寫入,以便控制像是對於每個外部感測器進行平均或抵銷調整之類的特性。內建的定序器則可控制設定每個電容輸入要如何來選讀(polled)。

AD714x也包含了內建的數位邏輯以及528字元(words)的隨機存取記憶體(RAM),以作為環境補償之用。濕度、溫度、以及其他的環境因素都可以影響電容偵測器的運作,對此,該元件會在使用者不會感覺到的情況下,持續地執行校正動作以便對這些影響進行補償,以隨時保持無錯誤的結果。

AD714x的其中一個關鍵特性是靈敏度控制,它可以對每一個感測器賦予不同的靈敏度設定,以便控制使用者在觸發感測器時所須施加的接觸強弱度。這些用來作為觸發臨界值,以決定感測器何時會啟動的個別設定,在考慮不同尺寸的感測器運作時是極為重要的。

舉例來說,在某個應用裝置上同時使用了一個較大直徑10毫米的按鈕以及較小直徑5毫米的按鈕。使用者希望以相同的接觸壓力同時觸動兩者,但是由於電容是與感測器面積相關的,所以較小的感測器需要強度較高的接觸才能被觸發。但終端使用者是不應該為了獲得相同的效果而必須較用力的按下較小按鈕的,因此能夠對每個感測器的靈敏度予以個別設定,恰可以解決這個問題。

問:環境因素要如何考慮進去?
答:AD714x會持續地從感測器量測到電容的位準,當感測器沒有在動作時,其所測得之電容值會被儲存起來當作環境值(ambient value)。而當一個使用者接近或接觸到電容感測器時,電容的量測值將會降低或是升高。臨界電容位準會儲存在內建的寄存器中。當所測得之電容值超過了上限或是下限臨界值,感測器就會被認定為已經啟動~如圖4所示,此時一個中斷輸出會被宣告啟始。

圖4中所示為一個環境電容值不會改變的理想狀況。但在現實中,環境電容會隨著溫度與濕度而產生持續且無法預期的改變。假如環境電容值有充足的改變量,那麼它將可能會影響到感測器的啟動。在圖5中,環境電容值提高,感測器1仍會正確地啟動,但是當使用者嘗試啟動感測器2時,就會發生錯誤。由於環境電容值已經提高了,所以從感測器2所測得的電容變化就無法大到足以將值拉到低於下限臨界值。現在無論使用者做任何事情,感測器2都無法啟動,這是因為它的電容值無法降到低於此環境中的下限臨界值。更糟的可能情況是環境電容水平持續地增加到超過上限臨界值。在這種狀況下,即使沒有經過使用者的觸發,感測器1也將會轉為並且維持在啟動狀態~也就是說感測器將會「困住」,直到環境電容值下降為止。

內建的邏輯電路會對環境電容位準改變所造成的影響加以處理。如圖6所示,臨界值位準並非恆常不變的;它們會追蹤環境電容位準的任何改變,與環境電容位準保持一個固定的距離,以確保由使用者觸發所產生的電容變化總能足夠超越臨界值位準。臨界值位準會由內建的邏輯電路來進行自動調適,並且儲存於內建的RAM中,因此不須要來自於使用者或是主處理器的輸入。

問:電容感測器要如何應用?
答:如同前文所提到的,感測器的走線可以是任何尺寸、任何形式、以及任意數量的。按鈕、滾輪、捲動軸、遊戲把手、以及觸控板的型態都可以走線方式在感測器PCB上進行佈局。圖7所示為電容感測佈局的一種選擇作法例。

設計工程師有許多可以用來完成使用介面的選項,範圍從只是將機械按鈕換成電容按鈕感測器,到完全不使用按鈕,而改以具有八個輸出位置的遊戲把手,或是能夠提供128個輸出位置的滾輪來代替。

單一感測器元件所能完成的感測器數量,必須視所需感測器的型態而定。AD7142具有14個電容輸入接腳以及12個轉換通道。AD7143有8個電容輸入接腳以及8個轉換通道。下表中所示為每一種感測器型態所需要的輸入接腳以及轉換階段數量。可以採用任意數量的感測器加以組合,以最多不能超過可使用的輸入以及通道數量為限。

在所有相連的感測器上,會採用依序循環(round-robin)的方式依序進行量測。所有的感測器可以在36毫秒內完成量測,因此幾乎就是同時對每個感測器的狀態進行偵測~除非有一極快速的使用者能夠在40毫秒內執行一個觸發或是關閉感測器的動作。

問:你們能夠提供什麼樣的設計協助給第一次使用的人?
答:ADI有許多可以提供給電容感測設計工程師使用的資源。在設計程序上,第一步是決定在應用裝置上需要何種型態的感測器。考慮一下,使用者會需要對長串列表~像是手機上的聯絡人或是MP3播放器中的歌曲做快速的掃瞄嗎?假如有此需要,那就請考慮使用捲動軸或是滾輪,可以讓使用者快速而有效率地掃瞄整個清單。此外,使用者需要在螢幕上控制游標嗎?對於這類的應用裝置來說,具有X-Y軸的遊戲把手將會是個很適合的選擇。一旦所需要的感測器型態、數量以及尺寸決定下來了,接著感測器的PCB設計就可以展開了。

作為電容感測設計資源的一部份,Mentor Graphics PADs的佈局資料庫可以在線上取得。在這個資料庫中,提供了許多不同型態以及尺寸感測器的個別元件,可供直接拖放至PCB佈局中。該資料庫也可以在Touch Controller System Block Diagram的互動元件中取得。此外,我們還提供了應用要點文件AN-854,內容敘述了如何使用感測器資料庫來快速的將所要製作的感測器佈局完成的細節、提示、與訣竅。

在設計PCB的時候,將AD7142或是AD7143與感測器放在同一塊電路板上,以便將因為連接器移動與電容變化所導致的系統錯誤,其機會降至最低。舉例來說,其它的元件、LEDs、連接器以及其他的ICs,可以跟電容感測器放在同一塊電路板上,但是感測器PCB則必須黏貼到包覆材料上,以避免在感測器上產生氣隙,因此在安排PCB上其他元件的位置時,這點必須考慮進去。

對於需要避免RF雜訊的應用裝置,可以使用RC濾波器來將任何對於感測器的干擾予以最小化。在感測器的周圍使用接地面(ground plane)也可以將任何的干擾降低到最小。

PCB可以採用兩層板或是四層板。如果在感測器的有效觸動區域之外,已經沒有足夠的空間能夠提供IC與感測器之間做佈線時,那就必須使用四層板的設計;但是假若有足夠的佈線空間,則使用兩層板的設計即可。

感測器走線以及電容輸入接腳之間所容許的最大距離是10公分,但是當一個感測器與接腳在一個方向上的容許距離是10公分,同時在另一個方向上的感測器與接腳的距離也可有10公分,因而感測器之間的容許距離可以達到20公分。

問:我的感測器PCB已經就緒了,接下來呢?
答:要對電容進行模擬是眾所周知的困難,因此必須針對每個應用裝置上感測器的回應行為加以特性定義,以確保AD7142和AD7143已經針對該應用裝置做了最適合的設定。

這個特性定義的過程在每一個應用裝置上只需進行一次,所得到此設定值隨後即可依樣畫葫蘆的被套用在每個單獨的產品上。

感測器必須在應用裝置上來進行特性定義,也就是說,任何的包覆材料都必須要放置在感測器的頂上,而任何其他可能會對感測器效能產生影響的的PCB或是元件,都必須放置在感測器的四周圍。

我們必須對每個轉換通道做如下的設定:
* 從元件的CIN輸入接腳到轉換器的內部連結。這可以確保每個連接到轉換器的感測器使用一個轉換通道。
* 感測器的偏移值,用來對CBULK做偏移用。這是介於發射器與接收器電極之間,被限制在PCB範圍內的電場所相對應的電容值。當感測器啟動時,這個值不會改變,取而代之的是對量測邊緣電容值提供一個固定的偏移值。
* 上限與下限偏移暫存器的初始值。這些數值會被邏輯電路用來決定每個感測器的啟動臨界值。

要執行特性定義的最簡單方法就是將感測器PCB連結到ADI所供應的AD7142/AD7143評估電路板上。包含在評估電路板套件中的微控制器以及軟體,可以用來特性定義感測器的回應行為並儲存設定值。

問:我可以期望得到什麼樣的回應?
答:從感測器所產生的實際回應,是在感測器從未啟動狀態變成啟動狀態時,依據轉換器的輸出變化加以定義的。這個變化將取決於感測器的面積而定~感測器面積越大,其啟動時的變化就越大。感測器的回應也會依包覆材料的厚度而定~假如包覆材料很厚(4毫米或是更厚)的話,感測器的回應將會變得很小。其原因是電場無法穿透極厚的包覆材料,因此使用者將無法把足夠的電場分流至地線來產生大的回應。圖8所示為一個由按鈕感測器所產生的典型感測器回應。在這個例子中所顯示感測器已啟動與未啟動間的變化,大約為250 LSBs。

問:你所提到的軟體是?
答:介於主要處理器與AD7142/AD7143之間的交互作用為中斷驅動(interrupt-driven)的型態。主處理器具備的是SPI或I2C的串聯介面。當感測器受到接觸之後,AD7142/AD7143將會對主處理器進行中斷,此時主處理器會從內建的暫存器中回讀資料。假如感測器是按鈕型態,或者其它簡單的開/關型態的感測器,那麼主處理器就只會從內建的狀態暫存器中回讀資料;一個啟動的按鈕會使狀態暫存器中的一個位元被設定。然而,假如感測器具有高解析度輸出的能力,那麼就必須在主處理器的中斷常式裡執行一個軟體演算法,以便處理AD7142/AD7143的資料。

程式碼可以免費或是免版權費提供給有跟ADI簽訂授權同意書的客戶。以捲動軸來說,程式碼通常會佔用500個位元組的資料記憶體以及8k位元組的程式碼記憶體。就滾輪而言,程式碼通常會佔用600個位元組的資料記憶體以及10k 位元組的程式碼記憶體。

ADI提供了以C語言編寫的驅動程式樣品,可以透過SPI-以及I2C-相容介面來做基本的設定、按鈕型感測器、及8路開關等。用以完成捲動軸以及滾輪的驅動程式樣品,可以在簽訂軟體授權同意書之後才能取得。

問:對於我的最終產品組裝方面的建議?
答:在感測PCB以及包覆材料或是產品外殼之間不可以有氣隙存在,因為只要有一個氣隙,就會減少一定量延展到塑膠殼之外的電場,相對的降低了感測器的回應。此外,塑膠殼或是其他包覆材料可能會在接觸時產生彎曲的現象,導致使用者與一可變的電場發生交互作用,進而產生一個非線性的感測器回應。因此,感測器PCB應該要與包覆材料黏合在一起,以避免任何氣隙的形成。

此外,感測器的周圍也不可以有會浮動的金屬。「禁入」(Keep Out)距離必須要有5公分。如果有金屬與感測器的距離低於5公分,那就必須接地處理,但是絕對不可以有金屬與感測器的距離低於0.2毫米。

最後,包覆感測器觸動區域的塑膠殼,其厚度大約需要2毫米厚。較大的感測器面積應該要使用較厚的塑膠殼;高達4毫米的塑膠殼厚度都能夠支援。

結論
在人機介面的應用上,電容感測器是一項新崛起的技術,並且很快的在廣泛而不同的產品與元件上成為受到歡迎的技術。電容感測器可使得各種可攜式與消費性產品具有創新而且易於使用的介面。它們易於設計,使用標準的PCB生產技術,並且比機械式開關更加的可靠。它們讓業界中的設計工程師瞭解到,在提供可以符合設計需要的高效能介面上,電容感測器是值得信賴的,因而能夠有更多的自由以專注於設計風格上。

設計工程師可以從ADI的IC技術與產品系列中獲得不少幫助,加上可取得的專業技術以及硬體和軟體工具,可讓電容感測器的套用設計盡可能的更簡單更快速。

電子郵件:look@compotechasia.com

聯繫電話:886-2-27201789       分機請撥:11