Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

PS_ON, wie ist der Status nach Reset

geschrieben von Peter1956 
PS_ON, wie ist der Status nach Reset
05. September 2017 13:54
Ich habe Fragen zum PS_ON.
Ich verwende eine Arduino-Ramps Kombination. Nach Power ON (5V an Arduino) bzw. nach Reset liefert der PS_ON Ausgang bei mir 0V.

Meine Laststromversorgung ist damit ausgeschaltet.
Mit M81, eigentlich ATX-Power OFF, geht der Ausgang PS_ON bei mir auf 5V.
Damit ist meine Laststromversorgung eingeschaltet.

Also funktioniert bei mir M80, M81 genau umgekehrt.

1. Wie Funktioniert ein ATX Netzgerät?
0V = Power ON und 5V = Power OFF ?
2. Nach Einschalten bzw. Reset keine Laststromversorgung wäre aus Sicht der Sicherheit doch OK?
Wie ist es bei Euch ?


Gruß
Peter

Meine Drucker:
2x P3steel - toolson edition - MK1 und MK2 mit Repetier Firmware
1x Tantillus R (gelb)
1x Tantillus R (grün)
Re: PS_ON, wie ist der Status nach Reset
05. September 2017 15:02
1. Ja, genau so. Das Netzteil hat intern einen Pullup. Beim Verbinden von PS_ON mit GND wird es eingeschaltet (mit Ausnahme von +5VSB, die liegen immer an).
2. Das Ausschalten ist doch eher die wichtige Funktion.

Herzl. Grüße
Re: PS_ON, wie ist der Status nach Reset
06. September 2017 02:49
Hallo AlterBastler,

Danke für die prompte Antwort.
Ich verwende für meinen zweiten, im Aufbau befindlichen P3Steel ein HGL-600H24A.
Dort ist PS_ON negiert und damit wird mit 5V an PS_ON die Laststromversorgung eingeschaltet.
Ein Pullup-Widerstand hilft hier nicht. Ich könnte es aber, abhängig vom max. Strom des Arduinoausgangs, mit einem Pull-Down-Widerstand versuchen.
Eventuell wäre es ja auch möglich, den PS_ON-Ausgang des Arduino Firmwareseitig zu negieren.

zum 2. Punkt:
Ich gebe Dir Recht, dass das Ausschalten die wichtigere Funktion ist.
Aber genau hier liegt doch auch der Hase im Pfeffer.
Nach einem Arduino-Reset bzw. -Power On ist mit einem ATX-Netzteil die Laststromversorgung immer eingeschaltet.
Will man das?

Folgende Szenarien:
Druckauftrag gestartet, Drucker druckt (meist unbeaufsichtigt) oder hat seinen Druckauftrag abgearbeitet und auch mit M81 die Stromversorgung abgeschaltet.
Erfolgt jetzt aus irgend einem Grund ein Netzspannungsausfall, dann ist bei Spannungswiederkehr auch die Laststromversorgung wieder unter Dampf.

Oder

Man stellt fest, das eine der Heizungen heizt, obwohl sie eigentlich nicht eingeschaltet ist (def. FET).
Drückt man nun den Rest-Knopf (würde ich als erstes tun), wird dennoch munter weitergeheizt.


Ergo wäre es doch sinnvoll, diese Schaltlogik zu vermeiden zumal sicher noch weitere, unschöne Szenarien denkbar sind.
Liege ich mit meinen Gedanken daneben?
Wie siehst Du, bzw. wie seht Ihr das?


Gruß
Peter

Meine Drucker:
2x P3steel - toolson edition - MK1 und MK2 mit Repetier Firmware
1x Tantillus R (gelb)
1x Tantillus R (grün)
Re: PS_ON, wie ist der Status nach Reset
06. September 2017 11:08
Moin,

Das automatische ausschalten vom Netzteil nach Reset oder neueinschalten der (220V), könnte man in eine Autostart-Datei auf die SD-Karte legen, geht zumindest in Marlin,
derzeit habe ich meine Druckbettheizung nach einschalten an, zu Testzwecken.
Möglichkeit 2 wäre die Versorgungsspannung(220V) durch ein selbsthalte Realis zu schalten welches mit einem Taster nach Stomausfall erst eingeschaltet werden muss.

@Man stellt fest, das eine der Heizungen heizt, obwohl sie eigentlich nicht eingeschaltet ist (def. FET).@

