ATX PSU über Raspberry gpio pins an und ausschalten

  • Hallo,
    ich bin noch neu in diesem Forum und hoffe das ich mein Problem in die richtige Kategorie setze.

    Zum Thema:
    Ich habe mir ein Ambilight mit OSMC auf einem Raspberry Pi 3 installiert und habe als Stromversorgung ein ATX Netzteil dazu verwendet,
    was auch sehr gut funktioniert.

    Ich möchte nun das Netzteil über einen gpio an und ausschalten können.
    Zum einschalten habe ich im Netz eine Anleitung gefunden.
    In dieser wird der Pi an die 5vsb Leitung angeschlossen die 2A max liefert und den Pi auch im Betrieb ausreichend versorgen kann.
    Mit einer kleinen Schaltung aus 2 1Kohm Widerständen und einem 2N3904 NPN Transistor kann nun die PS ON Leitung über einen GPIO
    angesteuert werden und die PSU beim hochfahren von OSMC einschalten um die LED streifen mit 5V und ausreichend Ampere zu versorgen.

    Nun möchte ich den GPIO Pin beim Ausschalten von OSMC auf high setzen damit die PSU abgeschaltet wird und somit auch die LEDS abgeschaltet
    werden.

    Kann mir jemand dabei helfen wie ich das anstelle ?

    Besten Dank schon mal im voraus

  • ATX PSU über Raspberry gpio pins an und ausschalten? Schau mal ob du hier fündig wirst!

  • Willkommen im Forum.
    So ganz verstehe ich nicht, was Du da machst. Der RasPi hängt am selben Netzteil wie die LEDs? Wieso kann er dieses dann ansteuern?
    Mach doch bitte mal eine verständliche Skizze zu Deiner Schaltung. Vielleicht wird es dann etwas einfacher zu verstehen sein.
    Wie genau wird der RasPi gestartet und wie fährt er herunter?

    Wenn Du willst, dass er beim Shutdown einen GPIO auf HIGH setzt, dann schreib doch ein kleines Skript, dass das macht. Oder aber Du setzt ihn beim Start auf LOW und verpasst ihm einen Pullup. Dann wird er automatisch HIGH, sobald er abschaltet.

  • Die 5VSB ist dauer an und liefert 2A für den Raspi.
    Die leitung ist bei einem PSU dauer an um einen PC über den button anschalten zu können.
    für die LED's braucht es aber 5v und ca 5A welche erst anliegen wenn das Netzteil angeschaltet wird.

    Eingeschaltet wird es ganz normal über einen Button, und ausgeschaltet wird es über den OSMC ausschalten Dialog

    das mit dem skript ist so ne sache denn genau da brauche ich die hilfe :D

    auch ich kann Hardware aber Software ist mir ein buch mit sieben siegeln :D

    Einmal editiert, zuletzt von Veiovis (2. November 2016 um 19:44)

  • Danke für die Erläuterung. Jetzt ist es verständlicher. Trotzdem wäre ein Skizze der von Dir erwähnten Schaltung hilfreich, um Dein Problem zu lösen
    Bei der Erstellung des Skriptes müssen allerdings andere helfen.

    Aber mal unabhängig von Deinem Problem schau Dir doch mal diesen Thread an. Vielleicht könntest Du Dir den Button und damit das manuelle Starten sparen.
    Gelöst: Raspberry Pi nach Shutdown einschalten wenn TV eingeschaltet wird

  • Man könnte falls man den UART des RPi nicht nutzt, auch den Signalpegel des TxD Pins nutzen. Man müsste nur die Einschaltlogik ( Transistor, MosFET, ULN28xx o.ä. ) umkehren, so dass bei einem H Pegel vom RPI das PS_on Signal der PSU nach GND geschaltet wird, ggf. muß man das Signal noch mit einem C etwas puffern.

    Einmal editiert, zuletzt von Fliegenhals (2. November 2016 um 23:31)

  • Hardwareseitig ist das Thema ja bereits klar.

    ich poste mal das Bild das ich auf der anderen seite gefunden habe.

    Die Frage ist lediglich wie ich den selben Pin beim runterfahren des Pi auf high setze damit der Pin an dem PS ON
    anliegt das Netzteil abschaltet.

    Der Weg ist also in OSMC auf "Ausschalten" und der gpio PIN wird auf high gesetzt um das Netzteil abzuschalten.

    Wie bringe ich also OSMC dazu beim herunterfahren den PIN 6 an dem es angeschlossen werden soll high zu setzen ?
    Automatisch zusammengefügt:


    Willkommen im Forum.
    So ganz verstehe ich nicht, was Du da machst. Der RasPi hängt am selben Netzteil wie die LEDs? Wieso kann er dieses dann ansteuern?
    Mach doch bitte mal eine verständliche Skizze zu Deiner Schaltung. Vielleicht wird es dann etwas einfacher zu verstehen sein.
    Wie genau wird der RasPi gestartet und wie fährt er herunter?

    Wenn Du willst, dass er beim Shutdown einen GPIO auf HIGH setzt, dann schreib doch ein kleines Skript, dass das macht. Oder aber Du setzt ihn beim Start auf LOW und verpasst ihm einen Pullup. Dann wird er automatisch HIGH, sobald er abschaltet.

    Das klingt so ziemlich nach dem was ich suche, erklär mir das doch mal wie du das mit dem pullup meinst

  • Okay, dann mach es doch so, dass Du vom GPIO, an dem PS On (der Transistor) angeschlossen ist, einen Widerstand auf GND legst (Pulldown). So wäre die Basis des Transistors automatisch LOW, sobald der RasPi abgeschaltet ist. Fährt der RasPi hoch, wird der GPIO auf HIGH gesetzt, wodurch der Transistor durchschaltet und das Netzteil anspringt.

    So bräuchtest Du in OSMC keine weiteren Änderungen vornehmen.

  • Ok, das klingt soweit plausibel.
    Das Problem ist nur das es genau andersrum sein muss.

    Das heisst die Basis des Transistors muss automatisch HIGH sein wenn der Raspi abschaltet und LOW wenn der Raspi hochfährt.
    Da laut ATX spezifikation PS ON (ATX Green) gegen GND geschaltet wird um das Netzteil einzuschalten.
    Demzufolge muss PS ON auf LOW gesetzt werden um als " AN Schalter" zu funktionieren.

    Zwangsläufig muss ich natürlich vorher gpio 18 als Output definieren.

    Ich kann ja mal den Link teilen den ich dazu gefunden habe, leider ist die Seite nur auf Englisch.
    http://www.instructables.com/id/Using-the-R…r-sup/?ALLSTEPS

    "EDIT" Nachdem mir das gerade mal durch den Kopf geht brauche ich also demgemäß keinen PULLUP das die Signale im Normalfall ja so laufen.
    Hab gerade irgendwie das Gefühl einen kapitalen Denkfehler zu haben

    Einmal editiert, zuletzt von Veiovis (3. November 2016 um 12:36)

  • Einer von uns beiden denkt falsch. Was macht der Transistor, wenn an der Basis 3V3 anliegen? Schaltet er dann auf Masse durch oder sperrt er?
    Schaltet er beim Anlegen von 3V3 auf Masse durch, um das Netzteil zu starten, muss beim Start des RasPi der GPIO auf HIGH gesetzt werden und ein Pulldown installiert werden, der die Basis nach Abschalten des RasPi auf Masse zieht, wodurch der Transistor dann sperrt.

  • Habe gestern mal ein wenig rum experimentiert und habe die Lösung gefunden.
    Also:
    Den Raspi bei dem ATX Netzteil an die Lila (Purple) Leitung anschliessen, da diese, wenn das Netzteil aus ist im Standby 5V bei 2A liefert.
    somit ist der Raspi dauerhaft mit Strom beschaltet.
    Die Schaltung die ich gepostet habe sorgt dafür das die 5 Volt Signalleitung vom Netzteil PS ON (ATX Green) vom Raspi GPIO 3,3V gesteuert werden kann,
    dafür habe ich pin 12, Gpio 18 benutzt und Wiringpi in OSMC installiert um den GPIO als Output zu setzen, was ich dann in der ‘/etc/rc.local’ mit den Einträgen
    ‘/usr/local/bin/gpio mode 1 out’ und ‘/usr/local/bin/gpio write 1 1’ permanent gemacht habe.

    Starte ich nun OSMC, wird der GPIO 18 auf High gesetzt und schaltet über PS ON das Netzteil ein um weitere Verbraucher mit Strom zu versorgen, in meinem Fall
    Den WS2812B Strip für mein Ambilight welches auch auf der 5V Schiene läuft und ich somit keinen Hochlastwiderstand benötige da der Strip genug Ampere zieht und mein
    Netzteil an der Roten 5V Leitung bei meinem Netzteil 30 A zur Verfügung stellt.

    Selbige Schaltung kann natürlich auch zum Einschalten eines 3D Druckers verwendet werden um diesen mit Strom über die 12V Schiene zu versorgen dann sollte wiederum ein Hochlast Widerstand an die
    5V Leitung gelegt werden damit sich das Netzteil auch einschaltet und alle Stromschienen mit ausreichend Ampere zur Verfügung stehen.

    Schalte ich nun OSMC über den Ausschalttimer oder normal über Ausschalten ab wird dank der Schaltung das Netzteil und somit auch der Verbraucher abgeschaltet.
    Dank HDMI-CEC schaltet sich auch der Fernseher ab und man kann getrost vor dem Fernseher einschlafen und wenn man vorher den Timer gesetzt hat ist dann auch alles aus.

    !!! Anhang: Bitte beachten das die GPIO bei installiertem WiringPi andere Bezeichnungen haben !!!

    Viel Spass und wer Fragen hat kann sich gerne melden und ich denke der Thread kann dann als Solved markiert werden

    Dank auch an Neueinsteiger der mir meine Gedanken bezüglich Pullup in die richtige Richtung gewiesen hat.

    Einmal editiert, zuletzt von Veiovis (4. November 2016 um 13:31)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!