管 瑞 ,周 龍 ,陳 雄
(武漢工業(yè)學(xué)院電氣信息工程系,湖北武漢 430023)
目前觸摸感應(yīng)技術(shù)越來越多的得到電子行業(yè)的關(guān)注和應(yīng)用。電容觸摸傳感正迅速替代傳統(tǒng)的按鍵式開關(guān)用戶界面,它本身不需要機械動作,而且可以使產(chǎn)品完全密封,使設(shè)計更加現(xiàn)代美觀和耐用,且具有更大的靈敏度、穩(wěn)定性、可靠性。除了在消費市場不斷擴展外,觸摸傳感因其在美觀、維護、成本和清潔等方面的優(yōu)勢,也逐漸開始滲入醫(yī)療、工業(yè)和汽車應(yīng)用中。目前全球領(lǐng)先的單片機和和模擬半導(dǎo)體供應(yīng)商Microchip公司推出了全新的觸摸按鍵解決方案,使工程師在采用 PI C單片機的應(yīng)用中可方便地添加觸摸感應(yīng)界面。Microchip公司推出的全新觸摸按鍵解決方案,在技術(shù)上主要使用了兩種方法:張弛原理和直接電容測量。
JST080就是一種基于張弛原理的電容觸摸感應(yīng)專用芯片。內(nèi)置 8-B ITMCU、8通道電容式觸摸感應(yīng) I C。自主開發(fā)算法,具有環(huán)境自適應(yīng),抗干擾信號,相鄰感應(yīng)按鍵抑制的功能。可廣泛應(yīng)用于消費類電子產(chǎn)品,例如手持通訊 MP3、MP4、家電類、教育類、玩具類、PC周邊類儀器儀表、醫(yī)療器械、手持式遙控器等產(chǎn)品。
JST080電容式觸摸感應(yīng)按鍵的基本原理就是一個不斷地充電和放電的張弛振蕩器[1]。如圖1所示。如果不觸摸開關(guān),張弛振蕩器有一個固定的充電放電周期,頻率是可以測量的。如果用手指或者觸摸筆接觸開關(guān),就會增加電容器的介電常數(shù),充電放電周期就變長,頻率就會相應(yīng)減少。所以,測量其周期的變化就可以偵測觸摸動作。
圖1 電容觸摸按鍵原理
張弛振蕩器是一個自激 RC振蕩器[2],它使用 2個帶 SR鎖存的比較器來改變感應(yīng)電容器電壓的充電方向,如圖2所示。比較器的正輸入端決定充電的上下限,C1+是內(nèi)部信號,C2+接外部信號以便設(shè)置充電下限,1000 PF的電容用來濾除來自電源的高頻噪聲并確保有一個穩(wěn)定的下限。電壓 V-將在上下限之間充放電,它由 C2OUT的邏輯電平信號驅(qū)動。
圖2 張弛振蕩器
通過比較器的正輸入端來設(shè)置充電的上下限。從下限充電到上限,然后放電從新回到下限的時間,就是振蕩器的周期。當電容器 Cs上電壓 V-低于下限時,系統(tǒng)開始充電,如果 V-在上下限之間 ,則系統(tǒng)保持前一個狀態(tài) (充電或放電)當 V-高于上限時,系統(tǒng)開始放電,然后在中間區(qū)域持續(xù)放電。整個充放電周期[2]如圖3所示,即電容觸摸按鍵振蕩波形。
圖3 充放電周期
反饋電阻 R與傳感器極板 (用 Cs表示)一起形成 RCs回路 ,如圖4所示,圖4(a)為 RCs回路,電容器充放電的速率由 RCs時間常數(shù)來確定,即:τ=RCs。圖4(b)、4(c)即無觸摸按下時的時間常數(shù)。
圖4 RCs電路
當手指接近焊盤時,由于手指引入額外的電容,使總電容將變大,導(dǎo)致振蕩器的 RCs時間常數(shù)改變。如圖5所示,圖5(b)、5(c)即有觸摸按下時,RCs時間常數(shù)增加,振蕩器頻率將減小,在單片機中將檢測這一頻率變化。電容增量就是檢測的依據(jù)。
圖5 RCs時間常數(shù)變化
JST080是通過 KEY0-KEY7口感應(yīng)外界模擬信號的微弱變化,來識別是否有干擾源靠近或接觸到KEY0-KEY7口上。如圖6所示,利用這個原理將KEY0-KEY7制作成按鍵口,通過感應(yīng)按鍵口模擬信號的微弱變化來識別是否有按鍵按下。
圖6 JST080硬件電路圖
當手按在面板上時,電荷通過面板遷移到面板下面的觸摸按鍵上,觸摸按鍵連在芯片的感應(yīng)腳上,此時,芯片的內(nèi)部電路感應(yīng)到電壓的變化,同時給出相應(yīng)的時間值,再經(jīng)過系統(tǒng)的算法,給出是否有按鍵。具體算法[4-7]如圖7所示。
圖7 JST080的按鍵掃描流程圖
在設(shè)計觸摸感應(yīng)按鍵時,首先需要檢測觸摸按鍵上電荷或電平容量以及一些相關(guān)的轉(zhuǎn)換關(guān)系,即必須進行系統(tǒng)的校準:其次電荷 /電平的改變將受外界環(huán)境的影響,靜電放電和電磁干擾均會引發(fā)誤動作,且環(huán)境變化如溫度的改變將影響到系統(tǒng)的校準,同時其它污染物在表面的堆積都會影響其精確性和可重復(fù)操作性。因此抗干擾性與自適應(yīng)性成為觸摸感應(yīng)按鍵設(shè)計的關(guān)鍵。
按鍵要有自適應(yīng)的能力,因為按鍵的充電時間會隨其所處環(huán)境的溫度和濕度的改變而改變。判斷有按鍵按下是通過兩次讀取按鍵充電時間值作差,然后與先前規(guī)定的差值作比較來實現(xiàn)的,上電后第一次讀取的按鍵充電時間值作為無按鍵按下的充電時間值,如果無鍵充電時間值始終無變化時,則隨著時間的變化,真正的無鍵充電時間值就會緩慢發(fā)生變化。當這個變化差值大于規(guī)定的標準差值時,則認為有按鍵按下。
為解決這個問題,提出了以下方案。即無鍵充電時間值始終處于變化中,而且是隨著環(huán)境的變化而變化。使保存的無鍵充電時間值始終等于或逼近真正的無鍵充電時間值,實現(xiàn)按鍵的自適應(yīng)。此無鍵充電時間值由以下公式計算得到。
式中:T為無鍵充電時間值;T0為前一次讀取的無鍵充電時間值;T1為新讀取的無鍵充電時間值。
注意按上面的公式刷新按鍵值,如果出現(xiàn)手非常緩慢的觸摸按鍵的情況,軟件將無法識別有按鍵按下的情況。
提高抗干擾能力可以從兩個方面入手:一方面硬件上增加充電時間,考究 PCB板的設(shè)計,提高抗干擾;另一方面軟件上增加去抖。
2.2.1 硬件上抗干擾
硬件上,由于按鍵掃描時間的限制,按鍵的充電時間被限制的比較小,只能從 PCB的設(shè)計上考究,增加按鍵的抗干擾能力。具體做法是:①按鍵成叉子形狀,兩個小叉子互叉但不相連,一個小叉子接按鍵口,另一個小叉子接地;②按鍵與按鍵之間的空隙布滿地線[3],如圖8所示使干擾信號基本無法對按鍵形成干擾;③按鍵走線盡量走直線;④按鍵大小做到與普通人手指差不多大小,增大人手與按鍵的觸摸面積[8]。
圖8 按鍵與按鍵間的設(shè)計
2.2.2 軟件上抗干擾
軟件上增加去抖動,具體做法是:①確認按鍵是否按下需要連續(xù)兩次按下的計數(shù)值都為按下值;②在計數(shù)值減小的情況下,如果不是按鍵按下,需判斷是否需做按鍵計數(shù)值的刷新,這樣做可以防止手觸摸按鍵速度相對慢時無法檢測到按鍵。
上述自適應(yīng)與抗干擾方案已經(jīng)成功應(yīng)用于JST080。在 JST0180按鍵按下判斷程序的與按鍵松開判斷程序的設(shè)計中,就采用了自適應(yīng)刷新無鍵計數(shù)值與軟件去抖動做法,提高了觸摸按鍵的自適應(yīng)能力和抗干擾能力,使整個觸摸按鍵系統(tǒng)更加可靠。
在按鍵按下判斷程序的設(shè)計中,如圖9所示,判斷按鍵是否處于按下狀態(tài)時,如果讀取值 (以下以N表示)與上一次的按鍵值 (以下以 B表示)作差的結(jié)果大于按鍵按下的標準值 (以下以 DC表示),即 BN>DC則認為有按鍵按下動作。當判斷有按鍵按下動作后,即采用去抖動方案;當判斷按鍵無按下動作后,采用自適應(yīng)方案。
圖9 JST080按鍵按下判斷程序流程圖
按鍵按下標準值DC的選取與客戶對按鍵靈敏度的要求有關(guān),要求的靈敏度越高,對應(yīng)選取的標準值越小。同時,DC的選取應(yīng)以抗干擾和能夠?qū)崿F(xiàn)按鍵動作識別為標準??垢蓴_是指選取的標準值不能太小,要盡量防止把因溫度、濕度或其它干擾引起的差值變化當做按鍵按下動作。能夠?qū)崿F(xiàn)按鍵動作識別是指判斷差值不能選取的太大,防止判斷不到按鍵動作。
在按鍵松開判斷程序中,同樣采用了上述自適應(yīng)方案,如圖10所示,設(shè)按鍵松開標準值為 UC,如果N-B>UC則認為有按鍵釋放動作。最后自適應(yīng)刷新無鍵計數(shù)值退出程序。其中 UC的選取規(guī)則同DC。
圖10 JST080按鍵松開判斷程序流程圖
通過對電容觸摸專用芯片 JST080的深入研究,提出了采用自適應(yīng)刷新無鍵充電時間值,軟件上增加去抖動,和硬件上 PCB的優(yōu)化設(shè)計方案,提高觸摸按鍵系統(tǒng)的可靠性。經(jīng)過實踐證明,該方案有效的提高了電容觸摸按鍵的自適應(yīng)和抗干擾能力。
[1] Marc Mc Comb. Introduction tom TouchTMCapacitive Touch Sensing[EB/OL].[2010-03-03].http://www.microchip.com/en_US/technology/m Touch Buttons/index.html.
[2] Tom Per me.Introduction To Capacitive Sensing[EB/OL]. [2010-03-03]. http://www.microchip. com/en _ US/technology/m Touch Buttons/index.html.
[3] Tom Perme. Layout and Physical Design Guidelines for Capacitive Sensing[EB/OL].[2010-04-03].http://www.microchip.com/en_US/technology/m Touch Buttons/index.html.
[4] Tom Perme.Software Handing for Capacitive Sensing[EB/OL].[2010-04-03].http://www.microchip. com/en _ US/technology/m Touch Buttons/index.html.
[5] Keith Curtis and, Tom Per me. Capacitive Multibutton Configuration[EB/OL].[2010-04-03]. http://www.microchip.com/en_US/technology/m Touch Buttons/index.html.
[6] Burke Davison.Capacitive Touch Algorithm Simulation[EB/OL].[2010-04-03].http://www.microchip. com/en_US/technology/m Touch Buttons/index.html.
[7] Enrique Aleman.Using the Capacitive Sensing Moudle on the PI C16F72X[EB/OL].[2010-04-03].http://www.microchip.com/en_US/technology/m Touch Buttons/index.html.
[8] Thomas Perme.電容觸摸傳感的理論框架[J].電子產(chǎn)品世界,2009(8):9-11,15.