Implementace hardwarového potlačení zákmitů spínačů a relé v případech, kdy nelze použít softwarovou eliminaci

By Clive "Max" Maxfield

Contributed By DigiKey's North American Editors

V kontextu elektrotechniky a elektroniky je spínač součástí, která dokáže „vytvořit“ nebo „přerušit“ elektrický obvod, a tím přerušit elektrický proud nebo jej přesměrovat z jednoho vodiče na druhý. Jak mohou inženýři potvrdit, existuje mnoho různých typů spínačů, včetně páčkových, kolébkových či tlačítkových přepínačů, mikrospínačů a koncových spínačů, magnetických a jazýčkových spínačů a relé. Všechny mají jedno společné: zakmitávání. Jedná se jednoduše o součást jejich fungování.

Tyto zákmity mají obvykle malý nebo žádný vliv na obvod, ale pokud je digitální obvod dostatečně rychlý na to, aby detekoval několik zákmitů a reagoval na ně, může to mít vážné následky. Úkolem technika je vyhnout se následkům tohoto zakmitávání nebo zmírnit jeho účinky, či zákmity přepínače potlačit. Přestože se v oboru již dlouho používá hardwarové potlačení zákmitů, v poslední době se přechází na potlačení zákmitů založené na softwaru. Existují však situace, kdy je lepší volbou hardwarové potlačení zákmitů.

V tomto článku jsou vysvětleny zákmity a probrán jak softwarový, tak hardwarový přístup k jejich eliminaci. Poté si ukážeme případy, kdy je hardwarové řešení lepší volbou, a následně také, jak jej implementovat. Příklady přepínacích zařízení a hardwarových komponent potlačení zákmitů jsou představeny prostřednictvím příkladů od společností NKK Switches, ON Semiconductor, Texas Instruments, Maxim Integrated a LogiSwitch.

Co je to zakmitávání přepínačů?

Otočení nebo přepnutí spínačů nebo relé vnímá člověk jako jednu okamžitou odezvu. Ve skutečnosti však každá změna stavu může zahrnovat 100 nebo více akcí sepnutí nebo rozepnutí, které trvají několik tisícin sekundy, než se kontakt na závěr ustálí v dané pozici.

Vezměme si například jednopólový, normálně otevřený (NO) páčkový přepínač s jedním výstupem (SPST), jako je model M2011SS1W01 od společnosti NKK. Předpokládejme, že jedna strana tohoto přepínače, kterou lze považovat za vstup, je připojena k zemi (0 voltů), zatímco druhá strana, kterou je v tomto případě výstup, je připojena k 5voltovému napájecímu zdroji (na obrázku jako +ve) pomocí pull-up rezistoru (R1) (obrázek 1).

Schéma zakmitávání páčkového přepínače SPST-NO (zvětšíte kliknutím)Obrázek 1: V páčkovém přepínači SPST-NO může docházet k zákmitům jak při aktivaci, tak při deaktivaci spínače. (Zdroj obrázku: společnost Max Maxfield)

Všimněte si, že k zákmitu spínače může dojít jak při aktivaci (sepnutí) spínače, tak při deaktivaci (rozepnutí). Někdy mohou zákmity dosahovat plné úrovně napájecích napětí, zde jako logické stavy 0 a 1. V takovém případě se jedná o „čisté“ zákmity. Pro srovnání, pokud signál dosáhne pouze středního napětí, jsou zákmity označovány jako „špinavé“.

V případě jednopólového páčkového přepínače s dvojitým výstupem (SPDT) a montáží na panel, jako je model M2012SS1W01-BC společnosti NKK, může docházet k zákmitům jak na normálně otevřených (NO), tak na normálně zavřených (NC) svorkách (obrázek 2). V tomto případě jsou pro jednoduchost ukázány pouze „čisté“ zákmity.

Schéma zakmitávání páčkového přepínače SPDT (zvětšíte kliknutím)Obrázek 2: V páčkovém přepínači SPDT může docházet k zákmitům na svorkách NO a NC jak při aktivaci, tak při deaktivaci spínače. (Zdroj obrázku: společnost Max Maxfield)

V mnoha případech je doba trvání zákmitu signálu taková, že nemá žádný vliv. Problémy nastanou, když je spínač připojen k elektronickému zařízení, které je dostatečně rychlé, aby detekovalo několik zákmitů a reagovalo na ně. Proto je třeba najít způsob, jak zákmity přicházející z přepínače potlačit, než na ně bude elektronické zařízení reagovat.

Softwarové vs. hardwarové potlačení zákmitů

V šedesátých a sedmdesátých letech se potlačení zákmitů přepínačů provádělo pomocí různých hardwarových technik od jednoduchých zpožďovacích obvodů rezistor-kondenzátor (RC) používaných u přepínačů SPST po sofistikovanější funkce západky set/reset (SR).

