Close



Results 1 to 7 of 7
  1. #1
    Engineer-in-Training TopJimmyCooks's Avatar
    Join Date
    Jul 2014
    Posts
    204

    printer doesn't print in the center of the bed anymore

    I realize this can be set via g-code, but when I place a print at X100mm x Y100mm, it actually prints consistently at about x 120mm, y 120 mm. This happened during/after setting up auto bed leveling. Is there an offset I can reset or perhaps something else stored in eeprom? Thanks.

  2. #2
    Staff Engineer old man emu's Avatar
    Join Date
    Oct 2013
    Location
    Narellan, New South Wales, Australia
    Posts
    912
    Just a guess, but maybe you entered the position of the probe tip as the position of the extruder tip when you were configuring things. If I remember correctly, setting these off-sets is an early part of the process.

    20mm seems correct for the distance between the probe tip and the extruder tip.

    Old Man Emu

  3. #3
    Engineer
    Join Date
    Jul 2014
    Location
    Eastern Colorado
    Posts
    536
    Yes, possibly didn't flip the sign on the numbers entered for the offset.

  4. #4
    Engineer-in-Training TopJimmyCooks's Avatar
    Join Date
    Jul 2014
    Posts
    204
    section from configuration.h concerning ABL below. Seems like a lot of other stuff (probe locations, etc. ) would also not work if the XY offsets were reversed. I don't think that's it. bed is set to center prints at x95, y95 in the slicing program. this is using Roxy's enhanced G29 firmware.

    Code:
    //============================= Bed Auto Leveling ===========================
    
    #define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
    
    
    #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 25
        #define RIGHT_PROBE_BED_POSITION 140
        #define BACK_PROBE_BED_POSITION 150
        #define FRONT_PROBE_BED_POSITION 50
    
    
         // 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 5
    
    
    
    
      #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)
      //  place nozzle 0.1mm above glass at set point.  enter G92 X0 Y0 Z0 to set this as zero point.  
      // place z probe at same point and lower just to point of triggering the switch.  Enter M114 to get offsets.  Enter offsets with reversed pos/neg here.
      #define X_PROBE_OFFSET_FROM_EXTRUDER 31
      #define Y_PROBE_OFFSET_FROM_EXTRUDER 7
      #define Z_PROBE_OFFSET_FROM_EXTRUDER -5.57
    
    
      #define Z_RAISE_BEFORE_HOMING 10       // (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 9000         // X and Y axis travel speed between probes, in mm/min
    
    
      #define Z_RAISE_BEFORE_PROBING 10    //How much the extruder will be raised before traveling to the first probing point.
      #define Z_RAISE_BETWEEN_PROBINGS 2  //How much the extruder will be raised when traveling from between next probing points
    
    
    
    
      //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 (0)    // X point for Z homing when homing all axis (G28)  default is (x_max_length/2)
        #define Z_SAFE_HOMING_Y_POINT (0)    // Y point for Z homing when homing all axis (G28)  default is (y_max_length/2)
    
    
      #endif
    
    
    #endif // ENABLE_AUTO_BED_LEVELING

  5. #5
    Engineer-in-Training TopJimmyCooks's Avatar
    Join Date
    Jul 2014
    Posts
    204
    Alright, jacking around with this one more time before I have to just reverse the offset when slicing or a similar workaround. No matter what I do, when I home all axes, it goes to 0,0 on the bed but shows x-31 and y-7 on the LCD, and prints that far past center of the bed. So the coordinates are off by the ABL probe offsets.

    I redid the firmware with DACB fork Marlin from a couple of days ago, so it's enhanced G-29. I did a g502 to clear the eeprom thinking that it might be stored there. then I did a G501 and saw nothing in the eeprom settings that would reset the origin.

    I can run a g28 x0 y0 at the home point and it will reset to 0/0. however anytime after that that I home Z or run g29 it immediately starts from x-31 and y-7 and the prints are offset from center of bed by that amoutn.


    come on guys, let me know what stupid thing I'm missing before I throw this junk out the window.

  6. #6
    *TopJimmyCooks* did you solve this? I'm running into some centering issues myself after setting up ABL. So many attributes available, it's hard to determine what's what.

  7. #7
    Engineer-in-Training TopJimmyCooks's Avatar
    Join Date
    Jul 2014
    Posts
    204
    I just started offsetting the center point of the print in slic3r. Never ran down the source of the problem. I'm getting ready to redo my firmware and all for the itty bitty double extruder so I'll probably take another look at it then.

Posting Permissions

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