Power loss recovery
-
We have a rather large creatbot d600 printer we recently converted to a duet wifi. I'm in the process of trying to setup power loss recovery. The power provided to the duet comes off of a large bank of capacitors, but doesn't seem to detect the loss in voltage fast enough to save/move the head. Everything just stays powered on for a few seconds after you yank the plug, but the duet doesn't seem to realize until the capacitors run out of juice?
The original board received a signal from a module that monitors loss of mains power. Does the duet have an input that can read this and take action on, or is the voltage dip the only way it can know if mains power has been lost?
-
Can you confirm that you are using 24V power? What value have you set the power loss voltage threshold to in the M911 command?
Currently the Duet power loss procedure can only be initiated by a drop in the measured voltage; but I am considering allowing a power loss signal from an endstop input to be taken into account.
-
Hi,
Yeah it's using 24 volt power. Here is a photo of their module. The endstop input might work with this, although I'm not exactly sure how this implementation worked with their marlin which they refused to release the source code for.
-
If the output circuit of the PCB in that box is configured to provide an active low output then it should be possible to connect it to an endstop input. If not, it would be possible to modify it to provide an active low output.
What M911 parameters are you using? In particular, what power loss voltage threshold?
What motor movements are you trying to do on power loss? If you have a capacitor bank then it should at least be possible to retract a little filament and lift the head a little.
-
@dc42 Sorry for just getting back to this now. This is my configuration (just basic for now per the wiki):
M911 S21.0 R23.0 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000"
Is using an endstop a feature at this stage?
-
Can you bypass that module?
-
If you pull the power during a print, does the Duet create a resurrect.g file on the SD card?
Which firmware version are you using?
-
@dc42 It does not automatically save no. I believe the capacitor bank is so large that it supplies a constant 24v until the bitter end and drops out too quickly. I would probably have to wire it directly to the board or utilize the 5v power to the board to make it work I'm assuming.
-
@phaedrux The module is actually currently disconnected and not in use since I converted to duet.
-
@dc42 Firmware version is 2.02(RTOS) (2018-12-24b1) and confirmed once more just to be sure there is no resurrect.g created. It is created as expected when manually pausing a print.
-
I'm running same firmware version and configuring the power loss recovery like this: M911 S20 R22.0 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000"
I've used it multiple times already (love this feature btw), so it must be something with the supply. Can you measure how voltage drops off?
I'm using a 1000W power supply and I can definitely see that it slowly drops the voltage on power loss for around two seconds (I've got a few buck converters with voltage display). My bed heater runs directly off 220V tho and I've got 8 ~2A steppers and lots of fans.
-
In case the M911 command in config.g isn't working, try running M911 without parameters and check the readback.
Also run M122 and check that the reported VIN voltage is above the 22.0V threshold that you set in M911. If it is below then the power loss function won't be primed.
There is a separate reservoir of power feeding the on-board 5V regulator, so that even if the power voltage drops instantly there should still be enough power to write the resurrect.g file, even if there is no power to move the motors. However, a heavy load on the 5V rail could thwart this.