PS_ON no longer going low.


  • administrators

    I'm not clear exactly what the problem is that you are having. I don't have PS_ON connected to anything on my printers, but if I enable the ATX power buttons in DWC, then when I send M80 the green On button gets darker and the red Off button gets lighter, and vice versa when I send M81. Does that happen on your system? If it does happen, but the physical pin is not going low, then it sounds like the PS_ON mosfet has failed. It is TR7, which is behind the V_IN terminal block. Does it look OK?



  • Your assumptions are correct. The pin marked PS_ON on the wiring diagram https://duet3d.com/wiki/Duet_WiFi_wiring_diagrams is not going low via M80 via paneldue, serial or web interface. Nor is it going low via the buttons on the web GU.

    The state of the buttons on the web GUI do change now as you detailed in your message.

    I found TR7, do not see any obvious issues with it visually.

    I did check voltage potentials at the three leads, which if this is a Mosfet. With the black lead of the multi-meter connected to ground of V_IN, the MM in voltage check and the PS_ON pin connectd to PS_ON in the ATX harness, I see the following on the TR7 leads.

    M80 / M81

    0 / 0 ā€“-----|
    |
    |----------- 3.2 / 3.2
    |
    0 / 0 -------|

    I would expect to see a voltage change in the gate.?


  • administrators

    Yes, the gate voltage should change. The state of the PS_ON output pin from the processor is shown by DWC, and you can also check it by sending M408 S2 and looking for atxPower in the response. If it shows that ATX power is on but the gate voltage is still zero, then there is either a bad soldered joint on the SAM pin 106 (most likely IMO), or on the mosfet gate pin, or a PCB fault (least likely IMO). If instead the mosfet had developed a gate to source short then I would expect ATX power to read as off even after you turn it on.



  • Here's output from checking pin state via M408.

    After fresh power cycle.

    Push DWC ATX off

    3:14:09 PM M408 S2
    {"status":"I","coords":{"axesHomed":[0,0,0],"extr":[0.0],"xyz":[0.00,0.00,0.00]},"currentTool":0,"params":{"atxPower":0,"fanPercent":[0.00,100.00,0.00],"speedFactor":100.00,"extrFactors":[100.00]},"sensors":{"probeValue":0,"fanRPM":0},"temps":{"bed":{"current":27.3,"active":-273.1,"state":0},"heads":{"current":[27.5],"active":[0.0],"standby":[0.0],"state":[2]}},"time":135.2}

    Push DWC ATX On

    3:14:26 PM M408 S2
    {"status":"I","coords":{"axesHomed":[0,0,0],"extr":[0.0],"xyz":[0.00,0.00,0.00]},"currentTool":0,"params":{"atxPower":0,"fanPercent":[0.00,100.00,0.00],"speedFactor":100.00,"extrFactors":[100.00]},"sensors":{"probeValue":0,"fanRPM":0},"temps":{"bed":{"current":27.3,"active":-273.1,"state":0},"heads":{"current":[27.5],"active":[0.0],"standby":[0.0],"state":[2]}},"time":152.4}

    Type M80 on DWC GCode Console

    3:14:19 PMM408 S2
    {"status":"I","coords":{"axesHomed":[0,0,0],"extr":[0.0],"xyz":[0.00,0.00,0.00]},"currentTool":0,"params":{"atxPower":0,"fanPercent":[0.00,100.00,0.00],"speedFactor":100.00,"extrFactors":[100.00]},"sensors":{"probeValue":0,"fanRPM":0},"temps":{"bed":{"current":27.3,"active":-273.1,"state":0},"heads":{"current":[27.5],"active":[0.0],"standby":[0.0],"state":[2]}},"time":145.7}

    Type M80 on PanelDue Console

    3:17:29 PMM408 S2
    {"status":"I","coords":{"axesHomed":[0,0,0],"extr":[0.0],"xyz":[0.00,0.00,0.00]},"currentTool":0,"params":{"atxPower":0,"fanPercent":[0.00,100.00,0.00],"speedFactor":100.00,"extrFactors":[100.00]},"sensors":{"probeValue":0,"fanRPM":0},"temps":{"bed":{"current":27.3,"active":-273.1,"state":0},"heads":{"current":[27.5],"active":[0.0],"standby":[0.0],"state":[2]}},"time":335.0}


  • administrators

    So atxPower is always returned as zero. That suggests to me that the processor output pin is either not working, or has got set to the wrong mode by the firmware, or is shorted to ground. One possibility is that the mosfet has a gate to source short. You could check that with a multimeter.



  • Using the below GDS layout assumption here are the results of checking the Mosfet.

    Gā€“--| V_IN +
    |
    |----- D
    | V_IN GND
    S----|

    Continuity check

    G - D - open
    G - S - open
    D - S - open
    G - GND - open
    D - GND - open
    S - GND - closed

    Resistance check.

    G - D - 0 / Open
    D - S - 0 / Open
    G - S - 4.69K
    G - GND - 4.70K
    D - GND - 0 / Open
    S - GND - 3


  • administrators

    That all looks OK. There is a 4K7 pulldown resistor between gate and ground.

    Please try sending M42 P79 S1 and then use M408 to read back the ATX power status.



  • Did a fresh power cycle, had to, DWC was not responding after sitting idle.

    Output from M408 after M42 I/O pin command.

    5:57:40 PM M408 S2
    {"status":"I","coords":{"axesHomed":[0,0,0],"extr":[0.0],"xyz":[0.00,0.00,0.00]},"currentTool":0,"params":{"atxPower":0,"fanPercent":[0.00,100.00,0.00],"speedFactor":100.00,"extrFactors":[100.00]},"sensors":{"probeValue":0,"fanRPM":0},"temps":{"bed":{"current":27.5,"active":-273.1,"state":0},"heads":{"current":[27.6],"active":[0.0],"standby":[0.0],"state":[2]}},"time":41.3}


  • administrators

    I can only think of these explanations:

    1. The microcontroller has developed a fault in the output driver for that pin which can no longer output high.

    2. An as yet unknown firmware bug has been triggered by your configuration and is reprogramming the function of that pin so that it is no longer behaving as a simple output. You could temporarily switch to one of the standard config.g files and/or an earlier firmware version to see if you can get it working again.



  • It appears #1 is the case. Will reach out to filastruder and discuss getting a replacement. Very much appreciate your help tracking this!

    Firmware version 1.15e - virgin sys-CoreXY configs from sd card

    9:27:42 AM M408 S2
    {"status":"I","coords":{"axesHomed":[0,0,0],"extr":[0.0],"xyz":[0.00,0.00,0.00]},"currentTool":0,"params":{"atxPower":0,"fanPercent":[0.00,100.00,0.00],"speedFactor":100.00,"extrFactors":[100.00]},"sensors":{"probeValue":0,"fanRPM":0},"temps":{"bed":{"current":25.0,"active":-273.1,"state":0},"heads":{"current":[-273.1],"active":[0.0],"standby":[0.0],"state":[0]}},"time":94.5}

    Firmware version 1.15c - virgin sys-CoreXY configs from sd card

    9:30:46 AM M408 S2
    {"status":"I","coords":{"axesHomed":[0,0,0],"extr":[0.0],"xyz":[0.00,0.00,0.00]},"currentTool":0,"params":{"atxPower":0,"fanPercent":[0.00,100.00,0.00],"speedFactor":100.00,"extrFactors":[100.00]},"sensors":{"probeValue":0,"fanRPM":0},"temps":{"bed":{"current":24.9,"active":-273.1,"state":0},"heads":{"current":[-273.1],"active":[0.0],"standby":[0.0],"state":[3]}},"time":61.4}



  • Received replacement today, Works perfect. Thanks Tim and Dave!



  • Excellent, thanks for the update!


Locked
 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.