V poslední době je k potlačení zákmitů příchozích signálů z jakéhokoli spínače stále běžnější používání softwarových technik, protože mnoho systémů obsahuje mikroprocesor (MPU) nebo mikrokontrolér (MCU). Softwarové řešení však není vždy tím nejlepším přístupem. V některých aplikacích je použit malý procesor s nízkým výkonem a malou pamětí s omezeným prostorem pro kód a nedostatečným taktováním pro implementaci potlačení zákmitů. V takových případech může být lepším řešením hardwarová implementace.

Mnoho vývojářů softwaru také není obeznámeno s fyzickými vlastnostmi přepínačů, jako je skutečnost, že kromě toho, že se jedna aktivace liší od druhé, mohou být zákmity spínače ovlivněny také podmínkami prostředí, jako je teplota a vlhkost.

Problém nedostatečných znalostí vývojářů softwaru ohledně přepínačů je umocněn skutečností, že dostupná literatura týkající se zákmitů přepínačů je často matoucí a rozporuplná. Například se lze často dočíst, že se přepínač po aktivaci nebo deaktivaci ustálí do 1 ms. Známý expert na vestavěné systémy Jack Ganssle však provedl empirické testy na různých typech přepínačů, přičemž každý přepínač aktivoval 300krát a zaznamenal minimální a maximální míru zákmitů pro rozpojení a sepnutí kontaktů. Zjistil, že průměrná doba trvání zákmitu je 1,6 ms a maximální doba dosahovala 6,2 ms. Některé průmyslové a vojenské osvědčené postupy doporučují po počáteční aktivaci počkat 20 ms, než lze předpokládat, že přepínač přestal zakmitávat. Jiní zastávají názor, že je před provedením jakékoli akce třeba čekat 20 ms od posledního zjištěného zákmitu.

Kromě toho existuje mnoho jednoduchých systémů, které nejsou založeny na procesorech a které rovněž vyžadují potlačení zákmitů přepínačů. Mezi příklady takových systémů patří binární čítač pro sedmisegmentové displeje počítající impulsy z relé, spouštěcí vstup do jednorázového časovače 555, který se používá jako ovládání motoru pro dveře nebo bránu, či konečný automat (FSM) založený na registru, který využívá klíčované vstupy. Existují také elektronické trimrové potenciometry (pot) s hodnotami odporu upravenými pomocí spínacích vstupů (nahoru, dolů a někdy ukládat), kde by byl zákmit spínače problematický.

Všechny tyto příklady dokládají, že je pro všechny konstruktéry nebo vývojáře dobré vědět, jak hardwarové potlačení zákmitů provést.

Hardwarové potlačení zákmitů u přepínače SPST pomocí členu RC

Jedno z nejjednodušších hardwarových řešení potlačení zákmitů u přepínačů SPST je použít rezistor-kondenzátor (RC). Existuje mnoho variant takového obvodu. Jedna z nejuniverzálnějších implementací zahrnuje dva rezistory a diodu (obrázek 3).

Schéma členu RC k potlačení zákmitů u přepínače SPST (zvětšíte kliknutím)Obrázek 3: Při použití členu RC k potlačení zákmitů přepínače SPST (nahoře) se díky přidání diody (D1) nabíjí kondenzátor (C1) přes rezistor R1 a vybíjí se přes rezistor R2. (Zdroj obrázku: společnost Max Maxfield)

Když je spínač aktivován (sepnut), kondenzátor C1 se vybíjí přes rezistor R2. Pokud by byla v tomto obvodu vynechána dioda D1, pak by byl kondenzátor C1 při deaktivaci (rozpojení) spínače nabíjen pomocí rezistorů (R1 + R2). Přítomnost diody D1 však způsobí, že se bude kondenzátor C1 nabíjet pouze přes rezistor R1.

V některých případech jde pouze o aktivaci přepínače (tj. spouštění akcí), a pak lze diodu D1 vynechat. Pokud však mají být spuštěny akce při aktivaci i deaktivaci spínače a je-li nutné zohlednit minimalizaci zpoždění, doporučuje se diodu D1 přidat.

Křivky nabíjení a vybíjení napětí kondenzátoru VC mají exponenciální tvar. Není proto dobrý nápad přivádět tento signál přímo na vstup navazující digitální logické funkce, protože by nebyl využit díky tomu, že se nachází v nedefinované oblasti mezi logickými hodnotami 0 a 1. Místo toho se tento signál přivádí na vstup vyrovnávacího obvodu se Schmittovým spouštěcím vstupem. Kromě toho se obvykle používá invertující vyrovnávací obvod, například jeden kanál modelu CD74HC14M96 od společnosti Texas Instruments, protože invertující funkce se přepínají rychleji než jejich neinvertující protějšky.

Potlačení zákmitů u přepínače SPDT pomocí západky SR

