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