A fel- és lehúzó ellenállások alkalmazása lehetőséget nyújt több feszültségszint kezelésére is, például 3,3V és 5V közötti konverzióra, valamint lehetőséget ad az olyan egyszerű logikai áramkörök kialakítására, amelyekben több tranzisztoros kimenet működik együtt egyetlen ellenállás segítségével. Ezenkívül kitér a nyitott kollektoros kapcsolás előnyeire is, amelyeket gyakran használnak buszvezérlésre, mint az I2C és 1-Wire rendszerek.
A cikk bemutatja továbbá, hogy az ATMega és AVR chipek esetén csak felhúzó ellenállásokkal találkozunk, míg más chipeknél, például az ESP8266-ban, mind fel- mind lehúzó ellenállások is megvalósíthatók.
Bemenet
Számos módon hozhatunk létre digitális kimeneti jelet – az áramköreink a működésük során minden esetben magas vagy alacsony állapotban találhatóak meg. Ez a két logikai érték egyszerűen két feszültségszinttel reprezentálható. A kimenet ily módon történő vezérlése egy egyszerű kéttranzisztoros megoldással is már könnyen megvalósítható:
Magas? Alacsony?
A két képen a logikai magas (“1”; High; Vcc) illetve a logikai alacsony (“0”; Low; GND) szintek keletkezését láthatjuk két tranzisztorral megvalósítva.
Az első képen a ctrlA vezérlés alacsony szinten van (a felső tranzisztor nyit) és a ctrlB vezérlés is alacsony szintű (alsó tranzisztor zár). Logikai magas szint mérhető így a tranzisztorok közös pontján.
A második képen a ctrlA vezérlés és a ctrlB is magas szinten van, így a tranzisztorok közös pontja közel GND szintre kerül.
Ha jól megnézzük az ábrákat, láthatjuk, hogy a kimenet szintjét egyedül a ctrlA illetve a ctrlB kivezetésen legő jelszint határozza meg, azaz ez dönti el, hogy melyik tranzisztor fog vezetni. Ha – mint itt az ábrán látható módon – PNP és NPN tranzisztorpárt használunk, akkor a kimenet beállítása a közösített bázison át egyszerűen megoldható. Ez a megoldás modellszerűen az ATMega kivezetéseit mutatta be – egyszerűsítve. A ctrlA és ctrlB vonalakat ezesetben a chipek belső logikkája vezérli.
De nem minden esetben kell ennyi sok alkatrészből építkezni. A felső tranzisztor egyszerűen helyettesíthető egy ellenállással:
Az ellenállás – még a chip tokon belül, szilíciumból előállítva is – sokkal olcsóbb, mint egy tranzisztor: de ami ennél sokkal fontosabb, hogy rugalmasabban kezelhető. Az alsó kapcsolótranzisztort azért nem hagyhatjuk el 🙂 ! Amikor az alsó tranzisztor kinyit, akkor a kollektor potenciálja a GND-re kerül. Amikor zárt állapotú, akkor pedig a “lebegő” kollektort az ellenállás magas szintre húzza. Fontos! A megoldás addig működik csak megfelelően, amíg nem akarjuk nagy árammal terhelni a kimenetet. A felhúzó-ellenállás szokásos értéke 1k..100k közt van – ennek az a következménye, hogy az áramkör logikai 1 kimeneti szinten csak kissé terhelhető – <1..10mA terhelés esetén működik megfelelően! Ez viszont a legtöbb logikai áramkörhöz bőven elegendő (Logikai 0 esetén a terhelést a tranzisztor áteresztőképessége határozza meg – ennek jellemző értéke 10…40mA).
Mire jó ez nekünk?
Ahol ilyen logikai megoldásokat használhatunk, az jellemzően a 0..12V tartományba eső digitális jelek kezelése. Egyszerűen egy tranzisztor és egy felhúzó-ellenállás elegendő a megvalósításhoz. De ugyanez a trükk járható 3.3V→5V átalakításhoz is, amikor az egyik áramkörünk 3.3V-ról jár, míg a fogadó oldal 5V feszültségű jelet igényel. Azonban ez a megoldás akkor is működik, ha a céláramkör a kisebb feszültségű (azaz a fordított irány 5V→3.3V)!
Ilyen esetekben a tranzisztor, mint kapcsolóelem funkcióját használjuk ki.
Még egy különleges tulajdonsága van ennek a kapcsolásnak: számos tranzisztoros kimenet dolgozhat így egyetlen felhúzó-ellenállásra! Ez egy egyszerű logikai áramkör tud lenni, ugyanis, ha valamelyik tranzisztor vezet, akkor logikai 0 az eredmény, míg ha az összes zárt állapotú, akkor logikai 1 a kimeneti jelszint. Ahol ilyen eljárást használhatunk az a logikai foglaltságjelzés egy buszon keresztül – egyetlen vezetéket használva! De ezt hívják még logikai vagy kapcsolásnak is.
Az ilyen tranzisztoros-ellenállásos buszrendszer több különálló eszköz együttes működését teljesen jól támogatja. Ha egyidőben egy eszközzel kell kommunikálni és elektromosan egy buszhálózaton vannak, akkor mindenféle extra eszköz nélkül ez a nyitott kollektor + ellenállás könnyen megvalósítható.
Fontos! A szabályok közé fel kell írni, hogy a lehúzó tranzisztor képes nagyobb áramokat kapcsolni; így ha ilyen kimenetre LED-et kapcsolunk, akkor az csak a kimenet és a + jelszint közt fog megfelelően működni. A kimenet és a GND közt nem működik! Ilyen megvalósítás van például a a PCF8574 jelű portbővítő chipben!
És még egy tanács, amit jó ha tudunk: a kimenet a GND felé nem érzékeny a rövidzárra. A kimeneti tranzisztor ebben az esetben nem tud kapcsolni, hiszen nincsen a C-E közt feszültségkülönbség. Egyszerűen a belső felhúzó-ellenállás korlátozza a zárlati áramot. Fontos: + irányban nem rövidzár-védett a kapcsolás, mert a tranzisztor ekkor a + és a – közt fog vezetni!
Fontos, hogy a tranzisztor bázisára pozitív feszültséget adva, azonnal kapcsol és a rövidrezárási árama indul meg!
A nyitott kollektoros – tranzisztoros megvalósítás klasszikus példája az I2C/TWI buszrendszer illetve a Dallas (vagy más néven) 1-Wire busz. A sok tranzisztor és a felhúzó-ellenállás, mint kimenet, és a tranzisztor-ellenállás közös pontja, mint logikai bemeneti jel nagyon könnyen teszi megvalósíthatóvá a kétirányú kommunikációt. Az AVR/ATMega chipek esetén a felhúzó-ellenállás értéke (ami egy külön járulékos tranzisztorral kapcsolgatható) 20..50 kohm közötti (erről bővebben az “A vagy nem A” cikkben volt szó).
És mi az a lehúzó ellenállás?
Technikailag megvalósítható az a megoldás is, amikor a tranzisztor a tápfeszültség felé kerül beépítve, és az ellenállás a GND felé került bekötésre. Ezt a technikát kevéssé használják és a PNP tranzisztor kialakítása miatt drágább is lenne. Az ATMega chipcsaládban csak a felhúzó-ellenállásokkal megvalósított logika érhető el, a teljes AVR gyártmánypalettában nem található olyan chip ahol logikai lehúzó-ellenállás vagy fordított logika került volna beépítésre. Ha ilyet szeretnénk látni, akkor az ESP8266 áramkört kell használni, ott a fel- és a lehúzó-ellenállás is megvalósításra került.
Egyszerű elektronika – Tartalomjegyzék
- Egyszerű elektronika – Kezdőlap
- Energia
- Elem
- 3.3V vagy 5V
- Ellenállás
- Kondenzátor
- Kondenzátor, kapacitás és szuperkapacitás
- Dióda
- LED – Fénykibocsátó Dióda
- Tranzisztor I.
- Tranzisztor II.
- Tranzisztor alkalmazások I.
- Tranzisztor alkalmazások II.
- Tranzisztor alkalmazások III.
- MOSFET I. rész
- MOSFET II. rész
- Felhúzó-ellenállás
- DHT11, DHT22 hőmérséklet- és páraszenzor