利用普通I/O口實(shí)現(xiàn)電容觸摸感應(yīng)方案
實(shí)現(xiàn)電路如圖3,使用一個(gè)I/O口對PCB構(gòu)成的電容充電,另一個(gè)I/O口測量電壓,對于多個(gè)按鍵時(shí)使用同一個(gè)I/O口充電。R1通常為幾百K到幾M,人體與PCB構(gòu)成的電極電容一般只有幾個(gè)pF,R2用于降低噪聲干擾,通常為10K。
二、充電時(shí)間測量方法
對充電時(shí)間的測量可以使用MCU中定時(shí)器的捕捉功能,對于多個(gè)按鍵一般MCU沒有足夠的定時(shí)器為每個(gè)按鍵分配一個(gè),也可以使用軟件計(jì)時(shí)的方法,這要求能對MCU的時(shí)鐘精確計(jì)數(shù),并且保證每個(gè)周期的時(shí)鐘個(gè)數(shù)保持一定。這種情況通常要求對按鍵使用一個(gè)獨(dú)立的MCU,以保證不被其他任務(wù)中斷。
為了提高系統(tǒng)的可靠性和穩(wěn)定性,改進(jìn)的測量方法是對Vout進(jìn)行高和低兩個(gè)門限進(jìn)行測量。如圖4所示,通過對t1和t2的測量,從而達(dá)到更可靠的效果。另外,多次測量也是有效的降低高頻干擾的有效方法。
實(shí)際應(yīng)用中可以使用數(shù)字信號的方式直接測量t1和t2,因?yàn)閿?shù)字信號的‘1’和‘0’也都有最高與最低輸入門限。使用軟件查詢方式測量,通過固定頻率檢測輸入腳,其中‘0’的個(gè)數(shù)就是t1,‘1’的個(gè)數(shù)就是t2,實(shí)際上就是輸入信號上升到VIHmin和下降到VILmax的時(shí)間
三、PCB設(shè)計(jì)注意事項(xiàng)
不論是單按鍵、多按鍵、滑條、滾輪設(shè)計(jì),還是混合應(yīng)用,都可以使用一個(gè)I/O進(jìn)行充電,即可減少資源應(yīng)用,又可以因使用同一定時(shí)標(biāo)準(zhǔn)從而簡化軟件設(shè)計(jì)。
評論