在做硬件設計的時候,按鍵是最常見的模塊之一,也是學硬件的人入坑接觸的第一二個實例。
人手在按下按鍵的時候會有一定頻率的抖動,反映在按下和釋放的上升下降沿會有信號的反復跳動,如下示意圖。單片機在識別IO信號的時候,經常會根據前后電平值來判斷是否有跳變,如果在單片機的采樣窗口內連續出現反復多次的高低電平,就會影響單片機的判斷,采集到多次高低電平信號。不僅是人手主動按,不小心碰到按鍵也是會存在一定幾率的抖動信號,可能導致誤觸。
不過成熟、高可靠性的按鍵設計一定不是只有按鍵,通常我們會看到有并聯電容,用來消除按鍵抖動。抖動不消除會有一定幾率造成產品的不良影響,比如按鍵失靈、響應錯誤、誤觸等。
既然電容可以消除抖動,那消抖電容的容值是怎么選的。
首先電容在這里的作用是濾波的,那么濾除什么頻率的波就是我們需要考慮的因素了。通過查閱資料,按鍵抖動的頻率一般在100Hz以內,抖動的時間經驗值通常在5~10ms,即在這個時間內通常會有多次的跳變信號。
電容兩端的電壓是不能突變的,充電和放電都會有一個過程,如上圖。因此在出現抖動的時候,電容會使其兩端的電壓緩慢變化,只要在其充放電時間內,抖動能夠結束,就能有效消除掉抖動。
也就是說,根據充放電的時間計算,通常選擇0.01uF~1uF的電容,就能夠消除大部分機械按鍵的抖動。
相對應的,在產品設計時,軟件層面也會做消抖,程序會考慮在第一次接收到電平跳變后delay10ms左右再次做檢測,這樣也能有效避免誤檢測。
-
單片機
+關注
關注
6035文章
44554瀏覽量
634693 -
硬件設計
+關注
關注
18文章
396瀏覽量
44565 -
按鍵消抖
+關注
關注
2文章
27瀏覽量
10448
發布評論請先 登錄
相關推薦
評論