Hardveres pergésmentesítés megvalósítása kapcsolóknál és reléknél, ha a szoftveres módszer nem megfelelő

By Clive "Max" Maxfield

Contributed By DigiKey's North American Editors

Az elektronika és az elektronikai tervezés világában a kapcsoló egy olyan alkatrész, amely „zárja” vagy „bontja” az elektromos áramkört, megszakítva ezáltal az elektromos áramot, vagy átirányítva azt az egyik vezetőről egy másikra. Amint azt a mérnökök is tanúsíthatják, sokféle kapcsoló létezik, többek között váltókapcsolók, billenőkapcsolók, nyomógombos kapcsolók, mikro- és végálláskapcsolók, mágneses és reed-kapcsolók, valamint relék. Egy dolog azonban közös mindannyiukban, mégpedig az érintkezőiknél jelentkező pergés (prell) jelenség. Egyszerűen ilyenek.

Általában ez a pergés egyáltalán nem, vagy csupán alig befolyásolja az áramkör működését, de ha egy digitális áramkör elég gyors ahhoz, hogy észlelje és reagáljon az érintkezők többszöri elválására és összeérésére, akkor ennek komoly következményei lehetnek. A mérnök feladata megvalósítani ennek a pergésnek az elkerülését, vagy annak hatásának enyhítését, vagyis pergésmentesítenie kell a kapcsolót. Míg az iparágon belül már régóta alkalmazzák a hardveres pergésmentesítést, az utóbbi időben a szoftveres megoldások kerültek előtérbe. Vannak azonban olyan helyzetek, amikor a hardveres pergésmentesítés az inkább megfelelő.

Ez a cikk a pergés jelenségét írja le röviden, valamint a pergésmentesítés szoftveres és hardveres megközelítéseit. Ezután felsorol olyan eseteket, amikor a hardveres pergésmentesítés a jobb választás, majd bemutatja azok megvalósítását. Az NKK Switches, az ON Semiconductor, a Texas Instruments, a Maxim Integrated és a LogiSwitch alkatrészeinek felhasználásával bemutatásra kerülnek kapcsolóeszközök és hardveres pergésmentesítésre használható komponensek.

Mi az érintkezők pergése kapcsolóknál?

Egy kapcsoló vagy relé átkapcsolásakor az ember úgy érzékeli, hogy minden egyes állapotváltoztatásakor az eszköz azonnal reagál, de az érintkező végső nyugalmi állapotba kerülésééig valójában akár 100 vagy még attól is több áramkörzárási/-bontási műveletre is sor kerülhet, ami eltarthat több ezredmásodpercig is.

Vegyünk például egy egypólusú egyáramkörös (SPST), normál esetben nyitott (NO), panelre szerelhető billenőkapcsolót, mint például az M2011SS1W01-t az NKK-tól. Tegyük fel, hogy a kapcsoló bemenetének tekinthető oldala föld potenciálra (0 V) van kötve, míg a másik oldal, amely ebben az esetben a kimenet, egy felhúzó ellenálláson (R1) keresztül egy 5 V-os tápegységhez (+ve) csatlakozik (1. ábra).

Kép – pergésjelenség egy SPST-NO billenőkapcsolónál (kattintson a nagyításhoz)1. ábra: Egy SPST-NO billenőkapcsoló „pereghet” a kapcsoló bekapcsolásakor és kikapcsolásakor is. (Kép: Max Maxfield)

Megfigyelhető, hogy pergésre sor kerülhet egyaránt a kapcsoló bekapcsolásakor (záráskor) és kikapcsolásakor (bontáskor) is. Néha az oszcillálások akár akkorák is lehetnek mint a tápsínek közötti teljes feszültségtartomány, amelyeket ebben az esetben logikai 0 és 1 állapotoknak tekinthetünk. Ilyenkor „teljes” pergésről van szó. Összehasonlításképpen, ha a jel csak egy köztes feszültséget ér el, akkor ezt „nem teljes” pergésnek nevezhetjük.

Az egypólusú kétáramkörös (SPDT) panelre szerelhető billenőkapcsolók, mint például az NKK gyártmányú M2012SS1W01-BC esetében pergés történhet a normál esetben nyitott (NO) és normál esetben zárt (NC) érintkezőnél is (2. ábra). Ebben az esetben az egyszerűség kedvéért csak a „teljes” pergést tüntettük fel.

