Gewusst-wie: Spannung verändern

hi,

vor kurzem gab's hier wieder mal das ewige thema 5V <> 3,3V, dabei blieb aber auch einiges unbeantwortet (es ging in dem thread um ein spezielles bauteil, da haben sicher nur wenige mitgelesen). also denke ich mir, man könnte das thema doch mal ausführlich besprechen und lösungen für alle möglichen anwendungsfälle finden. wenn's gut wird, fasse ich alles zusammmen und nach prüfung stelle ich es in den playground (ins PmWiki).

es gibt ja verschiedenste anforderungen und verschiedenste lösungen. es soll gar nicht in erster linie darum gehen, wie diese lösungen im detail funktionieren, sondern welche sich in welchem fall am besten eignet.

welche anforderungen können das sein?

schaltgeschwindigkeit (bei bussen)
stromstärke, leistung (spannungsversorgung)
spannung hoch oder runtersetzen (spannungsversorgung)
eine richtung oder beide
spannungsstabilität

bisher kenne ich:

spannungsteiler. schalten schnell kleine ströme. aber wie berechnet man die werte der widerstände? das verhältnis zueinander sowie die höhe der werte im speziellen fall (I2C, seriell, versorgung).

zenerdioden: so wie hier kurz beschrieben:

funtioniert das mit nur einer diode und sonst nichts?

spannungswandler: zur versorgung, gibt es in beide richtungen und auch als up/down.

levelshifter: in beide richtungen, schnell, für busse.

trafos gehören auch irgendwie dazu.

wer kann helfen und hat ideen?

gruß stefan

Man sollte generell zwischen Signal-Spannungen und "Strom"-Versorgung unterscheiden.

(Auch wenn gelegentlich als Lösung zu "wie erkenne ich, ob 230V da sind?" zu einem 5V-Stecker-Netzteil geraten wird)

Im Detail sind die Lösungen so unterschiedlich wie die unterschiedlichen Anforderungen

  • Leistung / Signal
  • bidirektional / eine Richtung
  • rauf / runter
  • Geschwindigkeit

Hallo,

verstehe nicht recht was Du erreichen möchtest. Grundlagen werden im Netz zu Hauf erklärt. Manche besser und manche schlechter. Und wie Micha schon schreibt. Man muß unterscheiden zwischen Signalpegelanpassungen und Spannungsversorgungen.

Mit Spannungsteilern kann man nur ganz simpel eine Spannung runterteilen. Funktioniert also nur in eine Richtung. Zum Bsp. für Meßaufgaben. Damit schaltet man jedoch keine Ströme.

Zur Festlegung geht man ganz simpel ran. Ich leg mal frei als Bsp. fest, wir möchten am Arduino 24V analog messen. Anlegen dürfen wir nur max. 5V. Damit wir die 24V und unsere Widerstände nicht unnötig belasten, leg ich mal Pi mal Daumen einen Gesamtwiderstand des Spannungsteilers von 62k fest. Der Rest ist Verhältnisgleichung oder Dreisatz genannt. 62k durch 24 mal 5 = 12,916k
In der gebräuchlichen Normreihe E24 (5%) gibt es 13k.
Jetzt ziehen wir die 13k von den 62k ab und erhalten 49k.
Entweder setzen wir die 49k zusammen aus 47k und 2k oder nehmen 51k.
Ich nehm mal 51k und 13k.
Das bedeutet, wir können mit angelegten 24V am Arduino max. = 24V / (51k+13k) * 13k = 4,875V messen.

Das funktioniert aber nur mit dem unbelasteten Spannungsteiler. Weil der ADC nur paar µA abzweigt. Ist also vernachlässigbar wie man so schön sagt.

Versucht jemand die runtergeteilte Spannung am 13k Widerstand zubelasten, dann stimmt das hinten und vorne nicht mehr. Denn dann hat man ja zum 13k einen weiteren Strompfad parallel und damit ändert sich das Teilungsverhältnis. Wie wenn man noch einen Lastwiderstand parallel zum 13k schaltet. Damit wird die untere Parallelschaltung in ihrem Widerstandswert kleiner und damit fällt darüber auch weniger Teilspannung ab.

Das heißt für irgendeinen Sensor der 3,3V benötigt und eine schwankende Stromaufnahme hat, würde ich keinen einfachen Spannungsteiler verwenden. Wenn doch, kommt das wirklich auf den Einzelfall an wenn er nur sehr sehr wenig Strom zieht. Dann muß man rechnen und messen.

