Dolly Configuration

Anything goes! Cheap or expensive, FDM or SLA, DIY or Commercial.
chumm
Posts: 176
Joined: Thu Jun 15, 2017 11:24 am

Re: Dolly Configuration

Post by chumm » Sun Oct 29, 2017 8:43 pm

3DEnthusiast wrote:
Sun Oct 29, 2017 7:27 pm
M851 is now set all the way to -12 and it's still not printing correctly.
Well, this is a mile away from where a Z offset should be, so there's gotta be another issue besides the value. Does your printer have an LCD? Checking that the printer has the Z value correct is much easier if you have an LCD that's showing your current position. So the way the Z offset works, let's say when your probe homes your Z, the nozzle sits 0.3mm higher than the bed. With the Z offset correctly set in firmware via M851, the LCD should display the height after homing as Z = 10.3, because the height at which it homes should be considered Z = 0.3 and it moves up 10mm after homing Z. Most importantly, if the Z offset is set correctly, then after homing you should be able to manually move the Z axis to where it displays Z = 0 and that should be right where the paper test would get you.

If you don't have an LCD, M114 should give you the current position.

So if you have M851 set to -12, when you home Z it should say Z = 22, which would likely be very bad because when it starts to print it'll try to start at Z = 0, which is probably 10-12mm UNDER your bed.

If the Z value isn't displayed correctly, there may be an issue with how the offset is being saved. To restate some of slippy's instructions:
1. Set M851 to how far you want to move your Z = 0, start with something like -0.1 or -0.2
2. Save this value with M500
3. Check that it saved correctly with M503
4. Home all axes with G28
5. Check your current Z value to make sure the offset was applied
6. Move the printhead to Z = 0 and see if it is at the same height it would be if you were leveling with paper

Regarding the prints starting at 0.2mm, I think you might just be a little mixed up. When printing a layer that is 0.2mm high, which is a perfectly normal first layer height, the nozzle extrudes the filament at that height of 0.2mm, it doesn't go to 0.0mm and extrude. It is important to note though that this is 0.2mm relative to what the software believes Z = 0 to be, which is what you are setting with the Z offset. You can, for example, have the software think it is printing at 0.2mm when in reality it is only 0.1mm above the bed, which creates a more squished-down first layer that will be slightly deformed but will stick to the bed really well. You can also totally goof your Z offset and have the software think Z = 0 is below the bed or up in the air, it's just whatever value the Z probe determines plus or minus the offset you give it. Part of dialing in your Z offset will be finding that sweet spot where you get good bed adhesion based on your setup.

3DEnthusiast
Posts: 66
Joined: Fri Oct 27, 2017 6:50 am

Re: Dolly Configuration

Post by 3DEnthusiast » Sun Oct 29, 2017 11:48 pm

To answer your question, yes I have an LCD on it.

Here are my current settings.

Code: Select all

echo:Steps per unit:
echo:  M92 X100.00 Y100.00 Z400.00 E160.00
echo:Maximum feedrates (mm/s):
echo:  M203 X200.00 Y200.00 Z220.00 E25.00
echo:Maximum Acceleration (mm/s2):
echo:  M201 X3000 Y3000 Z300 E10000
echo:Accelerations: P=printing, R=retract and T=travel
echo:  M204 P3000.00 R3000.00 T3000.00
echo:Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s),  Z=maximum Z jerk (mm/s),  E=maximum E jerk (mm/s)
echo:  M205 S0.00 T0.00 B20000 X10.00 Y10.00 Z0.40 E2.00
echo:Home offset (mm)
echo:  M206 X0.00 Y0.00 Z0.00
echo:Material heatup parameters:
echo:  M145 S0 H180 B70 F0
  M145 S1 H240 B110 F0
echo:PID settings:
echo:  M301 P22.20 I1.08 D114.00
echo:  M304 P10.00 I0.02 D305.40
echo:Filament settings: Disabled
echo:  M200 D3.00
echo:  M200 D0
echo:Z-Probe Offset (mm):
echo:  M851 Z-12.00
echo:SD card ok
When I home all Axis, Z is 22 but is resting about 5mm above the bed.

I manually leveled my bed with a sheet of paper so that 0 should be a paper width away from the bed. It is not because when I put G1 Z0, the probe doesn't trigger. That's how I got the -12, by adding the offsets.

At this point, I'm not sure what to do. I thought I was close but now it seems like no matter what I set z to, it's not leveling correctly.

3DEnthusiast
Posts: 66
Joined: Fri Oct 27, 2017 6:50 am

Re: Dolly Configuration

Post by 3DEnthusiast » Sun Oct 29, 2017 11:55 pm

chumm wrote:
Sun Oct 29, 2017 3:50 am
If you're using Slic3r, you can set the Z offset under printer settings/general. Those instructions I linked are the procedure, but basically set it to -0.2 if you want it to print 0.2mm closer to the bed, +0.1 if you want it to print 0.1mm higher, etc.

For the auto bed leveling, make sure you're doing G28 before G29, if you do G28 after it will clear the leveling data. Here's an example of my pre-print Gcode (also under printer settings in Slic3r) that heats the bed, homes all axes, auto levels, then heats the nozzle.

