Mooselake wrote:Pull the affected motor connector from the printrboard and swap two adjacent wires on just one side of the connector. I'm not near my machine or I'd take a picture, but it's been covered in the forum before. There are little springy fingers that hold the sockets in the plastic shell. Push on them with something pointy (but not really sharp or it'll stick in the soft metal) while gently pulling back on the wires. Exchange the positions and push them back in until they click. Best to search for one of the previous posts.
Kirk
#define INVERT_Y_DIR true/false
#define Y_HOME_DIR -1
ei8htohms wrote:mechanizedmedic: Which firmware did you start with? One can only assume things have been cleaned up since I last tinkered with the firmware (Feb '14?), but it was not as simple as you're describing at that time. Are you also able to get "accurate bed leveling" working?
mechanizedmedic wrote:I think there is some confusion about two separate issues here: The direction that the axis should move, and which end of the axis the endstop is located at. So...
The coordinate of the axis should increase as the hotend is further from the front left corner of the print bed. If any axis is not doing this then you either need to reverse that motor's connector or change it's inversion in the firmware.
Once the motors are moving in the correct directions they need to move toward the end stop when homing. If an axis travels away from the endstop when homing you can either relocate the endstop or change "#define X_HOME_DIR" in your firmware.
#define INVERT_Y_DIR true/false
#define Y_HOME_DIR -1/1
krog7d7 wrote:The 1403 firmware doesnt correct the issue
in addition, swapping the wires ONLY fixed the need to install the wires in reverse, but it still doesnt resolve the fact that without a firmware fix, the models are still reversed
or am i doing something incorrect in mu assumptions?
// 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 false // 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_DEFAULT 205
#define X_MIN_POS_DEFAULT 0
#define Y_MAX_POS_DEFAULT 205
#define Y_MIN_POS_DEFAULT 0
#define Z_MAX_POS_DEFAULT 200
#define Z_MIN_POS_DEFAULT 0
#define X_MAX_LENGTH (base_max_pos[0] - base_min_pos[0])
#define Y_MAX_LENGTH (base_max_pos[1] - base_min_pos[1])
#define Z_MAX_LENGTH (base_max_pos[2] - base_min_pos[2])
// 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:
// For deltabots this means top and center of the cartesian print volume.
#define MANUAL_X_HOME_POS 0
#define MANUAL_Y_HOME_POS 0
#define MANUAL_Z_HOME_POS 0
//#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
krog7d7 wrote:I'm taking off for a few hours, haven't made any progress on the Z probing in the firmware.
What I did notice is interesting and might someone tell me what's going on.....
If I'm at X/Y (0,0) and I do G29, it will probe 0,0 like 2 times, then move to X(max) -10 and probe.
If I do X/Y (0,200) and I do G29, it will probe Y max, then move to 0,0, then move to X(max) -10.
But I haven't figured out where or how to set it to probe at y 200 to start.
Any ideas? I think I'm getting closer again.
Thanks,
Ken
===========================================================================
//=============================Mechanical Settings===========================
//===========================================================================
// Uncomment the following line to enable CoreXY kinematics
// #define COREXY
// coarse 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 ignored 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 = 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
//#define DISABLE_MIN_ENDSTOPS
// Disable max endstops for compatibility with endstop checking routine
#if defined(COREXY) && !defined(DISABLE_MAX_ENDSTOPS)
#define DISABLE_MAX_ENDSTOPS
#endif
// 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 false // 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 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 false // 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_DEFAULT 205
#define X_MIN_POS_DEFAULT 0
#define Y_MAX_POS_DEFAULT 205
#define Y_MIN_POS_DEFAULT 0
#define Z_MAX_POS_DEFAULT 200
#define Z_MIN_POS_DEFAULT 0
#define X_MAX_LENGTH (base_max_pos[0] - base_min_pos[0])
#define Y_MAX_LENGTH (base_max_pos[1] - base_min_pos[1])
#define Z_MAX_LENGTH (base_max_pos[2] - base_min_pos[2])
// 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:
// For deltabots this means top and center of the cartesian print volume.
#define MANUAL_X_HOME_POS 0
#define MANUAL_Y_HOME_POS 0
#define MANUAL_Z_HOME_POS 0
//#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
//// 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, 4*60, 0} // set the homing speeds (mm/min)
// default settings
#define DEFAULT_AXIS_STEPS_PER_UNIT {63.36,63.36,2272.72,590}
#define DEFAULT_MAX_FEEDRATE {100, 100, 2, 14} // (mm/sec)
#define DEFAULT_MAX_ACCELERATION {2000,2000,30,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 3000 // X, Y, Z and E max acceleration in mm/s^2 for printing moves
#define DEFAULT_RETRACT_ACCELERATION 3000 // X, Y, Z and E max acceleration in mm/s^2 for 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
When I wired up my Reprap and started printing, I noticed that all my prints were mirrored along the Y axis — I’d set it up with the end stop at the front and configured it so that the print bed moved forward when I clicked Y- in pronterface (printrun), and not back. (When the table moves back, the print head essentially moves forward along it.)
The end stops were already in place and I didn’t want to move them, but no combination of INVERT_Y_DIR and Y_HOME_DIR in Configuration.h would work. I even tried changing Y_ENDSTOP_INVERT, knowing full well that it wouldn’t help either.
So how do you flip an axis without moving the end stop or the home position? The answer is to change both INVERT_Y_DIR and Y_HOME_DIR in Configuration.h, and also swap the values for Y_MAX_PIN and Y_MIN_PIN in pins.h for the specific motherboard you’re using.
jkeith248 wrote:... incredibly frustrating that one cant post links that will save HOURS....
TutherJay wrote:PS - if anyone happens to know where I could find the MAX_TEMP value in the hex file, which I could hack w/ a hex editor, I'd be WILDLY grateful!!!!
TutherJay wrote:Couldn't help but notice the silence re: weirdness. Do we chalk that up to my compiling skills?
Return to Troubleshooting talk
Users browsing this forum: No registered users and 0 guests