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

    IDEX - Closed loop tune

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    1
    1
    165
    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.
    • kroybalundefined
      kroybal
      last edited by

      I am building a IDEX printer with an X & U axis driven by their own 1HCL boards. I installed 17E1K-07 Motors.

      The issue I am hoping to resolve is that I keep getting:

      Warning: Driver 41.0 warning: tuning failed
      Warning: Driver 41.0 new tuning error(s): The measured motion was inconsistent.
      Warning: Driver 40.0 warning: tuning failed
      Warning: Driver 40.0 new tuning error(s): The measured motion was inconsistent.

      in the console as a result of homing sequence. I have played with different maneuvers. i.e. the required ones as listed in the table.

      I have also adjusted the M569.1 TX parameter from 1 & 2 (pretty sure its shaft mounted however)

      Additionally, when I use the closed-loop plugin (latest version), my recorded data is always:

      Sample,Timestamp,Measured Motor Steps,Target Motor Steps

      0,0.04,3.04,-248.09

      1,0.11,3.04,-248.09

      2,0.18,3.04,-248.09

      3,0.24,3.04,-248.09
      (You can assume the rest.....)

      config.g

      ; Configuration file for Duet 3 (firmware version 3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.1.4 on Fri Sep 04 2020 17:16:08 GMT-0600 (Mountain Daylight Time)
      
      ; General preferences
      G90                                             ; send absolute coordinates...
      M83                                             ; ...but relative extruder moves
      M550 P"TOM"                                     ; set printer name
      
      ; Network
      M551 P"tom"                                     ; set password
      M552 P0.0.0.0 S1                                ; enable network and acquire dynamic address via DHCP
      M586 P0 S1                                      ; enable HTTP
      M586 P1 S0                                      ; disable FTP
      M586 P2 S0                                      ; disable Telnet
      
      ; Axis Definitions====>>>>>
      ; X = Left (on X-axis) Extruder U = Right (on X-axis) Extruder /// Y = Y-Axis /// Z = Z-Axis  
      
      ; ======={ Drives }========================================
      ; 0.x corresponds to main board /// 40.x corresponds 1HCL-1 /// 41.x corresponds to 1HCL-2
      ; X
      M569.1 P40.0 T2 C20 R100 I0 D0 ;
      M569.1 P41.0 T2 C20 R100 I0 D0 ;
      M569 P40.0 S0 D4                                ; physical drive 0.0 goes forwards
      M569 P41.0 S0 D4 ; physical drive 0.1 goes forwards
      M569.6 P40.0 V1 ; Tuning maneuver
      M569.6 P41.0 V1 ; Tuning maneuver
      ; Y
      M569 P0.2 S0                                    ; physical drive 0.2 goes forwards
      M569 P0.3 S1 ; physical drive 0.3 goes backwards
      ; Z
      M569 P0.4 S0                                    ; physical drive 0.4 goes backwards
      M569 P0.5 S0 ; physical drive 0.5 goes backwards
      
      ; ======={ Extruders }=====================================
      M569 P0.0 S1                                    ; physical drive 1.0 goes forwards
      M569 P0.1 S1                                    ; physical drive 2.0 goes forwards
      M584 X40.0 Y0.2:0.3 Z0.4:0.5 U41.0 E0.0:0.1     ; set drive mapping
      [REST config.g IS CLIPPED]
      

      M122 B40 (X-Axis)

      Diagnostics for board 40:
      Duet EXP1HCL firmware version 3.4.1 (2022-06-01 21:14:32)
      Bootloader ID: SAME5x bootloader version 2.4 (2021-12-10)
      All averaging filters OK
      Never used RAM 52256, free system stack 169 words
      Tasks: Move(notifyWait,0.0%,108) HEAT(notifyWait,0.0%,70) CanAsync(notifyWait,0.0%,65) CanRecv(notifyWait,0.0%,79) CanClock(notifyWait,0.0%,70) TMC(notifyWait,34.5%,360) CLSend(notifyWait,0.0%,152) MAIN(running,63.7%,413) IDLE(ready,0.0%,30) AIN(notifyWait,1.7%,265), total 100.0%
      Last reset 00:07:43 ago, cause: software
      Last software reset data not available
      Closed loop enabled: yes, pre-error threshold: 0.00, error threshold: 0.00, encoder type rotaryQuadrature, reverse polarity: no, position 243, raw count = 0, tuning mode: 0, tuning error: 0x10, collecting data: no
      Control loop runtime (ms): min=0.003, max=0.028, frequency (Hz): min=11719, max=17442
      Driver 0: pos -48210, 80.4 steps/mm,tuning failed, SG min 0, mspos 776, reads 24967, writes 2112 timeouts 0, steps req 57854 done 13661
      Moves scheduled 5, completed 5, in progress 0, hiccups 0, step errors 0, maxPrep 60, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0
      Peak sync jitter -1/10, peak Rx sync delay 194, resyncs 0/0, no step interrupt scheduled
      VIN voltage: min 10.9, current 12.4, max 12.5
      V12 voltage: min 10.6, current 10.6, max 10.8
      MCU temperature: min 31.5C, current 32.4C, max 32.4C
      Last sensors broadcast 0x00000000 found 0 223 ticks ago, 0 ordering errs, loop time 0
      CAN messages queued 3776, send timeouts 0, received 4215, lost 0, free buffers 37, min 37, error reg 0
      dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 292, adv 36388/37193
      

      M122 B41 (U-Axis)

      Diagnostics for board 41:
      Duet EXP1HCL firmware version 3.4.1 (2022-06-01 21:14:32)
      Bootloader ID: SAME5x bootloader version 2.4 (2021-12-10)
      All averaging filters OK
      Never used RAM 52256, free system stack 173 words
      Tasks: Move(notifyWait,0.0%,108) HEAT(notifyWait,0.0%,70) CanAsync(notifyWait,0.0%,65) CanRecv(notifyWait,0.0%,79) CanClock(notifyWait,0.0%,70) TMC(notifyWait,34.5%,360) CLSend(notifyWait,0.0%,152) MAIN(running,63.7%,409) IDLE(ready,0.0%,30) AIN(notifyWait,1.8%,265), total 100.0%
      Last reset 00:09:26 ago, cause: software
      Last software reset data not available
      Closed loop enabled: yes, pre-error threshold: 0.00, error threshold: 0.00, encoder type rotaryQuadrature, reverse polarity: no, position 163, raw count = 0, tuning mode: 0, tuning error: 0x10, collecting data: no
      Control loop runtime (ms): min=0.003, max=0.029, frequency (Hz): min=11538, max=17442
      Driver 0: pos 48210, 80.4 steps/mm,tuning failed, SG min 0, mspos 520, reads 64910, writes 2112 timeouts 0, steps req 57854 done 13661
      Moves scheduled 5, completed 5, in progress 0, hiccups 0, step errors 0, maxPrep 60, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0
      Peak sync jitter 2/14, peak Rx sync delay 196, resyncs 0/0, no step interrupt scheduled
      VIN voltage: min 12.4, current 12.4, max 12.5
      V12 voltage: min 10.7, current 10.7, max 10.8
      MCU temperature: min 34.8C, current 35.9C, max 36.1C
      Last sensors broadcast 0x00000000 found 0 103 ticks ago, 0 ordering errs, loop time 0
      CAN messages queued 4599, send timeouts 0, received 5140, lost 0, free buffers 37, min 37, error reg 0
      dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 294, adv 35836/37161
      

      homeall.g

      ; ========{Change to Open Mode}========
      M569 P40.0 D0 S0 ; Change X to open-mode
      M569 P41.0 D0 S0 ; Change U to open-mode
      
      ; ========{Home in Open-Loop Mode}========
      G91                   ; relative positioning
      G1 H2 Z15 F720         ; lift Z relative to current position
      G1 H1 X-595 Y-459 U595 F2400 ; move quickly to X and Y axis endstops and stop there (first pass)
      G1 H2 X10 Y10 U-10 F6000     ; go back a few mm
      G1 H1 X-15 Y-15 U15 F180   ; move slowly to X and Y axis endstops once more (second pass)
      G1 H1 Z-650 F360       ; move Z down stopping at the endstop
      G1 H2 Z3 F360
      G1 H1 Z-10 F10
      G90                     ; absolute positioning
      G92 Z0                 ; set Z position to axis minimum (you may want to adjust this)
      
      
      ; ========{Move to a Safe Location}========
      G91 ; Relative Positioning
      G1 Z15 F720 ; Move the Z down
      G1 X50 F1000 ; Move the X away from the endstop
      G1 U-50 F1000 ; Move the U away from the endstop
      M400 ; Wait for previous moves to complete
      G4 P500 ; Wait for the motor to settle
      G90 ; Absolute Positioning;-
      
      ; ========{Turn on Closed-Loop Mode}========
      ; ========{Perform the Encoder Tuning}========
      M569 P40.0 D4 S0 ; Change X to closed-loop-mode
      M569.6 P40.0 V1 ; Perform the tuning manoeuvres for a quadrature encoder;
      
      M569 P41.0 D4 S0 ; Change U to closed-loop-mode
      M569.6 P41.0 V1 ; Perform the tuning manoeuvres for a quadrature encoder
      
      ; ========{Return to Home Location}========
      G91 ; Relative Positioning
      G1 X-50 F720
      G1 U50 F720
      G1 Z-15 F720
      G90 ; Absolute Positioning
      
      1 Reply Last reply Reply Quote 0
      • First post
        Last post
      Unless otherwise noted, all forum content is licensed under CC-BY-SA