Code: Select all

M115 U3.0.10 ; tell printer latest fw version
M140 S[first_layer_bed_temperature] ; set bed temp
M190 S[first_layer_bed_temperature] ; wait for bed temp
G28 ; home all axes
G29 ; auto bed leveling
M104 S[first_layer_temperature] ; set extruder temp
M109 S[first_layer_temperature] ; wait for extruder temp
M83  ; extruder relative mode
Heating the bed before you home/level allows it to deform under heat however it's going to, so you get the most accurate print-time bed shape. Heating the nozzle after prevents you from warming up your probe, which can affect its reading, as well as prevents dripping filament while it's probing the auto leveling.

Also here's my leveling section of marlin in case you want to compare, this is using bilinear leveling with a 4x4 grid. Probe position/edges will vary based on your bed.

Code: Select all

//===========================================================================
//============================ Auto Bed Leveling ============================
//===========================================================================
// @section bedlevel

/**
 * Select one form of Auto Bed Leveling below.
 *
 *  If you're also using the Probe for Z Homing, it's
 *  highly recommended to enable Z_SAFE_HOMING also!
 *
 * - 3POINT
 *   Probe 3 arbitrary points on the bed (that aren't collinear)
 *   You specify the XY coordinates of all 3 points.
 *   The result is a single tilted plane. Best for a flat bed.
 *
 * - LINEAR
 *   Probe several points in a grid.
 *   You specify the rectangle and the density of sample points.
 *   The result is a single tilted plane. Best for a flat bed.
 *
 * - BILINEAR
 *   Probe several points in a grid.
 *   You specify the rectangle and the density of sample points.
 *   The result is a mesh, best for large or uneven beds.
 */
//#define AUTO_BED_LEVELING_3POINT
//#define AUTO_BED_LEVELING_LINEAR
#define AUTO_BED_LEVELING_BILINEAR

/**
 * Enable detailed logging of G28, G29, M48, etc.
 * Turn on with the command 'M111 S32'.
 * NOTE: Requires a lot of PROGMEM!
 */
//#define DEBUG_LEVELING_FEATURE

#if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)

  // Set the number of grid points per dimension.
  #define ABL_GRID_POINTS_X 4
  #define ABL_GRID_POINTS_Y ABL_GRID_POINTS_X

  // Set the boundaries for probing (where the probe can reach).
  #define LEFT_PROBE_BED_POSITION 10
  #define RIGHT_PROBE_BED_POSITION 180
  #define FRONT_PROBE_BED_POSITION 10
  #define BACK_PROBE_BED_POSITION 150

  // The Z probe minimum outer margin (to validate G29 parameters).
  #define MIN_PROBE_EDGE 10

  // Probe along the Y axis, advancing X after each column
  //#define PROBE_Y_FIRST

  #if ENABLED(AUTO_BED_LEVELING_BILINEAR)

    // Gradually reduce leveling correction until a set height is reached,
    // at which point movement will be level to the machine's XY plane.
    // The height can be set with M420 Z<height>
    #define ENABLE_LEVELING_FADE_HEIGHT

    // 
    // Experimental Subdivision of the grid by Catmull-Rom method.
    // Synthesizes intermediate points to produce a more detailed mesh.
    // 
    //#define ABL_BILINEAR_SUBDIVISION
    #if ENABLED(ABL_BILINEAR_SUBDIVISION)
      // Number of subdivisions between probe points
      #define BILINEAR_SUBDIVISIONS 4
    #endif

  #endif

#elif ENABLED(AUTO_BED_LEVELING_3POINT)

  // 3 arbitrary points to probe.
  // A simple cross-product is used to estimate the plane of the 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
You'll also want to make sure the following settings, which define how far away the center of the probe is from your nozzle, are set correctly. I wouldn't bother changing the Z offset here since the trigger point is more relevant than the actual distance, better to do that in the slicer imo:

Code: Select all

#define X_PROBE_OFFSET_FROM_EXTRUDER 23  // X offset: -left  +right  [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER 6  // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
Chumm, With the exception of a few things, my Auto Bed Leveling is almost exactly the same as yours.

3DEnthusiast
Posts: 66
Joined: Fri Oct 27, 2017 6:50 am

Re: Dolly Configuration

Post by 3DEnthusiast » Mon Oct 30, 2017 12:07 am

Also, when it's running G29 it does show Z -9.99 when traveling to the bed.

chumm
Posts: 176
Joined: Thu Jun 15, 2017 11:24 am

Re: Dolly Configuration

Post by chumm » Mon Oct 30, 2017 2:13 am

3DEnthusiast wrote:
Sun Oct 29, 2017 11:48 pm
When I home all Axis, Z is 22 but is resting about 5mm above the bed.

I manually leveled my bed with a sheet of paper so that 0 should be a paper width away from the bed. It is not because when I put G1 Z0, the probe doesn't trigger. That's how I got the -12, by adding the offsets.

