Dolly Configuration

Anything goes! Cheap or expensive, FDM or SLA, DIY or Commercial.
Monkeh
Posts: 17
Joined: Fri Sep 29, 2017 11:56 pm

Re: Dolly Configuration

Post by Monkeh » Sat Oct 28, 2017 6:21 pm

If your probe is too high above the nozzle, and the bed is that tilted, you could easily be pushing the bed with the nozzle before the probe triggers.

Get the probe closer to nozzle height, and level your bed out properly - the probe is to find a leveled bed and compensate for imperfections, not allow you to print on the side of a hill.

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

Re: Dolly Configuration

Post by 3DEnthusiast » Sun Oct 29, 2017 2:11 am

Okay,
The probe is currently about .8mm above the nozzle and I have leveled the bed manually using a sheet of paper with the Z Axis at 0. Now, when running a print, the first layer touches the plate but there's no "squish" to provide solid adhesion. Good news, the nozzle is not burying itself into the bed any longer.

I think I'm getting close now. How do I set the first layer offset to get it closer to the bed?

Update:
Just ran a print and the auto bed leveling is not working. It's not adjusting on the fly at all.

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

Re: Dolly Configuration

Post by chumm » 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]

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

Re: Dolly Configuration

Post by 3DEnthusiast » Sun Oct 29, 2017 5:09 am

Thanks for sharing the settings.

I wasn't doing the G29 after G28. In fact, I would run the G29 and then start the print, which would then run the G28. I was going to throw that command into the G-Code start but wasn't sure where to put it but now I know. Thank you for that.

I will implement all of your suggestions as soon as I get home(working 3rds suck some nights) and give it a go then.


Once again, thank you all for all the info and support/help. This has been truly educational.

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

Re: Dolly Configuration

Post by slippyr4 » Sun Oct 29, 2017 8:19 am

Personally I don’t think that the slicer is the place to compensate for Z offset. Those slicer settings are appropriate for when you decide you want your first layer to be lower or higher for a given material.

The right place for correcting your Z probe offset is the firmware. You can set and adjust the offset with M851 gcode and then store it in EEPROM with M500.

The proper way to consider the separation of responsibilities is this: if a slicer is configured for a certain printer (for example a prusa mk2s) then the gcode it produces should print nicely on every prusa mk2s without any fuss.

The things that are different about every mk2s (most obviously z offset) belong as configuration parameters on the printer, because they vary between otherwise identical printers.
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

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

Re: Dolly Configuration

Post by 3DEnthusiast » Sun Oct 29, 2017 9:44 am

Alright, then according to http://marlinfw.org/docs/gcode/M851.html

The easiest way to get the value is to:

Home the Z axis.
Raise Z and deploy the probe.
Move Z down slowly until the probe triggers.
Take the current Z value and negate it. (5.2 => -5.2)
Set with M851 Z-5.2 and #define Z_PROBE_OFFSET_FROM_EXTRUDER -5.2.


What does it mean by deploy the probe? Right now my bed and printer are set to Home Offset X0 Y0 Z0. When my nozzle was at Z0, I leveled the bed with a sheet of paper. So, when I go to Z0, the probe triggers and the nozzle should be appropriately calibrated.

Also, the Z Probe Offset From Extruder is currently .8mm because in the item description it mentioned + is above and - is below. Should I reverse this?

Am I doing something wrong? lol.

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

Re: Dolly Configuration

Post by slippyr4 » Sun Oct 29, 2017 10:04 am

Firstly, M851 overrides the Z_PROBE_OFFSET_FROM_EXTRUDER. You don't need to reflash your firmware and change it, but you can if you want.

Fundamentally the probe you have triggers at a particular distance from the bed. If you adjust your bed screws, then the probe will still trigger at the same distance from the bed. Therefore, when using a probe as an endstop, the bed levelling screws are not used for setting your Z zero point, but only really for ensuring that the bed is in the same plane as your x/y axes.

So, the probe triggers at a certain distance from the bed (and that will vary from printer to printer (due to differences in probes, power supply voltage, bed thickness and material etc). The trigger point of the probe is very unlikely to be at the exact point that the nozzle touches the bed (which is what we want to call Z=0), so we need to find out, and specify, the difference in Z height between where the probe triggers and where the nozzle is.

There are a lot of ways of doing that, and, the method you quote is a good one. Ignore "deploy Z probe" - a lot of early reprap probes were attached to a servo arm and stowed when not in use. Your probe is permanent).

I think, seeing as by what you have written, you're not far off from at the right value, you should just find the right figure experimentally. If you do an M503 your printer will tell you what the current value for M851 is. If your first layer is too high at the moment, subtract a bit from that value and set a new one with M851 Z, and try your print again. Keep tweaking until it's about right.

When you set a new Z offset with M851 you need to home (G28) afterwards.
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

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

Re: Dolly Configuration

Post by 3DEnthusiast » Sun Oct 29, 2017 2:34 pm

Alright,
No matter what I input, the first layer is consistently printing at .2mm above the bed. How do I correct that?

Update:
Figured out that in Slic3r my "First Layer Height was set to .2. I assumed this meant to make the first layer thicker than the others. So how do I make my z axis travel .2mm below 0? More specifically, how do I make the thing think the bed is .2mm higher?

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

Re: Dolly Configuration

Post by slippyr4 » Sun Oct 29, 2017 4:48 pm

Subtract 0.2 from your M851 figure. The M851 figure should be negative.
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

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

Re: Dolly Configuration

Post by 3DEnthusiast » Sun Oct 29, 2017 7:27 pm

M851 is now set all the way to -12 and it's still not printing correctly.

Post Reply

Who is online

Users browsing this forum: No registered users and 5 guests