X Axis is not responding to Homing request
-
Hello all,
First of all thank you so much for this forum.
My issue is I had just finished setting up a Voron 2.4 frame with the Duet 6HC + 3HC expansion board. I was in the final stages of tuning and it seems my X-Axis stopped responding.
My understanding is if I run this code it should move the tool head in a square pattern.
G91 ; relative mode
G1 H1 X10 ; move the X motor forward 10mm
G1 H1 Y10 ; move the Y motor forward 10mm
G1 H1 X-10 ; move the X motor back 10mm
G1 H1 Y-10 ; move the Y motor back 10mm
G90 ; back to absolute modeThe tool head movement is only through the Y axis.
Walking through the CoreXY setup everything works. When I execute "G1 H2 X10 F3000" the tool head moves diagonally in the +X +Y . Also, using this g-code "G1 H2 Y10 F3000" the tool head moves +X &-Y.
Also, if I use the web interface to home the X axis it appears that it homes but there isn't any movement. If I forcibly move the axis to its home position and use the controls to move the x axis the tool head moves fine.
This occurred only after I walked through the CoreXY configuration. I'm sure I've done something inadvertently but cannot seem to find it. Please help. I've posted my config.g file, homing files and M122.
Config.g
; Configuration file for RepRapFirmware on Duet 3 Main Board 6HC ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.5.0-rc.2 on Wed Dec 27 2023 11:59:23 GMT-0700 (Mountain Standard Time) ; General M550 P"newVORON" ; set hostname ; Network M551 P"voron01" ; set UI password ; Wait a moment for the CAN expansion boards to become available G4 S2 ; Smart Drivers M569 P0.0 S0 D2 ; driver 0.0 goes backwards (X axis) M569 P0.0 S0 D2 ; driver 0.1 goes backwards (Y axis) M569 P0.2 S0 D2 ; driver 0.2 goes backwards (Z0 axis) P0 M569 P0.3 S1 D2 ; driver 0.3 goes forwards (Z1 axis) P1 M569 P0.4 S0 D2 ; driver 0.4 goes backwards (Z2 axis)P2 M569 P0.5 S1 D2 ; driver 0.5 goes forwards (Z3 axis) P3 M569 P1.0 S1 D2 ; driver 1.0 goes forwards (extruder 0) ; Motor Idle Current Reduction M906 I30 ; set motor current idle factor M84 S30 ; set motor current idle timeout ; Kinematics M669 K1 ; configure CoreXY kinematics ; Axes M584 X0.0 Y0.1 Z0.2:0.3:0.4:0.5 E1.0; set axis mapping ; Belt Locations M671 X-50:-50:400:400 Y-15:420:420:-15 S3 ; Define Z belts locations (Front_Left, Back_Left, Back_Right, Front_Right) M208 X0:350 Y0:350 ; set minimum and maximum axis limits M350 X16 Y16 Z16 I1 ; configure microstepping with interpolation M906 X1000 Y1000 Z800 ; set axis driver currents M92 X160 Y160 Z400 ; configure steps per mm M566 X8000 Y8000 Z900 ; set maximum instantaneous speed changes (mm/min) M203 X12000 Y12000 Z8000 ; set maximum speeds (mm/min) M201 X500 Y500 Z20 ; set accelerations (mm/s^2) ; Extruders M350 E16 I0 ; configure microstepping without interpolation M906 E1270 ; set extruder driver currents M92 E582 ; configure steps per mm M566 E120 ; set maximum instantaneous speed changes (mm/min) M203 E3600 ; set maximum speeds (mm/min) M201 E250 ; set accelerations (mm/s^2) ; Probes M558 P5 C"^0.io3.in" H4 F300:100 T12000 S0.01 A5 ; configure unfiltered digital probe via slot #0 G31 P500 X0 Y0 Z0.7 ; set Z probe trigger value, offset and trigger height ; Endstops M574 X2 P"io2.in" S1 ; configure X axis endstop M574 Y2 P"io1.in" S1 ; configure Y axis endstop M574 Z0 ; configure Z axis endstop ; Mesh Bed Compensation M557 X25:325 Y25:325 S100:100 ; define grid for mesh bed compensation ; Sensors M308 S0 P"temp0" Y"thermistor" A"Heated Bed" T100000 B4138 C7.06e-8 ; configure sensor #0 M308 S1 P"temp1" Y"thermistor" A"DYZE" T500000 B4723 C1.19622e-7 ; configure sensor #1 M308 S2 Y"drivers" A"MCU-TEMP" ; configure sensor #2 ; Heaters M950 H0 C"out0" T0 ; create heater #0 M143 H0 P0 T0 C0 S120 A0 ; configure heater monitor #0 for heater #0 M307 H0 R0.302 K0.730:0.000 D27.70 E1.35 S1.00 B0 M950 H1 C"out1" T1 ; create heater #1 M143 H1 P0 T1 C0 S285 A0 ; configure heater monitor #0 for heater #1 M307 H1 R2.43 D5.5 E1.35 K0.56 B0 ; configure model of heater #1 ; Heated beds M140 P0 H0 ; configure heated bed #0 ; Fans M950 F0 C"out8" ; create fan #0 M106 P0 C"PART FAN" S0 B0.1 H1 T45 ; configure fan #0 M950 F1 C"out9" ; create fan #1 M106 P1 C"HOT END COOLING" S0 B0.1 H1 T45 ; configure fan #1 M950 F2 C"1.out3" Q500; create fan #2 M106 P2 C"CHAMBER FAN" S0 B0.1 H1 T45 ; configure fan #2 M950 F3 C"1.out6" Q500; create fan #3 M106 P3 C"ELECTRONICS COOLING" S3 B0.1 H0 T30 ; configure fan #3 ; Tools M563 P0 S"DYZE EXTRUDER" D0 H1 F0 ; create tool #0 M568 P0 R0 S0 ; set initial tool #0 active and standby temperatures to 0C ; Miscellaneous T0 ; select first tool
homex.g
; lift Z G91 ; relative positioning G1 H2 Z25 F12000 ; move Z relative to current position to avoid dragging nozzle over the bed G90 ; absolute positioning ; home X 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} F6000 ; coarse home in the +X direction G1 H1 X{var.xTravel} F300 ; fine home in the +X direction G90 ; absolute positioning
homey.g
; homey.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v3.5.0-rc.2 on Wed Dec 27 2023 11:01:42 GMT-0700 (Mountain Standard Time) ; lift Z G91 ; relative positioning G1 H2 Z25 F12000 ; 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 Y{var.yTravel} F6000 ; coarse home in the +Y direction G1 H1 Y{var.yTravel} F300 ; fine home in the +Y direction G90 ; absolute positioning
M122:
m122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.5beta1 (2022-12-23 18:27:08) running on Duet 3 MB6HC v1.01 (SBC mode) Board ID: 08DJM-956BA-NA3TN-6J9D0-3S86P-1VBYT Used output buffers: 1 of 40 (17 max) === RTOS === Static ram: 151524 Dynamic ram: 73956 of which 0 recycled Never used RAM 122264, free system stack 142 words Tasks: SBC(ready,0.7%,458) HEAT(notifyWait,0.0%,321) Move(notifyWait,0.0%,251) CanReceiv(notifyWait,0.0%,773) CanSender(notifyWait,0.0%,335) CanClock(delaying,0.0%,340) TMC(notifyWait,7.9%,56) MAIN(running,91.3%,953) IDLE(ready,0.1%,30), total 100.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 00:41:04 ago, cause: software Last software reset at 2023-12-29 09:22, reason: User, GCodes spinning, available RAM 122060, slot 0 Software reset code 0x6003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a Error status: 0x00 Step timer max interval 135 MCU temperature: min 44.7, current 46.2, max 46.3 Supply voltage: min 24.1, current 24.1, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.1, current 12.1, max 12.2, under voltage events: 0 Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/192/192, gc cycles 0 Events: 2 queued, 2 completed Driver 0: standstill, SG min 0, mspos 88, reads 3193, writes 58 timeouts 0 Driver 1: standstill, SG min 0, mspos 56, reads 3197, writes 54 timeouts 0 Driver 2: standstill, SG min 0, mspos 840, reads 3219, writes 32 timeouts 0 Driver 3: standstill, SG min 0, mspos 24, reads 3219, writes 32 timeouts 0 Driver 4: standstill, SG min 0, mspos 216, reads 3219, writes 32 timeouts 0 Driver 5: standstill, SG min 0, mspos 520, reads 3219, writes 32 timeouts 0 Date/time: 2023-12-29 10:03:55 Slowest loop: 55.02ms; fastest: 0.04ms === Storage === Free file entries: 10 SD card 0 not detected, interface speed: 37.5MBytes/sec SD card longest read time 0.0ms, write time 0.0ms, max retries 0 === Move === DMs created 125, segments created 3, maxWait 1071967ms, bed compensation in use: none, comp offset 0.000 no step interrupt scheduled === DDARing 0 === Scheduled moves 112, completed 112, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 8], 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 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 === GCodes === Movement locks held by null, null HTTP* is doing "M122" 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 0x1000007 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 22172, received 29562, lost 0, boc 0 Longest wait 1ms for reply type 6018, peak Tx sync delay 30154, free buffers 50 (min 49), ts 12321/12320/0 Tx timeouts 0,0,0,0,0,0 === SBC interface === Transfer state: 5, failed transfers: 0, checksum errors: 0 RX/TX seq numbers: 36482/36482 SPI underruns 0, overruns 0 State: 5, disconnects: 0, timeouts: 0 total, 0 by SBC, IAP RAM available 0x29b04 Buffer RX/TX: 0/0-0, open files: 0 === Duet Control Server === Duet Control Server v3.4.6 Failed to deserialize the following properties: - InputChannel -> CodeChannel from "File2" Code buffer space: 4096 Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0 Full transfers per second: 41.44, max time between full transfers: 71.3ms, max pin wait times: 71.0ms/19.1ms Codes per second: 0.14 Maximum length of RX/TX data transfers: 4192/880
-
solved....it was as bad limit switch and a lose wire on the B-motor. Once I replaced the both the machine moved as expected.
-
-