Bei Marlin geht normalerweise beim fehlerhaften Heizen der Drucker in den Error Modus, hier müsste auch gleich der befehl M81 ausgeführt werden.

Ist so ein Gedankenspiel von mir, weis aber nicht ob das machbar ist.


Gruß,
Michael

Acrylic I3 / Arduino Mega 2560 R3 / RAMPS 1.4 / 12864 LCD mit Wlan-SD Karte / TMC2100 / MK8 m. Bowden / 5mm DDP (PEI) / Tr8x4 / Mosfet 30A / Marlin-1.1.8 / Repetier-Host. / PrusaSlicer-2.3.0
In Planung, Ultimaker-Kinematic mit Kugellagern und 30X30 Profilen
LCD mit Wlan-SD Karte -- Mein I3 u. leise Y-Achse mit Mittelmotor
Re: PS_ON, wie ist der Status nach Reset
06. September 2017 11:18
Du hast prinzipiell ja Recht. Dann sollte aber auch das Netzteil primär komplett vom Netz getrennt werden,
dafür brauchst Du dann schon ein Schütz in Verbindung mit einem Selbsthalterelais oder vergleichbares.
Das Verändern der Firmware ist in keiner Weise sicher, denn es ist immer ein Szenario denkbar, bei dem
die Ausgänge des Arduino einen undefinierten Zustand einnehmen.
Ziemlich viel Aufwand für ein Hobbygerät. Besser den Drucker ins Schlafzimmer stellen, dann wacht man
mit Glück auf, wenn 100m Filament sinnlos ins Leere rauschen. smiling smiley

Herzl. Grüße
Re: PS_ON, wie ist der Status nach Reset
06. September 2017 11:56
Nagut, wenn man eine Drucker hat der 2KW hat, braucht man ein Schütz, sonst reicht ein 220V(5A) Realis, 2 mal um (auch die Versorgungsspannung vom Realis) und ein Taster der für 220V ausgelegt ist.

Das mit dem Hobbygerät ist schon OK, aber es ist immer noch eine Maschine und kein Spielzeug, und wenn jemand alles dran setzt diesen möglicht sicher zu machen, finde ich das schon richtig so.
Hier gibt es Leute die doch ein 12V Heizbett an 17-24V anschliessen ec. das hat nichts mehr mit Sicherheit zu tun, das ist grob fahrlässig.


Gruß,
Michael

Acrylic I3 / Arduino Mega 2560 R3 / RAMPS 1.4 / 12864 LCD mit Wlan-SD Karte / TMC2100 / MK8 m. Bowden / 5mm DDP (PEI) / Tr8x4 / Mosfet 30A / Marlin-1.1.8 / Repetier-Host. / PrusaSlicer-2.3.0
In Planung, Ultimaker-Kinematic mit Kugellagern und 30X30 Profilen
LCD mit Wlan-SD Karte -- Mein I3 u. leise Y-Achse mit Mittelmotor
Re: PS_ON, wie ist der Status nach Reset
06. September 2017 12:21
1. Wie Funktioniert ein ATX Netzgerät?


Nur noch mal zum Verständnis des "POWER_ON" bei ATX-Netzteilen. Gilt auch eingeschränkt für ältere AT-Netzteile, die aber keine "StandBy-Funktion" haben.

Das Netzteil wird per Power-Schalter (230V~) eingeschaltet. Dabei liefert es nur die 5V_SB - Spannung mit üblicherweise 1 - 2 Ampere.
Um nun die anderen Spannungen einzuschalten, muss die grüne Leitung (PIN 16 des 24-poligen Steckers) auf "Masse" d.h. auf eine schwarze Leitung geschaltet werden. Somit ist POWER_ON ACTIVE LOW.
Nach einer bestimmten Zeit (100ms bis 500ms laut Spec.) wird die graue Leitung (PIN 8 POWER_GOOD des 24-poligen Steckers) auf 5V geschaltet. Damit wird einem PC-Board die Bereitschaft des Netzteils (alle Spannungen liegen stabil an) signalisiert und das Board kann starten. In der Regel geschieht das nach 280 - 350ms.
Um in den STAND_BY -Modus zurückzukommen, schaltet das Board die POWER_ON - Leitung wieder auf 5V und zieht die POWER_GOOD - Leitung gegen 0V. Somit bleibt das Netzteil zwar eingeschaltet auf der 230V-Seite, liefert aber keine "Betriebsspannungen" mehr (bis auf die 5V_sb).

