Endstop Not stopping Movement
-
So if you command a Y or X movement in the DWC it will move correctly?
It's just homex.g that doesn't move properly? or do you mean the endstop doesn't trigger properly?
-
When I send a move command the machine moves correctly the issue is that when I issue a Home command on either X or Y that only one Stepper moves and does not stop when the end stop is triggered.
-
I see your problem.
; homex.g ; called to home the X axis ; ; generated by RepRapFirmware Configuration Tool on Tue Sep 04 2018 19:39:36 GMT-0700 (Pacific Daylight Time) G91 ; relative positioning G1 Z5 F6000 S2 ; lift Z relative to current position G1 S2 X-305 F1800 ; move quickly to X axis endstop and stop there (first pass) G1 X-5 F6000 ; go back a few mm G1 S2 X-305 F360 ; move slowly to X axis endstop once more (second pass) G1 Z-5 F6000 S2 ; lower Z again G90 ; absolute positioning
Your X moves to seek the endstop need to be S1, not S2. HomeY and homeall are ok. See if that solves the problem.
-
ok So I went and and made the changes and it did not do what I thought it would so I re-Tested my Direction settings
<code>; Machine configuration
M569 P0 S1 ; Drive 0 goes forwards (change to S0 to reverse it) X-Axis
M569 P1 S1 ; Drive 1 goes forwards Y-Axis
M569 P2 S0 ; Drive 2 goes forwards Z-Axis
M569 P3 R-1 ; Drive 3 goes forwards
M569 P4 S1 ; Drive 4 goes forwards<\code>now when I test and change my P0 from "S1" my X-axis moves to "S0" my Y-Axis moves
I feel like I am loosing it. Is there a working config I can just buy from someone?
-
I think you misunderstood me. The S2 and S1 I was referring to are in your homex.g.
G1 S2 lets you move an axis that isn't homed. G1 S1 moves until an endstop is hit.
The motor direction settings in M569 will depend on how you have the motor wired, so there's no one config that will work unless the phases of the motors are also wired the same. But that's why there is the movement test for Core XY to verify that the motors are turning correctly. I think you verified they were?
-
I made the changes in my Homex.g and still only 1 stepper motor moved making the print head pull to one side the front left. So i double checked my Config.g to make sure my "X -10" moved towards my endstop. I then confirmed with the Y-Axis as well. As I switched the "S1" to "S0" instead of the X-Axis moving the Y-Axis would move.
-
Ok, so the endstop triggers now though right?
You should be using this procedure to test your motor movements for CoreXY
https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCoreXYPrinter#Section_Movement_section
For a CoreXY or H-Bot machine, RepRapFirmware assumes that the motor connected to the X motor output moves the head in the +X and +Y directions when it runs forwards, and that the Y motor moves the head in +X and -Y directions when it runs forwards. [Note: firmware 1.18 and earlier assumes that the motor connected to the Y motor output moves the head in the -X and +Y directions when it runs forwards]. So you can start with these M569 commands in config.g:
M569 P0 S0 ; X motor runs forwards
M569 P1 S0 ; Y motor runs forwards
Then test for the correct X motor movement by sending these commands from the console:G91
G1 S2 X10 F3000
If the head moves diagonally in the +X and +Y directions, all is well. If it moves in the -X and -Y directions, change the S parameter to S1 in the M569 P0 command. If it moves towards +X and -Y, or towards -X and +Y, turn the power off and swap the X and Y motor connections.When you have the X motor moving correctly, test the Y motor by sending from the console:
G91
G1 S2 Y10 F3000
For firmware 1.19 and later: If the head moves diagonally in the +X and -Y directions, all is well. If it moves in the -X and +Y directions, change the S parameter in the M569 P1 command to S1.For firmware 1.18 and earlier: If the head moves diagonally in the -X and +Y directions, all is well. If it moves in the +X and -Y directions, change the S parameter in the M569 P1 command to S1.
Important: make sure that you have chosen a right-hand axis system. That is, looking down on the printer the +Y direction should be 90 degrees anticlockwise from the +X direction. If instead it is 90 degrees clockwise, you have a left-hand axis system, which will give you mirror-image prints.
-
Ok so I ended up having to swap my X-axis and Y-axis motors (i did not think going from 1.18 to 1.20 would require a hardware rewire) but per the last post everything moves as it should.
The problem is still my homing files when i home x or why only that motor turns until its hits the end of the track and starts skipping teeth on the belt.
-
@sharpie I assumed you'd made the motor direction change after deckingmans first post way back at the start of the thread.
Now that you have that sorted I think the homing should be solved if you changed the the S2 flag as I mentioned. It should match the homey.g file which is correct.
The jump from 1.18 to 1.20 is a pretty big one. Always a good idea to read the release notes for major changes in all the versions between what you're updating from and what you're updating to. But now that you've made that jump the updates after 1.21 are pretty seamless.
-
ok, with those changes I now Home correctly, Thanks =D
New problem after it is homed the print head does not move to the forward position ie..the front Left corner. It stays in the back left so when I send a print file for it it tries to move backwards which it cant as its already all the way back.
-
I think there is a disconnect between what your printer thinks is the origin and what your slicer thinks is the origin.
From above:
Important: make sure that you have chosen a right-hand axis system. That is, looking down on the printer the +Y direction should be 90 degrees anticlockwise from the +X direction. If instead it is 90 degrees clockwise, you have a left-hand axis system, which will give you mirror-image prints.
Take a look at this as well.
https://drmrehorst.blogspot.com/2017/08/setting-up-3d-printers-origin.html -
@sharpie said in Endstop Not stopping Movement:
ok, with those changes I now Home correctly, Thanks =D
New problem after it is homed the print head does not move to the forward position ie..the front Left corner. It stays in the back left so when I send a print file for it it tries to move backwards which it cant as its already all the way back.
You should not have swapped the X and Y motors. All you needed to do to account for the firmware change was to reverse the Y motor direction in the M569 command. I think that swapping the motors has given you a left hand coordinate system.
-
I have swapped my motors back to the original settings the problem I am getting now is when I home I still either dont stop when the end stop is hit or the head goes the wrong way. then when I flip the S1 to and S0 to reverse it then try to move the head the opposite axis moved instead. Does anyone have a working config I can start from so I can figure this out?
Thanks already for all your guys help
-
First, test that when you use the X and Y jog buttons, the head moves in the correct directions. You can send M562 H0 first to allow movement before homing. Next, operate the X and Y homing switches manually and use the M119 command to check whether they are reporting the correct stopped/not stopped status for the correct axes.
-
OK I can get the system to home to the endstops but my print head stays in the back Left and does not move to the front left after homing. but on a plus note I have gotten it to move to the endstops and stop.
-
If the Y end stop is at the back, and the X end stop is at the left, then yes, it will just stay at the back left after homing. If you want it to move somewhere else after homing you can tell it to move there by adding the movement command to the end of your homeall.g
Something like
G90 ; absolute movement mode
G1 Y0 X0That tells it to go to the 0,0 origin point, which should be the front left.
Just make sure that your path of travel is clear for this move. The nozzle should be clear of the bed surface so it doesn't drag and there shouldn't be anything for the print head to strike along the edges. If the print head can't actually reach 0,0 you can change the values of X and Y to account for the size of the carriage.