Forum: Mikrocontroller und Digitale Elektronik Arduino-In zu Arduino-Out Pin ?


von Peter B. (funkheld)


Lesenswert?

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

von none (Gast)


Lesenswert?

Bei meinen ATTINYs reicht eine direkte Verbindung

von Stefan F. (Gast)


Lesenswert?

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

von Tippgeber (Gast)


Lesenswert?

Peter B. schrieb:
>
> Ich möchte Signale übertragen.

Was für Signale? Unidirektional, bidirektional? Wie schnell? Und: was 
soll das insgesamt werden?

von Dietrich L. (dietrichl)


Lesenswert?

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.

von Peter B. (funkheld)


Lesenswert?

Keine RS232-Signale sondern normale Schaltungszustände wie An-Aus.

Danke.
Gruss

von Peter B. (funkheld)


Lesenswert?

---------------------------
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

von Veit D. (devil-elec)


Lesenswert?

In die Leitung zwischen deinen IN <> OUT. Stichwort Reihenschaltung.
So ein R wird auch als Längswiderstand bezeichnet.

  IN ---- R ---- OUT

von Peter B. (funkheld)


Lesenswert?

Danke für die info.

Gruss

von Stefan F. (Gast)


Lesenswert?

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.

von tg (Gast)


Lesenswert?

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.

von Veit D. (devil-elec)


Lesenswert?

>
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.

von Stefan F. (Gast)


Lesenswert?

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.

von Veit D. (devil-elec)


Lesenswert?

ähm ... ja

  :-)

von c-hater (Gast)


Lesenswert?

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...

von c-hater (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.