XY Home OK, but then Y is inverted
-
Post your config.g and homing macros please.
You'll likely need to go through this test to determine what needs to be changed.
https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCoreXYPrinter#Section_Testing_motor_movement
-
@guitartoys
This setup guide is a good starting point.But before you can follow it, you should have set up your endstops and endstop macros to home to 0,0.
-
Hi, Just to confirm the behavior. Right now, with the code pasted below.
X Homes and shows 0
Y Homes and shows 415
X positive movement moves right, and increases the value of X
Y negative movement moves back, and descrease the value of Y; General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"Duet 3" ; set printer name
M669 K1 ; select CoreXY mode; Drives
M569 P0.1 S1 ; physical drive 0.1 goes forwards
M569 P0.2 S1 ; physical drive 0.2 goes forwards
M569 P0.5 S1 ; physical drive 0.5 goes forwards
M569 P0.0 S1 ; physical drive 0.0 goes forwards
M584 X0.1 Y0.2 Z0.3:4:5 E0.0 ; set drive mapping
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
M92 X160.00 Y160.00 Z1600.00 E409.00 ; set steps per mm
M566 X1200.00 Y1200.00 Z30.00 E1200.00 ; set maximum instantaneous speed changes (mm/min)
M203 X18000.00 Y18000.00 Z1800.00 E3000.00 ; set maximum speeds (mm/min)
M201 X1600.00 Y1600.00 Z100.00 E750.00 ; set accelerations (mm/s^2)
M906 X1200 Y1200 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout
M671 X-5.86:220.349:446.558 Y-10.411:417.799:-10.411 S50 ;Z-Lift position, based off of HeVORT spreadsheet; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X415 Y415 Z590 S0 ; set axis maxima; Endstops
M574 X1 S1 P"io0.in" ; configure active-high endstop for low end on X via pin io0.in
M574 Y2 S1 P"io1.in" ; configure active-high endstop for high end on Y via pin io1.in ME TYPING
M574 Z1 S2 ; configure Z-probe endstop for low end on Z -
@guitartoys said in XY Home OK, but then Y is inverted:
M574 Y2 S1 P"io1.in"
you've set your endstop to the high end (Y2)
effectively, this will grab the axis maxima as the location of that endstop when triggered, which in this case is 415mm
You need to change that to Y1 -
@jay_s_uk
Hi, I realized that, as it was the only way that it would work before.So I just followed: https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCoreXYPrinter#Section_Testing_motor_movement
What I ended up doing was swapping the port assignment for X&Y.
Running the G1 H2 X1- F3000 moves the head to the right and back. Which shows to be the proper coordinate increase in values
Running the G1 H2 Y10 F3000 moves the head to the right and closer. Which shows the proper increase in X and the decrease in Y.
I did flip the M574 command to Y1 to be low.
When I home X, all is good.
But when I home Y, it now moves away (back) heading to slam into the back, so I have to kill it.
Could this be in a home file?
This is my code now.
; General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"Duet 3" ; set printer name
M669 K1 ; select CoreXY mode; Drives
M569 P0.1 S1 ; physical drive 0.1 goes forwards
M569 P0.2 S1 ; physical drive 0.2 goes forwards
M569 P0.5 S1 ; physical drive 0.5 goes forwards
M569 P0.0 S1 ; physical drive 0.0 goes forwards
M584 X0.2 Y0.1 Z0.3:4:5 E0.0 ; set drive mapping
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
M92 X160.00 Y160.00 Z1600.00 E409.00 ; set steps per mm
M566 X1200.00 Y1200.00 Z30.00 E1200.00 ; set maximum instantaneous speed changes (mm/min)
M203 X18000.00 Y18000.00 Z1800.00 E3000.00 ; set maximum speeds (mm/min)
M201 X1600.00 Y1600.00 Z100.00 E750.00 ; set accelerations (mm/s^2)
M906 X1200 Y1200 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout
M671 X-5.86:220.349:446.558 Y-10.411:417.799:-10.411 S50 ;Z-Lift position, based off of HeVORT spreadsheet; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X415 Y415 Z590 S0 ; set axis maxima; Endstops
M574 X1 S1 P"io0.in" ; configure active-high endstop for low end on X via pin io0.in
M574 Y1 S1 P"io1.in" ; configure active-high endstop for high end on Y via pin io1.in ME TYPING
M574 Z1 S2 ; configure Z-probe endstop for low end on Z -
@guitartoys whats in your homeall and homey files?
-
Here's my Home Y
; homey.g
; called to home the Y axis
;
; generated by RepRapFirmware Configuration Tool v3.2.3 on Tue Jun 15 2021 21:49:57 GMT-0400 (Eastern Daylight Time)
G91 ; relative positioning
G1 H2 Z15 F9000 ; lift Z relative to current position
G1 H1 Y420 F3000 ; move quickly to Y axis endstop and stop there (first pass)
G1 Y-5 F9000 ; go back a few mm
G1 H1 Y420 F360 ; move slowly to Y axis endstop once more (second pass)
G1 H2 Z-15 F9000 ; lower Z again
G90 ; absolute positioningAnd here's the HomeAll
; homeall.g
; called to home all axes
;
; generated by RepRapFirmware Configuration Tool v3.2.3 on Tue Jun 15 2021 21:49:57 GMT-0400 (Eastern Daylight Time)
G91 ; relative positioning
G1 H2 Z15 F9000 ; lift Z relative to current position
G1 H1 X-420 Y420 F3000 ; move quickly to X or Y endstop and stop there (first pass)
G1 H1 X-420 ; home X axis
G1 H1 Y420 ; home Y axis
G1 X5 Y-5 F9000 ; go back a few mm
G1 H1 X-420 F360 ; move slowly to X axis endstop once more (second pass)
G1 H1 Y420 ; then move slowly to Y axis endstop
G90 ; absolute positioning
G1 X15 Y15 F9000 ; go to first bed probe point and home Z
G30 ; home Z by probing the bed; Uncomment the following lines to lift Z after probing
;G91 ; relative positioning
;G1 Z15 F150 ; lift Z relative to current position
;G90 ; absolute positioning -
@jay_s_uk I think I see it. The Home Y goes to 415 instead of 0
-
@guitartoys yep, thats it
-
@jay_s_uk Wa hoo. got it. Because I initially had the Y flag set at max, the configurator set the homing files to have +420 for Y when it should have been -420
Next item checked off the list.
Thanks.