Wenn sich die Laständerungen in Grenzen halten, nimmt man besser eine Z-Diode für geringe Anforderungen. Einen passenden Vorwiderstand benötigt die aber auch. Die Differenzspannung muß ja irgendwo an einem Widerstand abfallen. Kann sich leider nicht in Luft auflösen.

hi,

doc, damit hast Du schon zwei fragen, die für einen elektronik-dummy sehr schwer sind, nicht beantwortet. :o

Du schreibst "Pi mal daumen". pi weiß ich, aber nehme ich die länge oder die breite des daumens? im ernst, solche fragen erscheinen nur Dir läppisch. was nehm' in den verschiedenen fällen? was bei serial, was bei I2c? das verhältnis ist nicht mein problem. vorhin hab' ich gelesen, bei open collector-eingängen muß man aufpassen...

in dem artikel, den ich oben verlinkt habe, ist von einer zener-diode die rede, die nur eine gewisse spannung durchläßt. ich zitiere:

"Die heißen z.B. 'ZF 3,3' , ich schätze, dass ist genau was du brauchst (4 cent )
Die Dioden regeln halt einfach die Spannung runter auf einen Festwert, der Typenabhängig ist.
Die gibt als ZF mit 0,5 Watt und ZD mit 1,3 Watt.
Bei 3,3 V * 0,15 = 0,495 würden dann gerade die ZF-Typen reichen.
Stimmt doch so, oder?"

damit kann man ja bei ganz schön leistung die spannung runterbrechen. dazu braucht man dann noch einen widerstand? und wo kommt der dran?

gruß stefan

Hallo,

was möchtest Du mit I2C und seriell machen? 5V auf 3,3V Signalpegel wandeln? Dafür nimmt man Level-Shifter. Das muß in beide Richtungen funktionieren.

Pi mal Daumen ist so eine Sache. Beim Pullup oder PullDown Widerstand nimmt man auch pauschal 10k.

Beim Spannungsteiler soll im Normalfall ein geringer Strom durch sich selbst fließen. Man soll seine Spannungsquelle eben nicht sehr belasten. Ich gehe immer von weniger als 1mA aus. Bei 24V und 62k fließen 0,4mA. Wenn eine Last nicht vermeidbar ist, muß ein Impedanzwandler ran. Ist eine bestimmte Beschaltung eines OPV's.

Frag mal einen Maurer, warum er seine Mischung so oder so macht. Hat eben seine Erfahrungen gesammelt.

Z-Diode: Die regelt selbst nichts runter. Die hält ihre Zenerspannung stabil, wenn man sie läßt. Wie schon gesagt, die braucht einen Vorwiderstand. Eine 0,5W Type mit 3,3V, kann wie Du gerechnest hast, maximal 150mA durch sich fließen lassen. Als Mindeststrom sagt man, bei unbekannten Typen oder pauschal, muß ein Zehntel davon fließen, damit der Zenereffekt sicher anfängt. Da hilft ein Blick ins Datenblatt wenn es weniger sein soll. Ohne Vorwiderstand brennt die durch wie eine LED. Ist eben ein Halbleiter ohne eigene Strombegrenzung, im Gegensatz zu einer normalen Glühlampe zum Vergleich.

Eine schöne Erklärung zur Z-Diode gibts hier, finde ich.

http://www.elektronik-kompendium.de/sites/slt/1012151.htm

Und dann muß man eben hin und her rechnen, wenn man seine Last ran hängt, also parallel zur Z-Diode und damit der Z-Diode ihren Strom klaut, ob dann noch genügend für sie übrig bleibt um sicher in der Zenereffekt-Spannungsbereich zu bleiben. Die Lastmöglichkeiten mit Z-Diode sind eh begrenzt. Man kann sich nur noch damit helfen, mehrere kleinere Z Spannungen in Reihe zuschalten um einen höheren Strom zulassen zu können.

Hallo,

eine Idee kommt aus der Entwicklung von Philips. FETs als Level-Shifter.
Sparkfun nützt diese Idee auch für ihren Level-Shifter.

Das gleiche gibt es auch von Adafruit (4-channel I2C-safe Bi-directional Logic Level Converter [BSS138] : ID 757 : $3.95 : Adafruit Industries, Unique & fun DIY electronics and kits),
die da auf der Seite aber auch auf die Application Notes von NXP und die Ältere
von Philips verweisen:

Da ist es auf Seite 10 schön beschrieben wie es funktioniert.

Gruß, Katsu

Standardantwort: Pegelwandler – Mikrocontroller.net

Hallo,

oder eben so ... :smiley: