Welcome! Log In Create A New Profile

Advanced

I'm stuck configuring my COREXY end stops

Posted by gadittri 
I'm stuck configuring my COREXY end stops
October 05, 2014 12:21AM
Hi all,
I have built a h-bot in the past and had no problem getting my end stops configured correctly, meaning the motors moved in the correct direction so that XY home at the MIN (0,0). I recently built a Core XY printer but cannot get the X to home in the right direction (moves towards the positive instead of the negative). I have played with the "home dir", "invert axis direction", min/max direction, physical motor polarity at the ramps board. I can get either the Y to home correctly but not the X and vise versa by playing with configurations I stated previously. Because the Core XY uses both motors at the same time is this possible to reverse the direction without effecting the other axis? Without physically move the homing location for X, I am lost on what else to try. I basically want the XY to home in the corner of photo 2228. I have attached some pictures of my setup (if of any use) and my configurations. I would welcome any suggestions.


//=============================Mechanical Settings===========================
//===========================================================================

// Uncomment the following line to enable CoreXY kinematics
#define COREXY

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

#ifndef ENDSTOPPULLUPS
// fine Enstop settings: Individual Pullups. will be ignord if ENDSTOPPULLUPS is defined
//#define ENDSTOPPULLUP_XMAX
//#define ENDSTOPPULLUP_YMAX
//#define ENDSTOPPULLUP_ZMAX
//#define ENDSTOPPULLUP_XMIN
//#define ENDSTOPPULLUP_YMIN
//#define ENDSTOPPULLUP_ZMIN
#endif

#ifdef ENDSTOPPULLUPS
#define ENDSTOPPULLUP_XMAX
#define ENDSTOPPULLUP_YMAX
#define ENDSTOPPULLUP_ZMAX
#define ENDSTOPPULLUP_XMIN
#define ENDSTOPPULLUP_YMIN
#define ENDSTOPPULLUP_ZMIN
#endif

// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.
const bool X_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops.
const bool Y_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops.
const bool Z_ENDSTOPS_INVERTING = true; // 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 false
#define DISABLE_Y false
#define DISABLE_Z true
#define DISABLE_E true // For all extruders

#define INVERT_X_DIR true // 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 true // for Mendel set to false, for Orca set to true
#define INVERT_E0_DIR true // 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.
// Travel limits after homing
#define X_MAX_POS 260
#define X_MIN_POS 0
#define Y_MAX_POS 330
#define Y_MIN_POS 0
#define Z_MAX_POS 230
#define Z_MIN_POS 0

#define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS)
#define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS)
#define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS)

// The position of the homing switches
//#define MANUAL_HOME_POSITIONS // If defined, MANUAL_*_HOME_POS below will be used
//#define BED_CENTER_AT_0_0 // If defined, the center of the bed is at (X=0, Y=0)

//Manual homing switch locations:
#define MANUAL_X_HOME_POS 0
#define MANUAL_Y_HOME_POS 0
#define MANUAL_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 {500, 500, 500, 0} // set the homing speeds (mm/min)

// default settings

#define DEFAULT_AXIS_STEPS_PER_UNIT {80,80,1280,485} // 97 steps for 5mm gear.....default steps per unit for ultimaker
#define DEFAULT_MAX_FEEDRATE {300, 300, 15, 100} // (mm/sec)
#define DEFAULT_MAX_ACCELERATION {850,850,10,10000} // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot.

#define DEFAULT_ACCELERATION 1000 // X, Y, Z and E max acceleration in mm/s^2 for printing moves
#define DEFAULT_RETRACT_ACCELERATION 1000 // X, Y, Z and E max acceleration in mm/s^2 for r retracts

// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
// For the other hotends it is their distance from the extruder 0 hotend.
// #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
// #define EXTRUDER_OFFSET_Y {0.0, 5.00} // (in mm) for each extruder, offset of the hotend on the Y axis

// The speed change that does not require acceleration (i.e. the software might assume it can be done instanteneously)
#define DEFAULT_XYJERK 25 // (mm/sec)
#define DEFAULT_ZJERK 0 // (mm/sec)
#define DEFAULT_EJERK 100 // (mm/sec)

Thanks,
Greg
Attachments:
open | download - CIMG2226.JPG (206.2 KB)
open | download - CIMG2227.JPG (353.8 KB)
open | download - CIMG2228.JPG (486.7 KB)
open | download - CIMG2229.JPG (284.1 KB)
open | download - CIMG2230.JPG (529.3 KB)
Re: I'm stuck configuring my COREXY end stops
October 05, 2014 02:19AM
You need to swap your X and Y motors plugs over and their endstop.

Then invert as needed.

Edited 2 time(s). Last edit at 10/05/2014 02:37AM by Dust.
Re: I'm stuck configuring my COREXY end stops
October 05, 2014 02:29AM
With coreXY the belts cross over at the back.
I don't see this with your setup, don't know if that is o.k. (No experience with these kinds of setups)
Re: I'm stuck configuring my COREXY end stops
October 05, 2014 06:56AM
Quote
Draob
With coreXY the belts cross over at the back.
I don't see this with your setup, don't know if that is o.k. (No experience with these kinds of setups)

CoreXY setup looks alright. You do not need to cross over belts if you run them at different levels. It looks like he used this setup:

Re: I'm stuck configuring my COREXY end stops
October 05, 2014 07:31AM
Absolute genius! I swapped the motors and the end stops (X is now Y) and everything is homing like I want. I can get used to having the X axis now the Y and vise versa.

Thanks you all for your help,
Greg
Re: I'm stuck configuring my COREXY end stops
October 06, 2014 11:47PM
If you now reverse the electrical connections on one motor, the axes will swap.
Re: I'm stuck configuring my COREXY end stops
October 07, 2014 04:23PM
Actually i like it swapped because it matches repetier hosts joy pad. For example when i press to move up it will move the head away from me, left moves the head left which makes for less accident with manual moves.
Re: I'm stuck configuring my COREXY end stops
October 16, 2014 10:30PM
Update!

I ended up having to reverse my XY like Polyglot suggested after trying to print the attached STL today. For some reason the X was printing mirrored even though the Kisslicer and Repetier showed the object correctly on the monitor. Anyway, thought I would share for lessons learned for others.

Thanks,
Greg
Attachments:
open | download - 3DR_Pablo_LCD_case_top.stl (77.3 KB)
Re: I'm stuck configuring my COREXY end stops
October 18, 2014 01:53PM
Quote
gadittri
Update!

I ended up having to reverse my XY like Polyglot suggested after trying to print the attached STL today. For some reason the X was printing mirrored even though the Kisslicer and Repetier showed the object correctly on the monitor. Anyway, thought I would share for lessons learned for others.

Thanks,
Greg

What the software shows on the monitor makes sense, as the program *thinks* you wired the motors correctly winking smiley It assumes everything it working the way it expects to work.

btw moved the topic to the CoreXY subforum for better documentation


http://www.marinusdebeer.nl/
Sorry, only registered users may post in this forum.

Click here to login