- RC充電檢測(cè)基本原理
- 充電時(shí)間測(cè)量方法
- PCB設(shè)計(jì)注意事項(xiàng)
- 使用一個(gè)I/O口對(duì)PCB構(gòu)成的電容充電
- 改進(jìn)的測(cè)量方法是對(duì)Vout進(jìn)行高和低兩個(gè)門限進(jìn)行測(cè)量
- 傳遞按鍵信號(hào)的線一定要足夠的細(xì),以降低線路造成的電容的影響
現(xiàn)在電子產(chǎn)品中,觸摸感應(yīng)技術(shù)日益受到更多關(guān)注和應(yīng)用,不僅美觀耐用,而且較傳統(tǒng)機(jī)械按鍵具有更大的靈敏度、穩(wěn)定性、可靠性,同時(shí)可以大幅提高產(chǎn)品的品質(zhì)。觸摸感應(yīng)解決方案受到越來越多的IC設(shè)計(jì)廠家的關(guān)注,不斷有新的技術(shù)和IC面世,國(guó)內(nèi)的公司也紛紛上馬類似方案。Cpress公司的CapSense™技術(shù)可以說是感應(yīng)技術(shù)的先驅(qū),走在了這一領(lǐng)域的前列,在高端產(chǎn)品中有廣泛應(yīng)用,MCP推出了mTouch™,AT也推出了QTouch™技術(shù),F(xiàn)SL推出的電場(chǎng)感應(yīng)技術(shù)與MCP的電感觸摸也別具特色,甚至ST也有QST產(chǎn)品。
但是目前所有的觸摸解決方案都使用專用IC,因而開發(fā)成本高,難度大,而本文介紹的基于RC充電檢測(cè)(RCAcquisition)的方案可以在任何MCU上實(shí)現(xiàn),是觸摸感應(yīng)技術(shù)領(lǐng)域革命性的突破。首先介紹了RC充電基礎(chǔ)原理,以及充電時(shí)間的測(cè)試及改進(jìn)方法,然后詳細(xì)討論了基于STM8S單片機(jī)實(shí)現(xiàn)的硬件、軟件設(shè)計(jì)步驟,注意要點(diǎn)等。
RC充電檢測(cè)基本原理
RC充電檢測(cè)基本原理是對(duì)使用如PCB的電極式電容的充電放電時(shí)間進(jìn)行測(cè)量,通過比較在人體接觸時(shí)產(chǎn)生的微小變化來檢測(cè)是否有‘按下’動(dòng)作產(chǎn)生,可選用于任何單獨(dú)或多按鍵、滾輪、滑條。
如圖1(a)所示,在RC網(wǎng)絡(luò)施加周期性充電電壓Vin,測(cè)量Vout會(huì)得到如(b)的時(shí)序,通過檢測(cè)充電開始到Vout到達(dá)某一門限值的時(shí)間tc的變化,就可以判斷出是否有人體接觸。圖2顯示出有人體接觸時(shí)充電時(shí)間會(huì)變長(zhǎng)。
實(shí)現(xiàn)電路如圖3,使用一個(gè)I/O口對(duì)PCB構(gòu)成的電容充電,另一個(gè)I/O口測(cè)量電壓,對(duì)于多個(gè)按鍵時(shí)使用同一個(gè)I/O口充電。R1通常為幾百K到幾M,人體與PCB構(gòu)成的電極電容一般只有幾個(gè)pF,R2用于降低噪聲干擾,通常為10K。
充電時(shí)間測(cè)量方法
對(duì)充電時(shí)間的測(cè)量可以使用MCU中定時(shí)器的捕捉功能,對(duì)于多個(gè)按鍵一般MCU沒有足夠的定時(shí)器為每個(gè)按鍵分配一個(gè),也可以使用軟件計(jì)時(shí)的方法,這要求能對(duì)MCU的時(shí)鐘精確計(jì)數(shù),并且保證每個(gè)周期的時(shí)鐘個(gè)數(shù)保持一定。這種情況通常要求對(duì)按鍵使用一個(gè)獨(dú)立的MCU,以保證不被其他任務(wù)中斷。
為了提高系統(tǒng)的可靠性和穩(wěn)定性,改進(jìn)的測(cè)量方法是對(duì)Vout進(jìn)行高和低兩個(gè)門限進(jìn)行測(cè)量。如圖4所示,通過對(duì)t1和t2的測(cè)量,從而達(dá)到更可靠的效果。另外,多次測(cè)量也是有效的降低高頻干擾的有效方法。
實(shí)際應(yīng)用中可以使用數(shù)字信號(hào)的方式直接測(cè)量t1和t2,因?yàn)閿?shù)字信號(hào)的‘1’和‘0’也都有最高與最低輸入門限。使用軟件查詢方式測(cè)量,通過固定頻率檢測(cè)輸入腳,其中‘0’的個(gè)數(shù)就是t1,‘1’的個(gè)數(shù)就是t2,實(shí)際上就是輸入信號(hào)上升到VIHmin和下降到VILmax的時(shí)間。
PCB設(shè)計(jì)注意事項(xiàng)
不論是單按鍵、多按鍵、滑條、滾輪設(shè)計(jì),還是混合應(yīng)用,都可以使用一個(gè)I/O進(jìn)行充電,即可減少資源應(yīng)用,又可以因使用同一定時(shí)標(biāo)準(zhǔn)從而簡(jiǎn)化軟件設(shè)計(jì)。
用于傳遞按鍵信號(hào)的線一定要足夠的細(xì),以降低線路造成的電容的影響,信號(hào)線間距為兩倍線寬,不同組的信號(hào)間距應(yīng)保證3mm~5mm。同組的信號(hào)線長(zhǎng)度應(yīng)盡量保持一致,不同組的信號(hào)線不可以交叉。獨(dú)立按鍵的形狀可設(shè)計(jì)為、圓、三角或正多邊形,尺寸以10mm~15mm為宜?;瑮l的形狀可以是長(zhǎng)方形或鋸齒形,滾輪可以設(shè)計(jì)為幅射的扇形或環(huán)形,也可以是交錯(cuò)的齒輪,每個(gè)部分之間應(yīng)保持0.2~0.5mm。按鍵PCB層不應(yīng)該覆銅,否則會(huì)影響感覺的靈敏度,而反面可以覆銅,可以減少干擾。
按鍵除設(shè)計(jì)為單通道模式,還可以設(shè)計(jì)為多通道模式,通過對(duì)附近按鍵的感應(yīng)信號(hào)強(qiáng)度判斷手指的位置,甚至可設(shè)計(jì)出‘連續(xù)’的滑動(dòng)效果。
LED經(jīng)常在感應(yīng)設(shè)計(jì)中用來指示按鍵是否有效按下,注意按鍵的地或電源線就盡量短,線路較長(zhǎng)時(shí)宜增加1nF的濾波電容。
另外,建議電源電路使用線性電源而不是開關(guān)電源,這對(duì)提高感應(yīng)靈敏度很重要。
軟件設(shè)計(jì)流程
ST公司設(shè)計(jì)了完整的基于RC充電檢測(cè)的電容式感應(yīng)觸摸方案的完整設(shè)計(jì),包括PCB和完整的源程序,以及基于STM8S的標(biāo)準(zhǔn)觸摸感應(yīng)庫(kù)(TouchSenseLibrary:TSL)和應(yīng)用API接口,采用易于移植的C設(shè)計(jì),用戶可以方便地應(yīng)用于其他任何MCU系統(tǒng)中。因?yàn)镽C充電理論涉及的專利已經(jīng)對(duì)公眾開放,所以完全沒有專利的限制。
圖7是ST的觸摸感應(yīng)設(shè)計(jì)庫(kù)TSL的架構(gòu)示意。
ST的TSL內(nèi)容包括濾波和校正算法,環(huán)境變化系統(tǒng),自動(dòng)根據(jù)環(huán)境溫度、濕度、電壓、灰塵等因素調(diào)整配置參數(shù)。提供了包括單通道和多通道的感應(yīng)設(shè)計(jì)API函數(shù),層次驅(qū)動(dòng)的項(xiàng)目工程?;赟TM8Sxxx-TS1-EVAL演示板的軟件在STVD開發(fā)平臺(tái)下設(shè)計(jì),使用COSMIC-C語言編譯器,包括完整的源代碼,篇幅有限,不能詳述。
通過實(shí)驗(yàn),我們使用STM8S的觸摸感覺按鍵與CY的CAPSENSE觸摸按鍵的效果進(jìn)行了對(duì)比,結(jié)果證明二者在靈敏度與可靠性方面不相上下,在水浸、增加覆蓋物情況下,本方案適應(yīng)性更佳。