ich habe schon das Forum und das Internet durchsucht, konnte aber nirgends eine Antwort finden, daher versuche ich es einmal hier...
Ich arbeite an einem Projekt, bei dem ich einen Arduino Mega und einen Arduinao Leonardo per Serial1 miteinander kommunizieren lasse. So wie es in vielen Tutorials beschrieben ist, habe ich RX1 und TX1 über Kreuz sowie die beiden GND miteinander verbunden. Alles funktioniert auch wunderbar und die Kommunikation funktioniert ohne Probleme. Beide Boards haben eine eigene Stromversorgung.
Allerdings ist mir beim letzten Testen folgendes aufgefallen. Nach dem Test habe ich zuerst den Leonardo vom Strom getrennt. Bevor ich dann den Mega vom Netz nehmen konnte, ist mir aufgefallen, daß der Leonardo immer noch mit Strom versorgt wurde. Ich konnte den am Leonardo angeschlossenen Schalter betätigen, und er sendete dann Daten über Serial1 an den Mega (so ist auch gewollt). Ich dachte erst, ich hätte irgendetwas falsch verkabelt. Zum Gegentest habe ich dann einmal zwei Arduino Unos genommen und nur RX und TX über Kreuz sowie GND verbunden. Sobald ich den Stromstecker in den einen Arduino eingesteckt habe, wurden beide mit Strom versorgt!
Ist das ein normales Verhalten? Kann das zu Problemen führen, so daß die Boards sogar Schaden nehmen können? Muss ich eine bestimmte Reihenfolge beim Ein-/Ausstecken der Kabel beachten?
Ich bin da gerade sehr verunsichert, weil ich dachte, daß bei der seriellen Kommunikation kein großer Strom zwischen den Boards fließen sollte, vor allem keiner, der beide Boards mit Strom versorgt (ich nutze ja auch nicht VIN oder ähnliches)...
Leider wurde dieses Verhalten in keinem der Tutorials auch nur ansatzweise erwähnt...
So ein Verhalten wurde schon öfters beobachtet, daß sich Controller von der Spannung an Eingangspins "ernähren". Das liegt an den parasitären Dioden parallel zu den Ausgangstransistoren, über die Strom in den Controller hineinfließen kann. Wenn das TX Kabel an dem versorgten Arduino abgezogen wird, sollte der andere ausgehen. Auf die gleiche Art kann aber auch Strom von Ausgangspins von anderen Modulen abgezapft werden, die an einer eigenen Stromversorgung hängen.
Von größeren Schäden am Controller durch diesen Effekt weiß ich nichts, nur sonstige angeschlossene Elektronik könnte unerwünschtes Verhalten zeigen, wenn nicht beide Controller richtig mit Strom versorgt werden. Man kann aber vorsorglich Widerstände (1k) in die Signalleitungen zwischen beiden Controllern einbauen, dann können zumindest keine gefährlich hohen Ströme mehr fließen und der stromlose Controller kann mit seinen Ausgängen keinen Ärger bereiten.
Vielen Dank für die schnelle und gut erklärte Antwort! In Richtung der Widerstände hatte ich auch schon überlegt, von daher werde ich heute Abend den Lötkolben anschmeißen und das direkt umsetzen Man lernt nie aus...
Dieser Strom fließt über die Schutzdioden in den Eingängen (innerhalb des IC), welche eigentlich Überspannungen (statische Elektrizität) ableiten sollen, nicht auf hohe Ströme ausgelegt sind und daher gefährdet sind.
Eigentlich sollte man erst externe Signale ( fremdes TX =5V Output HIGH in Ruhe -> eigenes RX ) wegschalten, bevor man einen Arduino stromlos macht, aber das ist leichter gesagt als getan, besonders wenn zwei Controller über Kreuz verbunden sind..
Mit dem 1k Widerstand kann man erreichen, das die Kondensatoren am Ziel-Controller langsam aufgeladen werden, der Controller ein paar Takte läuft, bis die Spannung wieder zusammengebrochen ist, und das Ganze von vorne losgeht. Auch nicht schön.
Dann zeichne die Ausgangstransistoren mit ein, die zu jedem GPIO Pin auch noch gehören. Weglassen von scheinbar unwesentlichen Schaltungsteilen ist kein Beweis für irgendwas.
Ich würde diese Dioden Schutzdioden der Eingänge nennen Damit Überspannungen bzw negative Spannungen über die Spannungsversorung bzw Masse abgeleitet werden.
Generell gesagt (bis auf wenige Außnahmen) dürfen an Halbleitern keine Spannungen an Eingängen, noch weniger an Ausgängen anliegen wenn keinen Spannungsversorgung vorhanden ist.
Aber am schlimmsten ist wen bei Spannungsteiler und CO der GND als erster abgezogen wird Dan spielen die Indianer mit Rauchzeichen und öfters mit loch im IC.
Naja, das ist jetzt wieder ein anderes Thema. Wenn am Spannungsteiler der GND abgezogen wird, steht plötzlich die eigentlich geteilte Spannung volle Sahne da. Da geht natürlich der Rauch auf. Das darf man auf keinen Fall machen. Aber kann passieren im Eifer des Gefechtes
...dann passiert garnichts, wenn man damit den Stromkreis unterbricht. Wird der Stromkreis nicht unterbrochen, weil der GND noch von anderswo kommt, dann passiert auch nichts.
Doch, wenn man nur den GND von Spannungsteiler wegnimmt, steht der VCC plötzlich voll da. Natürlich nur wenn der GND an der CPU noch da ist. Also wenn man NUR den GND von Spannungsteiler klaut.
Ach nein, das zeichnen fange ich jetzt nicht an. 20 Volt VCC auf einen 15k Widerstand. Weiter auf einen 5k Widerstand, von dem auf GND. Die Mittelanzapfung zwischen den zwei Widerständen geht auf nen Analogen Pin des Arduinos. Der bekommt somit um die 5 Volt, von den 20 Volt. Jetzt lasse den Arduino in Betrieb, nehme am Spannungsteiler den GND am 5k Widerstand weg. Dann hat der Analoge Pin des Arduinos plötzlich 20 Volt anstehen. Das wird ihm nicht gefallen.
Ja, natürlich. Nichts anderes habe ich ihm auch geschrieben. Das kann natürlich passieren. Alleine schon, wenn man am Breadboard einen Wackler hat und der 5k Widerstand deshalb nicht mehr durchgeht. Schon hat man die 20 Volt anstehen.