Welcome! Log In Create A New Profile

Advanced

Issues with Homing X, Y, and Z motors

Posted by GreysonH 
Issues with Homing X, Y, and Z motors
March 03, 2013 09:24PM
Hey so I have reciently completed the building process of my RepRap Prusa i2 but I have run into a couple different problems when trying to move around / calibrate my motors. First of all I was running in to an issue with my Z axis motor going backwards but I fixed that by just flipping around the connector. Im wondering if my Y motors is moving in the right direction, If I Click + on Pronterface it moves towards me (towards the motor end of the Y axis) do I need to change this aswell?

Now Im also have issues with the endstops and homing... When ever I click the Home button for any of the printers in Pronterface It moves the respected carriage away from the endstop (the Z axis moves down towards the heating bed) and it crashes against the bars at the other end and grinds there for a while until backing up about 1mm. I have tried messing with the firmware to fix this to no avail. Even with the Z axis after I hit the home button it will travel all the way towards the heating bed and hit the machanical endstop but still not stop moving downwards.

I am running Marlin firmware on a Printrboard and these are my current settings:
Any Help would be Awesome!!!

// Endstop Settings
//#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors

// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.
const bool X_ENDSTOPS_INVERTING = false; // set to true to invert the logic of the endstops.
const bool Y_ENDSTOPS_INVERTING = false; // set to true to invert the logic of the endstops.
const bool Z_ENDSTOPS_INVERTING = false; // set to true to invert the logic of the endstops.
#define DISABLE_MAX_ENDSTOPS

// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
#define X_ENABLE_ON 0
#define Y_ENABLE_ON 0
#define Z_ENABLE_ON 0
#define E_ENABLE_ON 0 // For all extruders

// Disables axis when it's not being used.
#define DISABLE_X true
#define DISABLE_Y false
#define DISABLE_Z true
#define DISABLE_E false // For all extruders

#define INVERT_X_DIR false // for Mendel set to false, for Orca set to true
#define INVERT_Y_DIR true // for Mendel set to true, for Orca set to false
#define INVERT_Z_DIR false // for Mendel set to false, for Orca set to true
#define INVERT_E0_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E1_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E2_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false

// ENDSTOP SETTINGS:
// Sets direction of endstops when homing; 1=MAX, -1=MIN
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1

#define min_software_endstops true //If true, axis won't move to coordinates less than HOME_POS.
#define max_software_endstops true //If true, axis won't move to coordinates greater than the defined lengths below.
#define X_MAX_LENGTH 180
#define Y_MAX_LENGTH 180
#define Z_MAX_LENGTH 140

// The position of the homing switches. Use MAX_LENGTH * -0.5 if the center should be 0, 0, 0
#define X_HOME_POS 0
#define Y_HOME_POS 0
#define Z_HOME_POS 0

//// MOVEMENT SETTINGS
#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E
#define HOMING_FEEDRATE {50*60, 50*60, 50, 0} // set the homing speeds (mm/min)
Re: Issues with Homing X, Y, and Z motors
March 04, 2013 11:49AM
Sounds like all of your movement is correct, but you have the at least your Z endstop at the wrong end of the axis for your config file.

For the X axis, positive motion is the carriage moving to the right, negative to the left

For the Y axis, positive moves the bed towards the front of the printer, negative towards the back

For the Z axis, positive moves the print head up, and negative down.

Your config file says that the home position for each axis is at 0. This means that when you press the home button, the head will move down and to the left while the bed moves towards the back. The motion will only stop when it hits and end stop, so for this setup, the Z endstop needs to be at the bottom of the axis, the X endstop on the left, and the Y endstop in the rear.

Of course this is all configurable in the firmware. I've never done it, but I guess you could have the Z endstop be at the top by changing the value of Z_HOME_POS, but this does NOT guarantee that you will not crash into the bed. The Z endstop has to be at an exact altitude because after it homes, it is going to drop down to the first layer height to start printing. If you haven't positioned your endstop accurately, this first movement can crash into the bed
Re: Issues with Homing X, Y, and Z motors
March 04, 2013 12:23PM
Thanks for the reply and info! I will make the changes to my X and Y endstop locations when I get home. But my Z endstop is at the bottom near the heating bed. When I clicked the home button for the Z axis the extruder traveled down towards the heating bed and hit the endstop but the extruder still didn't stop moving down. Is there a problem with my Z endstop?
Re: Issues with Homing X, Y, and Z motors
March 04, 2013 01:52PM
There could be. The M119 command gives you the endstop status. enter it and see what is reported, and then manually close the endstop and try it again.
Sorry, only registered users may post in this forum.

Click here to login