精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何簡便地實現電容觸摸傳感設計

電子工程師 ? 來源:微芯科技 ? 作者:Thomas Perme ? 2020-10-06 16:39 ? 次閱讀

考慮到美觀、整潔和成本效益等方面的因素,在包括消費類電子產品、家用電器等在內的許多電子產品中,觸摸傳感應用正變得越來越流行。本文將討論與電容觸摸傳感">電容觸摸傳感工作相關的基本概念,以及如何簡便地實現電容觸摸傳感">電容觸摸傳感功能。

電容的相關物理性質

為了更好地理解在電容觸摸傳感">電容觸摸傳感應用的硬件、布線和軟件開發中需要采取哪些措施,了解它內在的物理性質非常重要。控制它的是兩個基本公式和一個常識。第一個公式(見公式1)用于求電容值,它說明如何根據極板模型使用面積、距離和材料屬性來定義電容。第二個公式(見公式2)說明電容電壓與電流的關系,并引入RC電路的充電速率(等于時間常數τ)。第三個公式(見公式3)說明并聯電容的總電容值等于兩者相加。


公式1是雙極板電容的模型。它適用于觸摸傳感應用,因為在將手指靠近傳感器極板時,手指的作用也類似于一個極板。傳感器具有一定的標稱電容C1(由于走線、附近的地線等原因而產生)。將手指靠近時,距離“d”下降,而和A上升,并引入了并聯的附加電容“C2”。所產生的效果就是傳感器線路上的電容上升,上升值等于附加電容C2。然后,軟件必須通過硬件(向單片機中輸入傳感器讀數)來檢測電容變化。硬件將利用公式2(充電時間公式)的某種形式向單片機傳達傳感器讀數。


傳感器設計

傳感器設計通常很簡單。設計布線時,需要注意容性耦合效應及其關聯的物理性質。焊盤的面積及覆蓋在其上方的材料的厚度是最關鍵的因素。對于小鍵盤類型的應用,傳感器的大小應當至少為將手指按平時,指尖面積的大小。根據公式1中的面積“A”,傳感器較大時,其傳感能力通常也較好。此外,人們并不一定能夠恰當地控制手指的放置位置(從而控制產生的電容),而不同的兩個人也不會具有完全相同的電容。所以,傳感器的容限必須盡可能很大,可以處理遇到的各種觸摸情況,同時準確地報告按下狀態。

有些時候,指尖大小的傳感器并不總是最佳的。作為一條準則,傳感器焊盤上方的材料越厚,焊盤就必須越大,才能檢測到是否有手指按下。這是因為根據公式1,當傳感器焊盤上方的材料厚度增加時,距離“d”就會增大,從而手指的電容就會下降。對于需要非常精確的傳感器控制的應用(例如,傳感器很小),如果材料覆蓋層很厚,則最終會限制傳感器檢查按下狀態的能力。因此,如果傳感器非常小,覆蓋層必須盡可能薄。此外,如果非常小的傳感器相互緊鄰,還會產生容性耦合,在傳感器之間布置接地電路可以減少這種耦合效應。此外,還可以使用一些軟件技巧來辨別相互耦合程度很高的傳感器。

用于捕捉傳感器數據并將其轉換為數值(讀數)的硬件可采用許多方式開發。在電容觸摸傳感">電容觸摸傳感設計中,用硬件區分不同單片機供應商針對此應用推出的產品。根據公式2,可以測量和電流與電壓關系有關的3個基本量:

1. 充電至固定電壓需要的時間變化量(Δt,固定V);

2. 固定充電時間內的電壓變化量(ΔV,固定t);

3. 固定時間周期中的頻率變化量(Δf,固定T) 。

頻率測量方案基于充電速率公式(重復許多次),但它對應于較長的周期T,而不是單個充電周期t。所以,充電至固定電壓需要的時間變化量(Δt,固定V)和固定充電時間內的電壓變化量(ΔV,固定t),定義了檢測電容變化的基本方法。根據需要,可以基于這些基本方法來構造新的測量方案。

