Duet Maestro Freefall
-
@leonmf That is a really strange behavior...
Meanwhile I "inlined" your
config.g
for better overview of everything that is defined in there and I will append it below. Next up is looking if there is anything strange in there.; CONFIGURATION FILE for Duet Maestro ; K'Tana Nozzle ; Executed by the firmware on start-up ; Headers within parenthesis are headings in Duet3D documentation=https://duet3d.com/wiki/Configuring_RepRapFirmware_for_a_Cartesian_printer ; Visit https://reprap.org/wiki/G-code for an explanation of G-code commands ; --- SECTION: GENERAL PREFERENCES ( ) --- M564 S1 H1 ; Enables Homing Requirement For Motor Activation and set axes limits ; --- SECTION: Z-PROBE & MESH COMPENSATION --- M558 P4 I1 X0 Y0 Z1 H5 F100 T5000 ; Set Z probe type -- Enable LIMIT SWITCH G31 P999 X-52 Y30 Z3.38 ; Set Z probe (limit switch) trigger value, offset M557 X0:325 Y30:380 S30 ; Define heightmap mesh M376 H25 ; Define height(mm) over which to taper off heightmap compensation G29 S1 ; Load heightmap after power cycle ; --- SECTION: DRIVES (MOVEMENT SECTION) & ENDSTOPS --- M667 S1 ; Enable coreXY mode M569 P0 S0 ; Drive 0 goes forwards, CoreXY_1 M569 P1 S1 ; Drive 1 goes forwards, CoreXY_2 M569 P2 S1 ; Drive 2 goes forwards, Z Motor M569 P3 S0 ; Drive 3 goes forwards, Left Extruder M569 P4 S1 ; Drive 4 goes forwards, Right Extruder M574 X2 Y2 Z2 S0 ; Set xy end-stops types (S0 is active low, applied to XY) M906 X680 Y680 Z600 E400:400 I60 ; Set motor currents (mA) and idle current percentage M201 X2000 Y2000 Z75 E150:150 ; accleration M203 X9000 Y9000 Z2300 E5000:5000 ; velocity M566 X350 Y350 Z50 E60:60 ; jerk M208 X0 Y0 Z-0.5 S1 ; Set axis minima M208 X383 Y388 Z377 S0 ; Set axis maxima M92 X79.8 Y79.8 Z282.6961 ; Set axis steps/mm M350 X32 Y32 Z32 ; Setting microstepping to 1/32. M92 E180.4:180.4 ; Extruder Steps/mm M350 E128:128 ; Setting microstepping to 1/128. G21 ; Work in millimetres G90 ; Set to absolute coordinates... M84 S1 ; Set idle timeout ; --- SECTION: HEATERS, BED & THERMISTOR --- ; H0 is bed ; H1 is left heater ; H2 is right heater M570 H0 P25 T30 ; Allow heater to be off by as much as 30C for 25 seconds M570 H1 P15 T30 ; Allow heater to be off by as much as 30C for 15 seconds M570 H2 P15 T30 ; Allow heater to be off by as much as 30C for 15 seconds M305 P0 T100000 B4138 C0 R2200 ; Set thermistor + ADC parameters for heater 0, For heated Bed thermistor M305 P1 X501 R2200 ; Define left side extruder PT1000 M305 P2 X502 R2200 ; Define right side extruder PT1000 M307 H0 A78.9 C265.2 D9.5 S1.00 V24.0 B0 ; Forcing heated bed PID control after power-cycle. Basic bed heating auto-tune M307 H1 A309 C96 D5.2 S0.75 V24.1 B0 ; Set PID values use M303 auto-tune calibration settings M307 H2 A309 C96 D5.2 S0.75 V24.1 B0 ; Set PID values use M303 auto-tune calibration settings M302 P1 ; Allow Cold extrudes M143 H0 S120 ; Set maximum bed temperature to 120 C M143 H1 S320 ; Set maximum heater temperature to 320C for hot end 1 M143 H2 S320 ; Set maximum heater temperature to 320C for hot end 2 ; --- SECTION: FANS ( ) --- M106 P0 S0 I0 F4 H-1 L0.3 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off, Minimum fan value 0.3, Speed 100% ; M106 P1 S0 I0 F4 H-1 L0.3 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off, Minimum fan value 0.3, Speed 100% M106 P1 H1:2 ; LEG - Enable thermostatic mode for fan 1 using heaters 1 and 2 M106 P2 S0 I0 F4 H-1 L0.3 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off, Minimum fan value 0.3, Speed 100% ; --- SECTION: TOOLS ( ) --- ; Comment: Remember! H0 is the heated bed! ; Comment: D0 is the first driver after movement (X, Y and Z) drives, which is left extruder ; D1 is right extruder ; K'tana Tools ; Left Nozzle T0 M563 P0 D0 H1 F2 S"Ktana Single Left" ; Define tool 0, left side tool (single extruder) G10 P0 X0.0 Y0 Z0 ; Tool 0, set axis offsets G10 P0 S0 R0 ; Tool 0, set active (S0) and standy temp (R) of 0 ; Right Nozzle T1 M563 P1 D1 H2 F2 S"Ktana Single Right" ; Define tool 0, right side tool (single extruder) G10 P1 X12 Y0 Z0 ; Tool 0, set axis offsets G10 P1 S0 R0 ; Tool 0, set active (S0) & standy temp (R) of 0. T0 ; Automatic tool select ; --- SECTION: NETWORKS (PROLOGUE & COMMUNCATIONS SECTION) --- M111 S0 ; Debugging off M550 PPromega ; Set machine name, type promega/ in your browser! M586 P0 S1 ; Enable HTTP M586 P1 S0 ; Disable FTP M586 P2 S0 ; Disable Telnet ; --- SECTION: MISCELLANEOUS --- M572 D0:1 S0.07 ; Extruder Pressure Advance
-
Please can you try changing the Z driver mode from stealthchop2 to spread cycle. Assuming the Z motors are wired to the Z driver output(s), you can do this by sending the following commands:
- Send M569 P2. It should report that the driver mode is stealthChop.
- Send M569 P2 D2.
- Send M569 P2 again. It should report that the driver mode is spreadCycle.
Then test whether the problem still occurs.
We've had some issues reported recently when stealthchop mode is used at high speeds, and I am wondering whether this is another one.
-
@dc42 That did it. It sounds like a printer full of angry snakes at idle now but the bed no longer crashes.
-
@leonmf You can get these snakes under control by following the guide to Reducing Stand-still Noise.
-
@dc42 said in Duet Maestro Freefall:
M569 P2 D2
Also, thank you everyone for the help. You've helped a whole community of users who were struggling with this issue!
-
@wilriker Thank you! I will try that as soon as I can!
-
Or you can wait to get old. My printer is almost quiet, I just need few more years
-
I'm glad that worked. I am preparing a new release that switches from stealthchop to spread cycle at higher speeds, which may be part of a better solution.
-
PS - one way of reducing idle motor noise on the Maestro in spread cycle mode may be to use the M917 command to reduce the motor standstill current from its default of 75%, e.g. M917 Z40.
-
@sigxcpu said in Duet Maestro Freefall:
Or you can wait to get old. My printer is almost quiet, I just need few more years
Like it (and I know the feeling).
-
Thise who have experienced this issue, please see https://forum.duet3d.com/topic/6614/new-duet-maestro-firmware.
-
@dc42 Closing the loop on this. I haven't had time to do any real significant testing but here's what I've got.
- Disabling stealthchop does solve the problem.
- This makes way worse stepper noise than the older drivers on Duet 2 ( I think? Maybe It's a system difference between this and my Delta)
- Tuning stepper noise with M569 P2 F# changes noise but not necessarily for the better.
- The new 2.0RC1 does not inherently solve the bed crash problem because the motor is in stealthchop when doing the types of move (slowly approaching a nozzle for calibration) most likely to result in exceeding the motor torque causing the freefall bed crash.
- Given the above the video of the fix demonstrated by M3D on their discord channel doesn't make sense unless they are running the Z axis into the nozzle past the stealthchop/spreadcycle transition and thus demonstrating a use case not normally seen in operation.
Would substituting a Duet 2 Ethernet in place solve this problem?
-
Here are some options:
-
Switch the Z motor only to spreadCycle.
-
Increase the M569 V parameter sufficiently so that the corresponding mm/sec value displayed by M569 P2 is below the Z movement speed that triggers the problem.
-
Does the machine have two Z motors? If so, connecting them in parallel (instead of in series, which is what you get if you plug them into Za and Zb) and using just one of the Z motor connectors may solve the original problem and/or make spreadCycle quieter. Don't forget to double the motor current setting.
The Duet Ethernet doesn't do stealthchop mode, so it would be in spreadCycle mode all the time, with the same noise issue if you are unable to find settings that silence it.
-
-
@dc42 There is only one Z motor and it's on a novel belt system. This has low friction and allows the motor to freewheel fast enough that the motor doesn't catch itself when it drops.
Option 1 does solve the problem. Option 2 would do so if we were moving faster than the transition to spreadcycle. However, the most likely issues occur when the motion is very slow as you are inching up to the nozzle. That means that you'll always be in stealthchop in this situation.
For now, I've added code into the calibration scripts to enable spreadcycle during the risky moves and re-enable stealthchop during normal operation. It's better than nothing since what I'm interpreting here is that this can't be fixed and have stealthchop enabled.
-
@dc42 any thoughts or updates on this?
-
@jwmueller said in Duet Maestro Freefall:
@dc42 any thoughts or updates on this?
You may still be able to use stealthchop when the motors are idle, if you set a very low speed threshold/high M569 V parameter for the Z motor. But that may make the Z motor too noisy when moving.
-
@leonmf Can you add a friction break? A solenoid that retracts a brake when the table is free to move but automatically re-engages when power is lost (or the driver is not enabled).