Welcome! Log In Create A New Profile

Advanced

Changing Homing behaviour

Posted by jimmyclarke 
Changing Homing behaviour
July 30, 2015 08:32AM
Hi,
Sorry if this belongs in software, but I thought as it's relevant to a prusa it would fit here

I have installed an inductive probe to my extruder, this works fine, but I am struggling to change the logic to accommodate this change

My problem is I don't have anything directly under the probe at X0,Y0 to trigger it.
Instead I have set 4 probe points so I will be able to use auto levelling


I have defined auto level and grid in marlin and set:
#define LEFT_PROBE_BED_POSITION 27
#define RIGHT_PROBE_BED_POSITION 177
#define BACK_PROBE_BED_POSITION 197
#define FRONT_PROBE_BED_POSITION 27


and set my extruder offset to
#define X_PROBE_OFFSET_FROM_EXTRUDER 0
#define Y_PROBE_OFFSET_FROM_EXTRUDER 22
#define Z_PROBE_OFFSET_FROM_EXTRUDER -5


To home all the axis I tried
G1 Z2 F100; raise Z to clear probe points
G28 X0 Y0; home X and Y axis
G1 X0 F100; go to probe deployment position
G1 Y27 F100; go to probe deployment position
G28 Z0; Home Z axis
G29; probe bed

But all this did go straight down when at X0,Y0 and when I manually triggered it with a knife to stop it hitting the bed it thought it was at X177Y54Z-5 (the -5 I can understand as I need to set the z offset to 5 instead) and then it stops and does not try and probe the rest of the points.
I am also thinking I need to change the Y offset to -22 as it is on the left of the extruder in relation to my top down image.


My 2 goals are, it home by going to X0,Y0 then X0,Y27 THEN home the Z
and to get auto levelling running.

Any help would be much appreciated!

Cheers,
Jimmy
Re: Changing Homing behaviour
August 04, 2015 08:06AM
My printer just needs:
G28 - It will home on X and Y then go to the middle of the bed to home the Z. Not sure if this is due to SAFE_HOMING option or something that was enabled.
G29 - Probe the points

The defines for the PROBE_BED_POSITION are the locations where your probes will actually fall. From your settings, the PROBE positions should be:
1) 27,27
2) 177,27
3) 177,197
4) 27,197

So yeah, you need to make your Y offset to -27. Aside from that, try using just G28 and G29. They should be done consecutively cause a long gap between them will prompt you to home them again before you can execute G29.
Re: Changing Homing behaviour
August 05, 2015 06:03PM
Hi

Thanks for your response, after reading what feels like every internet page on auto leveling I finally found where I was going wrong!
I had been homing using Repetier and it's individual buttons for X Y and Z as I figured that's be the safest option, but I just saw
when homing all axis (G28)
In the comment for Z homing, so I pressed the homing button for all axis at once and voila! it now probes in a safe place above something inductive

So I now have safe homing and Grid formation leveling, however the last bug I have is after the G29 sequence, the probe stays over the last point, which leaves the bed at X0.5, Y200, Z5.06 BUT the printer thinks it is at X0.5, Y0, Z5.06 meaning I can't get the Y axis back over to start printing?

Also how do I know whether G29 has calculated correctly? Would I expect to see the Z value in the G-Code editor once an item is sliced, or is this all done transparently?

My Output after sending G29:

Bed x: 0.00 y: 57.00 z: 4.22
Bed x: 197.00 y: 57.00 z: 4.64
Bed x: 197.00 y: 200.00 z: 4.54
Bed x: 0.00 y: 200.00 z: 5.06
Eqn coefficients: a: -0.00 b: 0.00 d: 4.31
planeNormal x: 0.00 y: -0.00 z: 1.00
echo:endstops hit:  X:0.07 Z:5.06


I can post a video if that helps, but has anyone ran into a lost Y axis before?
Cheers
Re: Changing Homing behaviour
August 06, 2015 09:54AM
I really wanna see the video of your auto bed leveling setup, when I'm going to install mine the probe will be outside of the bed as well, give details if possible smiling smiley