對于測量充電至固定電壓需要的時間變化量這種方法,手指產生的附加電容會增加充電時間(C上升),所以時間讀數會相應地上升。對于測量固定充電時間內的電平變化量這種方法,附加電容會降低相同時間量內所能達到的電壓,所以電壓讀數會下降。最后,對于測量固定時間周期中的頻率這種方法,頻率會隨振蕩器RC常數的上升而下降。因此,頻率讀數會下降。

本文以頻率測量方案為例進行說明,但每個系統都會應用后處理方案。使用一種方案時,電容讀數可能會上升,而使用另一種方案時,電容讀數可能會下降,但這可以在軟件中調整。選擇了硬件方案之后,讀數將根據請求輸入單片機,或按照軟件配置指定的其他時間間隔輸入單片機。

單片機軟件與后處理

單片機中的軟件負責處理電容觸摸傳感">電容觸摸傳感應用中的許多工作,前提是硬件和傳感器均正常工作。傳感器和整個系統的質量越好,軟件的實現就越簡單。開發軟件之前,需要記住每個傳感器都具有一定的固有寄生電容:Cp(或公式3中的C1)。因此,每個傳感器都可以檢測到某個標稱值。通過觀察傳感器的輸出,可以直觀方便地確定它,但必須先在軟件中設定該標稱值,然后才能以此為基準計算相對于它的偏差。實現它的最好方式是創建一個滑動平均值——即,16 點平均值。通過存儲先前16個值來計算平均值的效率很低,所以改為使用一種看起來較復雜,但計算較簡單、可節省存儲空間的求均值方法。

與具有極強計算能力的較大的計算機處理器相比,單片機通常在這方面受到限制。與實際執行除法相比,使用移位、加法和減法可以降低性能損失。此外,這個求均值程序并不僅限用于電容觸摸傳感">電容觸摸傳感——它對于8位單片機的很多應用都非常有用。

確定了平均值后,接下來必須構造傳感器掃描循環,目的是監視相對于平均值的偏差。從一個簡單循環開始,如圖1流程圖所示。掃描循環使用中斷來驅動,并使用兩個定時器和頻率偏移檢測方法。Timer0決定固定的時間周期T,在該時間周期內,將測量進入Timer1捕捉模塊的正邊沿數量,然后它產生一個頻率測量值。正邊沿數量越多,說明頻率越高。準備好獲取測量值時,Timer0發生溢出以觸發中斷,而Timer1會測量正邊沿數量。流程圖的“捕捉讀數”框顯示了何時獲取讀數。

下一步是確定按鈕是否被按下。如果按鈕未被按下,則繼續對傳感器讀數求均值。如果按鈕被按下,則不對傳感器讀數求均值,也就是說它將繼續一直跟蹤讀數(通常這不是所期望的)。然后,通過在C代碼中使用位標志或通過其他方式,向應用程序代碼指示按鈕已被按下。不要在中斷服務程序(ISR)中調用需要大量進一步計算的程序——較好的做法是設置一個標志,讓主循環進行響應。

此時,如果只有單個按鍵,則按照基本方法的描述,通過將定時器清零或將電容對地放電來重新開始測量過程。如果存在多個按鍵,則按順序掃描每個按鍵。按照圖1中的流程圖,基本的系統可以定期掃描按鍵。

尚待討論的是如何確定按鍵是否被按下。最需要考慮和注意的是圖1中的“按鍵是否被按下?”判斷塊的細節。這將在下一步討論。

為了確定按鍵是否被按下,需要先確定滑動平均值。確定平均值之后,根據測量值相對于平均值的偏差可以指示按鍵是否被按下。對于我們的系統,讀數下降表示按鍵按下。因為涉及到一些環境效應和其他因素(例如噪聲),所以必須設置一定的容限。但是,該系統未提供遲滯值,若讀數在均值與判決門限值之差附近上下變化,就會出現系統在判定按下與未按下之間來回振蕩這一糟糕的情形。為了避免這一點,需要包含遲滯值:

