Arduino Pro mini 3,3V- 5V tolerant?

Hallo,

darf ich z.B. von einem Uno aus eine serielle Verbindung (TTL-Pegel) zu einem Arduino Pro mini 3,3V herstellen?

Kernfrage: Kommt der Arduino Pro mini 3,3V mit den 5V des TTL-Pegels zurecht und falls nein, was macht "man" in solch einem Fall?

Gruß Chris

Nein, aber sowas lässt sich auch im Datenblatt des Atmegas normalerweise finden, um wieviele 0,xV ein Pegel max. höher sein darf als Vcc.

-> Pegelwandler (Schaltung aus PullUp-Transistor und Spannungsteiler sollte ausreichen)

Chris72622: darf ich z.B. von einem Uno aus eine serielle Verbindung (TTL-Pegel) zu einem Arduino Pro mini 3,3V herstellen?

Kernfrage: Kommt der Arduino Pro mini 3,3V mit den 5V des TTL-Pegels zurecht und falls nein, was macht "man" in solch einem Fall?

Die erlaubten Pegel an Input Pins von Atmega-Controllern reichen von GND-0.5V bis VCC+0.5V.

5V an einem 3.3V Controller sind VCC+1.7V und damit außerhalb der Spezifikation.

Bei einer seriellen Verbindung könntest Du z.B. so verfahren:

RX am 5V-UNO direkt mit TX vom 3.3V-Pro Mini verbinden: Ein 5V Controller erkennt Pegel ab 0.6*VCC als HIGH, daher werden Pegel mit mehr als 3.0V als HIGH erkannt, und 3.3V Pegel vom Pro Mini stellen kein Problem dar.

Und die TX-Leitung des UNO könntest Du mit einem Widerstands-Spannungsteiler von z.B. 1K/1.8K herunterteilen, und vom Mittelabgriff des Widerstands-Spannungsteilers ein Signal von 1.8/2.8*5V= ca. 3.2V für den 3.3V Controller abgreifen. Bei den eher langsamen Signalen auf einer seriellen Leitung ist eine Widerstands-Pegelwandlung kein Problem.

Mit TTL-Pegeln auf Serial kannst Du allerdings keine großen Entfernungen überbrücken. Zur Überwindung von "Strecke" müßtest Du die Pegel mit TTL-RS232 Wandlern bei der Übertragung mindestens auf RS232 Signalpegel hieven. Wobei das dann gleich die zweite Möglichkeit wäre: Sowohl das 5V-TTL Signal auf RS232 wandeln als auch das 3.3V-TTL Signal, und die Verbindung dann mit RS232-Pegeln herstellen.

Was geeignet wäre, hängt unter anderem auch davon ab, ob Du zwischen den Controllern eher 5cm, 50cm, 5m oder gar 50m zu überbrücken hast.

Prinzipiell muß man sagen, daß es die absolute Ausnahme ist, daß Eingänge eine höhere Spannung vertragen als die Versorgungsspannung.

Wenn das der Fall ist ist es explizit im Datenblatt vermerkt.

Grüße Uwe

um wieviele 0,xV ein Pegel max. höher sein darf als Vcc.

Der Grund sind die Schutzdioden in allen Eingängen, die negative Spannungen nach GND und zu hohe nach Vcc ableiten. Diese halten keine hohen Ströme aus, und sollen eher statische Störungen unschädlich machen. Daher geht statt eines Spannungsteilers auch bereits ein Vorwiderstand zwischen 5V Signal-Ausgang und 3.3V Eingang. Nimm einen 10k Widerstand und du wirst daran einen Spannungsabfall von 5V - (3.3+0.6)V sehen. 1V/10k = 0.1 mA (0.1mW) wird dein 3.3V Eingang sicher verkraften.

Jurs' Spannungsteiler 1k + 1.8k geht natürlich auch.

Ob Spannungsteiler oder lediglich Vorwiderstand ist in diesem Fall also ehr eine Geschmackssache?

Gruß Chris

Ja!

Bei längeren Leitungen sollte man das allerdings aktiv erledigen.

