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