if (reading < average – trip) {

Buttons.SENSOR0 = PRESSED;

} else if (reading > average – trip + hyst) {

Buttons.SENSOR0 = UNPRESSED;

}

以上代碼在按鈕釋放中增添了遲滯值,使按鈕不會產生振動。這也為電容開關構造了最低程度的消抖功能。機械按鈕會在0-VDD之間來回抖動。電容按鈕不會產生該問題;但是,通過增添遲滯值,按鈕按下的操作與原來無異,只是加強了對按鈕釋放的判斷。這可以產生最低程度的消抖效果,因為單次按下仍然可以觸發按鍵。要進一步增強消抖,可以要求連續幾次的傳感器讀數均有效,才表示按鈕確實按下,然后向應用程序指示按鈕被按下。這樣可以防止虛假的低讀數影響系統。

復雜解碼方案

上面用于確定按鈕是否被按下的解碼方案是相當簡單的。

對于百分比按下檢測,將繼續使用前面討論的求均值方案。但是,讀數變量將變換為如下形式:

unsigned long percent;

percent = average – (reading*16);

if (percent < 0) {

percent = 0; // 忽略電容上升

} else {

percent = percent * 1000; // 乘以1000

percent = percent / average; // 結果使用100.0%的形式

}

結果變量percent包含0~1000的值,更具體地說,值的范圍約為0~200(代表20.0%)。結果值保持單個小數位,因為更多小數位并不會提高精度

更換先前的“if”語句,產生類似于以下語句的“if”語句:

#define PCT_ON 50 // >5.0%,打開

#define PCT_OFF 30 // <3.0%,關閉

if (reading < PCT_ON) {

Buttons.SENSOR0 = PRESSED;

} else if (reading > PCT_OFF) {

Buttons.SENSOR0 = UNPRESSED;

}

下一個復雜解碼方案稱為“多鍵表決”。如前面所討論,傳感器不僅會與手指和周圍的地產生耦合,而且會相互耦合。因此,觸摸一個傳感器會影響另一個傳感器,但影響程度通常會低于其他意外激勵。如果即使影響程度較低,影響仍足以觸發按下狀態,會發生什么情況?

開發多鍵表決系統可以幫助解決該問題,以及與小鍵盤污染關聯的其他問題。多鍵表決系統會選擇按下后受影響最大的按鍵,代價是多次按下動作只能產生單個按鍵響應。例如,如果觸摸會影響兩個按鍵,但手指按下的按鍵受到的影響最大,該算法將選擇受影響最大的按鍵。

該算法必須獲取來自所有可用傳感器的數據。舉例來說,假定使用了4個傳感器。算法還是使用百分比按下檢測方法,因為每個傳感器的讀數可能會稍有不同,采用相對與原始值的偏差可以起到一些幫助。系統必須掃描全部4個傳感器,并在掃描之后執行以下步驟:

1. 首先,掃描所有傳感器;

2. 在每次掃描期間,記錄每個傳感器的受影響百分比;

3. 根據受影響程度進行排序;

4. 基于步驟3,對索引進行排序;

5. 位于數組單元0的傳感器的受影響程度最高;

6. 確定是否大于最小門限值;

7. 指示按下/未按下。

代碼示例1(略)

最后一個復雜解碼方案也是百分比方案。百分比計算會占用8位單片機上可用存儲器總空間中大量的程序和RAM存儲空間,占用。在可能的情況下,最好降低這種存儲器消耗。如果使用較大的數值,并可以承受一定的分辨率損失,則可以使用一種較簡單的百分比方法。

通過使用更多的移位來代替除法(類似于求均值方案),可以用如下方式確定平均值的百分比門限值:

threshold = average >> 3; // 傳感器

// 門限值現在為1/8,即12.5%

if (reading < average – threshold)

{...}

以下列出了一些有用的百分比。