Kép – pergésjelenség egy SPDT billenőkapcsolónál (kattintson a nagyításhoz)2. ábra: Egy SPDT billenőkapcsolónál a kapcsoló bekapcsolásakor és kikapcsolásakor a „pergés” egyaránt jelentkezhet az NO és az NC érintkezőnél is. (Kép: Max Maxfield)

Sok esetben ennek a jeloszcillálásnak az időtartama olyan rövid, hogy a működést egyáltalán nem befolyásolja. Problémák akkor merülnek fel, ha a kapcsoló olyan elektronikus berendezéshez van csatlakoztatva, amely elég gyors ahhoz, hogy észlelje a pergést, és reagáljon rá. Szükség van egy módszerre, amellyel a kapcsolóból érkező jelet még azelőtt pergésmentesíteni lehet, mielőtt az eljutna az elektronikus berendezéshez.

Szoftveres vagy hardveres pergésmentesítés

Az 1960-as és 1970-es években a kapcsolók pergésmentesítését különböző hardveres módszerekkel valósították meg, az SPST kapcsolós ellenállás-kondenzátor (RC) tagot tartalmazó egyszerű késleltető áramköröktől az ettől kifinomultabb set-reset (SR) tárolókig.

Újabban, és mivel sok rendszer rendelkezik mikroprocesszoros (MPU) vagy mikrovezérlő egységgel (MCU), bármely kapcsolóból érkező jel pergésmentesítésére a szoftveres módszerek alkalmazása vált általánossá. A szoftveres pergésmentesítés azonban nem mindig a legjobb megközelítés. Vannak olyan alkalmazások, amelyek kisméretű, kis teljesítményű, kevés memóriával rendelkező processzorokat igényelnek, ahol a programtárolásra szolgáló hely igen korlátozott és/vagy a rendelkezésre álló órajelciklusok száma nem elegendő a pergésmentesítő rutinok megvalósításához. Ilyen esetekben a hardveres megvalósítás jobb lehet.

Emellett, sok szoftverfejlesztő nem ismeri a kapcsolók fizikai jellemzőit, például azt a tényt, hogy amellett, hogy a kapcsoló pergési jellemzői kapcsolásonként változnak, a környezeti feltételek, például a hőmérséklet és a páratartalom is befolyásolhatja azokat.

A szoftverfejlesztőknek a kapcsolókat illető tudásbeli hiányának problémáját az is súlyosbítja, hogy a pergés jelenségét tárgyaló rendelkezésre álló szakirodalom gyakran zavaros és egymásnak ellentmondó. Gyakran az van leírva, hogy egy kapcsolónál annak be- vagy kikapcsolása után 1 milliszekundummal a pergés már megszűnik. Jack Ganssle, a beágyazott rendszerek jól ismert szakértője azonban empirikus teszteket végzett különböző kapcsolótípusokon. Minden kapcsolónál 300 be-ki kapcsolási ciklust hajtott végre, és feljegyezte az érintkezők nyitásakor és zárásakor tapasztalt minimális és maximális pergést. A pergés átlagos időtartama 1,6 ms, a leghosszabb tapasztalt pergés pedig 6,2 ms volt. Egyes ipari és katonai területeken a javasolt „bevált módszer” 20 ms-ot várni az első bekapcsolást követően, mielőtt azt feltételeznénk, hogy a kapcsoló érintkezőinek pergése már lezajlott volna. Máshol azt javasolják, hogy az utolsó érzékelt pergést követően, bármilyen műveletet indítása előtt várni kell 20 ms-ot.

Ezenkívül számos olyan egyszerű, nem processzoralapú rendszer létezik, amelyeknél szintén szükséges megvalósítani a kapcsolók pergésmentesítését. Néhány példa ilyen rendszerekre: egy relé impulzusait számoló hét szegmensű kijelzőt vezérlő bináris számláló; egy ajtó vagy kapu motorjának vezérlésére használt monostabil 555-ös időzítő trigger bemenete; és egy billentyűzet-beviteles regiszter alapú véges állapotú számítógép (FSM). Vannak olyan elektronikus trimmer potenciométerek is, amelyek állapotát kapcsolók segítségével megvalósított bemeneti jelekkel módosítják (fel, le és néha tárolás), ahol a kapcsolók pergése problémás lenne.

Mindezekből a példákból egyértelműen kiderül, hogy a hardveres pergésmentesítés megvalósításának ismerete bármely tervező vagy fejlesztő számára hasznos lehet.

SPST kapcsolók hardveres pergésmentesítése RC-áramkörrel

