電容式觸摸感應(yīng)按鍵設(shè)計(jì)方案2010年12月20日 10:25 電子設(shè)計(jì)工程 作者:田 野 廖明燕 用戶評(píng)論(0) 與傳統(tǒng)的機(jī)械式按鍵相比,電容式觸摸感應(yīng)按鍵美觀、耐用、壽命長(zhǎng)。電容式觸摸感應(yīng)按鍵實(shí)際只是PCB上的一小塊“覆銅焊盤”,與四周“地信號(hào)”構(gòu)成一個(gè)感應(yīng)電容,觸摸該按鍵會(huì)影響該電容值?,F(xiàn)在檢測(cè)電容值的方法有很多種,如電流與電壓相位差檢測(cè)、由電容構(gòu)成的振蕩器頻率檢測(cè)、電容橋電荷轉(zhuǎn)換檢測(cè)。而這里則是利用感應(yīng)電容與電阻構(gòu)成的RC回路,檢測(cè)充放電時(shí)間的變化量,不需要專用檢測(cè)電路, 成本低廉。 1 檢測(cè)原理 電容式觸摸按鍵電路的原理構(gòu)成如圖1所示,按鍵即是一個(gè)焊盤,與地構(gòu)成一個(gè)感應(yīng)電容,在周圍環(huán)境不變的情況下電容值固定為微小值,具有固定的充放電時(shí)間,而當(dāng)有一個(gè)導(dǎo)體向電極靠近時(shí),會(huì)形成耦合電容,這樣就會(huì)改變固有的充放電時(shí)間,而手指就是這樣的導(dǎo)體。通過測(cè)量充放電時(shí)間的改變即可檢測(cè)是否有按鍵被按下。充放電時(shí)間的計(jì)算公式如下:
式中,t,R,C分別為充放電時(shí)間,電阻值,電容值;V1為充放電終止電壓值;V2為充放電起始電壓值;Vt為充放電t時(shí)刻電容上的電壓值。
首先,開關(guān)在斷開的狀態(tài)下該按鍵被下拉電阻拉低,電勢(shì)為0 V,這時(shí)開關(guān)閉合開始對(duì)按鍵充電,等充滿電穩(wěn)定后再斷開開關(guān),這時(shí)按鍵開始放電,并用定時(shí)器記錄這段放電時(shí)間為t1,反復(fù)該過程。當(dāng)有手指觸碰按鍵時(shí),放電時(shí)間會(huì)改變?yōu)閠2,如圖2所示,由此即可判斷出手指是否觸摸到該按鍵。
2 檢測(cè)電路設(shè)計(jì) 該檢測(cè)電路由MSP430F1121A作為主控制器,由JTAG接口在線仿真調(diào)試,鍵盤分為單個(gè)觸摸按鍵檢測(cè)和矩陣觸摸按鍵檢測(cè)兩部分,如圖3所示。其占用的單片機(jī)資源包括帶有中斷功能的GPIO口和定時(shí)計(jì)數(shù)器。
2.1 單個(gè)觸摸按鍵檢測(cè) 圖3中連接單片機(jī)P2.5引腳的KeyPad與電阻R5構(gòu)成一個(gè)RC充放電回路,這里由單片機(jī)的P2.5引腳控制電容的充放電,其作用相當(dāng)于圖1中的開關(guān)。實(shí)際的電路板中KeyPad與周圍及背面的覆銅構(gòu)成電容,P2.5置為高電平,給KeyPad充電,等到穩(wěn)定后將P2.5引腳置為輸入,并使能中斷功能,且設(shè)為下降沿觸發(fā),這時(shí)KeyPad上的電荷會(huì)由R5對(duì)地放電,多次測(cè)量放電時(shí)間,作為基準(zhǔn)放電時(shí)間。當(dāng)手指觸碰時(shí),放電時(shí)間會(huì)改變,反復(fù)實(shí)驗(yàn)測(cè)出合理的閾值。以后檢測(cè)到放電時(shí)間超過這一閾值,則說明有按鍵按下。為精確測(cè)量充放電時(shí)間,要使充放電電流很小,放電的電阻在兆數(shù)量級(jí),這里選用6.1 MΩ的電阻,MSP430引腳設(shè)為輸入時(shí)的漏電流為50 nA,對(duì)放電回路可以忽略。 2.2 矩陣觸摸按鍵檢測(cè) MSP430的P1.0~P1.3和P2.0~P2.3分別連接到PAD1~PAD4和PAD5~PAD8構(gòu)成一個(gè)4x4的鍵盤矩陣,按鍵從A~P,如圖3所示。兩兩焊盤交匯處即是一個(gè)按鍵。在掃描過程中如果PAD2與PAD7的掃描結(jié)果超出閾值,則說明其交匯處(即按鍵G)被按下。需要注意的是其充放電過程有所變化,不再是單一的電容對(duì)地放電,而是兩個(gè)焊盤間互相充放電。例如行掃描的PAD1與PAD2通過R1由引腳P1.0和P1.1互相充放電。對(duì)于PAD1的檢測(cè)過程如下:1)將P1.O設(shè)為輸出低電平,P1.1設(shè)為輸出高電平,待穩(wěn)定;2)將P1.0設(shè)置為輸入并啟動(dòng)P1.0的上升沿觸發(fā)中斷功能,定時(shí)器開始計(jì)時(shí);3)待到PAD1充電到達(dá)觸發(fā)電平上限,產(chǎn)生中斷,停止計(jì)時(shí),算出按鍵1的充電時(shí)間t+;4)將P1.0設(shè)為輸出高電平,P1.1設(shè)為輸出低電平,待穩(wěn)定;5)將P1.1設(shè)置為輸入并肩動(dòng)P1.0的下降沿觸發(fā)中斷功能,定時(shí)器開始計(jì)時(shí);6)待到PAD1放電到達(dá)觸發(fā)電平下限,產(chǎn)生中斷,停止計(jì)時(shí),算出按鍵1的放電時(shí)間t_;7)利用t+和t_求出按鍵1的平均充放電時(shí)間tbase,并作為基準(zhǔn)值;8)按照步驟1)~步驟6)不斷檢測(cè)充放電時(shí)間t,并與基準(zhǔn)值tbase作比較,如果其差值超出某一閾值,則可以判斷有按鍵被按下;9)用同樣的步驟計(jì)算PAD2的充放電時(shí)間,完成PAD1和PAD2的充放電掃描。10)同理,分別由PAD3和PAD4、PAD5和PAD6、PAD7和PAD8構(gòu)成充放電電極對(duì),檢測(cè)其充放電時(shí)間。利用這種結(jié)構(gòu)可構(gòu)成規(guī)模較大的低成本觸摸鍵盤矩陣,而不需專用芯片。電路中用充放電時(shí)間平均值代替放電時(shí)間平均值,更能增強(qiáng)抗干擾性。 3 軟件程序設(shè)計(jì) 軟件設(shè)計(jì)最主要的是基于以上步驟不斷對(duì)鍵盤進(jìn)行掃描,除此之外由于觸摸按鍵的電容值會(huì)受環(huán)境的影響而變化,尤其是溫度和濕度的影響,因此能跟蹤環(huán)境變化及時(shí)校正基本充放電時(shí)間tbase很必要,整體軟件設(shè)計(jì)如圖4所示。
如果控制器發(fā)現(xiàn)很長(zhǎng)時(shí)間內(nèi)沒有按鍵被按下(這里設(shè)為60 s),就開始啟動(dòng)校正功能,重新掃描鍵盤,獲取新的充放電時(shí)間,并作為基準(zhǔn)值,這樣可以克服環(huán)境變化帶來(lái)的影響。 4 PCB設(shè)計(jì)與布局 鍵盤可以做成任意形狀,但為盡量避免尖端放電效應(yīng),應(yīng)盡可能采用圓弧形作為邊緣,對(duì)于單個(gè)按鍵一般設(shè)計(jì)成直徑10 mm的圓形,尺寸過小會(huì)使得檢測(cè)信號(hào)微弱,不利于檢測(cè),尺寸過大會(huì)使未碰觸時(shí)和碰觸時(shí)電容量的差值降低,而設(shè)計(jì)時(shí)盡量使差異值最大化,所以按鍵既不能過大也不能過小。對(duì)于矩陣按鍵,應(yīng)設(shè)計(jì)成相互交叉的手指狀。各個(gè)感應(yīng)盤的形狀、面積應(yīng)該相同,以保證靈敏度一致。各觸摸按鍵之間應(yīng)盡量遠(yuǎn)一點(diǎn),以減少相互間的干擾,可用覆地隔開,通常按鍵與地信號(hào)間有O.5 mm的間隙,在按鍵的背面也覆一層地,以減少電磁干擾。觸摸按鍵的連接線應(yīng)盡量的細(xì),不要跨越其他的信號(hào)線,尤其是高頻、強(qiáng)干擾的信號(hào)線。 5 結(jié)束語(yǔ) 觸摸式按鍵的應(yīng)用越來(lái)越廣泛,如何有效地降低制造成本是產(chǎn)品研發(fā)中必須考慮的問題,而電容式觸摸按鍵的檢測(cè)方法有多種,本論文中用到的硬件設(shè)計(jì)利用檢測(cè)RC電路充放電時(shí)間的原理以判別按鍵是否被按下,不僅可以檢測(cè)單個(gè)按鍵,還可以檢測(cè)矩陣按鍵,檢測(cè)電路僅由電阻電容構(gòu)成的充放電回路及單片機(jī)組成,替代了專用的檢測(cè)芯片,這樣簡(jiǎn)單、易用,且有效地降低了硬件成本。 |
|