
Számos fejlesztésnél felmerül a kérdés, hogy 3.3 V vagy 5 V feszültségről üzemeljenek?
Remélhetőleg ez még csak a tervezési fázisban fogalmazódik meg, amikor a teljes áramkört meg kell álmodni, a határait feltérképezni…
De mi is a 3.3V és az 5V feszültségű rendszerek előnye és/vagy hátránya?
Nos, először minden esetben nézzük meg a mikrokontroller adatlapjának vonatkozó ábráját… Utána a gyakorlat, illetve a valós körülmények kerülnek terítékre.
Az adatlapok szerint az alacsonyabb feszültségen a kontroller 2.7V-tól már üzemképes, azonban a sebessége korlátozott. A maximális sebességgel kb. 4.5V -tól hajtható.
A gyakorlat szerint azonban az AVR chipekben még rengeteg tartalék van. Az adatlapban a legrosszabb körülményeket feltételezve kell a működési körülményeket ábrázolni. Ha a működési paraméterek kiegyensúlyozottak és valahol nem a szélsőséges környezetében használjuk a kontrollert, akkor az is általánosan elfogadott, hogy 3.3V működtető feszültség esetén 16 MHz-n is stabilan működik.
Ez a kijelentés – természetesen – csak a hobbiprojektek kapcsán állja meg a helyét. Ipari körülmények esetén csak és kizárólag az adatlapon megadott működési tartomány a járható út (sőt ezesetben az adatlapon feltüntetett határokon sem üzemelhet a berendezés)!
A működési határok ilyen mértékű kitolása jó hír az energiaínséges alkalmazások fejlesztésekor. Azonos mennyiségű energia felhasználásával tovább működhet a berendezés. A kész eszköz teljesítményigénye a feszültség x áramerősség képlettel számolható egyszerűen és ennek fényében összehasonlítva az 5V és a 3.3V-os rendszerek azonos sebességű működését – az eredmény: ~30%-kal kisebb áramigény miatt elbillen a mérleg a 3.3V-os rendszer felé.
A 3.3V-os rendszer másik előnye, hogy elegendő 3db AA elem vagy 4 AA akku a működtetéséhez. Napjainkra a LiPo akkuk is egyre nagyobb teret szorítanak ki maguknak a 3.5…4.2V feszültségükkel.
A 3.3V irányába való eltolódás a hobbiprojektek kapcsán is megfigyelhető. A szenzorok nagy része már csak 3.3V rendszerfeszültség esetén működik (legtöbb esetben az 5V már határérték-túllépést jelent). De egyre több 5V-os rendszer is nyit a 3.3V-os irányba – ez a CMOS alapú áramköri lapkák esetén szembetűnő.
Rendszerkeveredés – 3.3V és 5V
Sok esetben a rendszereinknél, mind a 3.3V, mind az 5V rendszerekre szükség van. Ha egy chipünk 3.3V-ról jár, akkor a bemenetére 5V-ot kötve a chip nagy valószínűséggel elhalálozik. Azaz az I/O lábai nem igazán szeretik a direkt túlfeszültséget.
De szerencsére van többféle megoldás! És még nagyon egyszerű is akad közötte! A bemeneteken csak a feszültségszintet kell jelezni, nem kell nagy áramerősséget átfolyatni rajra. Így egy soros 1k..10k ellenállás megoldja a problémát. A trükk, hogy a legtöbb chip az I/O lábain belső védődiódát tartalmaz:

