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

    After tuning, closed-loop motors do a sharp jerk and error

    Scheduled Pinned Locked Moved Unsolved
    Tuning and tweaking
    3
    3
    185
    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.
    • tylersuardundefined
      tylersuard
      last edited by

      Every time I turn my printer on, my Duet3d closed-loop system (2x 1HCL and 2x Duet magnetic encoders) goes through a calibration process. At the end, it does this quick jerk and then tells me that the encoder had an error(Driver 50.0 and 51.0 error: failed to maintain position). What is happening here, and how should I fix it? Video attached, below is my config. kathunk smallest.mp4

      ; General preferences
      G4 S1 ;wait for expansion boards to start
      G90 ; send absolute coordinates...
      M83 ; ...but relative extruder moves
      M550 P"V-Core 3" ; set printer name
      M669 K1 ; CoreXY
      G21 ; Set Units to Millimeters

      ; Network
      M552 S1 ; enable network
      M586 P0 S1 ; enable HTTP
      M586 P1 S0 ; disable FTP
      M586 P2 S0 ; disable Telnet

      ;Closed-loop steppers setup
      M584 X50.0
      M569.1 P50.0 T3 S200 ; Configure the Duet 3 Expansion 1HCL board at CAN address 50 with a Duet 3 magnetic encoder, warn if 1 fullstep threshold exceeded, error if 2 full steps threshold exceeded.
      M906 X2500; set motor current
      M569 P50.0 D2; set open loop mode
      M17 X
      M203 X10800.0
      G4 P300
      M569 P50.0 D4
      G4 P300
      M569.6 P50.0 V2

      M584 Y51.0
      M569.1 P51.0 T3 S200
      M906 Y2500
      M569 P51.0 D2
      M17 Y
      M203 Y10800.00
      M201 Y3000.00
      G4 P300
      M569 P51.0 D4
      G4 P300
      M569.6 P51.0 V2

      M917 X0 Y0 ; Set the closed loop axes to have a holding current of zero
      M350 X32 Y32 ; set steps/mm to 32 to make full use of the encoder resolution
      M92 X160 Y160 ; steps/mm for a 20 tooth gt2 pulley

      ; Drives
      M569 P0.0 S1 D3 ; physical drive 0.0 goes forwards
      M569 P0.1 S1 D3 ; physical drive 0.1 goes forwards
      M569 P0.2 S1 D3 ; physical drive 0.2 goes forwards
      ;M569 P0.3 S1 D3 ; physical drive 0.3 goes forwards
      ;M569 P0.4 S1 D3 ; physical drive 0.4 goes forwards
      M569 P0.5 S1 D3 ; physical drive 0.5 goes forwards
      M569 P0.6 S1 D3
      M584 X50.0 Y51.0 Z0.0:0.1:0.2 E0.5:0.6 ; set drive mapping
      M350 Z16 E16:16 I1 ; configure microstepping with interpolation

      ;M92 X80.00 Y80.00 Z800.00 ; set steps per mm
      M92 Z800.0
      M906 Z800 I30 ; set motor currents (mA) and motor idle factor in per cent
      M84 S30 ; Set idle timeout

      M566 X400.00 Y400.00 Z6.00 E300.00:300.00 P1 ; set maximum instantaneous speed changes (mm/min)
      M203 X10800.00 Y10800.00 Z1000.00 E7200.00:7200.00 ; set maximum speeds (mm/min)
      M201 X3000.00 Y3000.00 Z100.00 E10000.00:10000.00 ; set accelerations (mm/s^2)

      ; Axis Limits
      M208 X0 Y0 Z-10 S1 ; set axis minima
      M208 X500 Y500 Z500 S0 ; set axis maxima

      ; Endstops
      M574 X1 S1 P"io0.in" ; configure active high endstops
      M574 Y2 S1 P"io1.in" ; configure active high endstops

      ; Filament Runout Sensor
      M591 D0 P1 C"io6.in" S1 ; simple sensor (high signal when filament present) connected to IO_6 for drive 0, enabled
      ;M591 D0 ; display filament sensor parameters for extruder drive 0

      M671 X-4.5:250:505 Y-4.52:505:-4.52 S10 ; define positions of Z leadscrews or bed levelling screws
      M557 X50:450 Y50:450 P5 ; define 5x5 mesh grid

      ; Heaters
      M308 S0 P"temp0" Y"thermistor" T100000 B3950 A"Bed" ; configure sensor 0 as thermistor on pin temp0
      M950 H0 C"out0" T0 ; create bed heater output on out5 and map it to sensor 0
      M307 H0 B0 S.50 ; disable bang-bang mode for the bed heater and set PWM limit
      M140 H0 ; map heated bed to heater 0
      M143 H0 S85 ; set temperature limit for heater 0 to 110C

      ;; Run Bed PID Tune!! Below is an example for a 300x300 bed
      ;M307 H0 A303.1 C356.7 D1.4 S1.00 V24.0 B0
      M307 H0 R0.467 K0.281:0.000 D7.29 E1.35 S1.00 B0

      ; Fans
      M950 F0 C"out4" Q450 ; create fan 0 on pin out4 and set its frequency
      M106 P0 C"Flexion Fan" S255 H-1 ; set fan 0 name and value. Thermostatic control is turned off
      M950 F1 C"out3" Q500 ; create fan 1 on pin out3 and set its frequency
      M106 P1 C"Revo Micro Fan" S255 H-1 ; set fan 1 name and value. Thermostatic control turned on for Hotend

      ; Tools
      M563 P0 S"Flexion Extruder" D0 H1 ; define tool 0
      G10 P0 X10 Y-26 Z0 ; set tool 0 axis offsets
      G10 P0 R215 S0 ; set initial tool 0 active and standby temperatures to 0C

      M563 P1 S"Revo Micro Extruder" D1 H2 ;define tool 1
      G10 P1 X-18.5 Y-56.5 Z0
      ;last: G10 P1 X-17 Y-56.5 Z0
      G10 P1 R220 S0

      M950 H1 C"out1" T1 ; create nozzle heater output on out2 and map it to sensor 1
      M307 H1 B0 S.60 ; disable bang-bang mode for heater and set PWM limit
      M143 H1 S230 ; set the maximum temperature in C for heater

      M950 H2 C"out2" T2
      M307 H2 B0 S.80
      M143 H2 S290

      ; EVA 2 / BMG / E3D V6

      ;M92 E690 ; set extruder steps per mm, 0.9 angle/step (LDO Pancake)
      ;M92 E304
      M92 E244.17671:680
      M906 E1361:800 ; set extruder motor current (mA) and idle factor in per cent
      ;Max: E1512
      ;Original: E800

      M308 S1 P"temp1" Y"thermistor" T100000 B3950 A"Flexion Heater"
      ;For mosquito:
      M308 S2 P"temp2" Y"thermistor" T100000 B4725 C7.060000e-8 A"Revo Micro Heater"
      ;; Run Heater PID Tune!!
      ;; M307 H1 A751.5 C196.6 D4.7 S1.00 V23.9 B0
      ;Mosquito
      ;M307 H1 R3.108 K0.765:0.123 D6.44 E1.35 S1.00 B0
      ;M307 H1 R4.707 K1.275:0.000 D8.01 E1.35 S0.50 B0 V23.9
      ;Normal, extruder fan duct but no bed fan:
      ;M307 H1 R4.521 K0.457:0.000 D8.91 E1.35 S0.50 B0
      ;With bed fan:
      ;M307 H1 R3.793 K0.978:0.000 D9.61 E1.35 S0.60 B0
      ;Flexion PID params
      ;M307 H1 R3.308 K0.457:0.000 D11.78 E1.35 S0.50 B0
      ;Flexion PID params, FAN ON
      M307 H1 R3.625 K0.519:0.000 D11.25 E1.35 S0.60 B0
      ;Revo Micro PID params
      ;M307 H2 R4.988 K1.051:0.000 D1.53 E1.35 S0.80 B0 V24.1
      ;M307 H2 R5.029 K0.514:0.000 D1.84 E1.35 S0.80 B0
      ;Revo Micro PID Params, FAN ON
      M307 H2 R5.056 K0.775:0.000 D1.73 E1.35 S0.80 B0

      ;Z-Probe
      ;; Inductive Probe
      ; M558 P5 C"!io3.in" H5 F400 T5000 ; set Z probe type to unmodulated and the dive height + speeds
      ; G31 P500 X-30 Y-15 Z0.20 ; set Z probe trigger value, offset and trigger height, more Z means closer to the bed
      ; BLTouch
      M950 S0 C"io2.out" ; Create a servo pin on io2
      M558 P9 C"io2.in" H5 F240 T10800 A5 ; set Z probe type to unmodulated and the dive height + speeds
      ;M558 C"zprobe.in" P8 R0.4 F1200 H10 T6000
      G31 P25 X10.00 Y-30.00 Z1.2 ; set Z probe trigger value, offset and trigger height, more Z means closer to the bed

      ; Select default tool
      T0

      ; Pressure Advance
      ; M572 D0 S0.10

      dc42undefined 1 Reply Last reply Reply Quote 0
      • Phaedruxundefined Phaedrux marked this topic as a question
      • Phaedruxundefined
        Phaedrux Moderator
        last edited by

        Firmware versions on all your boards?

        Z-Bot CoreXY Build | Thingiverse Profile

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

          @tylersuard if you use 3.5 series firmware then with the Duet3D magnetic encoders you don't need to do the calibration every time, only when the relative positions of the encoder board, motor shaft and magnet may have changed.

          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