threshold = reading >> 1; // 1/2 = 0.500

threshold = reading >> 2; // 1/4 = 0.250

threshold = reading >> 3; // 1/8 = 0.125

threshold = reading >> 4; // 1/16 = 0.063

threshold = reading >> 5; // 1/32 = 0.031

threshold = reading >> 6; // 1/64 = 0.016

threshold = reading >> 7; // 1/128 = 0.008

對于進行移位的每個位,門限值會損失一定的舍入分辨率。但是,使用較大的16位數值時,對于1/16的百分比(即6.25%),損失4個最低位是可以接受的。現在,對于簡單百分比計算,可以省去前面使用的unsigned long percent變量,以及執行除法所需的額外計算量。這是另一種并不僅限用于電容觸摸傳感">電容觸摸傳感的技術,但它對于觸摸傳感的實現非常有用。

結論

有許多方法可以實現電容觸摸系統,市場上針對此應用推出的各種嵌入式產品充分證明了這一點。關于這些解決方案有趣的一點是它們基于相同的物理原理,具有共同的基礎。其中一些解決方案采用了不同的布線方式(將地與傳感器組合);許多解決方案涉及到使用專有的材料。但是,電容觸摸傳感">電容觸摸傳感背后的概念是相當簡單的——關鍵在于在實現設計時需要理解應用背后隱含的物理原理。基于這種理解,結合對于所用硬件和軟件方案的良好理解,就可以簡便地實現電容觸摸傳感">電容觸摸傳感系統。

作者:Thomas Perme 微芯科技公司 應用工程師

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2548

    文章

    50673

    瀏覽量

    751987
  • 觸摸傳感器
    +關注

    關注

    0

    文章

    121

    瀏覽量

    23048
  • 電容觸摸傳感

    關注

    0

    文章

    11

    瀏覽量

    6424
