<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 基于充放電原理的電容式觸摸按鍵設(shè)計(jì)

          基于充放電原理的電容式觸摸按鍵設(shè)計(jì)

          作者: 時(shí)間:2010-12-19 來源:網(wǎng)絡(luò) 收藏

          與傳統(tǒng)的機(jī)械式按鍵相比,電容式觸摸感應(yīng)按鍵美觀、耐用、壽命長(zhǎng)。電容式觸摸感應(yīng)按鍵實(shí)際只是PCB上的一小塊“覆銅焊盤”,與四周“地信號(hào)”構(gòu)成一個(gè)感應(yīng)電容,觸摸該按鍵會(huì)影響該電容值。現(xiàn)在檢測(cè)電容值的方法有很多種,如電流與電壓相位差檢測(cè)、由電容構(gòu)成的振蕩器頻率檢測(cè)、電容橋電荷轉(zhuǎn)換檢測(cè)。而這里則是利用感應(yīng)電容與電阻構(gòu)成的RC回路,檢測(cè)充放電時(shí)間的變化量,不需要專用檢測(cè)電路,
          成本低廉。

          1 檢測(cè)原理
          電容式觸摸按鍵電路的原理構(gòu)成如圖1所示,按鍵即是一個(gè)焊盤,與地構(gòu)成一個(gè)感應(yīng)電容,在周圍環(huán)境不變的情況下電容值固定為微小值,具有固定的充放電時(shí)間,而當(dāng)有一個(gè)導(dǎo)體向電極靠近時(shí),會(huì)形成耦合電容,這樣就會(huì)改變固有的充放電時(shí)間,而手指就是這樣的導(dǎo)體。通過測(cè)量充放電時(shí)間的改變即可檢測(cè)是否有按鍵被按下。充放電時(shí)間的計(jì)算公式如下:

          式中,t,R,C分別為充放電時(shí)間,電阻值,電容值;V1為充放電終止電壓值;V2為充放電起始電壓值;Vt為充放電t時(shí)刻電容上的電壓值。

          本文引用地址:http://www.ex-cimer.com/article/180076.htm


          首先,開關(guān)在斷開的狀態(tài)下該按鍵被下拉電阻拉低,電勢(shì)為0 V,這時(shí)開關(guān)閉合開始對(duì)按鍵充電,等充滿電穩(wěn)定后再斷開開關(guān),這時(shí)按鍵開始放電,并用定時(shí)器記錄這段放電時(shí)間為t1,反復(fù)該過程。當(dāng)有手指觸碰按鍵時(shí),放電時(shí)間會(huì)改變?yōu)閠2,如圖2所示,由此即可判斷出手指是否觸摸到該按鍵。



          2 檢測(cè)電路設(shè)計(jì)
          該檢測(cè)電路由MSP430F1121A作為主控制器,由JTAG接口在線仿真調(diào)試,鍵盤分為單個(gè)觸摸按鍵檢測(cè)和矩陣觸摸按鍵檢測(cè)兩部分,如圖3所示。其占用的單片機(jī)資源包括帶有中斷功能的GPIO口和定時(shí)計(jì)數(shù)器。


          上一頁 1 2 下一頁

          關(guān)鍵詞: 收發(fā)器

          評(píng)論


          相關(guān)推薦

          推薦視頻

          更多>>

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();