Spørg MAKE: Debouncing a switch - 💡 Fix My Ideas

Spørg MAKE: Debouncing a switch

Spørg MAKE: Debouncing a switch


Forfatter: Ethan Holmes, 2019

Spørg MAKE er en ugentlig kolonne, hvor vi besvarer læserens spørgsmål, som din. Skriv dem ind i [email protected] eller slip os en linje på Twitter. Vi kan ikke vente med at tackle jeres conundrums!

Jen skriver i:

Jeg laver et kredsløb for at blinke en LED med forskellige hastigheder, som jeg kan styre ved hjælp af en knapkontakt. Det ville ikke fungere, før jeg tilføjede tilføjet noget "debounce" -kode. Hvad betyder det, og hvorfor skulle jeg tilføje det?

Godt spørgsmål! Switch bounce er en af ​​de sjældne elektroniske effekter, der faktisk skyldes en mekanisk mangel. Spørgsmålet er, hvordan kontakten fungerer. Når du skifter en switch (eller tryk på en knap), skubber du virkelig et metalstykke mod en anden. Hvis dette sker med tilstrækkelig kraft, vil en eller begge stykker deformere lidt, og derefter springe tilbage i den anden retning. Afhængigt af hvor godt omskifteren blev designet, kunne dette fortsætte et antal gange, før begge stykker stoppede med at flytte. Nu betyder alt dette hoppe fra et elektrisk perspektiv, at kontakten ser ud som om den åbner og lukker hurtigt, indtil studsen dør ned. Det sker meget hurtigt, men digital elektronik er hurtig nok til at se dette som en flok koblingspresser!

Der er tre måder at håndtere dette på: mekanisk (opbygning af en bedre switch), elektrisk (opbygning af et filter ud af diskrete elektriske komponenter) eller digitalt (med software).

I dit spørgsmål nævnte du, at du brugte nogle debounce-koder, hvilket nok er den bedste løsning for dig. Til denne løsning skriver du en software rutine, der kører, når nogen trykker på en knap, og venter derefter i en kort periode (længe nok til at studsen er stoppet), før du læser omskifter tilstanden. Dette ignorerer effektivt eventuelle falske signaler fra kontaktpersoner, der hopper uden ekstra hardware. Hvis du tilfældigvis bruger Arduino-platformen, kan du prøve denne vejledning.

Hvis du ikke bruger en microcontroller, vil software dog ikke hjælpe, og du bliver nødt til at prøve en af ​​de andre løsninger. Den traditionelle måde at håndtere afbryderstop på et brødbræt er at bruge et modstandskondensator (RC) -filter i en lavpas konfiguration. Hvad dette gør er at forhindre, at omskifterens udgang går for højt, hvilket effektivt filtrerer ud højhastighedssignaler. Tjek denne vejledning, hvis du vil prøve denne metode.

Så hvordan kunne du omdanne skiften til at forhindre afvisning? Det viser sig, at den mest almindelige ting at gøre er at binde kontakterne med kviksølv. Fordi kviksølv er en væske ved stuetemperatur holder overfladespændingen forbindelserne tilsluttet, selv når de hopper. Det eneste problem med dette er, at kviksølv er temmelig toksisk, så du bør kun bruge dette, hvis du absolut har brug for det, f.eks. Når du styrer high power-maskiner med hurtige hastigheder.

[billede af Flickr bruger russ_j_taylor]



Du Kan Være Interesseret

Hjemmelavet underjordisk fæstning til salg ...

Hjemmelavet underjordisk fæstning til salg ...


Dorkbot NYC møde 11/5/08

Dorkbot NYC møde 11/5/08


Nye bløde kredsløbssæt i skureren og massiv soft electronics roundup

Nye bløde kredsløbssæt i skureren og massiv soft electronics roundup


FCC OKs brug af hvide rum til at levere bredbånd

FCC OKs brug af hvide rum til at levere bredbånd






Seneste Indlæg