Table of Contents
Debouncing on tekniikka, jota käytetään digitaalielektroniikassa sen varmistamiseksi, että vain yksi signaali rekisteröidään kytkimen tai napin painettaessa. Mekaaniset kytkimet tuottavat usein useita signaaleja, jotka voivat aiheuttaa virheitä digitaalisissa järjestelmissä.
Kytkinten kimmokkeen ymmärtäminen
Kun mekaaninen kytkin painetaan tai vapautetaan, kontaktit eivät muutu siististi. Sen sijaan ne nopeasti tehdä ja murtaa yhteyden useita kertoja ennen settlement. Tämä ilmiö, joka tunnetaan pomppia, voi kestää muutamasta mikrosekunti millisekuntia, mikä johtaa useita ei-toivottuja signaaleja.
Käytännön debouncing-tekniikat
Useita menetelmiä käytetään poistamaan digitaalisia syötteitä, kuten laitteisto- ja ohjelmistojen lähestymistapoja. Laitteiston poistoon liittyy usein RC-suodattimia tai Schmittin laukaisimia, kun taas ohjelmiston poisto käyttää ajoitusalgoritmit ohittaa nopea tila muutoksia.
Toteutus ohjelmistojen poisto
Ohjelmistojen poisto edellyttää tyypillisesti näytteenottoa syötteestä säännöllisin väliajoin ja vahvistusta tilan muutokselle vain, jos se pysyy vakaana tietyn ajan. Tämä menetelmä on joustava ja helppo toteuttaa mikro-ohjainkoodilla.
Jos esimerkiksi painiketta luetaan 10 millisekunnin välein, järjestelmä voi tarkistaa, että syöte pysyy uudessa tilassa vähintään 50 millisekuntia ennen muutoksen rekisteröintiä. Tämä vähentää pompun aiheuttamia vääriä laukaisimia.
Lasketaan poistoaikaa
Pommitusaika riippuu kytkimen ominaisuuksista ja järjestelmän vaatimuksista. Yhteisenä lähestymistapana on valita poimuväli 5-20 millisekuntia. Laskelmassa mitataan pomppujen enimmäiskesto ja lisätään turvamarginaali.
Jos kytkin esimerkiksi pomppii jopa 10 millisekuntia, 20 millisekunnin poistoaika takaa luotettavan havaitsemisen ilman merkittävää viivettä.
- Määritä pompun enimmäiskesto
- Valitse pomppimisväli hieman pidempi kuin pomppimisaika
- Toteutetaan jaksottainen näytteenotto koodilla
- Vahvista vakaa tila ennen syötteen rekisteröintiä