Will man diese Funktion anderweitig hervorrufen, benötigt man also einen Pin : einen ACTIVE_LOW mit PULL-UP-Widerstand.
Bei oder nach Netzausfall ist somit auch sichergestellt, dass die "Betriebsspannungen" nicht durchgeschaltet werden.

1-mal bearbeitet. Zuletzt am 06.09.17 12:31.
Re: PS_ON, wie ist der Status nach Reset
07. September 2017 02:12
Vielen Dank für eure Antworten.

@Printey
Wenn der Error-Modus ein M81 auslösen würde, hilft das leider nicht bei einem defekten (durchlegierten) FET.

@AlterBastler
Im Schlafzimmer finde ich gut. Er druckt dann wie im Schlafwinking smiley

@Wobbelbob
Danke Dir für die Ausführungen zum ATX Netzgerät. So detailliert habe ich es noch nicht gelesen.

Für einen Computer schaltet das Netzteil ja auch völlig korrekt.
Bei der Arduino-RAMPS-Kombination ist es aber so, dass nach Netz-Ein (Arduino-Ein) oder Reset der PS_ON Ausgang vom Arduino sofort auf 0V liegt.
Damit ist also nach Netz-Ein auch sofort die Laststromversorgung eingeschaltet.

Mein Netzgerät wird mit 5V (active high) von Standby in den Leistungsbetrieb geschaltet.
Das heißt für meinen Drucker, ich muss nach dem Einschalten des Druckers noch von Standby via M80 - M81 den Leistungsmodus wechseln.
Das ist also direkt vergleichbar mit dem Power-ON Knopf am Computer.
An diesem Zustand möchte ich ja auch nichts ändern.

Das eigentlich unschöne daran ist, dass die Bedeutung der M-Funktionen für mein Netzteil genau umgekehrt funktionieren.
Also M80 (ATX Power On) schaltet bei meinem Netzteil die Leistung aus und M81 (ATX Power Off) schaltet ein.

Es wäre also schön, wenn ich in der Firmware für meinen Drucker die Bedeutung der M80 - M81 Funktionen invertieren könnte,
so dass M80 den Ausgang PS_ON auf high (5V) und M81 auf (0V) schaltet.

Ich weiß bloß noch nicht wo. Außerdem bin ich auch nicht gerade der begnadete C-Programmierer.
Aber wenn ich etwas Zeit finde, dann werde ich es einmal versuchen.


Gruß
Peter

Meine Drucker:
2x P3steel - toolson edition - MK1 und MK2 mit Repetier Firmware
1x Tantillus R (gelb)
1x Tantillus R (grün)
Re: PS_ON, wie ist der Status nach Reset
07. September 2017 02:58
Moin Peter,
in der Marlin-main.cpp ist bei mir ab Zeile 902 folgendes zu finden:
void setup_powerhold() {
  #if HAS_SUICIDE
    OUT_WRITE(SUICIDE_PIN, HIGH);
  #endif
  #if HAS_POWER_SWITCH
    #if ENABLED(PS_DEFAULT_OFF)
      OUT_WRITE(PS_ON_PIN, PS_ON_ASLEEP);
    #else
      OUT_WRITE(PS_ON_PIN, PS_ON_AWAKE);
    #endif
  #endif
}

Evtl. reicht ja der Tausch von ASLEEP und AWAKE schon aus um den gewünschten Erfolg zu erreichen?

1-mal bearbeitet. Zuletzt am 07.09.17 02:59.


Gruß
Siggi


Geeetech I3 Pro B 8mm Acryl - Mega 2560 - Ramps 1.4 - TMC2100 - MK42 - E3DV6-Clone 0,4 - SSR 522-1dd60-40 (A-Senco) - Marlin RC8Bugfix 26.12.2016 - Repetier Host - Windows 7 64 Bit
Vulcanus mit Linearschienen
Anycubic i3 Mega
Re: PS_ON, wie ist der Status nach Reset
07. September 2017 04:02
Hallo Siggi,

Danke für den Tipp, aber ich verwende Repetier.
Ich kann mir vorstellen, dass ich im Modul "Commands.cpp richtig bin.
Folgende Stelle habe ich gefunden:

