Kysymys:
kytkimen debouncing - vaihtaisi kytkimen edelleen palautumisen
Ageis
2012-09-19 15:42:19 UTC
view on stackexchange narkive permalink

Minulla on klassinen purkava päänsärky Arduinon kanssa. Kytkimen on tarkoitus kytkeä led päälle ja pois päältä. Joten jos käytän vaihtopainiketta (SPDT), hyppääkö se silti? Ehkä se ei, koska se ei ole painike. Kuinka paljon enemmän vaihtajan käyttö maksaisi? Se on vain, että se on projekti, jonka minua on pyydetty tekemään paikalliselle valmistuslaboratoriossani.

Suurin osa kytkimistä pomppii: kosketuspainikkeet, vaihtokytkimet, pyörivät jne. Tottuvat siihen. Mietin, ovatko kuminäppäimistöt tässä suhteessa parempia? Ehkä joku voi kommentoida sitä.
Minulla ei ole selvää asiaa tässä - onko jostain syystä et voi vain ilmoittaa kytkimestä laiteohjelmistossa?
Kun sanot, että sinulla on päänsärky, mitkä ovat oireet? Jos se vain ohjaa LEDiä, voitko todella sanoa, että kytkin on pomppiva?
Kolme vastused:
stevenvh
2012-09-19 16:02:07 UTC
view on stackexchange narkive permalink

Suurin osa SPST-kytkimistä tai painikkeista palautuu, koska tilassa on vain kaksi: kosketin suljettu (esimerkiksi matala) ja kosketin auki (korkea taso ylösvetovastuksen kautta). Tämä saattaa tuntua itsestään selvältä, mutta epäröinti avaamisen / sulkemisen yhteydessä aiheuttaa palautumisen. vain kerran riittää tekemään kytkimen toimimattomaksi.

Voit poistaa kytkimen käytöstä kondensaattorilla, mutta koska käytät sitä mikro-ohjaimen kanssa, on halvempaa tehdä se ohjelmistossa. Minulla on yleensä 32 ms (ohjelmisto) ajastin näppäimistöskannauksia varten, ja hyväksyn tilamuutoksen vain, jos se jatkuu kahden peräkkäisen tarkistuksen aikana. Tämä tarkoittaa, että viive on enintään 64 ms, mutta koska painiketta käytetään manuaalisesti, et huomaa niin lyhyttä viivettä.

Mainitset SPDT-painikkeen, ja se on paras ratkaisu, jos haluat tehdä sen laitteistolla.

Mutta rehellisesti sanottuna en näe mitään syytä olla tekemättä sitä ohjelmistossa, ja sinulla on paljon enemmän valinnanvaraa SPST-painikkeissa kuin SPDT-painikkeissa.

Jos haluat nappia, joka tuskin pomppii, voin suositella Alppien SKQG-tahdistuskytkintä

joka laitteiden kanssa I testatun aloituspommi oli alle 10 ns.

Hyvänä nyrkkisääntönä, ellet käynnistä keskeytystä, ohjelmistojen poisto on hieno. Jos ajaa keskeytystä, joskus ohjelmiston palautus on hyvä, joskus ei.
Myös korkilla purkaminen vaatii jonkin verran miettimistä, jos se sattuu ohjelmointiportin käyttämään tapiin, kuten sain selville kovalla tavalla.
Asia, jonka teen painikkeilla, on ajastimen asettaminen, joka keskeyttää ja toistaa automaattisesti jokaista x mS tarpeiden mukaan.Kun se keskeytyy, se asettuu hieman jonnekin.Tämä bitti testataan pääpiirissä.Jos bitti on asetettu, se tarkoittaa, että on kulunut tarpeeksi aikaa, joten tiedän, että on aika saada painikkeiden tila, käsitellä ne ja tyhjentää bitti.Tämän menetelmän etuna on, että ISR vain asettaa vähän.Tämä on nopein keskeytys, jonka voit tehdä.
embedded.kyle
2012-09-19 17:33:21 UTC
view on stackexchange narkive permalink

Ganssle-ryhmä on kirjoittanut erittäin kattavan raportin nimeltä A Guide to Debouncing. Siinä kirjailija, Jack Ganssle, otti 18 erilaista kytkintä ja paineli kutakin 300 kertaa. Hän tallensi tulokset käyttämällä MSO: n laajuutta tarkastellakseen todellista analogista signaalia sekä digitaalista esitystä simuloidakseen mitä mikrokontrolleri näkisi.

analog versus digital

Kaikki testatut kytkimet pomppii eri tavalla. Jotkut tyypit ovat huonompia kuin toiset. Jotkut eivät lainkaan. Mutta jopa samanlaiset samantyyppiset kytkimet palautuivat eri tavalla.

Identtiset kytkimet eivät olleet erityisen identtisiä. Kaksi yhteensopivaa paria testattiin; kukin kaksoset eroivat veljestään kahdella kertoimella.

Joten, jos aiot käyttää kytkintä, sen ilmoittaminen on vain elämän tosiasia.

oppaan osa 2 tarjoaa lukuisia tapoja käsitellä purkamisongelmaa.

Stevenvhin mainitsemasta Set-Reset (SR) -salvasta keskustellaan:

SR debouncer

Sekä halvempi RC-menetelmä:

RC debouncer

Mutta kuten kommenteissa ja muissa vastauksissa mainitaan, jos sinulla on mikro-ohjain, olet todennäköisesti parempi tehdä se ohjelmistossa. Oppaassa käsitellään myös erilaisia ​​algoritmeja, jotka voidaan toteuttaa.

Hyvin yksinkertaisesta ISR: stä:

simple ISR

Laajennettuun versioon koko portin käsittelemiseksi kytkimistä:

multiple switch ISR

Anna koko raportille hyvä luettavuus. Vaihdon purkaminen on taito, joka kannattaa saada ja jota käytät koko urasi ajan.

haha, kaikki on hyvä, koska en ole elektroniikkainsinööri. Olen harjoittelija sähköasentaja, joka on erittäin kiinnostunut elektroniikasta, koska hänellä ei ollut mahdollisuutta tehdä sitä koulussa. Mutta sinulla on asia, vaikka minun on myönnettävä.
+1 Gansslen huudolle! Hänen kirjoituksensa kytkinten debouncingista on todella hyvä.
Russell McMahon
2012-09-19 16:08:31 UTC
view on stackexchange narkive permalink

Kaikki mekaaniset kosketuskytkimet kuivuvat *. Määrä vaihtelee. SPDT-kytkin on melkein aina katkennut ennen valmistusta, joten staatit ovat matalat / tuomitsevat / korkeat.

SPDT-kytkimiä voi tehdä ennen taukoa, mutta jopa ne voivat pomppia.

* Elohopean kostutusta käytetään joissakin releissä nykyisen käsittelyominaisuuden parantamiseksi. Luulen, että nämä saattavat olla ilmaisevia, mutta minulla ei ole todellista kokemusta niistä, ja ne ovat harvinaisia, eikä elohopean kostumista löydy käytetyistä kytkimistä.

Ohjelmisto ilmoittaa mitä tahansa - aika riippuu erittäin väkivaltaisesta ja jatkuvasta palautumisesta.

Schmittin laukaisema tulo sopivalla RC-viiveellä tekee yleensä hyvää työtä purkamisessa. Pomppu on mahdollista, jos viive on liian lyhyt suhteessa pahimpaan tapaukseen.

Luulen, että elohopean kostutusta ei enää käytetä RoHS-direktiivin takia.


Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 3.0-lisenssistä, jolla sitä jaetaan.
Loading...