感應按鍵技術,,作為一項新興的技術,,已經(jīng)廣泛用于各種產(chǎn)品。尤其是近兩年以來,采用感應按鍵的家電產(chǎn)品呈爆發(fā)式增加,。目前,,市面上的這類產(chǎn)品主要有智能電冰箱、數(shù)字液晶電視,、熱水器,、電熱爐等家電產(chǎn)品。采用感應式按鍵的家電產(chǎn)品,,可以設計出靚麗的控制面板,,同時,與機械式按鍵相比具有更長的使用壽命,。
目前,,感應按鍵的應用方式主要有兩大類:
①采用專用芯片,,比如Quantum(昆騰)公司的感應按鍵芯片QT240,、QT1101,以及Chemtronics(康拓斯)公司的CT1008等,。這類芯片內部固化了處理感應按鍵的軟件,,能夠對按鍵感應電極(金屬彈簧或導電海綿)的信號進行采集和分析,最終將分析的結果以高低電平形式輸出到應用系統(tǒng)的處理器I/O口,。比如,,當手靠近感應電極的時候輸出高電平,遠離感應電極的時候輸出低電平,。這類芯片外圍需要少量的分立器件,,實際使用時要根據(jù)應用場合對這些外圍器件的參數(shù)進行微調,以達到最佳效果,。
?、诓捎眉墒叫酒M瞥鲞@種方式的芯片廠家將處理感應按鍵的軟件部分嵌入到單片機程序中,,用戶如果需要用到感應按鍵,,只需要在單片機開發(fā)環(huán)境里將需要的I/O口配置為感應按鍵的輸入口,同時系統(tǒng)通過調用芯片廠家提供的函數(shù)庫接口來讀取感應按鍵的結果,?;贏tmel公司ATmega系列單片機的感應按鍵就是屬于這種應用方式,它是將其QTouch技術的軟件代碼以庫函數(shù)接口形式提供給用戶使用,。
2 QTouch技術
QTouch技術是Atmel公司觸摸技術部前身Quantum開發(fā)的一項技術,。所開發(fā)的集成電路技術是基于電荷的傳輸電容式感測。QTouch IC檢測用傳感器芯片和簡單按鍵電極之間連接來檢測觸摸,,如圖1所示,。QTouch器件對未知電容的感測電極充電到已知電位。電極通常是印刷電路板上的一塊銅區(qū)域,該電極可以通過金屬彈簧或者導電海綿來延伸應用空問,。在1個或多個電荷傳輸周期后測量電荷,,就可以確定感測板的電容。在觸摸表面按手指,,導致在該點影響電荷流的外部電容,,作為一個觸摸記錄;也可確定QTouch微控制器來檢測手指的接近度,,而不是絕對觸摸,。判斷邏輯中的信號處理使QTouch健全和可靠,同時可以消除靜電脈沖或瞬時無意識觸摸/接近引起的假觸發(fā),。
QTouch傳感器可以驅動單按鍵或多按鍵,。在用多按鍵時,可以為每個按鍵設置一個單獨的靈敏電平,??梢杂貌煌笮『托螤畹陌存I來滿足功能和審美要求。QTouch技術可以采用兩種模式:正?;?ldquo;觸摸”模式,,以及高靈敏度或“接近”模式。用高靈敏電荷傳輸接近感測來檢測末端用戶接近的手指,,用用戶接口中斷電子設備或電氣裝置來啟動系統(tǒng)功能,。為了實現(xiàn)良好的電磁兼容,QTouch傳感器采用擴頻調制和稀疏,、隨機充電脈沖(脈沖之間具有長延遲),。單個脈沖可以比內部串脈沖間隔短5%或更短。這種方法的優(yōu)點是交叉傳感器干擾較小,,功耗較低,,且降低了RF輻射和極化率,。QTouch器件對于慢變化(由于老化或環(huán)境條件改變)具有自動漂移補償,。這些器件不需要線圈、振蕩器,、RF元件,、專門纜線、RC網(wǎng)絡或大量的分立元件,。
3 硬件設計
基于ATmega48的感應按鍵,,在硬件設計上非常簡單,每路按鍵只需要一個電阻和一個電容即可實現(xiàn),。通常情況下,,感應電極一般以銅箔形式分布在印刷電路板上,可以根據(jù)具體的應用需要將感應電極設計成不同的尺寸和形狀。同時,,采用金屬彈簧或者導電海綿等具有導電功能的介質,,能夠將按鍵延伸到合適的長度或高度,如圖2所示,。
典型應用情況下,,采樣電容C1或C2采用22 nF,限流電阻R1或R2采用1 kΩ,。但是實際應用系統(tǒng)中需要根據(jù)感應按鍵的靈敏度,,對采樣電容的容值和限流電阻的阻值進行調整,以達到最佳效果,。硬件原理圖如圖3所示,。
4 函數(shù)庫安裝與軟件配置
要把ATmega48單片機的I/O口作為感應按鍵輸入口來使用,首先需要安裝QTouch函數(shù)庫Atmel_QTouch_Libraries,,目前比較新的函數(shù)庫版本是4.3,。安裝完畢后,需要將與單片機對應的庫文件加載到工程中,。Atmel公司的集成開發(fā)環(huán)境AVR Studio提供了便捷的設置,,新建一個工程后,可在Project→Configuration()ptions→Libraries界面中添加函數(shù)庫鏈接文件,。
其次,,需要對I/O口進行配置。在工程配置(Project→Configuration()ptions→Custom()ptions)界面設置相應的宏定義參數(shù)即可,,如圖4所示,。
-D_QTOUCH_:需要使用QTouch函數(shù)庫。
-DSNSK=C和-DSNS=C:表示將ATmega48 PC口設置為感應按鍵口,。
-DQT_NUM_CHANNELS=4:表示最大可用通道數(shù)量,。
-DQT_DELAY_CYCLES=1:表示采樣電容充放電周期時間。
另外,,在應用系統(tǒng)源程序中需要加入庫函數(shù)的頭文件,。代碼如下:
#include“touch api.h”
5 系統(tǒng)應用
應用流程如圖5所示。在系統(tǒng)初始化之后,,首先調用config_sensors()函數(shù)將需要的I/O口配置成感應按鍵的采樣口,,并對各個感應按鍵的各個狀態(tài)進行初始化。然后是設置感應參數(shù),,這些參數(shù)包括按鍵校準閾值,、正向漂移值、負向漂移值,、最大連續(xù)感應時間等,。最后,,在應用系統(tǒng)的主程序中,需要周期地調用庫函數(shù)qt_measuer_channels()對感應信號進行測量,,并檢測按鍵的狀態(tài),。
需要注意的是,感應按鍵采集使用了系統(tǒng)的一個定時器中斷,,因此,,應用系統(tǒng)中的中斷程序會對其造成一定的影響。這就要求在按鍵感應的過程中,,應用系統(tǒng)的中斷服務程序的處理時間越短越好,。在電容感應工作的時候,中斷服務程序處理時間不應該超過1 ms,,否則將嚴重影響感應按鍵的靈敏度,,甚至會導致感應按鍵失靈。
應用系統(tǒng)程序如下:
結語
基于Atmel QTouch技術的嵌入式感應按鍵設計,,簡化了設計難度,,降低了系統(tǒng)的應用成本,節(jié)省了印刷電路板的尺寸空間,,系統(tǒng)應用穩(wěn)定,,可靈活應用于各類電子產(chǎn)品中。