U Axis not homing
-
I've finally complete the commissioning process on another IDEX build. The last thing I do is a home all. The U Axis did not move. The stepper worked properly during the commissioning process but doesn't home. I am including my config, M122 results, homeall.g, and homeu.g.
If there is anything else that is needed IOT troubleshoot this, please do not hesitate to ask. Thank you in advance for your help.; Configuration file for RepRapFirmware on Duet 3 Mini 5+ WiFi ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.5.4 on Sat Aug 10 2024 17:00:36 GMT-0400 (Eastern Daylight Time) ; General G90 ; absolute coordinates M83 ; relative extruder moves M550 P"M3ID V2" ; set hostname ; Accessories M575 P1 S0 B57600 ; configure PanelDue support ; Network M552 S1 ; configure WiFi adapter M586 P0 S1 ; configure HTTP ; Wait a moment for the CAN expansion boards to become available G4 S2 ; Accelerometers M955 P121.0 I20 ; configure accelerometer on board #121 M955 P122.0 I20 ; configure accelerometer on board #122 ; Smart Drivers M569 P0.1 S0 D2 ; driver 0.1 goes backwards (X axis) M569 P0.2 S1 D2 ; driver 0.2 goes forwards (Y axis) M569 P0.3 S0 D2 ; driver 0.3 goes backwards (Z axis) M569 P0.4 S0 D2 ; driver 0.4 goes backwards (U axis) M569 P121.0 S1 D2 ; driver 121.0 goes forwards (extruder 0) M569 P122.0 S1 D2 ; driver 122.0 goes forwards (extruder 1) ; Motor Idle Current Reduction M906 I30 ; set motor current idle factor M84 S30 ; set motor current idle timeout ; Axes M584 X0.1 Y0.2 Z0.3 U0.4 ; set axis mapping M350 X16 Y16 Z16 U16 I1 ; configure 16X microstepping with interpolation M906 X1750 Y1750 Z800 U1750 ; set axis driver currents M92 X80 Y80 Z400 U80 ; configure steps per mm M208 X-6:220 Y-9:250 Z0:200 U0:229 ; set minimum and maximum axis limits M566 X900 Y900 Z12 U900 ; set maximum instantaneous speed changes (mm/min) M203 X6000 Y6000 Z180 U6000 ; set maximum speeds (mm/min) M201 X500 Y500 Z20 U500 ; set accelerations (mm/s^2) ; Extruders M584 E121.0:122.0 ; set extruder mapping M350 E16:16 I1 ; configure microstepping with interpolation M906 E424:424 ; set extruder driver currents M92 E2682:2682 ; configure steps per mm M566 E150:150 ; set maximum instantaneous speed changes (mm/min) M203 E3600:3600 ; set maximum speeds (mm/min) M201 E3000:3000 ; set accelerations (mm/s^2) ; Kinematics M669 K0 ; configure Cartesian kinematics ; BLtouch M558 K0 P9 C"121.io0.in" H5 F120 T6000 A2 ; configure BLTouch probe via slot #0 G31 P500 X0 Y24 Z0.7 ; set Z probe trigger value, offset and trigger height M950 S0 C"121.io0.out" ; create servo #0 for BLtouch M376 H10 ; Scanning Z probe M558 K1 P11 C"121.i2c.ldc1612" F36000 T36000 ; configure SZP probe M308 A"SZP coil" S10 Y"thermistor" P"121.temp0" ; thermistor on coil ; Endstops M574 X1 P"io1.in" S1 ; configure X axis low end endstop M574 Y1 P"io2.in" S1 ; configure Y axis low end endstop M574 Z2 S1 P"io3.in" ; configure Z axis high end endstop M574 U2 P"io4.in" S1 ; configure U axis high end endstop ; Mesh Bed Compensation M557 X25:175 Y25:175 S40:40 ; define grid for mesh bed compensation ; Sensors M308 S0 P"temp0" Y"thermistor" A"Heated Bed" T100000 B4725 C7.06e-8 ; configure sensor #0 M308 S1 P"121.temp1" Y"thermistor" A"Nozzle" T100000 B4725 C7.06e-8 ; configure sensor #1 M308 S2 P"122.temp0" Y"thermistor" A"Nozzle" T100000 B4725 C7.06e-8 ; configure sensor #2 ; Heaters M950 H0 C"out2" T0 ; create heater #0 (Bed) M143 H0 P0 T0 C0 S120 A0 ; configure heater monitor #0 for heater #0 (Bed) M307 H0 R0.167 K0.222:0.000 D26.05 E1.35 S1.00 B0 ; configure model of heater #0 (Bed) M950 H1 C"121.out0" T1 ; create heater #1 (T0) M143 H1 P0 T1 C0 S300 A0 ; configure heater monitor #0 for heater #1 (T0) M307 H1 R4.287 K0.528:0.232 D2.33 E1.35 S1.00 B0 V24.1 ; configure model of heater #1 (T0) M950 H2 C"122.out0" T2 ; create heater #2 (T1) M143 H2 P0 T1 C0 S300 A0 ; configure heater monitor #0 for heater #2 (T1) M307 H2 R4.334 K0.514:0.239 D2.21 E1.35 S1.00 B0 V24.0 ; configure model of heater #2 (T1) ; Heated beds M140 P0 H0 ; configure heated bed #0 ; Fans M950 F0 C"121.out2" ; create fan #0 T0 Heat Sink Fan M106 P0 C"T0 Heatsink Fan" S0 B0.1 H1 T45 ; configure fan #0 T0 Heat Sink Fan M950 F1 C"121.out1" ; create fan #1 T0 Part Cooling fan M106 P1 C"T0 Part Cooling Fan" S0 L25 X255 B0.1 ; configure fan #1 T0 Part Cooling Fan M950 F2 C"122.out2" ; create fan #2 T1 Heat Sink Fan M106 P2 C"T1 Heatsink Fan" S0 B0.1 H2 T45 ; configure fan #2 T1 Heat Sink Fan M950 F3 C"122.out1" ; create fan #3 T1 Part Cooling Fan M106 P3 C"T1 Part Cooling Fan" S0 L25 X255 B0.1 ; configure fan #3 T1 Part Cooling Fan ; Tools M563 P0 D0 H1 F1 ; create tool #0 T0 M568 P0 R0 S0 ; set initial tool #0 active and standby temperatures to 0C M563 P1 D1 H2 F3 ; create tool #1 T1 M568 P1 R0 S0 ; set initial tool #1 active and standby temperatures to 0C ; Miscellaneous T0 ; select first tool
M122 === Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.5.2 (2024-06-11 17:14:16) running on Duet 3 Mini5plus WiFi (standalone mode) Board ID: ZBVGS-QP6KL-K65J0-409N0-NK02Z-HT6JA Used output buffers: 3 of 40 (36 max) === RTOS === Static ram: 103368 Dynamic ram: 123728 of which 0 recycled Never used RAM 11392, free system stack 144 words Tasks: NETWORK(2,nWait 7,10.6%,217) LASER(5,nWait 7,0.0%,269) HEAT(3,nWait 6,0.0%,350) Move(4,nWait 6,0.0%,294) CanReceiv(6,nWait 1,0.1%,796) CanSender(5,nWait 7,0.0%,336) CanClock(7,delaying,0.0%,348) TMC(4,nWait 6,0.6%,67) MAIN(1,running,88.0%,665) IDLE(0,ready,0.0%,29) AIN(4,delaying,0.6%,259), total 100.0% Owned mutexes: WiFi(NETWORK) === Platform === Last reset 04:46:54 ago, cause: power up Last software reset at 2024-09-06 22:36, reason: User, Gcodes spinning, available RAM 14504, slot 2 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 MCU revision 3, ADC conversions started 17214546, completed 17214546, timed out 0, errs 0 MCU temperature: min 22.8, current 30.7, max 33.0 Supply voltage: min 24.1, current 24.2, max 24.3, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/72/72, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0, read errors 0, write errors 0, ifcnt 10, reads 54024, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 1: standstill, SG min 0, read errors 0, write errors 0, ifcnt 16, reads 54018, writes 16, timeouts 0, DMA errors 0, CC errors 0 Driver 2: standstill, SG min 0, read errors 0, write errors 0, ifcnt 16, reads 54018, writes 16, timeouts 0, DMA errors 0, CC errors 0 Driver 3: standstill, SG min 0, read errors 0, write errors 0, ifcnt 16, reads 54017, writes 16, timeouts 0, DMA errors 0, CC errors 0 Driver 4: standstill, SG min 0, read errors 0, write errors 0, ifcnt 16, reads 54018, writes 16, timeouts 0, DMA errors 0, CC errors 0 Driver 5: not present Driver 6: not present Date/time: 2024-09-15 15:29:50 Cache data hit count 4294967295 Slowest loop: 10.44ms; fastest: 0.14ms === Storage === Free file entries: 20 SD card 0 detected, interface speed: 22.5MBytes/sec SD card longest read time 10.3ms, write time 0.0ms, max retries 0 === Move === DMs created 83, segments created 3, maxWait 3725232ms, bed compensation in use: none, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00 no step interrupt scheduled Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0 === DDARing 0 === Scheduled moves 17, completed 17, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === DDARing 1 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 Heater 1 is on, I-accum = 0.0 === GCodes === Movement locks held by null, null HTTP is idle in state(s) 0 Telnet is idle in state(s) 0 File is idle in state(s) 0 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger is idle in state(s) 0 Queue is idle in state(s) 0 LCD is idle in state(s) 0 SBC is idle in state(s) 0 Daemon is idle in state(s) 0 Aux2 is idle in state(s) 0 Autopause is idle in state(s) 0 File2 is idle in state(s) 0 Queue2 is idle in state(s) 0 Q0 segments left 0, axes/extruders owned 0x000080f Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 154970, received 688573, lost 0, errs 0, boc 0 Longest wait 1ms for reply type 6034, peak Tx sync delay 12, free buffers 26 (min 25), ts 86072/86071/0 Tx timeouts 0,0,0,0,0,0 === Network === Slowest loop: 8.44ms; fastest: 0.00ms Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) HTTP sessions: 1 of 8 === WiFi === Interface state: active Module is connected to access point Failed messages: pending 0, notrdy 0, noresp 0 Firmware version 2.1.0 MAC address e8:68:e7:e1:4e:33 Module reset reason: Power up, Vcc 3.34, flash size 2097152, free heap 39696 WiFi IP address 192.168.1.163 Signal strength -47dBm, channel 2, mode 802.11n, reconnections 0 Clock register 00002001 Socket states: 0 0 0 0 0 0 0 0
; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v3.5.4 on Sat Aug 10 2024 17:00:40 GMT-0400 (Eastern Daylight Time) ; increase Z G91 ; relative positioning G1 H2 Z5 F6000 ; move Z relative to current position to avoid dragging nozzle over the bed G90 ; absolute positioning ; home XY var xTravel = move.axes[0].max - move.axes[0].min + 5 ; calculate how far X can travel plus 5mm var yTravel = move.axes[1].max - move.axes[1].min + 5 ; calculate how far Y can travel plus 5mm G91 ; relative positioning G1 H1 X{-var.xTravel} Y{-var.yTravel} F600 ; coarse home in the -X and -Y directions G1 H2 X5 Y5 F6000 ; move back 5mm G1 H1 X{-var.xTravel} Y{-var.yTravel} F300 ; fine home in the -X and -Y directions G90 ; absolute positioning ; home Z var xCenter = move.compensation.probeGrid.mins[0] + (move.compensation.probeGrid.maxs[0] - move.compensation.probeGrid.mins[0]) / 2 - sensors.probes[0].offsets[0] var yCenter = move.compensation.probeGrid.mins[1] + (move.compensation.probeGrid.maxs[1] - move.compensation.probeGrid.mins[1]) / 2 - sensors.probes[0].offsets[1] G1 X{var.xCenter} Y{var.yCenter} F6000 ; go to bed centre G30 ; probe the bed M98 P"homeU.g" ; home U axis
; homeu.g ; called to home the U axis ; ; generated by RepRapFirmware Configuration Tool v3.5.4 on Sat Aug 10 2024 17:00:40 GMT-0400 (Eastern Daylight Time) ; increase Z G91 ; relative positioning G1 H2 Z5 ; move Z relative to current position to avoid dragging nozzle over the bed G90 ; absolute positioning ; home U G91 ; relative positioning var maxTravel = move.axes[3].max - move.axes[3].min + 5 ; calculate how far U can travel plus 5mm G1 H1 U{-var.maxTravel} F600 ; coarse home in the -U direction G1 U5 F6000 ; move back 5mm G1 H1 U{-var.maxTravel} F300 ; fine home in the -U direction G90 ; absolute positioning ; decrease Z again G91 ; relative positioning G1 H2 Z-5 F6000 ; move Z relative to current position G90 ; absolute positioning
-
@SonnyD1 Not sure if this is the problem, but it looks like you have defined the endstop for U to be at the max end of the axis, but are trying to home towards the 0 end of the axis?
Also when you run the homing process what actually happens? Does U move at all? Does it get marked as being homed in DWC?
-
@gloomyandy The U home switch is all the way to the right of the bed with the zero being all the way to the left. Isn't the 0,0 considered the low end? I have another perfectly functional IDEX and the U endstop is on the right and configured on the high end. When I home all, the X homes, then the Y, then they they simultaneously home again, then the z will home. The U axis (T1 extruder) never moves.
After further digging, I see several issues. There isn't any U axis commands in the homeall.g. Additionally. The homeu.g sends the U in the negative instead of the positive. There are several things I know how to fix. I may save you all some trouble. I'll get back with ya when I hit a roadblock. -
Here is my new homeall.g: It seems to be working. I have some speed issues to work out but I think I can handle them. Its pretty safe to say that the configurator needs some work. Is there anything else I need to change in the homeu.g?
; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v3.5.4 on Sat Aug 10 2024 17:00:40 GMT-0400 (Eastern Daylight Time) ; increase Z G91 ; relative positioning G1 H2 Z5 F6000 ; move Z relative to current position to avoid dragging nozzle over the bed G90 ; absolute positioning ; home XY var xTravel = move.axes[0].max - move.axes[0].min + 5 ; calculate how far X can travel plus 5mm var yTravel = move.axes[1].max - move.axes[1].min + 5 ; calculate how far Y can travel plus 5mm var uTravel = move.axes[3].max - move.axes[3].min + 5 ; calculate how far U can travel plus 5mm G91 ; relative positioning G1 H1 X{-var.xTravel} Y{-var.yTravel} U{var.uTravel} F4000 ; coarse home in the -X, -Y and U directions G1 H2 X5 Y5 U-5 F6000 ; move back 5mm G1 H1 X{-var.xTravel} Y{-var.yTravel} U{var.uTravel} F1000 ; fine home in the -X and -Y directions G90 ; absolute positioning ; home Z var xCenter = move.compensation.probeGrid.mins[0] + (move.compensation.probeGrid.maxs[0] - move.compensation.probeGrid.mins[0]) / 2 - sensors.probes[0].offsets[0] var yCenter = move.compensation.probeGrid.mins[1] + (move.compensation.probeGrid.maxs[1] - move.compensation.probeGrid.mins[1]) / 2 - sensors.probes[0].offsets[1] G1 X{var.xCenter} Y{var.yCenter} F6000 ; go to bed centre G30 ; probe the bed ;M98 P"homeU.g" ; home U axis
-
Can you share your config.json file?
-
@Phaedrux I have a configtool.json. Are they the same thing or am I missing something.
-
@SonnyD1 yes
-
@Phaedrux configtool.json.docx It wouldn't let me post it so I put it in a word doc and attached it. Hopefully that works for you.
-
The file appears to be corrupt when I download it. Can you try downloading it again and just change the extension to .txt
-
@Phaedrux configtool.json How bout this?