Raspberry pi Reset mit Arduino

Hallo,

ich möchte einen Raspberry Pi über den Arduino einschalten. Dafür möchte ich die zwei Reset-Pins (Bezeichnung RUN) verwenden. Der Raspberry ist im Halted-Zustand, weil er zuvor über shutdown -h heruntergefahren wurde. Um den Raspberry einzuschalten müssen die beiden RUN Pins kurz verbunden werden. Das soll der Arduino erledigen. Auf einem der beiden Pins liegt scheinbar GND und auf dem anderen eine Spannung von 3,3 V.

Kennt jemand einen einfacheren Weg den Raspberry wieder zu booten?

Ich möchte für das kurzzeitige Verbinden der beiden RUN Pins einen Transistor verwenden. Momentan habe ich leider nur einen TIP120 bei mir rumliegen und würde diesen auch gerne verwenden. Im Netz habe ich mehrere Anleitungen gefunden, wie man den TIP 120 als Schalter z.B für Motoren, Lampen, etc. verwendet. Bei mir ist es etwas anders, weil ja zum Einen keine wirkliche Last hinter der Schaltung hängt und zum Anderen, ist bei mir der Stromkreis der geschalten werden soll (vom Raspberry) 3,3 V. Der Arduino läuft aber mit 5V.

Ich habe mal ein Schaubild gemacht (siehe Anhang), wie ich mir vorstelle. Könntet Ihr mir sagen, ob das so klappt und ob das ohne Risiko für meinen Raspberry abläuft?

Zum Schaubild:
Durch Fritzing war ich etwas eingeschränkt, daher folgende Anmerkungen:

  • Der Transistor ist ein TIP120
  • Linker Pin: Base
  • Mittlerer Pin: Collector
  • Rechter Pin: Emitter
  • Es werden NICHT wie im Schaubild dargestellt dei beiden GPIO Pins kurzgeschlossen, sondern die zwei RUN Pins (die gibt es nur leider in dem Fritzing Teil nicht)

Wenn jemand generell eine bessere / leichter umzusetzende Idee hat, nehm ich die auch gerne. Aber ich bin ziemllicher Anfänger…

Vielen Dank schon mal für Eure Antworten

ferschtl:
Wenn jemand generell eine bessere / leichter umzusetzende Idee hat, nehm ich die auch gerne. Aber ich bin ziemllicher Anfänger...

Hallo,
ich würde einen Optokoppler nehmen, dann ist Spannung und GND-Potential egal. Auch ein Miniaturrelais tut gute und unkomplizierte Dienste.

ferschtl:
... Ich habe mal ein Schaubild gemacht (siehe Anhang), wie ich mir vorstelle. Könntet Ihr mir sagen, ob das so klappt und ob das ohne Risiko für meinen Raspberry abläuft? ...

Ich sehe da kein grundsätzliches Problem. Mit mehreren ATmegas habe ich vor ein paar Jahren mal eine „Reset-Kette“ gebastelt (der totale Blödsinn).

Wenn Du noch Widerstände einbaust, um die Ströme zu zügeln, sollte es so funktionieren, wie Du es Dir vorstellst. Da ich jedoch kein sonderlich geübter oder gar erfahrener Elektroniker bin, wäre eine weitere Bestätigung (oder eben nicht) gut.

Gruß

Gregor

  1. Ein Transistor darf NIE ohne Basiswiderstand betrieben werden. Ansonsten ist das eine mögliche Lösung.
  2. wahrscheinlich muß der Resetpin mit Masse verbunden werden. Das kann ein Arduino alleine auch wenn die Massen verbunden sind. Einfach das Pin zwischen Eingang und Ausgang LOW umschalten. Achtung: ein Ausgang HIGH macht den Rapberra kaputt.
  3. Ein Optokoppler sichert den Raspberry gegen Fehler auf der Arduinoseite ab.

Grüße Uwe

Hallo zusammen,

wollte mich noch für Eure Posts bedanken und mitteilen, wie ich es letztendlich umgesetzt habe.
Die Schaltung mit dem Transistor hat am Ende irgendwie funktioniert, aber der Transistor ist ziemlich heiß geworden. Vermutlich wegen dem fehlenden Basis-Widerstand am Transistor (wie von uwefed angemerkt).

Deshalb hab ich es letztendlich mit einem Optokoppler umgesetzt. Ich nutze den 4N35. Ich hab erst mal eine Testschaltung gebaut, bei der ich statt des Raspberry eine LED zum Leuchten gebracht habe. (siehe Anhang Optokoppler Test).
Letztendlich hängen an Stelle der LED und deren Vorwiderstand jetzt die beiden RUN Pins vom Raspberry. Und das funktioniert. Siehe Anhang “Optokoppler Arduino Raspberry”. Der Vorwiderstand am Optokoppler ist ein 100Ω Widerstand.

Hat mich ein bisschen Zeit gekostet, daher wollte ich nochmal hier posten, falls jemand mal über dieselbe Problemstellung stolpert.