CoreXY not homing/moving as expected
-
Good evening everyone,
I am stuck in the final steps of getting my Sapphire Plus up and running with a wifi 2 board. I have everything setup correctly and I am ready for the first test print, but when I go to home the printer will only move a few mm and stop, it will not move until it hits any endstops. When I move the X it will only move 40mm in the wrong direction I tell it, and the Y will only move 10mm in the wrong direction. I have also had it hit the endstops and not stop, even though the leds light up on the board when I hit them manually or when the gantry does. I have attached the config.json file below, anything helps!
config.json -
The first thing you need to do is verify that you can jog the X and Y from the DWC and each axis moves in the correct direction for the jog button clicked.
Also to see you files we need
- config.g
- homeall.g
- homex.g
- homey.g
- homez.g
Please copy-and-paste each one into a </> tag.
Thanks.
Frederick
-
In addition to all that, take a close look at this guide for CoreXY.
https://docs.duet3d.com/en/User_manual/Machine_configuration/Configuration_coreXY
The combined motor movement will require some testing to figure out the correct settings. This has a knock on effect on the endstop config and homing directions.
-
@fcwilt Sorry about that! Here they are!
; Configuration file for Duet WiFi (firmware version 3.3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Mon Feb 14 2022 12:57:11 GMT-0500 (Eastern Standard Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Sapphire Plus" ; set printer name M669 K1 ; select CoreXY mode ; Network M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0 S1 ; physical drive 0 goes forwards M569 P1 S1 ; physical drive 1 goes forwards M569 P2 S1 ; physical drive 2 goes forwards M569 P3 S1 ; physical drive 3 goes forwards M584 X0 Y1 Z2 E3 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z400.00 E420.00 ; set steps per mm M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2) M906 X800 Y800 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X300 Y300 Z350 S0 ; set axis maxima ; Endstops M574 X2 S1 P"xstop" ; configure switch-type (e.g. microswitch) endstop for high end on X via pin xstop M574 Y2 S1 P"ystop" ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin ystop M574 Z2 S1 P"zstop" ; configure switch-type (e.g. microswitch) endstop for high end on Z via pin zstop ; Z-Probe M558 P0 H5 F120 T9000 ; disable Z probe but set dive height, probe speed and travel speed M557 X15:315 Y15:295 S20 ; define mesh grid ; Heaters M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0 M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S300 ; set temperature limit for heater 1 to 300C ; Fans M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 C"Part Cooling" S0 H0 T45 ; set fan 0 name and value. Thermostatic control is turned on M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 C"Side Fan" S1 H-1 ; set fan 1 name and value. Thermostatic control is turned off ; Tools M563 P0 D0 H1 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ; Custom settings are not defined
; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Mon Feb 14 2022 12:57:11 GMT-0500 (Eastern Standard Time) G91 ; relative positioning G1 H2 Z5 F9000 ; lift Z relative to current position G1 H1 X305 Y305 F1800 ; move quickly to X or Y endstop and stop there (first pass) G1 H1 X305 ; home X axis G1 H1 Y305 ; home Y axis G1 X-5 Y-5 F9000 ; go back a few mm G1 H1 X305 F360 ; move slowly to X axis endstop once more (second pass) G1 H1 Y305 ; then move slowly to Y axis endstop G1 H1 Z355 F360 ; move Z up stopping at the endstop G90 ; absolute positioning G92 Z350 ; set Z position to axis maximum (you may want to adjust this) ; Uncomment the following lines to lift Z after probing ;G91 ; relative positioning ;G1 Z5 F150 ; lift Z relative to current position ;G90 ; absolute positioning
; homex.g ; called to home the X axis ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Mon Feb 14 2022 12:57:11 GMT-0500 (Eastern Standard Time) G91 ; relative positioning G1 H2 Z5 F9000 ; lift Z relative to current position G1 H1 X305 F1800 ; move quickly to X axis endstop and stop there (first pass) G1 X-5 F9000 ; go back a few mm G1 H1 X305 F360 ; move slowly to X axis endstop once more (second pass) G1 H2 Z-5 F9000 ; lower Z again G90 ; absolute positioning
; homey.g ; called to home the Y axis ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Mon Feb 14 2022 12:57:11 GMT-0500 (Eastern Standard Time) G91 ; relative positioning G1 H2 Z5 F9000 ; lift Z relative to current position G1 H1 Y305 F1800 ; move quickly to Y axis endstop and stop there (first pass) G1 Y-5 F9000 ; go back a few mm G1 H1 Y305 F360 ; move slowly to Y axis endstop once more (second pass) G1 H2 Z-5 F9000 ; lower Z again G90 ; absolute positioning ` ; homez.g ; called to home the Z axis ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Mon Feb 14 2022 12:57:11 GMT-0500 (Eastern Standard Time) G91 ; relative positioning G1 H2 Z5 F9000 ; lift Z relative to current position G1 H1 Z355 F1800 ; move Z up until the endstop is triggered G92 Z350 ; set Z position to axis maximum (you may want to adjust this) ; Uncomment the following lines to lift Z after probing ;G91 ; relative positioning ;G1 Z5 F150 ; lift Z relative to current position ;G90 ; absolute positioning
-
Can you tell us where your endstops are physically located? If you're standing in front of the printer are the front or back for Y and left or right for X?
Did you have a chance to look at that corexy setup page? There are motor tests there that only you can do to determine the correct setup. We can't predict the correct settings from afar.
-
@phaedrux I have been on that page but didnt try the motor test, I will try that now!
-
So your X axis config for end stops and homing is backwards. It's on the left, so it is on the low end.
Should be
M574 X1 S1 P"xstop"
Then your homing files need to change to make the X homing moves go in the negative direction.
Like this
G1 H1 X-305 F1800 ; move quickly to X axis endstop and stop there (first pass) G1 X5 F9000 ; go back a few mm G1 H1 X-305 F360 ; move slowly to X axis endstop once more (second pass)
Those are just physical facts about your printer. You can't change them. The config must reflect them.
Once those changes are made you'll need to verify motor movement.
-x should move left, +x should move right, -y to the front, +y to the back.
If that isn't the case, then you'll need to use those motor tests described in the corexy setup to determine what needs to change. It's not as simple as with a cartesian printer with separate motors for X and Y. The tests will tell you what needs to change. Once that's done, homing and movement should follow through.
-
tpre0.g tpost0.g tfree0.g @phaedrux So I was able to go through the test and get all three axis to move in the correct direction. However when I go to home it, it still will not get anywhere close to the endstops. I also tried to trigger them by moving the print head in the dashboard but it just collided with all of the end stops, I tried each separately. The leds on the board trigger when I hit the endstops with my finger, and they do make contact with the print head. I even tried hitting different switches just in case I had them in the wrong slots. I have attached the current files as well, thank you so much for the continued help! config.g config.json homeall.g homex.g homey.g homez.g
-
@slabstations said in CoreXY not homing/moving as expected:
However when I go to home it, it still will not get anywhere close to the endstops.
Can you tell it to move 100mm in the dashboard and measure how much it actually moves? Your axis limits are set as 300mm and your homing moves are 305mm, so if the print head isn't hitting the endstop either your bed is larger than the limit, or it's not moving as much as it should be. That would mean the steps per mm is maybe incorrect.
You can check the endstop status with M119. You can use it to verify that the endstops are on the right axis and show triggered when they should be.
@slabstations said in CoreXY not homing/moving as expected:
I also tried to trigger them by moving the print head in the dashboard but it just collided with all of the end stops,
Endstops are only active during homing moves (G1 H1) as used in the homing macros.