Minden egyes kivezetésen megtalálható ez a dióda, nem csak a bemenetekre tervezett lábakon. Alapvető célja ezen diódáknak a chip ESD (sztatikus töltés elleni) védelme. Azaz, ha feltöltődve megfogjuk, ne menjen azonnal tönkre.
A diódák behatárolják a feszültségszinteket, melyek a kivezetésen lehetnek. Ez az adatlap alapján a GND-0.7V….Vcc+0.7V közti tartományba kell hogy essen (Vcc: a chip tápfeszültsége). Normál használat esetén amúgy is itt használjuk a chipet – így semmi működési zavart nem okoz a beépített védődióda. Azonban, ha a rendszerünk 3.3V-os és így 5V feszültséget kapcsolunk rá, akkor a többletet ez a felső oldali dióda fogja levezetni. Az elektronikákat nem a feszültségszint öli meg, hanem az ennek kapcsán átfolyó áram teszi tönkre.
1kOhm soros ellenállást berakva, a diódán át maximum 2mA folyhat át (I=U/R → 5V/1kOhm=2mA). Ezt még képes elviselni az AVR-ek belsődiódája…
Persze, ez a megoldás működik; ugyanakkor a beépített védelmet nem szabályszerűen használjuk… És van ennek a megoldásnak azért működési hátulütője is. A legtöbb esetben a feldolgozandó jeleink lassúak. Ez a megoldás ezért nem okoz gondot a jelfeldolgozáskor. Azonban gyors, illletve meredek fel/lefutású jelek esetén az ellenállás, a kivezetés/nyáklap kapacitásával egy ún. RC-tagot képez és késleltető tagként viselkedik! Ez jelformázási-késleltetési probléma 1 MHz feletti sebességeknél jelentkezik…
És mi van a másik iránnyal?
Ha a chipünk 5V-ról jár, akkor a 3.3V-os (al)rendszerből is fogadhat jeleket. De a jelszintek nem okoznak problémát?
A hibás működésre van némi esélyünk. Szerencsére annyira nem kritikus a helyzet, mint a fordított esetben. De ehhez meg kell nézni a tényleges logikai szinteket…
A logikai “0” szint (alacsony, low level) a legtöbb chipnél 0 és 0.8V közé kell hogy essen. Így a 3.3 és 5V rendszerek esetén még jók vagyunk…

A zűrösebb rész a logikai “1” kérdése. Ez adja a magas szintet. Itt meg kell nézni, hogy a 3.3V rendszer mit küld ki és az 5V rendszer mit vár el. A legtöbb CMOS chip – ideértve az ATMega chipeket – közel maximális feszültséget küldenek ki logikai 1 esetén (feltétel, hogy túl nagy terhelés nincs a kivezetésen). Így 3.3V-os rendszer esetén közel tápfeszültséget kapunk. A bemeneti oldalon két eset lehetséges:
A chipek egy része ~1.6V felett logikai magas szintnek érzékeli a jelet. Ez a legkedvezőbb megoldás, semmi gondunk a működéssel.
A másik eset már bizonytalanabb, vagy szerencsénk van és működik – vagy pechünk és akkor nem sikerül. A chipek specifikációit ha megnézzük, akkor láthatjuk, hogy a logikai magas szintet “0.7 x Vcc”-ként definiálják. Ez pedig 5V-os rendszerek esetén 3.5V :(….
Az adatlapok a “worst case” (legrosszabb eset) lehetőségét veszik alapul. A legrosszabb tápfeszültséget, szélsőséges hőmérsékletet, stb…
Fontos! A legtöbb esetben a 3.3V magas jelszintként való használata nem okoz gondot. Ahol viszont mindenképp készüljünk fel valamiféle megoldásra, azok a nagyobb áramfelvétellel működő eszközök – például léptetőmotor vezérlők. Itt a meghajtási oldalon a szokásos pár 10 uA helyett mA-es áramigény is felléphet, vagy akár a feszültségszint befolyásolja az elektronika működését. Ekkor valamiféle feszültségillesztő chip vagy szintillesztő tranzisztor szükséges a korrekt működéshez!
Ezek a magas/alacsony szintek természetesen csak digitális jelek esetén értelmezhetőek értelemszerűen. Analóg feszültségszintek esetén jelerősítőre lehet szükség a megbízható működéshez.
Összegző tapasztalatom: kis sebességű jelek esetén az 5V-os rendszerek egyszerűen egy ellenállással illeszthetőek a 3.3V-os rendszerekhez. Az adatlapban azonban a belső ESD védődióda korlátait meg kell nézni, számos chip esetén (ESP8266, ESP32, STM32) ennek maximális árama a 0.5mA-t nem haladhatja meg, így az 5V-os rendszerek esetén a szintillesztésre soros 10kOhm ellenállás beépítése szükséges.