As for probed points, you don't have to worry much during printing because the firmware will change the z height according to the probed surface being tilted automatically. Slicing program doesn't have to tell the printer manually that the bed is tilted
Re: Changing Homing behaviour
August 08, 2015 02:47PM
Quote
jimmyclarke
Hi

Thanks for your response, after reading what feels like every internet page on auto leveling I finally found where I was going wrong!
I had been homing using Repetier and it's individual buttons for X Y and Z as I figured that's be the safest option, but I just saw
when homing all axis (G28)
In the comment for Z homing, so I pressed the homing button for all axis at once and voila! it now probes in a safe place above something inductive

So I now have safe homing and Grid formation leveling, however the last bug I have is after the G29 sequence, the probe stays over the last point, which leaves the bed at X0.5, Y200, Z5.06 BUT the printer thinks it is at X0.5, Y0, Z5.06 meaning I can't get the Y axis back over to start printing?

Also how do I know whether G29 has calculated correctly? Would I expect to see the Z value in the G-Code editor once an item is sliced, or is this all done transparently?

My Output after sending G29:

Bed x: 0.00 y: 57.00 z: 4.22
Bed x: 197.00 y: 57.00 z: 4.64
Bed x: 197.00 y: 200.00 z: 4.54
Bed x: 0.00 y: 200.00 z: 5.06
Eqn coefficients: a: -0.00 b: 0.00 d: 4.31
planeNormal x: 0.00 y: -0.00 z: 1.00
echo:endstops hit:  X:0.07 Z:5.06


I can post a video if that helps, but has anyone ran into a lost Y axis before?
Cheers

Where did you get "X0.5, Y0, Z5.06 "? Is it through repetier coordinate display, LCD, or via M114 G-CODE? There are times Repetier and LCD doesnt show the current position. They are usually refreshed when you send out an M114.

After G29, the head should be at the last point ( "X0.5, Y200, Z5.06" in your case). Print will start from there. Im not certain but i dont think there should be an "endstops hit" messages after the level calibration.
During levelling, endstops ( physical or software ) shouldn't be hit. Your limits are pretty much on the edges so you might want to be a bit conservative on the probe locations. As i have mentioned, the defines on the config will be your probe's position and not the head's.
Since you have defined the offsets, the firmware automatically calculates where the head should fall during a print.

Here is how i set my probe locations:

1) home X and Y
2) Using repetier, or your lcd controls, move probe to the desired location on lower left of the bed.
3) Using repetier or your lcd controls, move the head to where the probe was before. Get the coordinates. X will be the LEFT define value and Y will be the FRONT define value. If you either hit an endstop, whether physical or software, youll need to change the probing location.
4) Repeat #2 but this time on lower right of the bed.
5) Repeat #3. X will be the RIGHT define value. If the Y value at this location is nearer to the center of the bed than that obtained at #3, Then use this Y value for the FRONT define.
6) Repeat #2 but this time on upper right corner of the bed.
7) Repeat #3. Y will be the BACK define. Similar to #5, if the X value here is nearer to the center of the bed, then use this instead for the RIGHT define.

Hope this helps.
Re: Changing Homing behaviour
August 09, 2015 03:29PM
Quote
wderoxas
My printer just needs:
G28 - It will home on X and Y then go to the middle of the bed to home the Z. Not sure if this is due to SAFE_HOMING option....

I take it that your code looks something like this--same as mine?...

#define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
                          // When defined, it will:
                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing
                          // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
                          // - Block Z homing only when the probe is outside bed area.

  #ifdef Z_SAFE_HOMING

    #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2)    // X point for Z homing when homing all axis (G28)
    #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2)    // Y point for Z homing when homing all axis (G28)

Question is... Why is my printer NOT obeying the commands:

"#define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2)"
NOR...
"#define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2)"?

When I try to home via the home button or (G28), the sensor keeps attempting to home off (back/right) the print bed sad smiley
Clicking on just the Z axis home button, gives no response.

