D3D Automatic Bed Leveling - Open Source Ecology - Wiki
Contents
- 1 Intro
- 2 Action
- 3 Useful Links
- 4 Test Procedure Logic
- 5 Communications
- D3D Marlin covers code up to calibration.
- Code works for following the 3D printer - such as Yousef's twisted axis.
- Initial code used - April 29 - see April 29 version of D3D Marlin.
- Lulzbot Cura initialization file used - File:D3DLulzbotCura.ini
- See instructable on auto bed level - [1] - it says to use G92 to implmement the z offset correction.
- What is the difference between G92 Z-1 and M851 Z-1 and M206 Z-1?
- See Marlin Gcodes
- Marlin_main.cpp is main code
- Does G1 Zx shift do offset correction? [2]
- Start g code example - [3]
- Do homing before AND after G29? It says that you both should and shouldn't do this in this article - [4]
- M501 to check current axis offsets (M206) - [5]
- Disable EEPROM - it could be storing one value and never updating from print to print. [6]
- V Set the verbose level (0-4). Example: "G29 V3"
- Try Mattercontrol software [7]
- Check usign G1 Z0 command to see where the print will actually start printing - it should go to the first layer height set by the probe. - comment by Martin at [8]
- Contact Ryan Lutz at Matterhackers - see leveling troubleshooting - [9]
- Probe starting in the center. Find the center coordinate after zeroing. There may be weird things happening when probing is too close to edge (30mm or less) [10]
- As the last step in start gcode - move bed to required height, while leaving firmwar offset zero[11]:
- This one also says you need to change the Z axis microsteps?? - [12]
- Another start gcode - [13]
M104 S[first_layer_temperature_0] ;set extruder temp and start heating G28 X0 Y0 ;home X and Y G29 ;probe bed G90; set absolute coordinates G92 E0; reset extruder distance G1 Z5 F300 ;move platform down 5mm G1 X145 Y145 F3000 ; move to back right corner
- Does it matter if you do G28 X0 Y0 Z0 in one line vs setting G28 Z0 in a separate line? [14]
- Do software endstops influence this work here?
- Good discussion with Marlin heavyweights - [15]. Bernhardt Kubicek (lastname at gmx.at)
- Actual explanation, but for manual bed level - [16]
- Verbose G29 - [17]
Find out what is happening.
At start, bed is not level. Probe gets level with G29. But the offset from bed is not known. Offset creates the initial good starting point.
So in start code - we should impose a correct offset override. The offset should not be set in firmware, as this requires a new firmware upload. Dangerous.
So let's assume that we do the correction in start g-code or initialization file of printer host.
To know that everything is happening as it should, we should test manually first.
Do G29. Then move the print head to zero height. The height should end up .1mm above bed ideally, but in reality, it will have an offset.
Is there a command that can override the head height? That should be the G92. With software endstops deactivated, setting G92 Z1 should allow movement down to zero. G1 Z0 should move the Z axis down by 1 if the axis were homed at Z=1. This means we artificially insert an offset. We can find that offset at any position on the print bed.
Say we move to the middle of the print bed. We measure the offset there:
- Reflash firmware to speed up testing process. Faster speed between probing. Turn of bed heat to make that faster.
- Move manually to mid of bed, note location.
- Zero all axes G28.
- Move to 0 height location. Record height above bed. Should be zero. Raise head to allow motion to mid of bed.
- Move to mid of bed. G1 Xmid Ymid.
- Record height above bed. It should not be at zero there - it could either be below (crash) or above. The software endstops should be disabled in firmware - so should definitely be able to crash into bed, so be careful.
- Shift the z offset. Does that do anything with M851 Z10? What happens with G1 Z0? Nothing, as the offset is only an automatic bed level feature?
- Auto bed level G29
- Move to mid of bed. G1 Xmid Ymid.
- Move to 0 height location. G1 Z0. Note the location above bed.
- Move down until triggered
- G92 Z10
- Move down to get offset.
- Set offset. M851 Z10 and M206 Z10. See if new G1 Z0 zero goes to ~10 mm above bed?
To Chris Palmer and Bernhard Kubicek, Marlin developers:
Hi Chris and Bernhard,
I saw your dev thread at https://github.com/MarlinFirmware/Marlin/issues/1244 - and I would like to ask regarding the latest status of Marlin auto bed leveling. Is nonlinear (bed warp-correcting) bed leveling implemented?
I am still not clear after that thread whether nonlinear bed correction is implemented (correction for bed warping - does not assume a perfectly flat bed surface) or does Marlin only have a linear bed tilt correction (assumes a perfectly flat but tilted bed).
I have tried to get mesh leveling to work with both 2x2 and 3x3 grids and couldn't get it to work accurately enough. I checked different aluminum print surfaces, and still no good. The following of the bed with air printing was off by up to 2 mm over a 6" area. So I switched to 3-point leveling, and that works fine, to about +/- 0.1 mm over a typical print. I am using Marlin 1.1.0-RC8 - 6 Dec 2016 from the main Github repository.
We are developing a 1'x4' print bed printer - and the nonlinear correction feature would be indispensable to keep bed costs down by allowing use of non-precision metal surfaces. You can see our work on the 3D printer at on the open source ecology wiki.
Marcin
Từ khóa » G28 X0 Y0 G29 Z0
-
Autolevel?? - 3D Printing Forum
-
Start GCode Routines - RepRap
-
G-code - RepRap
-
How To Configure The BLTouch Start And End G-Codes?
-
Need Help With Creality BLTouch On Ender 3 Pro : R/ender3 - Reddit
-
Understanding G27, G28, G29 And G30 - Modern Machine Shop
-
Does G28 Reset The G29 Probe Calibration? - Thingiverse
-
Beginners Guide To 3D Printer Auto Bed Leveling - Simplify3D
-
Change Cura Start Gcode For Add-ons To Build Plate - 3D Hubs
-
G-code Print Issue...i Think - 3D Hubs
-
The G29 Command Only Runs The Z-probe 10 Mm Torwards The Bed.
-
[PDF] BLtouch Creality For Creality V1 安装说明书 20181113v1
-
G28 Return To Machine Zero Point (Group 00) - Haas Automation Inc.