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ä