At this point, I'm not sure what to do. I thought I was close but now it seems like no matter what I set z to, it's not leveling correctly.
You might have started from the wrong point when you leveled the bed, which would explain why your offset is so far off. When you home all axes, after it's finished the Z axis moves up 10mm. You need to then move it down 10mm to get to 0, THEN see how much further down you need to go until your nozzle will grab a sheet of paper, and that number is your offset.

So, from where you are now, I'd follow these steps:
1. Reset your offset to 0 so you can start fresh (M851 Z0)
2. M500 to save this value
3. G28 to home all axes
4. G1 Z0 to move to the Z height where the probe triggered.
5. Paper test, move Z down by 0.1mm at a time until the nozzle lightly catches a sheet of paper.
6. Read the Z value, it'll probably be somewhere between -0.1 and -2.0, should be a pretty small number if your probe is triggering anywhere near your nozzle height.
7. M851 Z(the number from last step)
8. M500 to save that value
9. G28 to home all axes
10. Place paper under nozzle, G1 Z0 and see if it hits the paper.
3DEnthusiast wrote:
Mon Oct 30, 2017 12:07 am
Also, when it's running G29 it does show Z -9.99 when traveling to the bed.
This is normal, it doesn't reflect the actual Z position until after the G29 is done.

3DEnthusiast
Posts: 66
Joined: Fri Oct 27, 2017 6:50 am

Re: Dolly Configuration

Post by 3DEnthusiast » Mon Oct 30, 2017 3:01 pm

Yeah, I knew it went up 10mm. That's why I tried to level the bed at Z0 but I'll start over again and follow your suggestions and let you know.

3DEnthusiast
Posts: 66
Joined: Fri Oct 27, 2017 6:50 am

Re: Dolly Configuration

Post by 3DEnthusiast » Tue Oct 31, 2017 4:57 am

Just for clarification, how do I read the Bilinear Bed Leveling Grid?

Code: Select all

Bilinear Leveling Grid:
      0     1     2     3
 0 -0.11 -0.30 -0.49 -0.69
 1 -0.17 -0.38 -0.61 -0.83
 2 -0.18 -0.39 -0.63 -0.86
 3 -0.15 -0.37 -0.60 -0.83
Is 0x0 considered the front left or is it the first point that is probed, which would be front right?

Or is it the Back left?

slippyr4
Posts: 224
Joined: Thu Jun 15, 2017 10:24 am

Re: Dolly Configuration

Post by slippyr4 » Tue Oct 31, 2017 9:20 am

0,0 is front left. That grid is mirrored in Y compared to the actual bed.
Self-built Prusa i3 MK2 clone
My things: https://www.thingiverse.com/slippyr4/designs
My Prusa firmware port for ramps & MKS : https://github.com/slippyr4/Prusa-Firmware

chumm
Posts: 176
Joined: Thu Jun 15, 2017 11:24 am

Re: Dolly Configuration

Post by chumm » Tue Oct 31, 2017 9:30 am

The 0,0 point on that grid is the point nearest to your bed's origin, where x and y are 0. So if your origin is bottom left you'd mirror that grid vertically to get it to look like the shape of your bed:

Code: Select all

Bilinear Leveling Grid:
      0     1     2     3
 3 -0.15 -0.37 -0.60 -0.83
 2 -0.18 -0.39 -0.63 -0.86
 1 -0.17 -0.38 -0.61 -0.83
 0 -0.11 -0.30 -0.49 -0.69
I'm not sure if it really helps, but I find I like homing Z in the center of the bed. Then the grid will show you what parts are higher or lower than the center, which to me is easier to read the shape. To set the coords where Z homes, you can enable Z safe homing:

Code: Select all

#define Z_SAFE_HOMING

#if ENABLED(Z_SAFE_HOMING)
#define Z_SAFE_HOMING_X_POINT 98    // X point for Z homing when homing all axis (G28).
#define Z_SAFE_HOMING_Y_POINT 85    // Y point for Z homing when homing all axis (G28).
#endif
Just set the X and Y to where you want Z to touch down, like I said I like it in the middle of the bed. This also ensures you never try homing Z when the probe is not over the bed, which could cause the extruder assembly to crash into the bed while the probe is trying to find metal. Because x and Y coords are necessary to find this safe homing spot, you can't home Z until X and Y have been homed (which of course all happens in order during G28).

3DEnthusiast
Posts: 66
Joined: Fri Oct 27, 2017 6:50 am

Re: Dolly Configuration

Post by 3DEnthusiast » Wed Nov 01, 2017 8:51 pm

Alright, after going through a long process, I got my bed leveled, while hot, as close to 0 as possible. I've run the PID auto-tune for both the bed and extruder. I have run a test print of something small. The first 2 layers did not happen as the extruder was now too close to the bed and it had a little X-axis offset. I adjusted the voltage on the X axis to .8V previously.

After the initial test print, I adjusted the M851 Z back to Z0. That seems to fix the layer height now but I'm still catching some X-axis issues. Any other suggestions?

Image
Image
Image

Test Print 2
Image

Post Reply

Who is online

Users browsing this forum: Bing [Bot] and 4 guests