Keinen Strom aus Input-Pin nutzen?

Hallo Leute,

Ich habe ein Problem: Ich habe ein Projekt gemacht, bei dem zwei Arduinos sich gegenseitig Strom zu einem Input-Pin liefern, und je nach dem ein bestimmtes Programm durchlaufen. Wenn ich jetzt aber einen Arduino vom externen Strom nehme, soll logischerweise auch sein Signal an den Anderen Arduino aufhören. Weil der erste Arduino nun aber Strom vom zweiten bekommt, liefert auch er weiterhin Strom. Kann ich den Pin (Es ist Pin A0) so programieren, dass er zwar den Strom misst wenn er an die externe Stromquelle angeschlossen ist, nicht aber den Strom von A0 nimmt, um sich selbst zu speisen? Wenn ich die externe Stromquelle abschalte, soll der Arduino sich einfach abschalten, ohne den Strom von A0 weiter zu benutzen. Vielen Dank im Voraus für eure Antworten

Zum einen frag ich mich, wie die paar mA es schaffen sollen einen Controller zu speisen.

Am besten du postest mal das Schaltbild. Das Verhalten legt den Schluss nahe, das da woanders noch eine Kopplung stattfindet.

Und den A0 zu benutzen ist auch komisch. Das ist ein Analogeingang. Irgendwas scheint mir da falsch verdrahtet zu sein.

Warum tust du sowas?

Versorge beide mit Strom. Den AVR, den du gerade nicht brauchst, kannste ja in den Tiefschlaf schicken.

Du verwechselst auch Strom und Spannung

Serenifly: Du verwechselst auch Strom und Spannung

Ich! Ohne es zu bemerken? Nö.

Nein. Der Thread-Ersteller

Achso... Danke!

Aus deinem OUTPUT Pin, fliessen wohl, wie ich dich einschätze, mehr als 40 mA, die über die Schutzdioden des A0-Eingangs deinen andern Arduino speisen.

Eigentlich sollten beide Arduinos dabei kaputt gehen, aber da kann man sich leider nicht drauf verlassen.

Erste Abhilfe: mach doch einen 10k .. 100k Widerstand vor den A0 Eingang. Spannung messen kannst du dann trotzdem (wenn der "Empfänger"-Arduino läuft), die Schutzdioden werden nicht so beansprucht und als Stromversorgung reicht es dann wohl auch nicht. Und der "Sende"-Arduino wird auch nicht überlastet.

Du wirst zwar hier dafür immer noch verhauen, aber nicht mehr ganz so hart, weil du die Arduinos nicht mehr so sehr quälst.

Eingangssignale müssen kleiner als Vcc + 0.5V sein. Hast du vielleicht schon irgendwo gelesen. Wenn Vcc = 0 ist, darf also kein HIGH irgendwo anliegen.

Hallo alle. Danke für eure Antworten! :) Beide Arduinos sind extern gespiesen. Sie merken aber, ob der jeweils andere auch Strom hat, weil jeder ein Kabel beim 5V-Ausgang hat, der zu A0 (Input) geht. Sollte der erste Arduino nun von mir vom Netz genommen werden soll der andere das bemerken und die Aktionen wechseln. Nun wird aber der Arduino, der von mir vom Strom genommen wurde, von den 5V des anderen gespiesen, obwohl der Strom von A0 nur gemessen, aber nicht verwendet werden soll. Ich hoffe, mein Projekt macht jetzt mehr Sinn. Gruss

Das würde ich doch eher über eine Art Herzschlag machen.

Also Arduino1 gibt über digital PinX ein PWM Signal an digital PinY von Arduino2 und Arduino2 gibt eines von seinem PinX an PinY von Arduino2.

Wenn das Signal weg ist, ist auch der Arduino weg...

Das gleiche Problem. Wenn ein Pin Spannung hat ohne dass Betriebsspannung anliegt, wird ein CMOS IC über die internen Schutzdioden gespeist.