case 80: // M80 - ATX Power On
#if PS_ON_PIN>-1
Commands::waitUntilEndOfAllMoves();
previousMillisCmd = HAL::timeInMilliseconds();
SET_OUTPUT(PS_ON_PIN); //GND
Printer::setPowerOn(true);
WRITE(PS_ON_PIN, (POWER_INVERTING ? HIGH : LOW));
#endif
break;
case 81: // M81 - ATX Power Off
#if PS_ON_PIN>-1
Commands::waitUntilEndOfAllMoves();
SET_OUTPUT(PS_ON_PIN); //GND
Printer::setPowerOn(false);
WRITE(PS_ON_PIN,(POWER_INVERTING ? LOW : HIGH));
#endif
break;

Möglicherweise muss ich nur bei

Printer::setPowerOn(true);

jeweils true und false vertauschen.


Gruß
Peter

Meine Drucker:
2x P3steel - toolson edition - MK1 und MK2 mit Repetier Firmware
1x Tantillus R (gelb)
1x Tantillus R (grün)
Re: PS_ON, wie ist der Status nach Reset
07. September 2017 04:14
Also habe ich die FW-Angabe doch nicht überlesen grinning smiley

Liest sich jedenfalls so als wenn du Recht hast mit dem tauschen von false und true.

Viel Erfolg thumbs up


Gruß
Siggi


Geeetech I3 Pro B 8mm Acryl - Mega 2560 - Ramps 1.4 - TMC2100 - MK42 - E3DV6-Clone 0,4 - SSR 522-1dd60-40 (A-Senco) - Marlin RC8Bugfix 26.12.2016 - Repetier Host - Windows 7 64 Bit
Vulcanus mit Linearschienen
Anycubic i3 Mega
Re: PS_ON, wie ist der Status nach Reset
07. September 2017 04:44
Na da kommst du der Sache schon näher.... mit POWER_INVERTING.
Schön das du Repetier nutzt, ich habe Marlin, in Repetier gibt es wohl keine Autostart-Datei auf SD-Karte.

Zudem meinte ich nur, das der Errormodus das Netzteil abschaltet, (M80 oder M81), damit ist die Versorung der Heizelemente,
doch abgeschaltet, oder habe ich da ein Denkfehler.

@siggi
du hast doch so eine Platine mit 4 FET's gekauft, habe mal wieder den Link verbasselt, kannste mal helfen... Danke


Gruß,
Michael

Acrylic I3 / Arduino Mega 2560 R3 / RAMPS 1.4 / 12864 LCD mit Wlan-SD Karte / TMC2100 / MK8 m. Bowden / 5mm DDP (PEI) / Tr8x4 / Mosfet 30A / Marlin-1.1.8 / Repetier-Host. / PrusaSlicer-2.3.0
In Planung, Ultimaker-Kinematic mit Kugellagern und 30X30 Profilen
LCD mit Wlan-SD Karte -- Mein I3 u. leise Y-Achse mit Mittelmotor
Re: PS_ON, wie ist der Status nach Reset
07. September 2017 05:14
Sorry Michael,

Du hast natürlich recht. Wenn über PS_ON die Stromversorgung abgeschaltet wird, ist natürlich auch die Heizung, auch bei def. FET, aus.
Asche auf mein Haupt.


Gruß
Peter

Meine Drucker:
2x P3steel - toolson edition - MK1 und MK2 mit Repetier Firmware
1x Tantillus R (gelb)
1x Tantillus R (grün)
Re: PS_ON, wie ist der Status nach Reset
07. September 2017 10:22
Puuh, jetzt zwingt Michael mich zu Offtopic Gequatsche grinning smiley
Meinst du das HIER? Das habe ich nicht gekauft sondern nachgebastelt grinning smileyspinning smiley sticking its tongue out

Sorry Petersmiling smiley


Gruß
Siggi


Geeetech I3 Pro B 8mm Acryl - Mega 2560 - Ramps 1.4 - TMC2100 - MK42 - E3DV6-Clone 0,4 - SSR 522-1dd60-40 (A-Senco) - Marlin RC8Bugfix 26.12.2016 - Repetier Host - Windows 7 64 Bit
Vulcanus mit Linearschienen
Anycubic i3 Mega
Re: PS_ON, wie ist der Status nach Reset
07. September 2017 11:03
Quote
siggi60
Puuh, jetzt zwingt Michael mich zu Offtopic Gequatsche grinning smiley
Meinst du das HIER? Das habe ich nicht gekauft sondern nachgebastelt grinning smileyspinning smiley sticking its tongue out
Sorry Petersmiling smiley
Und ich dachte schon dein I-Net und deine Drucker sind abgeraucht, DANKE smiling smiley DANKE smiling smiley DANKE smiling smiley

