Hallo, guten Tag. Wie sieht bitte eine Schaltung aus von einem Arduino-Mega-Out Pin zu einem anderen Arduino-Mega-In Port. Ich möchte Signale übertragen. Wie muss diese abgesichert werden? Beide Mega haben einen gemeinsame Spannungsversorgung. Danke. Gruss
Wenn beide Mikrocontroller immer gleichzeitig und mit der gleichen Spannungshöhe versorgt werden, dann einfach direkt miteinander verbinden. Ansonsten: Wenn die Versorgungsspannung gleich hoch ist, aber nicht gleichzeitig eingeschaltet wird, dann packe einen Widerstand mit 470Ω bis 2,2kΩ dazwischen. Wenn die Versorgungsspannungen nicht gleich hoch sind, brauchst du einen Spannungsteiler. Zum Beispiel von 5V herunter auf 3,3V:
1 | 1kΩ 2,2kΩ |
2 | 5V rein o---[===]---+---[===]---| GND |
3 | | |
4 | o |
5 | 3,3V raus |
Auf 300mV mehr oder weniger kommt es nicht an. Für die umgekehrte Richtung brauchst du gar nichts zu machen, denn ein 5V AVR Mikrocontroller erkennt 3,3V als gültigen High Pegel an.
1 | 3,3V rein o------------o 3,3V raus (zum 5V µC) |
Für komplexere Fälle, siehe https://www.mikrocontroller.net/articles/Pegelwandler
Peter B. schrieb: > > Ich möchte Signale übertragen. Was für Signale? Unidirektional, bidirektional? Wie schnell? Und: was soll das insgesamt werden?
Wenn die Leitung länger ist und Störungen einfangen kann, kann man einen Widerstand (kΩ-Bereich) als Strombegrenzung in Reihe vor den Eingang schalten.
Keine RS232-Signale sondern normale Schaltungszustände wie An-Aus. Danke. Gruss
--------------------------- Wenn die Versorgungsspannung gleich hoch ist, aber nicht gleichzeitig eingeschaltet wird, dann packe einen Widerstand mit 470Ω bis 2,2kΩ dazwischen. --------------------------- Wo kommt bitte der Widerstand rein ? Danke. gruss
In die Leitung zwischen deinen IN <> OUT. Stichwort Reihenschaltung. So ein R wird auch als Längswiderstand bezeichnet. IN ---- R ---- OUT
Peter B. schrieb: > Wo kommt bitte der Widerstand rein ? > IN ---- R ---- OUT Vielleicht sollten wir erklären, warum man das tun soll. Fast alle CMOS IC's (auch AVR) haben an ihren I/O Pins interne Schutzdioden gegen Elektrostatische Signale. Diese Dioden würde Strom in eine unerwünschte Richtung leiten, wenn ein IC Signal-Spannung liefert und der Empfänger zu diesem Zeitpunkt keine Versorgungsspannung hat:
1 | +----|>|----o VCC = Null Volt |
2 | R | |
3 | Sender o---[===]------+--o Empfänger |
4 | 5V | |
5 | +----|<|----| GND = Null Volt |
Ohne Widerstand würde ein Kurzschluss-Strom durch die obere Diode fliessen, solange dort die Versorgungsspannung fehlt. Der zusätzliche Widerstand in der Leitung begrenzt die Stromstärke auf ein erträgliches Maß. Leider sagt das Datenblatt nicht aus, wie hoch der Strom maximal sein darf. In einer Application Note werden dauerhaft maximal 1mA empfohlen. Dann müsste man aber 4,7kΩ verwenden, was für hohe Signalfrequenzen (über 100kHz) zu viel wäre. In der Praxis klappt es mit 470Ω bis 2.2kΩ prima. Die meisten Arduino Module machen das auch so bei der Verbindung zwischen USB-UART und AVR.
kleine Ergänzung: den Widerstand würde ich bei Bastelprojekten zumindest während der Entwicklung sowieso vorsehen - für den Fall, dass versehentlich beide Pins als Ausgang geschaltet sind und unterschiedliche Pegel führen.
>
1 | > +----|>|----o VCC = ? Volt |
2 | > R | |
3 | > Sender o---[===]------+--o Empfänger |
4 | > 5V | |
5 | > +----|<|----| GND = Null Volt |
6 | > |
Die Erklärung verstehe ich nicht ganz. Gehen wir davon aus GND ist überall verbunden. Dann hängt die "Vcc Clamp Diode" in der Luft wenn die eigene Versorungsspannung fehlt. Dann kann laut meiner Meinung auch kein Strom durch diese fließen. Der Längswiderstand schützt laut meiner Meinung nur den eigentlichen Pin des µC. Weil er einen undefinierten Zustand hat wenn die Versorgungsspannung fehlt.
Veit D. schrieb: > Dann hängt die "Vcc Clamp Diode" in der Luft Nein, tut sie nicht. Irgendwo ausserhalb des IC gibt es viele indirekte Verbindungen zwischen VCC und GND. Lass es im einfachsten Fall mal eine Glühlampe mit 5 Ohm Innenwiderstand sein. Dann würden ohne sonstige Strombegrenzungen 1A (bei 5V) fliessen.
Peter B. schrieb: > Wie sieht bitte eine Schaltung aus von einem Arduino-Mega-Out Pin zu > einem anderen Arduino-Mega-In Port. > Ich möchte Signale übertragen. > > Wie muss diese abgesichert werden? > Beide Mega haben einen gemeinsame Spannungsversorgung. Sofern letzteres wirklich gewährleistet ist, muss rein garnix "abgesichert" werden. Einfach die Pins verbinden und gut isses. Allenfalls könnte man noch einen Schutz gegen dumme Programmierfehler einbauen (also die Situation, dass am Ende zwei Ausgänge gegeneinander arbeiten). Das würde ein Längswiderstand von ca. 330Ω zwischen den Pins erledigen können. Der sog. Angstwiderstand... Der eigentlich springende Punkt ist allerdings: um über so eine single-line-Verbindung tatsächlich zuverlässig "Signale" übertragen zu können, braucht man ein Protokoll. Nur, wenn man "Signale" auf eine ein(!)-malige Änderungen eines vordefinierten Ausgangs-Zustandes reduziert, geht das ohne Protokoll. In jedem anderen Fall braucht man eins. Das ist so, auch wenn dir natürlich 100.000 Arduidioten was vom Pferd erzählen werden, dass es bei ihnen ganz "ohne" Protokoll funktioniert... Das kann zwar tatsächlich so sein, ist aber dann trotzdem reiner Zufall, nicht mehr...
Ich, namentlich c-hater, habe Unsinn geschrieben. Ich verspreche sowas ab 2019 nie wieder zu tun. Ich verspreche mich im sprachlichen Umgang zu ändern. Ich verspreche im Forum einfach netter zu sein. Ich verspreche mein Wissen im freundlichen Ton zu vermitteln. Ich wünsche dem Forum und ihren Teilnehmern einen guten Rutsch ins neue Jahr. Bis nächstes Jahr.
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.