Mirrored X axis
-
Hello I have been printing for a long time and have recently bought a FT5, which I am not thrilled with but oh well. I have recently upgraded the board with the duet 3D wifi and I love it! However my axis in the x axis is still flipped! I had to move my axis end-stop (because it was in the wrong stop) so now it should be homing at the back right. However my x goes in the opposite direction. Please help!
-
the homing moves are defined in the home[xyzall].g files. if you want to change the direction. you will need to edit them.
-
Use a M569 command in config.g to reverse the X axis direction. See the GCodes page on the wiki.
-
Hello again, I tried this however when I press home all it still does the same thing. I then changed the home all file and it seemed to work. But when I tried to print something the motors drove in the opposite direction for the x/y and then only the y moved but only a little. So it was 'printing" in the back corner. I am not sure what is going on. I tired recreating the configuration settings and now nothing is moving. Really confused... what should my next step be?
-
Okay I tried uploading new config.g file and now I can't eve connect to the board...
-
Can you post your config files and homing files?
There have been a few other posts about the FT5 such as this one. The confusion arises from the fact it uses the back right as the 0,0 point rather than the front left.
Take a look at these posts: https://forum.duet3d.com/search?term=ft5&in=titlesposts
-
config.g
;;
;; Folgertech FT5 Configuration
M111 S0 ; Debugging off
G21 ; Work in millimetres
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder moves
M555 P2 ; Set firmware compatibility to look like Marlin
M208 X0 Y0 Z0 S1 ; Set axis minima
M208 X305 Y304 Z410 S0 ; Set axis maximaM574 Y2 X2 Z0 S0 ; Define active high microswitches
M558 P5 X0 Y0 Z1 H5 F120 T6000 ; Set Z probe type for BLTouch
G31 P50 X-20.00 Y0 Z1.50 ; Set Z probe trigger value, offset and trigger heightM584 X0 Y1:4 Z2 E3 ; Map to specific drives
M569 P0 S1 ; Drive 0 - X
M569 P1 S1 ; Drive 1 - Y
M569 P2 S1 ; Drive 2 - Z
M569 P3 S1 ; Drive 3 - E0
M569 P4 S1 ; Drive 4 - YM350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
M92 X80 Y80 Z399 E492.45 ; Set steps per mm
M566 X1200 Y1200 Z60 E120 ; Set maximum instantaneous speed changes (mm/min)
M203 X8000 Y8000 Z600 E1200 ; Set maximum speeds (mm/min)
M201 X1500 Y1500 Z500 E250 ; Set accelerations (mm/s^2)
M906 X1000 Y1000 Z1200 E900 I30 ; Set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeoutM143 S260 ; Set maximum heater temperature to 260C
M305 P0 T100000 B3950 C0 R4700 ; Set thermistor + ADC parameters for heated bed (Heater 0)
M305 P1 T100000 B4388 C0 R4700 ; Set thermistor + ADC parameters for E0 (Heater 1)M307 H0 A281.7 C430.4 D4.4 B0 ; Bed PID
M307 H1 A344.7 C122.8 D5.5 B0 ; Hotend PID
M307 H3 A-1 C-1 D-1 ; BLTouchM563 P0 D0 H1 ; Define tool 0
G10 P0 X0 Y0 ; Set tool 0 axis offsets
G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0CM550 PGraceFT5 ; Set machine name
M552 P192.168.1.12 S1 ; Enable network and acquire dynamic address via DHCPM106 P0 S0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
M106 P1 S255 I0 F500 H1 T50 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
M106 P2 S255 I0 F500 H1 T50 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned onT0 ; Select first tool
homeall
; /sys/homeall.gG28 X ; home X
G28 Y ; home Y
G28 Z ; home Z -
Currently my x and y home but go to 300 after hitting end stops and my z does not move at all. Sorry for the late response. Thanks for all the help so far!
-
@Grace-Dert said in Mirrored X axis:
homeall
; /sys/homeall.g
G28 X ; home X
G28 Y ; home Y
G28 Z ; home ZWe're gonna need to see all the homing files.
In general, here's what you need to do to define your coordinate system. The FT5 is a little tricky because by default it puts the origin at the rear right, and has some printed grid on the bed surface (I think?) but really it's all arbitrary.
First, choose a FRONT for the printer so that when you're looking at it standing in front of it 0,0 is the front left corner, X+ goes to the right, Y+ goes to the back. This does not change because it's describing the physical layout of the printer.
Next, Measure the axis length for X and Y and enter that in your M208 command to set the axis limits. 0 at the low end (or even negative if the head leaves the bed surface to hit the endstop). This does not change because it's describing the physical layout of the printer.
Now identify where your endstops are located. They can be at the low or high end of the axis. Define them with M574. M574 X1 Y1 for low side, M574 X2 Y2 for high side, or any combo thereof. This does not change because it's describing the physical layout of the printer.
Now setup your homing movements. If the endstop is at the low end of the axis, the homing move must be negative. And vice versa. This does not change because it's describing the physical layout of the printer.
Now test the motor movement direction. using this page: https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCoreXYPrinter#Section_Testing_motor_movement
If X+ moves to the right, you're good to go. If it moves left, you need to change the motor rotation for the X driver by changing the M569 S0/S1 command in config.g. Same goes for Y+ moving to the back. If you've connected the motors to their default drivers, it should be mapped like this:
M569 P0 S0 ; Drive 0 (x) goes backwards M569 P1 S0 ; Drive 1 (y) goes backwards M569 P2 S0 ; Drive 2 (z) goes backwards M569 P3 S0 ; Drive 3 (e) goes backwards
If you follow those steps your printed parts will match the orientation in the slicer and won't be mirrored.
I think what has happened is that you moved the endstop but didn't change the M574 command to match.
-
@Phaedrux
Home x
; /sys/homex.gM402 ; make sure the probe is retracted
G1 X310 F5000 S1 ; move quickly to X axis endstop and stop there (first pass)
G91 ; relative moves
G1 X-5 F6000 ; go back a 5mm
G90 ; absolute moves
M400 ; wait for the move to completeG1 X310 F360 S1 ; move slowly to X axis endstop once more (second pass)
Home y
; /sys/homey.gM402 ; make sure the probe is retracted
G1 Y310 F6000 S1 ; move quickly to Y axis endstop and stop there (first pass)
G91 ; relative moves
G1 Y-5 F6000 ; go back a 5mm
G90 ; absolute moves
M400 ; wait for the move to completeG1 Y310 F360 S1 ; move slowly to Y axis endstop once more (second pass)
Home z
; /sys/homez.gM280 P3 S160 I1 ; reset gcode for bltouch
M400 ; wait for reset to complete
M558 F300 ; set probe speed to 300mm/minG91 ; relative moves
G1 Z10 F8000 ; move bed down 10mm
G90 ; absolute moves
M400 ; wait for the move to completeG1 X300 Y300 F8000 ; move to probe position
M400 ; wait for the move to completeM401 ; deploy probe
G30 ; probe
M402 ; retect probe
G91 ; relative moves
G1 Z4 F8000 ; move bed down 4mm
G90 ; absolute moves
M400 ; wait for the move to completeM558 F80 ; set probe speed to 80mm/min
M401 ; deploy probeG30 ; probe
M402 ; retract probe
G91 ; relative moves
G1 Z4 F8000 ; move bed down 4mm
G90 ; absolute moves
M400 ; wait for the move to completeM558 F200 ; set probe speed to 300mm/min
-
So I currently got my x and y homing but I just want to check and see if I did it right if you don't mind. However my z axis is not moving at all which is odd...
Config
M111 S0 ; Debugging off
G21 ; Work in millimetres
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder moves
M555 P2 ; Set firmware compatibility to look like Marlin
M208 X0 Y0 Z0 S1 ; Set axis minima
M208 X300 Y300 Z300 S0 ; Set axis maximaM574 X2 Y2 Z1 S0 ; Define active high microswitches
;M558 P5 X0 Y0 Z1 H5 F120 T6000 ; Set Z probe type for BLTouch
;G31 P50 X-20.00 Y0 Z1.50 ; Set Z probe trigger value, offset and trigger heightM584 X0 Y1:4 Z2 E3 ; Map to specific drives
M569 P0 S1 ; Drive 0 - X
M569 P1 S1 ; Drive 1 - Y
M569 P2 S1 ; Drive 2 - Z
M569 P3 S0 ; Drive 3 - E0
;M569 P4 S1 ; Drive 4 - YM350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
M92 X80 Y80 Z399 E492.45 ; Set steps per mm
M566 X1200 Y1200 Z60 E120 ; Set maximum instantaneous speed changes (mm/min)
M203 X8000 Y8000 Z600 E1200 ; Set maximum speeds (mm/min)
M201 X1500 Y1500 Z500 E250 ; Set accelerations (mm/s^2)
M906 X1000 Y1000 Z1200 E900 I30 ; Set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeoutM143 S260 ; Set maximum heater temperature to 260C
M305 P0 T100000 B3950 C0 R4700 ; Set thermistor + ADC parameters for heated bed (Heater 0)
M305 P1 T100000 B4388 C0 R4700 ; Set thermistor + ADC parameters for E0 (Heater 1)M307 H0 A281.7 C430.4 D4.4 B0 ; Bed PID
M307 H1 A344.7 C122.8 D5.5 B0 ; Hotend PID
M307 H3 A-1 C-1 D-1 ; BLTouchM563 P0 D0 H1 ; Define tool 0
G10 P0 X0 Y0 ; Set tool 0 axis offsets
G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0CM550 PGraceFT5 ; Set machine name
M552 P192.168.1.12 S1 ; Enable network and acquire dynamic address via DHCPM106 P0 S0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
M106 P1 S255 I0 F500 H1 T50 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
M106 P2 S255 I0 F500 H1 T50 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned onT0 ; Select first tool
home x
G1 X300 F5000 S1 ; move quickly to X axis endstop and stop there (first pass)G91 ; relative moves
G1 X-5 F6000 ; go back a 5mm
G90 ; absolute moves
M400 ; wait for the move to completeG1 X300 F360 S1 ; move slowly to X axis endstop once more (second pass)
home y
G1 Y300 F6000 S1 ; move quickly to Y axis endstop and stop there (first pass)G91 ; relative moves
G1 Y-5 F6000 ; go back a 5mm
G90 ; absolute moves
M400 ; wait for the move to completeG1 Y300 F360 S1 ; move slowly to Y axis endstop once more (second pass)
-
So I think I fixed everything! Maybe... everything homes now and so far doesn't appear mirrored. Thanks so much for the help so far!
Home xM402 ; make sure the probe is retracted
G1 X300 F5000 S1 ; move quickly to X axis endstop and stop there (first pass)
G91 ; relative moves
G1 X-5 F6000 ; go back a 5mm
G90 ; absolute moves
M400 ; wait for the move to completeG1 X300 F360 S1 ; move slowly to X axis endstop once more (second pass)
Home yM402 ; make sure the probe is retracted
G1 Y300 F6000 S1 ; move quickly to Y axis endstop and stop there (first pass)
G91 ; relative moves
G1 Y-5 F6000 ; go back a 5mm
G90 ; absolute moves
M400 ; wait for the move to completeG1 Y300 F360 S1 ; move slowly to Y axis endstop once more (second pass)
Home z
G1 Z-300 F5000 S1 ; move quickly to X axis endstop and stop there (first pass)G91 ; relative moves
G1 Z5 F6000 ; go back a 5mm
G90 ; absolute moves
M400 ; wait for the move to completeG1 Z-300 F360 S1 ; move slowly to X axis endstop once more (second pass)
Config
M111 S0 ; Debugging off
G21 ; Work in millimetres
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder moves
M555 P2 ; Set firmware compatibility to look like Marlin
M208 X0 Y0 Z0 S1 ; Set axis minima
M208 X300 Y300 Z300 S0 ; Set axis maximaM574 X2 Y2 Z0 S0 ; Define active high microswitches
;M558 P5 X0 Y0 Z1 H5 F120 T6000 ; Set Z probe type for BLTouch
;G31 P50 X-20.00 Y0 Z1.50 ; Set Z probe trigger value, offset and trigger heightM584 X0 Y1:4 Z2 E3 ; Map to specific drives
M569 P0 S1 ; Drive 0 - X
M569 P1 S1 ; Drive 1 - Y
M569 P2 S0 ; Drive 2 - Z
M569 P3 S0 ; Drive 3 - E0
;M569 P4 S1 ; Drive 4 - YM350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
M92 X80 Y80 Z399 E492.45 ; Set steps per mm
M566 X1200 Y1200 Z60 E120 ; Set maximum instantaneous speed changes (mm/min)
M203 X8000 Y8000 Z600 E1200 ; Set maximum speeds (mm/min)
M201 X1500 Y1500 Z500 E250 ; Set accelerations (mm/s^2)
M906 X1000 Y1000 Z1000 E900 I30 ; Set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeoutM143 S260 ; Set maximum heater temperature to 260C
M305 P0 T100000 B3950 C0 R4700 ; Set thermistor + ADC parameters for heated bed (Heater 0)
M305 P1 T100000 B4388 C0 R4700 ; Set thermistor + ADC parameters for E0 (Heater 1)M307 H0 A281.7 C430.4 D4.4 B0 ; Bed PID
M307 H1 A344.7 C122.8 D5.5 B0 ; Hotend PID
M307 H3 A-1 C-1 D-1 ; BLTouchM563 P0 D0 H1 ; Define tool 0
G10 P0 X0 Y0 ; Set tool 0 axis offsets
G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0CM550 PGraceFT5 ; Set machine name
M552 P192.168.1.14 S1 ; Enable network and acquire dynamic address via DHCPM106 P0 S0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
M106 P1 S255 I0 F500 H1 T50 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
M106 P2 S255 I0 F500 H1 T50 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned onT0 ; Select first tool
-
@Grace-Dert said in Mirrored X axis:
M401 ; deploy probe
G30 ; probe
M402 ; retect probeAre you using an endstop or a z probe to home the Z axis?
-
@Phaedrux endstop
-
@Grace-Dert said in Mirrored X axis:
M574 X2 Y2 Z0 S0 ; Define active high microswitches
In that case you should change that Z0 to Z1 (assuming it's a zmin endstop). Z0 means no endstop configured.