My defined rectangle (left it default--no changes yet), 'grid' points per dimension (3) defined.... and offsets:
#define LEFT_PROBE_BED_POSITION 15
    #define RIGHT_PROBE_BED_POSITION 170
    #define BACK_PROBE_BED_POSITION 180
    #define FRONT_PROBE_BED_POSITION 20
...........

[sensor -- to the right and forward of hot-end]

#define X_PROBE_OFFSET_FROM_EXTRUDER -30
  #define Y_PROBE_OFFSET_FROM_EXTRUDER 6
  #define Z_PROBE_OFFSET_FROM_EXTRUDER 0

Presently using: Repetier-Host.
Build: Folger Tech Prusa i3 w/ modifications... like aluminum bed, proximity sensor--LJ12A3-4-Z-BX, etc.


Any help/pointers would be appreciated....Thx

Edited 1 time(s). Last edit at 08/09/2015 03:44PM by 55rebel.
Re: Changing Homing behaviour
August 09, 2015 03:54PM
hmmm?.... now that I'm looking at the defined rectangle in Marlin, they seem to be reversed. My X axis end stop is on the right side of printer, and Y stop on front.
.....I'll get back.

P.S.

Well, reversing X & Y probe points, to where they would seem more friendly to my build, throws up an error when compiling:

C:\Users\Mark\AppData\Local\Temp\build1479576133429720467.tmp\Configuration.h:444:8: error: #error "The X axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"

       #error "The X axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"

        ^

C:\Users\Mark\AppData\Local\Temp\build1479576133429720467.tmp\Configuration.h:457:8: error: #error "The Y axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"

       #error "The Y axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"


What am I missing here?! ....I'm confused tongue sticking out smiley

Edited 2 time(s). Last edit at 08/09/2015 04:14PM by 55rebel.
Re: Changing Homing behaviour
August 09, 2015 05:06PM
Quote
55rebel
hmmm?.... now that I'm looking at the defined rectangle in Marlin, they seem to be reversed. My X axis end stop is on the right side of printer, and Y stop on front.
.....I'll get back.

P.S.

Well, reversing X & Y probe points, to where they would seem more friendly to my build, throws up an error when compiling:

C:\Users\Mark\AppData\Local\Temp\build1479576133429720467.tmp\Configuration.h:444:8: error: #error "The X axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"

       #error "The X axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"

        ^

C:\Users\Mark\AppData\Local\Temp\build1479576133429720467.tmp\Configuration.h:457:8: error: #error "The Y axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"

       #error "The Y axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"


What am I missing here?! ....I'm confused tongue sticking out smiley

Start first with 2 points on #define AUTO_BED_LEVELING_GRID_POINTS. Once you have sorted out your optimum probing rectangle, then you can try to use 3 points. However, depending on the size of your bed and your probe's offset from the hotend, using 3 points may not possible at all.
Practically, 2 points is enough (this translates to 4 probing points on the bed.)

As for your G28 homing behavior, check that repetier's printer shape and homing locations are set correctly. With your X axis endstop on the right, you should be homing to X max (plugged in at XMAX on ramps too). Since Y endstop is at the front, then you should home at Y MAX too (Y endstop also plugged in at RAMPS YMAX).

Repetier expects the 0,0 location to fall on the lower left of the bed.
Re: Changing Homing behaviour
August 10, 2015 06:04PM
Thanks for the reply wderoxas, but unless the new version of Marlin as a hidden switch that somehow converts all the axis from min to max, I'm not too sure about that logic, because my printer was working/homing just fine on the minimum settings/connections, before the proximity sensor (and Marlin upgrade to newer version), which is only meant to replace the mechanical Z end-stop. Granted I did upgrade the Marlin firmware, but maintained the equivalent settings--the minimums, the maximums and everything in between. It could be, though, that I'm all screwed up in my assessment of the situation. If so, then I will need some one to hold my hand and guide me out of this quagmire, in which I find myself confused smiley

The reason I want the nine point probing, is to--hopefully--correct for the slight bow created in my bed when it heats up, due the the less expanding material (PEI (Polyetherimide) Sheet .03 in.) that I have bonded, via 3M tape (468MP), to the top of the aluminum bed.

