Arduinon kanssa puuhattaessa moni oheislaite toimii 3.3 V tasoilla kun Arduinossa itsessään käyttis ja tasot ovat 5 V mukaan. Löytyy POLOLUn valmis tasonsiirrin mutta sitä tarvitsee sitten aika moneen paikkaan.
Onko joku siirtänyt oheislaitteiden maajännitettä sen verran ylöspäin, että 3.3 V laitteen tuottamat logiikkatasot mahtuvat juuri ja juuri 5 V logiikkatasojen rajoihin? Toiseen suuntaan eli 5Vsta 3.3V:iin logiikkatasot saa kohdalleen vastusjaolla.
Onko tuohon olemassa jotakin yleisempää ratkaisua, 0.2 euron mosfetti ja pari vastusta tms jota on helppo liimata tarvittaviin paikkoihin kytkennässä? Pololu maksaa viitisen euroa neljän kanavan moduulista ja on oma piirilevynsä nopeusrajoituksineen.
Onko joku siirtänyt oheislaitteiden maajännitettä sen verran ylöspäin, että 3.3 V laitteen tuottamat logiikkatasot mahtuvat juuri ja juuri 5 V logiikkatasojen rajoihin? Toiseen suuntaan eli 5Vsta 3.3V:iin logiikkatasot saa kohdalleen vastusjaolla.
Onko tuohon olemassa jotakin yleisempää ratkaisua, 0.2 euron mosfetti ja pari vastusta tms jota on helppo liimata tarvittaviin paikkoihin kytkennässä? Pololu maksaa viitisen euroa neljän kanavan moduulista ja on oma piirilevynsä nopeusrajoituksineen.
Vastaukset 4
Vanhimmat
Jos taso-konvertterit maksaa siinä 20snt per kipale, niin kannattaako paljon kikkailla?
https://www.ebay.com/itm/5Pcs-4-Channel-IIC-I2C-Logic-Level-Converter-Bi-Directional-Module-5V-to-3-3V/173439275042
tai sitten ihan jännitteenjako-kytkennällä kahdella vastuksella ja toiseen suuntaan ei mitään.
https://oscarliang.com/raspberry-pi-and-arduino-connected-serial-gpio/
Näyttävät samanlaiselta kuin tuo Pololu eli niissä on nopeusrajoitus, ellei itse vaihda vastuksia. Kymmenen kilon vastus ja vaikkapa 100 pF kapasitanssia tekisi 1 µs nousu- ja laskuajan pulsseille.
Yksi tuollaisen kytkentä löytyy tasonsiirtimen valmistajan sivulta. Siinä on kanavaa kohti kaksi 10k vastusta ja yksi BSS138 logiikkataso N-mosfetti. Fettiä saa Partcosta noin 70 sentin hintaan yksin kappalein, samaa kautta Farnellin tilauksena isompana eränä alle 10 senttiä kipale.
https://learn.sparkfun.com/tutorials/bi-directional-logic-level-converter-hookup-guide
Ei kai sitä nopeusrajoitusta pois saa noin yksinkertaisesta kytkennästä. Nuo vastuksethan ovat ylösvetovastuksia. Niitä pienentämällä kasvaa myös virrat. Aika nopeasti mennään jo yli piirien virransyöttökyvyn.
Vastukset vaikuttavat oleellisesti vain nousuaikaan. Lasku tapahtuu nopeammin.
Jos tarvitsee suurempia nopeuksia, kannattaa valita "oikeita" tasomuuntimia. Vaikkapa http://www.ti.com/lit/ds/symlink/sn74lvc2t45.pdf pystyy 420 Mbs, mutta sen suunta pitää aktiivisesti valita. Suuresta nopeudesta seuraa nopeat nousu- ja laskuajat, jotka taas aiheuttavat häiriöitä, varsinkin kotikutoisilla piirilevyillä ja läpiladottavilla komponenteilla. Noihin voi laittaa vastukset syöttöihin hidastamaan nousu- ja laskuaikoja kohtuullisemmiksi.
Juu, samalla kannalla. Itse valitsen nykyään 3V3 - 5V rajalla toimivaksi logiikaksi esim. 74lvx00-smd. Tai mitä nyt sattuu tarviimaan muutenkin sillä hetkellä. Eli 5V outputit tuon piirin kautta kierrätettynä, sietää inputissa jopa 5.5V jännitteen käyttöjännitteen ollessa 3V. Sellainen huomio toki on, että tuota voi käyttää myös päin vastaiseen suuntaan: 3V3 logiikka toimii aika epävarmasti PC:n rinnakkaisportin kanssa, vaikka tasojen pitäisikin riittää ohjaukseen. Lisäksi väliin ei voi laittaa suojavastusta koska se syö jännitettä. Käytännössä n. 3V8 kuitenkin vasta alkaa riittää, mutta on vähän yläkanttiin monille 3v3 piireille, eli käräyttelee niitä herkästi.
Tuollainen buffer-piiri voi olla poikaa myös pelkästään 5V tasoilla toimittaessa, jos ohjattava kohde on vähän jäykkä, kuten vanha TTL-PC rinnakkaisportti on. Loppuu kontrollerista yllättävästi virran ajokyky jos pitää kaikki io-nastat saada ohjattua ja kontrolleri on toteutettu cmos-logiikalla tai muulla hituvirtatekniikalla.