A kapcsolók érintkezőinek pergésmentesítésére használt egyik legegyszerűbb hardveres megoldás egy ellenállás-kondenzátor (RC) tagot tartalmazó áramkör alkalmazása egy SPST kapcsolóval közösen. Egy ilyen áramkörnek számos változata létezik, és az egyik legsokoldalúbb megvalósítás két ellenállást és egy diódát tartalmaz (3. ábra).

Kép – SPST kapcsolók pergésmentesítésére használt RC áramkör (kattintson a nagyításhoz)3. ábra: Egy SPST-kapcsolónak RC-áramkörrel való pergésmentesítésekor (fent) a hozzáadott dióda (D1) miatt a kondenzátor (C1) az R1 ellenálláson keresztül töltődik fel, és az R2 ellenálláson keresztül sül ki. (Kép: Max Maxfield)

A kapcsoló bekapcsolásakor (az áramkör zárásakor) a C1 kondenzátor az R2 ellenálláson keresztül sül ki. Ha a D1 diódát kihagytuk volna ebből az áramkörből, akkor a kapcsoló kikapcsolásakor (az áramkör megszakításakor) a C1 az ellenállásokon (R1 + R2) keresztül töltődne, de a D1 jelenléte miatt a C1 csak az R1-en keresztül töltődik.

Bizonyos esetekben csak a kapcsoló bekapcsolásának van jelentősége (vagyis annak hatására történnek műveletek), és ilyenkor a D1 elhagyható. Ha azonban a műveleteket a kapcsoló bekapcsolásakor és kikapcsolásakor is ki kell váltani, és ha a késleltetés minimalizálása is szempont, ajánlott hozzáadni a D1-et az áramkörhöz.

Figyelje meg a kondenzátor VC feszültségének exponenciális töltési és kisülési görbéit. Ezt a jelet nem lenne jó ötlet közvetlenül egy soron következő digitális logikai funkciót végző egység bemenetére vezetni, mivel az nem örülne egy olyan jelnek, amely az „érvényes” logikai 0 és logikai 1 értékek közötti meghatározatlan tartományban ingadozik. Ehelyett ezt a jelet egy Schmitt-trigger bemenettel rendelkező puffer bemenetére vezetik, amely jellemzően egy invertáló puffer, mint például a Texas Instruments CD74HC14M96 IC-jének egyik csatornája, mivel az invertáló funkciók működése gyorsabb, mint a nem invertálóké.

SPDT kapcsolók pergésmentesítése SR-tárolóval

SPDT kapcsolók esetén gyakran használnak SR-tárolókat a hardveres pergésmentesítés megvalósítására. Amióta az 1960-as években az IBM és más vállalatok először alkalmazták ezt a módszert nagyszámítógépeik kapcsolópaneljein, ezt a megközelítést tekintik az egyszerű hardveres pergésmentesítés megoldások krémjének. Egy ilyen tároló kialakítható kettő keresztkapcsolt kétbemenetes NAND-kapuval, például a Texas Instruments SN74HC00DR négycsatornás kétbemenetes NAND IC két csatornájának felhasználásával (4. ábra).

Kép – NAND-alapú SR-tároló egy SPDT kapcsoló pergésmentesítéséhez4. ábra: NAND kapukra épülő SR-tárolót használni SPDT-kapcsolók pergésmentesítésére egy igen hatékony hardveres pergésmentesítési megoldás. (Kép: Max Maxfield)

Amikor a 4. ábrán fent látható módon a kapcsoló NC érintkezőjét föld potenciálra kapcsoljuk, a g2 kapu kimenete ezzel a logikai 1-es állapotba kényszerül. A g1 kapu bemenetén lévő két logikai 1 miatt a kimenet viszont logikai 0 lesz. Ha viszont amikor a 4. ábra lenti rajzán látható módon a kapcsoló NO érintkezője van föld potenciálra kapcsolva, a g1 kapu kimenete kényszerül a logikai 1-es állapotba. A g2 kapu bemenetén lévő két logikai 1 miatt a kimenet logikai 0 lesz.

Ez az áramkör azért látja el olyan jól a szükséges feladatot, mert amikor mindkét bemenete az inaktív logikai 1-es állapotban van, az SR-tároló emlékezik az előző állapotára. Jusson eszünkbe, hogy amint azt a 2. ábránál ismertettük, egy SPDT-kapcsoló átkapcsolásakor, az az érintkező fog először visszapattanni vagyis a pergést megkezdeni, amelyik – abban az adott pillanatban – a föld potenciálon van. Mivel ezek az oda-vissza ugrások az eredeti állapot (logikai 0) és az új állapot (logikai 1) között változnak, az SR-tároló aktuális állapotát nem befolyásolják. A másik érintkező csak azután kezd el peregni (állandóan visszapattanni) miután ennek az érintkezőnek a pergése abbamarad, és az SR-tároló ekkor vált állapotot.

