Hogyan lehet megszabadulni a kapcsolati ugrál, ha csatlakozik az Arduino gombok - azaz kontakt ugrál

„Bounce” kapcsolatok - ez a jelenség jellemző a mechanikus kapcsolók, gombok, billenő kapcsolók és relék. Tekintettel arra, hogy a kapcsolatok általában a fémek és ötvözetek, amelyek rugalmassága a fizikai áramkör azonnal nem megbízható kapcsolatot létrehozni. Rövid időn belül az érintkezők zárva egy párszor, és taszítják egymást. Ennek eredményeként az elektromos áram tart állandó értéket nem azonnal, hanem egymás utáni felemelkedése és bukása alkalommal. A időtartama az átmenet hatása függ az érintkező anyag, azok mérete és szerkezete. Az ábrán egy tipikus hullámforma lezárására egy óra gombot kapcsolatokat. Úgy látszik, hogy az időt a váltás a dinamikus egyensúlyi állapot néhány milliszekundum. Ez az úgynevezett „ugrál”.

Ez a hatás nem észlelhető elektromos világítás vezérlő áramköröket, motorok vagy más inerciaszenzoroknak és eszközök. De a pálya, ahol van egy gyors olvasás és az információk feldolgozásával (ahol a frekvencia azonos nagyságrendű, mint az impulzusok „ugrál” vagy nagyobb), ez a probléma. Különösen, Arduino UNO, amely frekvencián működik a 16 MHz-es, valamint a fogások „ugrál” Kapcsolatok, figyelembe sorozata nullák és egyesek helyett egy kapcsoló 0-1.

Hogyan lehet megszabadulni a kapcsolati ugrál, ha csatlakozik az Arduino gombok - azaz kontakt ugrál

Lássuk, hogyan kapcsolati ugrál hatása a helyes áramkör működését. Csatlakozva az Arduino óra gombját a rendszer szigorításával ellenállással. Lesz egy gomb megnyomásával a fény a LED és hagyja bekapcsolva eddig megnyom egy gombot. Az érthetőség kedvéért, egy digitális terminál 13 külső LED, bár lehetséges, hogy kezelje és integrált.

Hogyan lehet megszabadulni a kapcsolati ugrál, ha csatlakozik az Arduino gombok - azaz kontakt ugrál

A feladat elvégzéséhez, az első dolog, ami eszébe jut:
- emlékszik az előző állapot a gomb;
- összehasonlítva a jelenlegi állapot;
- ha az állam megváltozott, a változás a LED-ek állapotát.
Írjunk egy vázlatot, és betölti a memóriába az Arduino.
Ha a rendszer működik, a hatás azonnal látható a hatása az érintkezési ugrál. Ez abban nyilvánul meg, hogy a LED világít azonnal a gomb megnyomása után, vagy világít, majd kialszik, vagy leáll azonnal a gomb megnyomása után, és továbbra is éget. Általában az áramkör működését instabillá válik. És ha ez nem annyira kritikus, a másik, sokkal komolyabb probléma, ez egyszerűen elfogadhatatlan egy probléma a felvételét a LED.

Hogyan lehet megszabadulni a kapcsolati ugrál, ha csatlakozik az Arduino gombok - azaz kontakt ugrál

Igyekszünk, hogy orvosolja a helyzetet. Tudjuk, hogy a kapcsolati ugrál megmutatkozó néhány milliszekundum után kapcsolat lezárása. Nézzük megváltoztatása után a gomb állapotát, hogy várjon, mondjuk, 5 ms. Itt az ideje, az emberek szinte azonnali, és nyomja meg a gombot férfiak általában sokkal tovább tart - néhány tíz milliszekundum. A Arduino kiválóan működik ilyen rövid idő alatt, és az 5 ms lehetővé teszi számára, hogy vágja le a kapcsolattartó ugrál a gomb megnyomásával.
Ebben a vázlatot fogjuk nyilvánítja pergésmentesítési folyamat () ( „ugrál” az angol - ez csak „ugrál”, az előtag „de” a fordított folyamat), amelyben a bejárat Mi adja az előző állapot a gombot. Ha megnyomja folytatódik 5 ms, akkor az tényleg sürgető.
Meghatározó depresszió, mi változik az állapota a LED.
Töltsük be a vázlatot az Arduino fórumon. Most minden sokkal jobb! A gomb működik hiba nélkül, ha megnyomja a LED állapota megváltozik, ahogy szeretnénk.

Hogyan lehet megszabadulni a kapcsolati ugrál, ha csatlakozik az Arduino gombok - azaz kontakt ugrál

Hogyan lehet megszabadulni a kapcsolati ugrál, ha csatlakozik az Arduino gombok - azaz kontakt ugrál