Edited 1 time(s). Last edit at 08/10/2015 06:06PM by 55rebel.
Re: Changing Homing behaviour
August 10, 2015 10:12PM
My Repetier-Host shows Home where my end-stops dictate--right/back corner.


Here is the Configuration.h file that I am using.
Any help in editing it for my build, would be sweet.
Maybe someone with Folger Tech's prusa i3 that has gone through this scenario.... Thx


//===========================================================================
//=============================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 endstop 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_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool Y_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool Z_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool X_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool Y_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
//#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 false
#define DISABLE_E false // For all extruders
#define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled

#define INVERT_X_DIR true    // for Mendel set to false, for Orca set to true
#define INVERT_Y_DIR false    // 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 222
#define X_MIN_POS 0
#define Y_MAX_POS 200
#define Y_MIN_POS 0
#define Z_MAX_POS 185
#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)
//============================= Bed Auto Leveling ===========================

#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
#define Z_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.

#ifdef ENABLE_AUTO_BED_LEVELING

// There are 2 different ways to pick the X and Y locations to probe:

//  - "grid" mode
//    Probe every point in a rectangular grid
//    You must specify the rectangle, and the density of sample points
//    This mode is preferred because there are more measurements.
//    It used to be called ACCURATE_BED_LEVELING but "grid" is more descriptive

//  - "3-point" mode
//    Probe 3 arbitrary points on the bed (that aren't colinear)
//    You must specify the X & Y coordinates of all 3 points

  #define AUTO_BED_LEVELING_GRID
  // with AUTO_BED_LEVELING_GRID, the bed is sampled in a
  // AUTO_BED_LEVELING_GRID_POINTSxAUTO_BED_LEVELING_GRID_POINTS grid
  // and least squares solution is calculated
  // Note: this feature occupies 10'206 byte
  #ifdef AUTO_BED_LEVELING_GRID

    // set the rectangle in which to probe
    #define LEFT_PROBE_BED_POSITION 15
    #define RIGHT_PROBE_BED_POSITION 170
    #define BACK_PROBE_BED_POSITION 180
    #define FRONT_PROBE_BED_POSITION 20

     // set the number of grid points per dimension
     // I wouldn't see a reason to go above 3 (=9 probing points on the bed)
    #define AUTO_BED_LEVELING_GRID_POINTS 3


  #else  // not AUTO_BED_LEVELING_GRID
    // with no grid, just probe 3 arbitrary points.  A simple cross-product
    // is used to esimate the plane of the print bed

      #define ABL_PROBE_PT_1_X 15
      #define ABL_PROBE_PT_1_Y 180
      #define ABL_PROBE_PT_2_X 15
      #define ABL_PROBE_PT_2_Y 20
      #define ABL_PROBE_PT_3_X 170
      #define ABL_PROBE_PT_3_Y 20

  #endif // AUTO_BED_LEVELING_GRID


  // these are the offsets to the probe relative to the extruder tip (Hotend - Probe)
  // X and Y offsets must be integers
  #define X_PROBE_OFFSET_FROM_EXTRUDER -30
  #define Y_PROBE_OFFSET_FROM_EXTRUDER 6
  #define Z_PROBE_OFFSET_FROM_EXTRUDER 0

  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
                                        // Be sure you have this distance over your Z_MAX_POS in case

  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min

  #define Z_RAISE_BEFORE_PROBING 5    //How much the extruder will be raised before traveling to the first probing point.
  #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points

  //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
  //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.

  //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk
  //The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it.
  // You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile.

//  #define PROBE_SERVO_DEACTIVATION_DELAY 300


