Novice in DIY 3d Printer. X, Y and Z homing and calibration
Hi,
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:
http://www.screencast.com/users/shaolin30/folders/Default/media/86c8cd59-4b18-4d07-8c7f-ebb6064c2c53
This is the Y axis endstop (It's triggered):
http://www.screencast.com/users/shaolin30/folders/Default/media/48f6181a-dc6f-4640-8082-ad772d78be53
Z axis endstop at the bottom (This is the endstop that is working or enabled):
http://www.screencast.com/users/shaolin30/folders/Default/media/4ec95bdd-72e6-4187-b3dd-162cb514c0a7
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):
http://www.screencast.com/users/shaolin30/folders/Default/media/f52e8220-892a-472f-916d-67b78a6a4a2a
Other images of the printer:
http://www.screencast.com/users/shaolin30/folders/Default/media/618f14b0-f44f-46f8-9f6a-bec8fa107f8f
http://www.screencast.com/users/shaolin30/folders/Default/media/324a5a51-0bad-4315-8f9d-98d92e8ea997
http://www.screencast.com/users/shaolin30/folders/Default/media/5cf59011-6989-4357-948d-52e70e47f295
http://www.screencast.com/users/shaolin30/folders/Default/media/e7a9e414-ba59-4135-b0fd-5c15a64e6faa
These are my current EEPROM settings:
http://www.screencast.com/users/shaolin30/folders/Default/media/8b701033-f520-4250-94a9-6106668bbc6f
http://www.screencast.com/users/shaolin30/folders/Default/media/40791ee8-b796-4977-bf36-ea7084d39219
http://www.screencast.com/users/shaolin30/folders/Default/media/0160a0da-68ec-4507-9e38-56c853e5d37e
http://www.screencast.com/users/shaolin30/folders/Default/media/8fb264b0-4549-4ae1-8da7-c4edc5656b74
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.
*/
//#define PREVENT_Z_DISABLE_ON_STEPPER_TIMEOUT
// 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.
-shaolin30