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