mikrocontroller.net

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


Autor: Peter B. (funkheld)
Datum:

Bewertung
-1 lesenswert
nicht 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

Autor: none (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei meinen ATTINYs reicht eine direkte Verbindung

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
0 lesenswert
nicht 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:
             1kΩ        2,2kΩ
5V rein o---[===]---+---[===]---| GND
                    |
                    o
                  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.
3,3V rein o------------o 3,3V raus (zum 5V µC)

Für komplexere Fälle, siehe 
https://www.mikrocontroller.net/articles/Pegelwandler

: Bearbeitet durch User
Autor: Tippgeber (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Peter B. schrieb:
>
> Ich möchte Signale übertragen.

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

Autor: Dietrich L. (dietrichl)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Peter B. (funkheld)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Keine RS232-Signale sondern normale Schaltungszustände wie An-Aus.

Danke.
Gruss

Autor: Peter B. (funkheld)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Veit D. (devil-elec)
Datum:

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

  IN ---- R ---- OUT

Autor: Peter B. (funkheld)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die info.

Gruss

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
0 lesenswert
nicht 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:
                      +----|>|----o VCC = Null Volt
             R        |
Sender o---[===]------+--o Empfänger
5V                    |
                      +----|<|----| 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.

Autor: tg (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Veit D. (devil-elec)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>
>                       +----|>|----o VCC = ? Volt
>              R        |
> Sender o---[===]------+--o Empfänger
> 5V                    |
>                       +----|<|----| GND = Null Volt
> 

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.

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Veit D. (devil-elec)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ähm ... ja

  :-)

Autor: c-hater (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: c-hater (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.