Sorry Peter smiling smiley , halt mich jetzt zurück.....


Gruß,
Michael

Acrylic I3 / Arduino Mega 2560 R3 / RAMPS 1.4 / 12864 LCD mit Wlan-SD Karte / TMC2100 / MK8 m. Bowden / 5mm DDP (PEI) / Tr8x4 / Mosfet 30A / Marlin-1.1.8 / Repetier-Host. / PrusaSlicer-2.3.0
In Planung, Ultimaker-Kinematic mit Kugellagern und 30X30 Profilen
LCD mit Wlan-SD Karte -- Mein I3 u. leise Y-Achse mit Mittelmotor
Re: PS_ON, wie ist der Status nach Reset
08. September 2017 04:22
Kurzes Update.

Im Repetier Konfigurationstool gibt es einen Punkt zum Invertieren des PS_ON-Signals (roter Pfeil)
Der Punkt darüber bestimmt wahrscheinlich ob bei Power-On / Reset die Laststromversorgung ein oder ausgeschaltet ist.
Wenn ich dazu kommen, werde ich heute Abend testen.




Gruß
Peter

Meine Drucker:
2x P3steel - toolson edition - MK1 und MK2 mit Repetier Firmware
1x Tantillus R (gelb)
1x Tantillus R (grün)
Re: PS_ON, wie ist der Status nach Reset
08. September 2017 09:18
Hi Peter,

bei Marlin kann beim einschalten das PS_ON Signal auf 5V setzen, zudem wenn der Drucker in den Errormodus geht, wird
der PS_ON auf 0V gesetzt, wenn das PS_ON beim Start auf 0V gesetzt ist, bleibt es im Errormodus auch 0V.

Der Tipp gegen Masse zu messen, hat geklappt, dachte immer der Pin wird auf Masse gezogen, ne der Pin ist bei 0V einfach offen,
sonst hätte man bei +5V und Pin ja was messen können.

Ich unterbreche mit 2 Realis (30A) einfach die Zuleitungen der Heizelemente, natürlich hinter den FET's.

Zur zeit ist es so, das sich mein Drucker nach 10min Standby automatisch abgeschaltet wird, dank AVM DECT 200 (keine werbung),
man kann auch eine Druckdatei Zeitgesteuert Starten.

Da kommt so eine Zusatzschutzschaltung schon ganz gut.


Gruß,
Michael

Acrylic I3 / Arduino Mega 2560 R3 / RAMPS 1.4 / 12864 LCD mit Wlan-SD Karte / TMC2100 / MK8 m. Bowden / 5mm DDP (PEI) / Tr8x4 / Mosfet 30A / Marlin-1.1.8 / Repetier-Host. / PrusaSlicer-2.3.0
In Planung, Ultimaker-Kinematic mit Kugellagern und 30X30 Profilen
LCD mit Wlan-SD Karte -- Mein I3 u. leise Y-Achse mit Mittelmotor
Re: PS_ON, wie ist der Status nach Reset
07. November 2017 20:20
Bin ja leider viel zu selten hier im Forum, aber das Problem
Quote
Peter1956
Es wäre also schön, wenn ich in der Firmware für meinen Drucker die Bedeutung der M80 - M81 Funktionen invertieren könnte,
so dass M80 den Ausgang PS_ON auf high (5V) und M81 auf (0V) schaltet.
lässt sich in Marlin IMHO ohne Anpassung der FW lösen: Bei POWER_SUPPLY den Wert auf 2 setzen, was dem POWER_INVERTING in Repetier gleich kommt.

[github.com]
  #if (POWER_SUPPLY == 1)     // 1 = ATX
    #define PS_ON_AWAKE  LOW
    #define PS_ON_ASLEEP HIGH
  #elif (POWER_SUPPLY == 2)   // 2 = X-Box 360 203W
    #define PS_ON_AWAKE  HIGH
    #define PS_ON_ASLEEP LOW
  #endif

Möchte keinesfalls Fehlinformationen verbreiten, darum bitte um Meldung falls ich falsch liege. Danke
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen