Novice in DIY 3d Printer. X, Y and Z homing and calibration
After I have finished building my first DIY 3d printer which is very similar to Felix Printer because I like the design, I decided to use the Repetier Firmware + Repetier-Host for the first time but I'm having trouble homing and calibrating the X, Y and Z axis. I can move these axis left and right(X), forward and backward(Y), up and down(Z) using Manual Control but I'm so confused how to set the Home position and calibrate these axis. I am also lost on how to properly use the Endstops. For much better explanation of how does my printer looks like and the current position of my endstops, here I provided some images to look at.
This is my X axis endstop located at left (It's triggered), I have also an endstop on the right side:
This is the Y axis endstop (It's triggered):
Z axis endstop at the bottom (This is the endstop that is working or enabled):
Z axis endstop at the top (This is disabled even though it's triggered, I have switch the endstop wires on my RAMPS 1.4):
Other images of the printer:
These are my current EEPROM settings:
The value of X and Y axis steps per mm is based on the Belt Calculator as well as the Z axis Lead Screw (M8).
Here is my Configuration settings of Endstops from the Configuration.h in the arduino sketch.
/* By default all endstops are pulled up to HIGH. You need a pull-up if you
use a mechanical endstop connected with GND. Set value to false for no pull-up
on this endstop.
#define ENDSTOP_PULLUP_X_MIN false
#define ENDSTOP_PULLUP_Y_MIN false
#define ENDSTOP_PULLUP_Z_MIN false
#define ENDSTOP_PULLUP_X_MAX true // true
#define ENDSTOP_PULLUP_Y_MAX true // true
#define ENDSTOP_PULLUP_Z_MAX false
//set to true to invert the logic of the endstops
#define ENDSTOP_X_MIN_INVERTING true // true
#define ENDSTOP_Y_MIN_INVERTING true // true
#define ENDSTOP_Z_MIN_INVERTING true // true
#define ENDSTOP_X_MAX_INVERTING false
#define ENDSTOP_Y_MAX_INVERTING false
#define ENDSTOP_Z_MAX_INVERTING true // true
// Set the values true where you have a hardware endstop. The Pin number is taken from pins.h.
#define MIN_HARDWARE_ENDSTOP_X true
#define MIN_HARDWARE_ENDSTOP_Y true
#define MIN_HARDWARE_ENDSTOP_Z false // false
#define MAX_HARDWARE_ENDSTOP_X false
#define MAX_HARDWARE_ENDSTOP_Y false
#define MAX_HARDWARE_ENDSTOP_Z true // true
// 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
// Disables axis when it's not being used.
#define DISABLE_X false
#define DISABLE_Y false
#define DISABLE_Z false
#define DISABLE_E false
/* If you want to keep z motor running on stepper timeout, remove comments below.
This may be useful if your z bed moves when motors are disabled. Will still
turn z off when heaters get also disabled.
// Inverting motor direction. Only in case of pure cartesian printers, this
// is also the axis you invert!
#define INVERT_X_DIR true
#define INVERT_Y_DIR true
#define INVERT_Z_DIR true
//// 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
Could anyone please tell me the correct settings for my endstop, I have read and watched lots of tutorial but none of them helped me to get over my problem, I have spent quite some time trying to figure out how to properly calibrate the X, Y and Z axis until I decided to post here in Repetier Forum.
One more thing is, when the X axis triggered the left endstop and I try to send "G28 X0" or Home, the X is set to 0.00. When I try to send again a G-Code for example "G28 X70", the motor moves to the right but the movement is too small as 1mm, it's like nothing happens but I heared the sound of the motor. Same thing in Z axis, if I try to send "G28 Z100", there's no movement but just a very long beep then nothing happens. If someone here could please point me out to the right way of calibrating the X, Y and Z axis, I will highly appreciate that.
I'm using Arduino Mega2560 + RAMPS 1.4 Motherboard.
Thank you so much guys, have a nice day.