Hi! Also, ich möchte einen ATMega8 und einen Raspberry Pi über SPI oder I2C verbinden. Der Raspberry PI liefert die 5V, die über die (seine) USB Stromquelle bereitgestellt werden und 3,3V, wobei Letztere das Ziehen von 50mA erlaubt, während die einzige Limitierung bei den 5V nur das verwendete USB Netzteil ist. Nun reichen mir die 50mA nicht aus, da ich u.A. ein Relais schalten möchte. Da ich ein ausreichend starkes Netzteil habe, funktioniert es über die 5V Problemlos. Die GPIO Pins des Raspberry PIs funktionieren allerdings nur mit 3,3V. Da der uC allerdings auf 5V läuft, habe ich hier also ein Problem, dem ich nun mit einem Widerstand entgegenwirken wollte: Es müssen von den 5V 1,7V abfallen (=U), aber was ist hier I? Je nachdem ob ich gerade das Relais schalte oder eine 7-Segment Anzeige, die nur bei neuen Messwerten aktiviert wird, läuft, zieht die Schaltung unterschiedlich viel Strom. Gibt es hier einen "Trick", der ohne einen Spannungsregler für 3,3V auskommt? Grundsätzlich scheue ich mich nicht vor Ausgaben, aber einzelne Teile zu bestellen - da ist das Porto schon ziemlich hoch für. Und letztendlich würde ich für SPI sogar drei davon benötigen (oder?). Vielen Dank im Voraus!
Wenn ich das richtig verstehe brauchst du keinen Spannungsregler sondern einen *Pegelwandler*. Dazu gibt es hier einen Artikel, im einfachsten Falle reicht schon ein simpler Spannungsteiler.
Kannst du Mal eine Skizze anfertigen, was du vor hast. Irgendwie schaltet mein Hirn beim Lesen des Textes automatisch ab (wohl so eine Art Selbstschutz).
Einen 3,3V Ausgang kann man in den meisten Fällen direkt mit einem 5V Eingang verbinden. Da musst Du mal genau die Ausgangsspannung bei High Pegel mit den Anforderungen des AVR vergleichen. Wenn die Spannung nicht reicht, brauchst Du einen Level-Shifter. Dafür gibt exs 74er IC's. Für bidirektionale Leitungen eigent sich ein MOSFET Transistor und 2 Widerstände. So hat ELV das gemacht: http://www.elv.de/3-achsen-beschleunigungssensor-3d-bs-komplettbausatz.html Einen 5V Ausgang kannst Du (bei geringen Frequenzen, schätzungsweise bis 20khz) über einen 2,2k-Ohm Widerstand mit einem 3,3V Eingang verbinden. Dabei wird ausgenutzt, dass der Eingang Schutzdioden enthält, die zu hohe Spannung nach VCC ableitet. Der Widerstand begrenzt den Strom der dabei fließt. Alternatiov geht's auch mit einem Spannungsteiler oder einer Z-Diode.
Danke für den Tipp, das sieht sehr gut aus! Aber wie funktioniert das Ganze? Ich interessiere mich für die Lösung "1kOhm VOrwiderstand für 5V -> 3.3V". In diesem Fall fehlt doch trotzdem noch die Stromstärke als Unbekannte für das Ohmsche Gesetz, oder? Wie kann man ohne die Stromstärke zu kennen den Widerstand fest auf 1k setzen?
Ich hab grad was von 2,2 kOhm gelesen. 5 Volt am Ausgang, 3,3 Volt für den Eingang, mit den Schutzdieoden werdens dann ca. 4 Volt werden. Bleibt 1 Volt für den Spannungsabfall über den Widerstand.
Kleine Info der Raspberry Pi hat keine "Schutzdioden" an den Eingängen! Mehr als 3,3V am Eingang bedeuten das Risiko der Zersörtung. Z-Dioden Beschaltungen sind riskant da sie die Ausgänge des Pi zu stark belasten. Habe ich mir mal angeschaut aber wieder verworfen da das Schalten von zwei GPIO Pins mit Z-Diode den Pi sterben lassen können. Auch wenn es nicht geplant ist und nur versehentlich passiert! Für I2C gibt es spezielle Levelshifter Bausteine oder eben direkt selber aus MOSFETS aufbauen. Auf jeden fall solltest du einen 3,3V Spannungswandler mit bestellen, die 50mA die du abzapfen darfst sind schnell verbraucht. Ich würde die finger von Widerständen und anderen Bauteilen lassen wenn du nicht genau weist was du vorhast. Da du ja anscheinend nicht mal drauf kommst welcher Strom fließt. Um den Strom zu bestimmen musst du wissen wie die folgende Schaltung Aufgebaut ist. Dann kannst du deinen Strom berechnen. Du musst also die Last kennen. Kleiner Tipp: Schaltung aufbauen und alle Ausgänge als HIGH(3,3V) annehmen und die Gesamte Stromaufnahmne messen. Wenn sie größer als 50mA ist solltest du dir eine neu Schaltung ausdenken. Mich würde die Endbeschaltung interessieren. Also bitte Posten wenn es was geworden ist. viel Erfolg
Peter Reither schrieb: > Die GPIO Pins des Raspberry PIs funktionieren allerdings nur mit 3,3V. > Da der uC allerdings auf 5V läuft Lass beide mit 3,3V laufen und schalte das Relais mit 5V. Stichwort "open collector". mfg.
Thomas Eckmann schrieb: > Lass beide mit 3,3V laufen und schalte das Relais mit 5V. > Stichwort "open collector". Sehr gute Idee, danke! PiWi schrieb: > Mich würde die Endbeschaltung interessieren. Also bitte Posten wenn es > was geworden ist. Mach ich, dauert nur noch ein wenig, da ich noch einen Connector für das verwendete LCD warte..
Ich habe gerade einen ATMega (Slave) über SPI mit einem Raspberry Pi (Master) verbunden. ATMega muß auf 5V laufen, da ich 20MHz Takt und weitere 5V-Peripherie brauche. Die 3,3V-Ausgänge des Pi schalte ich einfach auf die Eingänge des AVR, kein Problem. Um den Pegel von MISO auf 3,3V zu begrenzen, habe ich einfach eine rote Leuchtdiode dazwischengeschaltet. Auf der Seite des Pi zieht ein 1k-Widerstand die Leitung definiert auf GND, wenn die Diode sperrt. Funktioniert bei mir mit 950kHz.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.