Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    CoreXY, motor 0 sometimes doesn't hold

    Scheduled Pinned Locked Moved
    General Discussion
    2
    4
    472
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • gnydickundefined
      gnydick
      last edited by

      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.

      1 Reply Last reply Reply Quote 0
      • dc42undefined
        dc42 administrators
        last edited by

        Which Duet are you using, and which firmware version? Please post your config.g file.

        Duet WiFi hardware designer and firmware engineer
        Please do not ask me for Duet support via PM or email, use the forum
        http://www.escher3d.com, https://miscsolutions.wordpress.com

        gnydickundefined 1 Reply Last reply Reply Quote 0
        • gnydickundefined
          gnydick @dc42
          last edited by

          @dc42

          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
          
          1 Reply Last reply Reply Quote 0
          • dc42undefined
            dc42 administrators
            last edited by

            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.

            Duet WiFi hardware designer and firmware engineer
            Please do not ask me for Duet support via PM or email, use the forum
            http://www.escher3d.com, https://miscsolutions.wordpress.com

            1 Reply Last reply Reply Quote 0
            • First post
              Last post
            Unless otherwise noted, all forum content is licensed under CC-BY-SA