CoreXY, motor 0 sometimes doesn't hold
-
One of my CoreXY motors isn't holding, but the printer seems to print normally. A few cycles of disabling and enabling the motors seems to fix it. What I mean by not holding is that after I home, I can slide the gantry by hand diagonally at 45deg freely because one motor is free wheeling.
-
Which Duet are you using, and which firmware version? Please post your config.g file.
-
Maestro
Firmware Name: RepRapFirmware for Duet 2 Maestro Firmware Electronics: Duet Maestro 1.0 Firmware Version: 2.02(RTOS) (2018-12-24b1) Web Interface Version: 1.22.5 Web Interface by Christian Hammacher Licensed under the terms of the GPL v3
config.g
M929 S1 P"log.txt" ; 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 --- M98 Pmachine_zprobe.g ; configure the z probe M98 Pmachine_bedmesh.g ; configure the bed mesh G29 S1 ; Load heightmap after power cycle ; --- SECTION: DRIVES (MOVEMENT SECTION) & ENDSTOPS --- M667 S1 ; Enable coreXY mode ;M569 P0 D2 S0; V175; Drive 0 stealthchop, goes forwards, CoreXY_1 ;M569 P1 D2 S1; V175; Drive 1 stealthchop, goes forwards, CoreXY_2 ;M569 P2 D2 S0; V17; Drive 2 stealthchop, goes backwards, Z Moto ;M569 P3 D2 S0; V1; Drive 3 stealthchop, goes forward, Left Extruder ;M569 P4 D2 S1; V1; Drive 4 stealthchop, goes reverse, Right Extruder M569 P0 D3 S0 V60; Drive 0 stealthchop, goes forwards, CoreXY_1 M569 P1 D3 S0 V60; Drive 1 stealthchop, goes forwards, CoreXY_2 M569 P2 D3 S1 V1; Drive 2 stealthchop, goes backwards, Z Moto M569 P3 D3 S0 V1; Drive 3 stealthchop, goes forward, Left Extruder M569 P4 D3 S1 V1; Drive 4 stealthchop, goes reverse, Right Extruder M98 Pmachine_endstoptypes.g ; set endstop types M98 Pmachine_steppercurrent.g ; set stepper currents M98 Pmachine_stepperspeed.g ; set stepper speeds M98 Pmachine_axisdimension.g ; configure the axes dimensions M98 Pmachine_axissteps.g ; configure the axes steps per mm M98 Pmachine_extruderstep.g ; configure the extruder steps 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 ;stock M305 P0 T100000 B4138 C0 R2200 ; Set thermistor + ADC parameters for heater 0, For heated Bed thermistor ;M305 P0 T100000 B5438 C0 R2200 ;M305 P1 X501 R2200 ; Define left side extruder PT1000 ;M305 P1 T100000 B4725 C7.06e-8 ; Define left side extruder PT1000 M305 P1 T100000 B3650 ; Define left side extruder PT1000 ;M305 P2 X502 R2200 ; Define right side extruder PT1000 :M305 P2 T100000 B4725 C7.06e-8 ; Define right side extruder PT1000 M305 P2 T100000 B3650 ; Define right side extruder PT1000 M307 H0 A73 C548.9 D8.3 S1.00 V23.7 B0 ; Forcing heated bed PID control after power-cycle. Basic bed heating auto-tune M307 H1 A296.6 C199.4 D9.1 S1 V23.8 B0 ; Set PID values use M303 auto-tune calibration settings M307 H2 A352.8 C93.5 D4.9 S1 V24.1 B0 ; Set PID values use M303 auto-tune calibration settings M302 P1 ; Allow Cold extrudes M98 Pmachine_maxtemp.g ; set bed and extruder max temperatures ; --- SECTION: FANS ( ) --- M106 P0 S0.0 F100 I0 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 F250 H-1 L0 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off, Minimum fan value 0.3, Speed 100% M106 P2 S0 I0 F100 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 M98 Pmachine_ktana_tools.g ; Define ktana tools T0 ; Automatic tool select ; --- SECTION: NETWORKS (PROLOGUE & COMMUNCATIONS SECTION) --- M98 Pmachine_access.g ; set machine name and IP M586 P0 S1 ; Enable HTTP M586 P1 S1 ; Disable FTP M586 P2 S1 ; Disable Telnet ; --- SECTION: MISCELLANEOUS --- M501
config-override.g
; This is a system-generated file - do not edit ; Heater model parameters M307 H0 A73.0 C548.9 D8.3 S1.00 V23.7 B0 M307 H1 A347.4 C115.6 D6.8 S1.00 V25.0 B0 M307 H2 A352.8 C93.5 D4.9 S1.00 V24.1 B0 G10 L2 P1 X0.00 Y0.00 Z0.00 G10 L2 P2 X0.00 Y0.00 Z0.00 G10 L2 P3 X0.00 Y0.00 Z0.00 G10 L2 P4 X0.00 Y0.00 Z0.00 G10 L2 P5 X0.00 Y0.00 Z0.00 G10 L2 P6 X0.00 Y0.00 Z0.00 G10 L2 P7 X0.00 Y0.00 Z0.00 G10 L2 P8 X0.00 Y0.00 Z0.00 G10 L2 P9 X0.00 Y0.00 Z0.00 M593 F20 M572 D0:1 S0.2
-
My guess is that it's connected with running the motor in stealthChop mode. In that mode, the driver tries to use the minimum current necessary. If you change the load suddenly then that current may be insufficient.
The driver tunes stealthChop during the initial movements. You might find that you get more consistent behaviour if you change your homing files to make a tiny relative XY movement (at least 1 microstep), pause for a few milliseconds (G4 command), and then perform homing. This is because the driver prefers the motor to be stationary for a short while after the driver is enabled. The delay provided by the current firmware may not always be sufficient.