Table of Contents
Mekaniske brytere brukes vanligvis i elektroniske prosjekter for å oppdage brukerinngang. Men de produserer ofte støyende signaler på grunn av kontakt spretting, som kan føre til flere uønskede signaler. Avvik er prosessen med å filtrere ut disse falske signalene for å sikre nøyaktig deteksjon. Mikrokontrollere kan implementere ulike avbouncing teknikker for å forbedre bryteren pålitelighet.
Maskinvareavbouncing teknikker
Hardware debouncing innebærer å legge til eksterne komponenter for å stabilisere brytersignalet. Vanlige metoder inkluderer å bruke RC- lavpass filtre eller Schmitt utløser. Et RC-filter, som består av en motstands- og kondensator, glatter ut raske signalendringer forårsaket av spretting. Schmitt utløser gir hysterese, som sikrer rene overganger selv med støyende innganger.
Programvareutviklingsmetoder
Programvareavbouncing er avhengig av programmeringslogikk i mikrokontrolleren. Den mest enkle tilnærmingen innebærer å prøve sampling av brytertilstanden med jevne mellomrom og bekrefte stabilitet i løpet av en bestemt periode. Dette hindrer falske utløsere forårsaket av stikk. Implementere en forsinkelse eller bruk av timere kan bidra til å verifisere konsekvente brytertilstander før du registrerer en presse eller frigjøring.
Eksempel på en avbouncing-algoritme
En vanlig programvaremetode er ⁇ state endring deteksjon ⁇ algoritme. Det innebærer å lese bryterinngangen periodisk og oppdatere en teller eller tidsstempl når en stabil tilstand vedvarer. Når inngangen forblir konsekvent for en forhåndsdefinert varighet, er endringen akseptert som gyldig.
- Prøvebryterinngang hvert par millisekund
- Sjekk om innmatingen forblir den samme over flere prøver
- Registrer endringen etter konsekvente avlesninger
- Ignorer raske svingninger i avvisningsperioden