Close



Results 1 to 9 of 9
  1. #1

    G29 probes only in 1 location

    I moved this to a new thread


    Roxy directed me to this forum and the Beckdac fork from issue#2040 about the ABL bugs.

    I've uploaded the Beckdac to my Ramps 1.4 on a Mendel90, the Y endstop is at Y max and the X endstop is at X max (back right of the bed)

    When I send a G28, homing takes place at the back right and then when I send G29, there is no movement in X or Y and the same point is probed each time. I've tried switching the origin from front left to back right with no change. EEPROM and chitchat are disabled.

    I also tried a M48 L 10 which Roxy suggested elsewhere and there was no movement in X and Y.

    Even with safe Z homing enabled, homing and probing is at back right.

    I able to manually jog X and Y but they both stop a bit short of the bed edges.
    I've attached a link to my configuration.h and Marlin_main.h and will be grateful for any assistance in fixing this.

    configuration.h http://pastebin.com/T6u1Gghk
    marlin_main.cpp http://pastebin.com/NbATys7k

  2. #2
    Super Moderator Roxy's Avatar
    Join Date
    Apr 2014
    Location
    Lone Star State
    Posts
    2,182
    Your home limit switches are at the Max side of the bed for X & Y ???? And when you say it only probes one point, does it probe that same point multiple times?

    I'm not positive this is the problem, but you have:

    Code:
    #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
    And below you have:

    Code:
    #define MANUAL_X_HOME_POS 195
    #define MANUAL_Y_HOME_POS 195
    #define MANUAL_Z_HOME_POS 0
    Let's turn off the software end stops until we get this figured out!

    Update: I just noticed this:

    Code:
        // set the rectangle in which to probe
        #define LEFT_PROBE_BED_POSITION 7
        #define RIGHT_PROBE_BED_POSITION 140
        #define FRONT_PROBE_BED_POSITION 13
        #define BACK_PROBE_BED_POSITION 181
    ...
      // these are the offsets to the probe relative to the extruder tip (Hotend - Probe)
      #define X_PROBE_OFFSET_FROM_EXTRUDER -38     // Probe on: -left  +right
      #define Y_PROBE_OFFSET_FROM_EXTRUDER -8     // Probe on: -front +behind
      #define Z_PROBE_OFFSET_FROM_EXTRUDER -1.11  // -below (always!)
    We might be running into trouble because of the Probe Offsets. Let's try changing these to:

    Code:
        #define LEFT_PROBE_BED_POSITION 50
        #define RIGHT_PROBE_BED_POSITION 125
        #define FRONT_PROBE_BED_POSITION 50
        #define BACK_PROBE_BED_POSITION 125
    Also, when you do the G29, it might be useful to do it with and without the T option. The loops behave slightly differently depending upon whether you are trying to produce a Bed Topology report.
    Last edited by Roxy; 06-26-2015 at 04:41 PM.

  3. #3
    Your home limit switches are at the Max side of the bed for X & Y
    Sorry, I confused myself. X endstop is at max end but Y is at min (front)

    does it probe that same point multiple times?
    yes although it thinks that it is moving to different points. I think that the problem starts with G28, I can't get it to home any where else but back right of the bed irrespective of enabled/disabled safe z homing which should home in the centre? I've also tried enabling manual home positions with different values but the home position doesn't change.

    I also turned off software endstops and changed the probe points as you suggested but it's made no difference. I'm sending plain G29 without topology report.

  4. #4
    Super Moderator Roxy's Avatar
    Join Date
    Apr 2014
    Location
    Lone Star State
    Posts
    2,182
    It would also be helpful to see the output of the G29 with a high verbose level: G29 T V 4 We should be able to see if it is looping through all the points it is supposed to.

  5. #5
    Here's the log, probing took place in one location only (back right)

    Code:
    15:16:45.706 : N538 G28 *61
    15:16:49.653 : ok
    15:17:00.698 : N544 G29  T V4 *33
    15:17:00.698 : Roxy's Enhanced G29 Auto_Bed_Leveling Code V1.81:
    15:17:00.713 : Full support at http://3dprintboard.com
    15:17:06.002 : Bed x: 50.00 y: 50.00 z: 1.12
    15:17:12.039 : Bed x: 87.00 y: 50.00 z: 1.11
    15:17:18.061 : Bed x: 124.00 y: 50.00 z: 1.12
    15:17:24.098 : Bed x: 50.00 y: 87.00 z: 1.11
    15:17:30.135 : Bed x: 87.00 y: 87.00 z: 1.11
    15:17:36.172 : Bed x: 124.00 y: 87.00 z: 1.11
    15:17:42.210 : Bed x: 50.00 y: 124.00 z: 1.11
    15:17:48.262 : Bed x: 87.00 y: 124.00 z: 1.11
    15:17:54.300 : Bed x: 124.00 y: 124.00 z: 1.12
    15:17:54.300 : Eqn coefficients: a: 0.00 b: -0.00 d: 1.12
    15:17:54.315 : Mean of sampled points: 1.112673
    15:17:54.315 : 
    15:17:54.315 : Bed Height Topography:
    15:17:54.315 : --0.00392 --0.00580 +0.00233
    15:17:54.315 : +0.00045 --0.00049 --0.00017
    15:17:54.315 : +0.00326 +0.00201 +0.00233
    15:17:54.315 : 
    15:17:54.315 : planeNormal x: -0.00 y: 0.00 z: 1.00
    15:17:54.315 : 
    15:17:54.331 : Bed Level Correction Matrix:
    15:17:54.331 : 1.000000 0.000000 0.000021
    15:17:54.331 : 0.000000 1.000000 -0.000068
    15:17:54.331 : -0.000021 0.000068 1.000000
    15:17:56.031 : ok
    15:17:56.031 : echo:endstops hit:  X:125.00 Y:108.00 Z:1.12

  6. #6
    Super Moderator Roxy's Avatar
    Join Date
    Apr 2014
    Location
    Lone Star State
    Posts
    2,182
    The output should look like:



    Bed Level Correction Matrix:
    1.000000 0.000000 -0.000449
    0.000000 1.000000 0.000548
    0.000449 -0.000548 1.000000
    echo:endstops hit: Z:4.72

    It should say the Z endstop was hit... But not the X & Y. I think that is the explanation for why it is refusing to move the X & Y.

    I don't know what your end stop configuration is... But switching one of these might make it go:

    const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
    const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.

    or maybe...

    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

    PS. Make sure you have a finger on the reset button when you tell it to home! Like I say, I don't know how your end stops are wired. But it would be unusual to have some one way and others a different way. My guess is flipping the true and false on either the Min or the Max might make it go.
    Last edited by Roxy; 06-27-2015 at 11:14 AM.

  7. #7
    Thanks, that helped. I got myself into a bit of muddle with the min/max and direction of the Y axis

  8. #8
    Super Moderator Roxy's Avatar
    Join Date
    Apr 2014
    Location
    Lone Star State
    Posts
    2,182
    Quote Originally Posted by paulnd View Post
    Thanks, that helped. I got myself into a bit of muddle with the min/max and direction of the Y axis
    So??? Is it working? If so... You can start increasing the size of the probe area! It is better to have it probe a large area, but because we didn't know what was wrong, we needed to shrink that to make sure that wasn't causing problems!

  9. #9
    yes, it's working. thanks for your help!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •