呂紅芳
(上海電機學(xué)院電氣學(xué)院,上海 200240)
觸摸技術(shù)如今已經(jīng)成為信息技術(shù)發(fā)展的新趨勢,由于操控直觀、快捷,大大提升了人機互動的效率,被大量用于高端智能手機及平板電腦。觸摸控制技術(shù)又可分為觸摸屏(Touch Screen)技術(shù)和觸摸按鍵(Touch Key)技術(shù)。在觸摸按鍵技術(shù)方面,目前主要可分為電阻式觸摸按鍵與電容式感應(yīng)按鍵。[1]
電阻式的觸摸按鍵由多塊導(dǎo)電薄膜按照按鍵的位置印制而成,需要在設(shè)備表面貼一張觸摸薄膜[2]。電阻式觸摸按鍵雖然價格低廉,但其導(dǎo)電薄膜耐用性較低。因此,電容式觸摸按鍵便成了一種理想的替代方案。電容式觸摸按鍵的優(yōu)點在于它不易受到溫度、靜電、水、灰塵等外界因素影響,操作準(zhǔn)確性高;靠人手感應(yīng),整個界面沒有按鍵存在,可使產(chǎn)品更加美觀。此外,由于按鍵沒有接點,使用壽命更為長久。
本文主要介紹一種利用PIC12F615單片機實現(xiàn)電容觸摸感應(yīng)的方法,這種方法不需要外圍元器件,可以依托內(nèi)部帶有ADC(Analog-to-Digital Converter)單元的PIC單片機,通過軟件處理,快速實現(xiàn)觸摸感應(yīng)。這種采用單片機的ADC實現(xiàn)電容式觸摸感應(yīng)的方式,又稱為CVD(Capacitive Voltage Divider)方式。
電容感應(yīng)原理[3]是利用人體的感應(yīng)電容來檢測是否有手指存在,在沒有手指按下時,按鍵(連到芯片的管腳)上由于分布電容等的存在,因此按鍵對地存在一定的靜態(tài)電容,當(dāng)人的手指按下或接近按鍵時,人體存在一定電容,人體的這個寄生電容將耦合到按鍵的靜態(tài)電容上,使按鍵的最終電容值變大,該變化的電容再輸入到單片機進行信號的轉(zhuǎn)換,將變化的電容量轉(zhuǎn)換成某種電信號的變化量,再由一定的算法來檢測和判斷這個變化量的程度,當(dāng)這個變化量超過一定閾值時,就認為有手指按下。
CVD實現(xiàn)感應(yīng)的原理[4]是采用單片機 ADC的內(nèi)部采樣電容以及電路板上感應(yīng)點的寄生電容來產(chǎn)生電容電荷的分壓效應(yīng),分壓的大小則視感應(yīng)點的電容量大小而定,使用單片機的ADC測量分壓,再由軟件進行處理。如圖1所示,首先把采樣電容的供電電源切換到VDD,對內(nèi)部采樣電容進行充電,然后切換到感應(yīng)電容端,這時采樣電容開始向感應(yīng)電容放電到一個平衡電位,ADC將此時采樣電容上的電壓值進行轉(zhuǎn)換處理。
圖1 CVD模塊框圖
因為人體的觸摸會使感應(yīng)電容的容量變大,這樣在取樣電容上測量到的電壓就會降低,所以必須預(yù)先設(shè)定一個有觸摸與無觸摸輸入時的閾值,當(dāng)采樣到的電壓值低于閾值時,系統(tǒng)將認為有鍵按下,如圖2所示。
圖2 輸入采樣波形圖
在利用CVD實現(xiàn)電容觸摸感應(yīng)技術(shù)時,單片機內(nèi)部ADC的分辨率決定了觸摸感應(yīng)系統(tǒng)的分辨率,所以在本系統(tǒng)的設(shè)計中,采用PIC12F615[5]中內(nèi)部集成的10bitADC,選取GP0的第二功能AN0作為模擬通道,用做感應(yīng)輸入端,GP4作為感應(yīng)輸出端,為了便于與外部系統(tǒng)連接,外部利用NPN三極管,設(shè)計為開漏輸出。選取內(nèi)部振蕩8MHz作為系統(tǒng)時鐘,外部觸摸焊盤為10mm*10mm,設(shè)定ADC采樣閾值為0x287,可實現(xiàn)3-5mm可靠觸摸感應(yīng),并能在20μs內(nèi)做出響應(yīng),硬件電路如圖3所示。
圖3 PIC12F615實現(xiàn)觸摸感應(yīng)的硬件電路圖
在本系統(tǒng)中,利用PIC12F615實現(xiàn)CVD觸摸感應(yīng)時,采用MCU的GP0的第二功能作為模擬輸入,當(dāng)外部有觸摸時,該引腳的對地電容將發(fā)生改變,并與內(nèi)部的采樣電容進行分壓,然后利用片內(nèi)的ADC進行采樣,與閾值進行比較,從而判斷是否有鍵按下,其具體實現(xiàn)過程如下:
(1)選擇系統(tǒng)時鐘為內(nèi)部8MHz,ADC轉(zhuǎn)換時鐘為Fosc/2。
(2)設(shè)置GP0為模擬輸入,GP2、GP3、GP4為數(shù)字輸出。
(3)置GP2為數(shù)字輸出,并置1,此時對采樣電容進行充電。
(4)將采樣電容電源切換到GP0。
(5)啟動ADC,讀取GP0引腳的電壓值。
(6)比較采樣值與閾值判斷是否有鍵按下。
其程序流程圖如圖4所示:
圖4 系統(tǒng)的程序流程圖
CVD方法為我們利用PIC單片機實現(xiàn)電容觸摸感應(yīng)提供了方便,與CTMU(充電時間測量單元),CSM(容性傳感模塊方式)一樣,不需要任何外圍設(shè)備,可以快速實現(xiàn)數(shù)據(jù)采樣,這種技術(shù)的關(guān)鍵是需要單片機的ADC模塊實現(xiàn)觸摸感應(yīng)功能。
采用CVD實現(xiàn)觸摸感應(yīng),關(guān)鍵是硬件實現(xiàn)電路簡單,大大節(jié)約了硬件成本,可以方便的實現(xiàn)非接觸式感應(yīng),且響應(yīng)時間更快(10μs~20μs)。利用MCU的內(nèi)部ADC進行軟件處理,抗干擾能力比較強。該技術(shù)方案已正常通過電磁兼容測試并在實際中得到了應(yīng)用。
[1] 方獻良.基于A/D的電容觸摸按鍵電路設(shè)計[J].寧波大學(xué)學(xué)報,2010,23(3):123-125.
[2] 趙艷秋,馮健.觸摸控制處于起步階段 MCU企業(yè)嘗試多種新方案[N].中國電子報,2008-11-04(8).
[3] 張焱焱.基于電容感應(yīng)原理的手機按鍵設(shè)計[J].機械研究與應(yīng)用,2007,20(4):55-56.
[4] Thomas Perme,Dieter Peter.Capacitive Touch Using Only an ADC(CVD)[EB/OL] .2009.http://www.datasheetarchive.com/datasheet-pdf/075/DSAE004486.html.
[5] PIC12F615 data sheet[EB/OL].2010.http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en027148