//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
//it is highly recommended you let this Z_SAFE_HOMING enabled!!!

  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
                          // When defined, it will:
                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing
                          // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
                          // - Block Z homing only when the probe is outside bed area.

  #ifdef Z_SAFE_HOMING

    #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2)    // X point for Z homing when homing all axis (G28)
    #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2)    // Y point for Z homing when homing all axis (G28)

  #endif

  #ifdef AUTO_BED_LEVELING_GRID	// Check if Probe_Offset * Grid Points is greater than Probing Range
    #if X_PROBE_OFFSET_FROM_EXTRUDER < 0
      #if (-(X_PROBE_OFFSET_FROM_EXTRUDER * AUTO_BED_LEVELING_GRID_POINTS) >= (RIGHT_PROBE_BED_POSITION - LEFT_PROBE_BED_POSITION))
	     #error "The X axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
	  #endif
	#else
      #if ((X_PROBE_OFFSET_FROM_EXTRUDER * AUTO_BED_LEVELING_GRID_POINTS) >= (RIGHT_PROBE_BED_POSITION - LEFT_PROBE_BED_POSITION))
	     #error "The X axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
	  #endif
	#endif
    #if Y_PROBE_OFFSET_FROM_EXTRUDER < 0
      #if (-(Y_PROBE_OFFSET_FROM_EXTRUDER * AUTO_BED_LEVELING_GRID_POINTS) >= (BACK_PROBE_BED_POSITION - FRONT_PROBE_BED_POSITION))
	     #error "The Y axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
	  #endif
	#else
      #if ((Y_PROBE_OFFSET_FROM_EXTRUDER * AUTO_BED_LEVELING_GRID_POINTS) >= (BACK_PROBE_BED_POSITION - FRONT_PROBE_BED_POSITION))
	     #error "The Y axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
	  #endif
	#endif

	
  #endif
  
#endif // ENABLE_AUTO_BED_LEVELING


// 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, 50, 0}  // set the homing speeds (mm/min)

// default settings

#define DEFAULT_AXIS_STEPS_PER_UNIT   {80,80,4000,90}  // default steps per unit for Ultimaker
#define DEFAULT_MAX_FEEDRATE          {250, 250, 2, 22}    // (mm/sec)
#define DEFAULT_MAX_ACCELERATION      {1000,1000,5,1000}    // 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          500    // X, Y, Z and E max acceleration in mm/s^2 for printing moves
#define DEFAULT_RETRACT_ACCELERATION  500   // 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

// The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
#define DEFAULT_XYJERK                20.0    // (mm/sec)
#define DEFAULT_ZJERK                 0.4     // (mm/sec)
#define DEFAULT_EJERK                 5.0    // (mm/sec)

//===========================================================================
//=============================Additional Features===========================
//===========================================================================

..........................

Edited 3 time(s). Last edit at 08/10/2015 10:30PM by 55rebel.
Attachments:
open | download - Configuration.h (35 KB)
Re: Changing Homing behaviour
August 11, 2015 12:37AM
I think this is where all the confusion stems from. The point you labeled as home should fall on the left-front of the bed, in reference to the cartesian coordinate system. In your case, you had it at the opposite side.
This is why, when you mentioned that your y endstop is at the front and x endstop at the right, i told you to home at xmax and ymax.

In your case, since you all had your home set to min, this makes the right back corner of your bed the point 0,0.
Then with your sensor offset defines, while looking at the front of the bed, this puts the sensor at the right front of your hotend. Does this correspond to your sensors location?

Edited 1 time(s). Last edit at 08/11/2015 12:44AM by wderoxas.
Re: Changing Homing behaviour
August 11, 2015 12:43AM
And another thing, im not sure if your z probe/sensor needs it, but you might want to check if it needs the #define ENDSTOPPULLUP_ZMIN
Re: Changing Homing behaviour
August 11, 2015 04:22PM
Quote
this puts the sensor at the right front of your hotend. Does this correspond to your sensors location?

Yes, this would be correct.

When I first open up Repetier-Host, as shown below, what I marked as front, is actually the back?



Folger Tech's build manual directed me to put the end stops @ right and front of printer.


To remove confusion in Marlin and Repetier, should I relocate end-stops to left and back? I may anyway.

Quote
And another thing, im not sure if your z probe/sensor needs it, but you might want to check if it needs the #define ENDSTOPPULLUP_ZMIN

