基于中穎8位微控制器的電容式觸摸按鍵控制器
硬件實(shí)現(xiàn)
圖4顯示了一個(gè)實(shí)現(xiàn)的實(shí)例。由R1,R2以及電容電極(CX)和手指電容(CT)并聯(lián)的電容(大約5pF) 形成一個(gè)RC網(wǎng)絡(luò),通過(guò)對(duì)該RC網(wǎng)絡(luò)充放電時(shí)間的測(cè)量,可以檢測(cè)到人手的觸摸。 所有電極共享一個(gè)“負(fù)載I/O”引腳。電阻R1和R2盡量靠近MCU放置。電容R1(阻值在幾百歐到幾兆歐之間)是主要電容,用于調(diào)節(jié)觸摸檢測(cè)的靈敏度。電容R2(10KΩ)是可選的,用于減少對(duì)噪聲影響。
圖4:電容觸摸感應(yīng)實(shí)現(xiàn)實(shí)例。
3 軟件實(shí)現(xiàn)
本章描述了觸摸感應(yīng)RC原理的實(shí)現(xiàn)。
3.1充電時(shí)間測(cè)量原理
為了保證健壯的電容觸摸感應(yīng)的應(yīng)用,充電時(shí)間的測(cè)量需要足夠的精確。
采用一個(gè)簡(jiǎn)單的定時(shí)器(無(wú)需IC功能)和一系列簡(jiǎn)單的軟件操作,即定時(shí)地檢查感應(yīng)I/O端口上的電壓是否達(dá)到閥值。這樣的話,時(shí)間測(cè)量的精確度就取決于執(zhí)行一次完整軟件查詢需要的CPU周期數(shù)。這種測(cè)量方法會(huì)由于多次測(cè)量帶來(lái)一些抖動(dòng),但是由于沒(méi)有硬件限制,這種方法適用于需要很多電極的場(chǎng)合。
基本測(cè)量
使用普通定時(shí)器進(jìn)行充電時(shí)間的測(cè)量。對(duì)電容充電開(kāi)始之前,定時(shí)器的計(jì)數(shù)器數(shù)值被記錄下來(lái)。當(dāng)采樣I/O端口上的電壓達(dá)到某個(gè)閥值(VTH)時(shí),再次記錄定時(shí)器計(jì)數(shù)器的值。二者之差就是 充電或者放電的時(shí)間。
圖5:定時(shí)器計(jì)數(shù)器值。
過(guò)采樣
過(guò)采樣的目的是以CPU時(shí)鐘的精度,對(duì)輸入電壓達(dá)到高電平和低電平(VIH和VIL)的時(shí)間測(cè)量。 為了跨越所有的取值范圍,每次測(cè)量都比上一次測(cè)量延遲一個(gè)CPU時(shí)鐘周期的時(shí)間。 為了跨越所有的取值范圍,測(cè)量的次數(shù)是和MCU核相關(guān)的。圖6說(shuō)明了這個(gè)概念的應(yīng)用情況。
圖6:輸入電壓測(cè)量。
輸入電壓測(cè)量的原理
為了提高在電壓和溫度變動(dòng)情況下的穩(wěn)定性,對(duì)電極會(huì)進(jìn)行連續(xù)兩次的測(cè)量:第一次測(cè)量對(duì)電容的充電時(shí)間,直到輸入電壓升至VIH。第二次測(cè)量電容的放電時(shí)間,直到輸入電壓降至VIL。下圖以及以下的表格詳細(xì)說(shuō)明了對(duì)感應(yīng)電極(感應(yīng)I/O)和負(fù)載I/O引腳上的操作流程。
圖7:電容充放電時(shí)間測(cè)量。
表 電容充放電測(cè)量步驟
評(píng)論