什么是開關(guān)彈跳,如何使用脫波電路防止它
什么是Switch bounce ?
當(dāng)我們按下按鈕或撥動(dòng)開關(guān)或微動(dòng)開關(guān)時(shí),兩個(gè)金屬部件接觸以短路供電。但它們不會(huì)立即連接,而是在實(shí)際穩(wěn)定連接之前,金屬部分連接和斷開幾次。釋放按鈕時(shí)也會(huì)發(fā)生同樣的事情。這導(dǎo)致誤觸發(fā)或多次觸發(fā),如按鈕被按多次。這就像一個(gè)彈跳的球從高處落下,它一直在表面上彈跳,直到它靜止下來。
簡(jiǎn)單地說,我們可以說開關(guān)彈跳是任何開關(guān)的非理想行為,它會(huì)產(chǎn)生單個(gè)輸入的多個(gè)躍遷。當(dāng)我們處理電源電路時(shí),開關(guān)彈跳不是一個(gè)主要問題,但當(dāng)我們處理邏輯或數(shù)字電路時(shí),它會(huì)引起問題。因此,為了消除電路的彈跳,使用開關(guān)去噪電路。
什么是軟件貶值?
軟件也會(huì)出現(xiàn)脫模,而編程人員會(huì)添加延遲來消除軟件脫模。添加延遲會(huì)迫使控制器停止一段特定的時(shí)間,但是在程序中添加延遲并不是一個(gè)好的選擇,因?yàn)樗鼤?huì)暫停程序并增加處理時(shí)間。最好的方法是在軟件彈跳的代碼中使用中斷。Arduino有代碼來防止軟件反彈。
交換機(jī)脫扣方法
首先,我們將演示沒有開關(guān)脫殼的電路。
當(dāng)按鈕彈跳時(shí),您還可以在示波器中看到波形。它顯示了在按鈕切換過程中發(fā)生了多少?gòu)椞?
有三種常用的方法來防止電路的開關(guān)彈跳。
?硬件消除抖動(dòng)
?RC消除抖動(dòng)
?開關(guān)脫扣IC
1. 硬件消除抖動(dòng)
在硬件脫波技術(shù)中,我們使用S-R觸發(fā)器來防止電路的開關(guān)反彈。這是最好的反駁方法。
組件的要求
?Nand Gate IC 74HC00
?撥動(dòng)開關(guān)
?電阻(10k -2nos.)
?電容器(0.1 uf)
?LED
?電路試驗(yàn)板
線路圖
硬件脫雜電路的工作原理
電路由兩個(gè)Nand門(74HC00 IC)組成一個(gè)SR觸發(fā)器。正如您在電路圖中所看到的,每當(dāng)切換到A側(cè)時(shí),輸出邏輯就會(huì)得到“HIGH”。在這里,我們使用示波器來檢測(cè)彈跳。并且,正如您在下面給出的波形中看到的那樣,邏輯是以輕微的曲線移動(dòng)而不是彈跳。電路中使用的電阻是上拉電阻。
無論何時(shí),開關(guān)在觸點(diǎn)之間移動(dòng)以產(chǎn)生彈跳,觸發(fā)器保持輸出,因?yàn)椤?”從與門的輸出反饋。
2. 電阻-電容消除抖動(dòng)
R-C僅由其名稱定義,該電路使用RC網(wǎng)絡(luò)保護(hù)開關(guān)反彈。電路中的電容對(duì)開關(guān)信號(hào)的瞬時(shí)變化進(jìn)行濾波。當(dāng)開關(guān)處于開路狀態(tài)時(shí),電容器兩端的電壓保持為零。最初,當(dāng)開關(guān)打開時(shí),電容器通過R1和R2電阻充電。
當(dāng)開關(guān)閉合時(shí),電容器開始放電至零,因此反相施密特觸發(fā)器輸入端的電壓為零,因此輸出變?yōu)楦唠娖健?
在彈跳狀態(tài)下,電容器停止電壓在Vin,直到它達(dá)到Vcc或地。
為了提高RC脫殼的速度,我們可以連接一個(gè)二極管,如下圖所示。因此,它減少了電容器的充電時(shí)間。
3. 開關(guān)脫扣IC
市場(chǎng)上有用于開關(guān)開啟的ic。一些退出ic是MAX6816, MC14490和LS118。
下面是使用MAX6818進(jìn)行開關(guān)脫扣的電路圖。
所以在這里我們學(xué)習(xí)了按鈕如何創(chuàng)建開關(guān)彈跳效果,以及如何通過使用開關(guān)脫波電路來防止它。
本文編譯自circuitdigest