OK, dann nimm halt einen großen Widerstand zwischen den fremden 5V Pin und deinen Eingang. Und miss am 5V Pin des "ausgeschalteten" Arduino, was passiert. Kann auch sein, dass dessen Power-Led zyklisch kurz aufblitzt. ;)

Sind die beiden Arduinos eigentlich über einen gemeinsamen GND verbunden? Oder basiert dein "Projekt" darauf, dass beide an einem gemeinsamen Netzteil hängen?

Was du willst, verstehe ich schon. Ist nur, wie gesagt, Murks. Einen Arduino an den du Logik-Signale anlegst, musst du auch einschalten. Basta.

Das mit dem Widerstand zur Strombegrenzung ist schon der richtige Ansatz. Wenn man sicherstellt, das die Substratdioden mit 1 mA oder weniger belastet werden, dann ist das tolerierbar. Wie groß der in den Eingang reinfließende Maximalstrom sein darf, steht im Datenblatt. Aber so 1-2 mA waren bei TTL und CMOS erlaubt.

Kann man schnell mal übersehen, ich habe auch 4 Konstantstromquellen und 4 kleine Transistoren auf Arduinoseite gegrillt, als mir die Masseverbindung der KSQ's abfiel beim freifliegenden Test. Sauer war ich nur, das im Datenblatt des IC der KSQ nicht explizit darauf hingewiesen wurde und eine Schutzbeschaltung vorgeschlagen wurde. Sowas merkt man erst, wenn man die Leiterplatte schon fertig vor sich liegen hat :smiling_imp:

Ja, mit Widerstand grillt man nichts, aber der Kondensator am Vcc Pin wird geladen bis die BOD Schwelle überschritten ist, denke ich mir. Der Controller läuft dann "ein bisschen" los. Schön ist das nicht.

Was sagen die Fachleute dazu? Was kann man elektrisch noch machen, wenn man anliegende Eingangssignale bei Vcc = 0 nicht vermeiden kann/will.

Was sagen die Fachleute dazu?

Ob ich ein Leut bin, ka... Aber ansonsten hast du recht.

Mit BOD geht das ja alles noch... Aber ohne, oder falsch eingestelltem, BOD kann es undefiniert hoch laufen.

Mein Tipp: Signal über Optokoppler

Das ist auch mein Tip: Optokoppler

Die LED des Optokopplers wird über einen Widerstand von den 5V des Arduinos gespeist und schaltet einen Eingang am anderen auf Masse. Bei eingeschaltenen internen Pullup braucht es nichtmal einen Widerstand. Somit sind sie entkoppelt und wenn en Arduio Stromlos ist bekommt er keien Spannung /Strom vom anderen über einen Eingang.

Grüße Uwe

Hier noch ein nettes Video von Dave Jones (EEVBlog) zur Thematik "Speisung eines µC über Input-Pins": EEVblog #831 - Power A Micro With No Power Pin!

Eine nette Anwendung dafür sind 5V -> 3,3V Pegelwandler, z.B. für TFT Displays. Ein Vorwiderstand um den Strom zu begrenzen und die Dioden können den Rest erledigen.

Bin nicht ganz sicher, ob ich den Threadstarter richtig verstanden habe

Er verbindet die 5V-Speisung von Nr1 mit A0 von Nr2 und umgedreht.

Dann kann es wohl nicht sein, das der A0 sich quasi selbst auf Spannung hält, wenn die externe Spannung abschaltet.

Also kann die Schaltung schlecht so aufgebaut sein. Da ist eine Querverbindung der Masse UND der 5V vorhanden. Folglich nutzt der Optokoppler auch nichts.

Er verbindet die 5V-Speisung von Nr1 mit A0 von Nr2 und umgedreht.

So habe ich das auch verstanden!

Jetzt nehme an, dass Nr1 rennt und Nr2 keine Stromversorgung hat. Dann versorgt sich Nr2 über die Clamp Diode von seinem Pin A0. Das reicht weder zum leben, noch zum (sofortigen) sterben.

Und da hilft ein Optokoppler sehr wohl. Denn dieser verhindert wirksam den Stromfluss über die Clamp Diode