V případě přepínače SPDT je běžným hardwarovým řešením eliminace zakmitávání použití západky SR. Již od doby, co společnosti jako IBM používaly tuto techniku pro přepínací panely na sálových počítačích přibližně v šedesátých letech, je tento přístup považován za nejlepší možné řešení jednoduchého hardwarového potlačení zákmitů. Taková západka může být tvořena pomocí dvou protilehlých dvouvstupových bran logického obvodu NAND, například využitím dvou kanálů čtyřobvodového hradla SN74HC00DR NAND IC se dvěma vstupy od společnosti Texas Instruments (obrázek 4).

Schéma západky SR založené na NAND k potlačení zákmitů přepínače SPDTObrázek 4: Použití západky SR založené na NAND k potlačení zákmitů přepínače SPDT je velmi efektivní řešení hardwarové eliminace zakmitávání. (Zdroj obrázku: společnost Max Maxfield)

Když je NC svorka spínače připojena k zemi, jak je znázorněno v horní polovině obrázku 4, výstup brány g2 je vynucen na logickou úroveň 1. Dvě logické úrovně 1 na vstupech brány g1 tak generují výstup v logické úrovni 0. Když je NO svorka spínače připojena k zemi, jak je znázorněno ve spodní polovině obrázku 4, výstup brány g1 je vynucen na logickou úroveň 1. Dvě logické úrovně 1 na vstupech brány g2 tak generují výstup v logické úrovni 0.

Důvod, proč tento obvod funguje tak dobře, je ten, že když jsou oba jeho vstupy v neaktivních stavech logické úrovně 1, západka SR si pamatuje svou předchozí hodnotu. Nesmíme zapomenout, že při přepnutí přepínače SPDT jako na obrázku 2 jakákoli svorka, která je připojena k zemi, zakmitá v daném okamžiku jako první. Jelikož se tyto zákmity pohybují mezi původní hodnotou (logickou úrovní 0) a novou hodnotou (logická úroveň 1), nemají žádný vliv na aktuální stav západky SR. Teprve poté, co tato svorka přestane zakmitávat, začne zakmitávat její protějšek, přičemž západka SR změní svůj stav.

Potlačení zákmitů u přepínače SPST pomocí vyhrazeného zařízení

Jedním z problémů předchozího řešení je, že mnoho konstruktérů dává přednost použití přepínačů SPST, protože obvykle jsou levnější než přepínače SPDT. Na trhu existuje řada známých vyhrazených zařízení pro potlačování zákmitů SPST, jako jsou modely MC14490DWG od společnosti ON Semiconductor a MAX6818EAP+T od společnosti Maxim Integrated.

Další výrobce, společnost LogiSwitch, nabízí sadu tříkanálových, šestikanálových a devítikanálových řešení potlačení zákmitů v balíčcích zařízení s průchozím otvorem i na povrchovou montáž (SMD). V úvahu lze například vzít zařízení LS18-S společnosti LogiSwitch (obrázek 5).

Schéma vyhrazeného tříkanálového čipu LS18-S k potlačení zákmitů přepínače SPDTObrázek 5: Použití vyhrazeného tříkanálového čipu LS18-S k potlačení zákmitů přepínače SPDT (k dispozici jsou také šestikanálová a devítikanálová zařízení). (Zdroj obrázku: společnost Max Maxfield)

Stejně jako všechny výrobky řady LogiSwitch podporuje i čip LS18-S rozsah provozního napětí 2,5 až 5,5 V (hodnota napájecího napětí neovlivňuje dobu odezvy zařízení). Na rozdíl od některých jiných vyhrazených řešení IC nevyžadují zařízení k potlačení zákmitů společnosti LogiSwitch na vstupech ani výstupech žádné další komponenty, jako jsou externí hodiny, časovací síť RC nebo pull-up rezistory.

Čip LS18-S využívá proprietární adaptivní technologii NoBounce od společnosti LogiSwitch, která nabízí vysokou úroveň odolnosti proti rušení. Špičky hluku s délkou trvání do 20 ms mají zakázáno zahájit nebo ukončit cyklus a výstupy jsou zpožděny o dobu 20 ms od posledního zákmitu přepínače jak při aktivaci, tak uvolnění bez ohledu na trvání zákmitu.

Závěr

Existuje mnoho různých typů spínačů, včetně páčkových, kolébkových a tlačítkových přepínačů, které mohou všechny zakmitávat. Pokud nejsou zákmity potlačovány, mohou způsobit, že mikroprocesory a další elektronické obvody budou jednu aktivaci spínače rozpoznávat jako sled více událostí.

Zakmitávací signál z přepínače se často potlačuje pomocí softwaru spuštěného v mikrokontroléru. I když se jedná o levné řešení, ukázali jsme si, že to nemusí být ve všech případech tou nejlepší volbou, včetně systémů založených na mikroprocesorech s omezeným výkonem a pamětí, kvůli vývojářům softwaru postrádajícím odborné znalosti ohledně přepínačů, nebo včetně systémů bez mikrokontroléru.

Alternativně lze potlačování zákmitů řešit hardwarem pomocí různých přístupů sahajících od sítí rezistor-kondenzátor přes západky SR až po vyhrazené integrované obvody.

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