jurs: Und die TX-Leitung des UNO könntest Du mit einem Widerstands-Spannungsteiler von z.B. 1K/1.8K herunterteilen, und vom Mittelabgriff des Widerstands-Spannungsteilers ein Signal von 1.8/2.8*5V= ca. 3.2V für den 3.3V Controller abgreifen. Bei den eher langsamen Signalen auf einer seriellen Leitung ist eine Widerstands-Pegelwandlung kein Problem.

Wie kommt man hier auf den Wert 2.8?

Gruß Chris

Chris72622:
Wie kommt man hier auf den Wert 2.8?

Bei der Reihenschaltung von Widerständen addieren sich die Werte zum Gesamtwiderstand:

R1 + R2 = RGes

1K + 1.8K = 2.8K

Ah- jetzt. Hab noch etwas gegoogelt. Deckt sich mit Deinen Angaben.

Etwas konnte ich aber (noch) nicht herausfinden:

Wie errechnet sich RGes? Ich könnte unter Beibehaltung des Verhältnisses der beiden Widerstände zueinander ja theoretisch auch kleinere oder größere Widerstände verwenden, oder? Hauptsache das Verhältnis der beiden Widerstände zueinander passt, oder?

Gruß Chris

Ich würde deinen Pro Mini 3,3V auch gegen einen Pro Mini 5V (Klon) tauschen. ;)

Die 3,3V Variante habe ich bisher noch nicht in meinem Arduino Zoo.

Es funktioniert bereits alles, bis auf die noch nicht ausgeführte serielle Übertragung.

Ein "Uno-" Sketch wurde auf den Kleinen geladen.

Gruß Chris

RGes bestimmt du.

Warum nicht einfach einen Pegelwandler einsetzen? Oder aber einfach nachbauen. Ist ja nicht so, dass Google nichts ausspucken würde.

http://cdn.sparkfun.com/datasheets/BreakoutBoards/Logic_Level_Converter.pdf

Chris72622:
Etwas konnte ich aber (noch) nicht herausfinden:

Wie errechnet sich RGes? Ich könnte unter Beibehaltung des Verhältnisses der beiden Widerstände zueinander ja theoretisch auch kleinere oder größere Widerstände verwenden, oder? Hauptsache das Verhältnis der beiden Widerstände zueinander passt, oder?

Ja, völlig korrekt.

Die Dimensionierung von RGes wird beim Spannungsteiler durch zwei Faktoren begrenzt:

Die untere Grenze für den Widerstand ergibt sich aus dem maximalen Strom, den der OUTPUT verkaften kann. Ein Arduino “Atmega” Output verkaftet typischerweise 20mA, so dass Du beim Widerstand so tief gehen kannst, dass bei RGes bis zu 20mA durch den Spannungsteiler fließen.

Allerdings fließt dieser Strom dann auch dauerhaft, solange der OUTPUT auf HIGH gesetzt ist, d.h. je niedriger die Widerstände des Spannungsteilers sind, desto höher steigt der Stromverbrauch der Schaltung.

Andererseits kannst Du die Widerstandswerte auch nicht beliebig hoch machen, um den Stromverbrauch zu verringern, denn je hochohmiger der Spannungsteiler wird, desto störanfälliger wird es. Einerseits können “Störimpulse” aufgrund geschalteter Ströme in irgendwelchen Leitungen Spannungen in der Spannungsteilerschaltung induzieren, so dass Fehlimpulse auftreten können. Andererseits wenn der am Mittelabgriff angeschlossene INPUT einen recht niedrigen Eingangswiderstand hat, kann ein zusätzlicher Spannungsabfall auftreten, so dass der tatsächliche HIGH Pegel nicht dem rechnerisch ermittelten Pegel entspricht, sondern niedriger liegt.

Um einen praktikablen Mittelwert zwischen “Stromverbrauch” und “Störsicherheit” der Schaltung zu haben, sollten solche Spannungsteiler wohl im Allgemeinen so ausgelegt werden, dass bei RGes ein Strom zwischen 0.5 und 3.0 mA fließt.

Der sich am Mittelabgriff zwischen den Widerständen ergebende Pegel ist aber tatsächlich nur vom Verhältnis der Widerstände abhängig. Nur Stromverbrauch und Störfestigkeit ändern sich, wenn Du insgesamt mehr hochohmige oder mehr niederohmige Widerstände als Spannungsteiler verwendest.

Vielen Dank für diese super Erklärung! :)

Gruß Chris