Egyszerű elektronika: 3V vagy 5V

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 nézzük meg az mikrokontroller adatlapjának vonatkozó ábráját... Utána a gyakorlat, illetve a valós körülmények kerülnek terítékre.

A gyakorlat szerint azonban az AVR chipekben 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égek környezetében használjuk a chipet, 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ásakor tovább működhetünk. A berendezés teljesítménye a feszültség x áramerősség képlettel számolható és ennek fnyében összehasonlítva az 5V és a 3.3V-os rendszerek azonos sebességű működést - az eredmény: ~30%-kal elbillen a 3.3V 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 nagyré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 feszültséget...

De szerencsére van megoldás! És még nagyon egyszerű is! A bemeneteken csak a feszültségszintet kell jelezni, nem kell nagy áramot á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 (statikus töltés elleni) védelme. Azaz ha megfogjuk, ne menjen azonnal tönkre.

A diódák behatárolják a feszültségszinteket, melyek a kivezetésen lehetnek. Ez így 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úgyis itt használjuk a  chipet - így semmi működési zavart nem okoz. 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. Ezt gond nélkül 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 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.7xVcc"-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 a 3.3V-os rendszerek egyszerűen illeszthetőek az 5V-os rendszerekhez.

TavIR-Facebook