SPST kapcsolók pergésmentesítése egy dedikált eszközzel

Az előző megoldással az a probléma, hogy sok tervező inkább SPST kapcsolókat szeret használni, mivel azok általában olcsóbbak az SPDT-knél. Számos jól ismert, dedikált SPST-pergésmentesítő eszköz van a piacon, mint például az ON Semiconductor MC14490DWG és a Maxim Integrated MAX6818EAP+T integrált áramkörei.

Egy másik gyártó, a LogiSwitch, három-, hat- és kilenccsatornás pergésmentesítési megoldásokat kínál egyaránt furatszerelt és felületszerelt (SMD) tokozásokban is. Vegyünk például egy LogiSwitch LS18-S-t tartalmazó áramkört (5. ábra).

Kép – egy háromcsatornás LS18-S chip egy SPDT kapcsoló pergésmentesítéséhez5. ábra: Egy háromcsatornás LS18-S chip használata egy SPDT kapcsoló pergésmentesítésére (hat- és kilenccsatornás eszközök is kaphatók). (Kép: Max Maxfield)

Mint a LogiSwitch család minden tagja, az LS18-S is a 2,5 és 5,5 V közötti üzemi feszültségtartományban működhet (a tápfeszültség értéke nem befolyásolja az eszköz válaszidejét). Továbbá, ellentétben néhány más dedikált IC-s megoldással, a LogiSwitch pergésmentesítő eszközeinél nincs szükség további alkatrészekre, például külső órajelre, RC időzítő áramkörre, vagy felhúzó ellenállásokra a bemeneteken vagy kimeneteken.

Az LS18-S a LogiSwitch szabadalmaztatott adaptív NoBounce technológiájára épül, amely nagyfokú zavartűrést biztosít. A 20 ms-nál rövidebb időtartamú zajimpulzusok nem indíthatnak el vagy fejezhetnek be semmilyen ciklust, és a kimenetek késleltetve vannak a kapcsolónál lezajlott utolsó pergéstől számítva 20 ms-ig úgy bekapcsoláskor, mint kikapcsoláskor, a pergés időtartamától függetlenül.

Összegzés

Sokféle kapcsoló létezik, többek között váltókapcsolók, billenőkapcsolók és nyomógombos kapcsolók, amelyek mindegyikénél jelentkezhet a pergés. Ha ezt a jelenséget nem kezelik, a kapcsoló pergése miatt a mikroprocesszorok és más elektronikus áramkörök egyetlen kapcsolási műveletet több eseménynek tekinthetnek.

A kapcsolók felől érkező pergő (oszcilláló) jelek pergésmentesítésére gyakran mikrokontrolleren futó szoftvereket használnak. Bár ez egy olcsó megoldás, amint azt bemutattuk, nem biztos, hogy minden esetben ez a legjobb, például a kisebb teljesítményű és memóriaszűkös mikrokontrollerekre épülő rendszereknél, ha a szoftverfejlesztők esetleg nem ismerik elegendően a kapcsolók működését, illetve a mikrokontrollert nem tartalmazó rendszereknél.

Alternatív megoldásként a pergésmentesítés hardveresen is sokféle módon kivitelezhető, az ellenállás-kondenzátor (RC) tagot tartalmazó áramköröktől kezdve az SR-tárolókon át a dedikált integrált áramkörökig.

DigiKey logo

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.

About this author

Image of Max Maxfield

Clive "Max" Maxfield

Clive "Max" Maxfield received his BSc in Control Engineering in 1980 from Sheffield Hallam University, England and began his career as a designer of central processing units (CPUs) for mainframe computers. Over the years, Max has designed everything from silicon chips to circuit boards and from brainwave amplifiers to steampunk Prognostication Engines (don't ask). He has also been at the forefront of Electronic Design Automation (EDA) for more than 30 years.

Max is the author and/or co-author of a number of books, including Designus Maximus Unleashed (banned in Alabama), Bebop to the Boolean Boogie (An Unconventional Guide to Electronics), EDA: Where Electronics Begins, FPGAs: Instant Access, and How Computers Do Math. Check out his “Max’s Cool Beans” blog.

About this publisher

DigiKey's North American Editors