收藏 人收藏

    評論

    相關推薦

    使用OpenSCAD腳本自動化電容觸摸傳感器PCB設計

    電子發燒友網站提供《使用OpenSCAD腳本自動化電容觸摸傳感器PCB設計.pdf》資料免費下載
    發表于 09-14 10:39 ?0次下載
    使用OpenSCAD腳本自動化<b class='flag-5'>電容</b>式<b class='flag-5'>觸摸</b><b class='flag-5'>傳感</b>器PCB設計

    基于MSP430實現電視的電容觸摸按鍵

    電子發燒友網站提供《基于MSP430實現電視的電容觸摸按鍵.pdf》資料免費下載
    發表于 08-28 11:56 ?0次下載
    基于MSP430<b class='flag-5'>實現</b>電視的<b class='flag-5'>電容</b>式<b class='flag-5'>觸摸</b>按鍵

    電容觸摸感應技術

    電容感應技術在消費電子、工業和汽車前面板應用中,是一種常見的界面技術選擇,取代了開關和旋鈕。物聯網設備涵蓋消費應用、工業應用和商業應用,它們都可以從時尚的用戶界面中受益,實現產品差異化,例如:觸摸
    的頭像 發表于 08-15 10:08 ?379次閱讀
    <b class='flag-5'>電容</b>式<b class='flag-5'>觸摸</b>感應技術

    電容觸摸感應技術的原理和類型

    電容觸摸感應技術是一種廣泛應用于現代觸摸屏設備中的技術,如智能手機、平板電腦、電腦觸摸板等。其原理基于電容的變化來檢測和感應
    的頭像 發表于 08-05 15:20 ?1195次閱讀

    基于Arduino的數字電容觸摸傳感器設計

    數字電容觸摸傳感器,簡稱電容觸摸傳感器,是一種通過檢測物體(如手指)與
    的頭像 發表于 07-05 17:47 ?1330次閱讀
    基于Arduino的數字<b class='flag-5'>電容</b>式<b class='flag-5'>觸摸</b><b class='flag-5'>傳感</b>器設計

    英飛凌 | 用電容觸摸感應技術實現HMI差異化解決方案

    電容感應技術在消費電子、工業和汽車前面板應用中,是一種常見的界面技術選擇,取代了開關和旋鈕。物聯網設備涵蓋消費應用、工業應用和商業應用,它們都可以從時尚的用戶界面中受益,實現產品差異化,例如:觸摸
    的頭像 發表于 06-21 14:58 ?502次閱讀
    英飛凌 | 用<b class='flag-5'>電容</b>式<b class='flag-5'>觸摸</b>感應技術<b class='flag-5'>實現</b>HMI差異化解決方案

    電容觸摸感應技術實現HMI差異化解決方案

    電容感應技術在消費電子、工業和汽車前面板應用中,是一種常見的界面技術選擇,取代了開關和旋鈕。物聯網設備涵蓋消費應用、工業應用和商業應用,它們都可以從時尚的用戶界面中受益,實現產品差異化,例如:觸摸
    的頭像 發表于 04-12 17:14 ?536次閱讀
    用<b class='flag-5'>電容</b>式<b class='flag-5'>觸摸</b>感應技術<b class='flag-5'>實現</b>HMI差異化解決方案

    觸摸電容屏原理 觸摸電容屏劃線出現斷線怎么回事

    觸摸電容屏原理及觸摸電容屏劃線出現斷線的原因 一、觸摸電容屏原理
    的頭像 發表于 01-24 15:12 ?1110次閱讀

    電容觸摸屏的工作原理 電容觸摸屏的分辨率怎么調

    電容觸摸屏是一種利用電容傳感原理檢測觸摸輸入的技術。它由觸摸面板和
    的頭像 發表于 01-23 14:06 ?1919次閱讀

    電容觸摸屏原理 電容觸摸屏和電阻觸摸屏有什么區別

    屏是利用人體電荷或其他導電體的電容變化來實現觸摸定位的技術。其基本原理是利用觸摸面板上的透明導電層形成的電場,當人體或其他導電體接觸到觸摸
    的頭像 發表于 01-22 16:13 ?4092次閱讀

    電容傳感器MCU 電容觸摸噪聲抗擾度指南

    電子發燒友網站提供《電容傳感器MCU 電容觸摸噪聲抗擾度指南.pdf》資料免費下載
    發表于 01-03 14:10 ?2次下載
    <b class='flag-5'>電容</b>式<b class='flag-5'>傳感</b>器MCU <b class='flag-5'>電容</b>式<b class='flag-5'>觸摸</b>噪聲抗擾度指南

    電容傳感器MCU QE電容觸摸高級模式參數指南

    電子發燒友網站提供《電容傳感器MCU QE電容觸摸高級模式參數指南.pdf》資料免費下載
    發表于 01-03 10:06 ?0次下載
    <b class='flag-5'>電容</b>式<b class='flag-5'>傳感</b>器MCU QE<b class='flag-5'>電容</b><b class='flag-5'>觸摸</b>高級模式參數指南

    電容傳感器微控制器 CTSU電容觸摸介紹指南

    電子發燒友網站提供《電容傳感器微控制器 CTSU電容觸摸介紹指南.pdf》資料免費下載
    發表于 01-03 10:05 ?1次下載
    <b class='flag-5'>電容</b>式<b class='flag-5'>傳感</b>器微控制器 CTSU<b class='flag-5'>電容</b><b class='flag-5'>觸摸</b>介紹指南

    貼片電容傳感器讀數方式方法

    貼片電容傳感器讀數方式方法? 貼片電容傳感器(Surface Mount Capacitive Sensor)是一種通過測量電容值來檢測物體
    的頭像 發表于 12-15 11:48 ?834次閱讀

    單片機的GPIO如何實現觸摸按鍵的功能呢?

    單片機的GPIO如何實現觸摸按鍵的功能呢? 觸摸按鍵是一種使用觸摸電容技術實現的按鍵,它通過利用
    的頭像 發表于 12-07 11:43 ?3828次閱讀