I just went by what Thomas Sanladerer suggested in his YouTube guide: [www.youtube.com] @ 5:00, concerning this particular proximity sensor (LJ12A3-4-Z/BX) that I'm using, which seems to be acting as it should--trigger wise, at the present.

Thanks again.

Edited 3 time(s). Last edit at 08/11/2015 04:55PM by 55rebel.
Re: Changing Homing behaviour
August 11, 2015 09:03PM
Yes, thats the "conventional" back. Its up to you entirely if you want to move the conventional 0,0 point at the front left of the bed. All it takes on the firmware is, enabling the pullups for the xmax and ymax, changing the home for x and y to max, and moving your x and y endstop connector to the x and y max pins at ramps. You should then change your printer homing locations too should you do this.

However, as it is, i dont see any problem in your current orientation. It should work just fine and you wont be having mirrored prints either. You just need to sort out the compile error on your firmware.
In the error prompted at compile, you can check out those lines (444 and 457) from configuration.h. Those lines are tests done by the firmware to check if your probing rectangle will fit into the defined bed area while taking the sensor offsets into consideration. There are calculations there. You can evaluate a bigger/smaller probing rectangle coordinates and evaluate the formula against it. If the you have satisfied the formula's conditions, you then need to check if its physically possible to probe to those locations. Im on phone right now, but ill see later if i can suggest some values later for the probing rectangle.

Edited 1 time(s). Last edit at 08/11/2015 11:58PM by wderoxas.
Re: Changing Homing behaviour
August 12, 2015 12:07AM
Your attached configuration.h file compiled properly..
Re: Changing Homing behaviour
August 12, 2015 08:37PM
Yes wderoxas, my configuration.h file compiles just fine. The error come when I tried changing...

// set the rectangle in which to probe
    #define LEFT_PROBE_BED_POSITION 15
    #define RIGHT_PROBE_BED_POSITION 170
    #define BACK_PROBE_BED_POSITION 180
    #define FRONT_PROBE_BED_POSITION 20

To...
// set the rectangle in which to probe
    #define LEFT_PROBE_BED_POSITION 170
    #define RIGHT_PROBE_BED_POSITION 15
    #define BACK_PROBE_BED_POSITION 20
    #define FRONT_PROBE_BED_POSITION 180

Once I returned it to where it was.... no problem.

I was erroneously thinking that something was wrong with that code, since my X axis left, according to Repetier, is 200--with end stop being on the right.etc... my bad.

Right now, since I needed to print some items for my sons business, that he needed asap, I reverted back to the mechanical Z stop switch. Also removing the PEI that I had bonded to heat-bed, and am using painter's tape instead.....for the time being. I'll pursue the auto-level mystery/problem I'm having at a later date. She's printing like a champ at the moment...


Thanks for your time , and hopefully we can take up this challenge again a bit later.

Edited 2 time(s). Last edit at 08/12/2015 08:44PM by 55rebel.
Re: Changing Homing behaviour
August 13, 2015 02:42AM
Oh, i see your problem now. The second probing square you listed really wouldn't work no matter what you do with it.
Since your 0,0 location had been configured to the upper right corner of the bed (when looking from the front), you should also change your orientation on defining the probing square.
The best way for you to picture this is, look from the back of the printer then visualize the wrong probing square locations (2nd one you listed) from there. Things will make sense once you look from the back.
This is a rough sketch should give you an idea:


Re: Changing Homing behaviour
August 13, 2015 09:14AM
Yeah, I was looking at things from the front's perspective.... dummy me thumbs down
I'll have to approach the problem I'm having--when I get back to it, from the back's perspective.

Thanks
Re: Changing Homing behaviour
September 07, 2015 11:20PM
Hi my name is Eckhard and I have a Folger machine like yours except that my Y axis home switch is at the back of the machine. I have added the inductive sensor in same position as on your machine and have trouble making it work. It does the X and Y axis homing but doesn't want to center on the plate. It just wants to bury the nozzle into the aluminum plate. I would like to join in and try to get some insight from you as to what the problem is with my machine.

BTW did you get the situation straightened out on yours, 55Rebel?

Thanks
Sorry, only registered users may post in this forum.

Click here to login