D3D Automatic Bed Leveling

From Open Source Ecology
Revision as of 21:40, 16 June 2017 by Marcin (talk | contribs) (→‎Action)
Jump to navigation Jump to search

Intro

  • 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?
  • Marlin_main.cpp is main code

Action

  1. Diable EEPROM - it could be storing one value and never updating from print to print. [2]
  2. V Set the verbose level (0-4). Example: "G29 V3"
  3. Try Mattercontrol software [3]
  4. 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 [4]
  5. Contact Ryan Lutz at Matterhackers - see leveling troubleshooting - [5]
  6. 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) [6]
  7. As the last step in start gcode - move bed to required height, while leaving firmwar offset zero[7]:
G21; set mm units
G92 E0; reset extruder distance
G90; set absolute coordinates
G28; home all axes
G1 Z5; lower platform 5mm to clear bed in case of improper leveling
G1 X100 Y100 F3000; move extruder over bed center
M104 S195; set extruder temp to 195°C and start heating
M301 P39.04 I2.55 D149.66; Set PID for 195°C
M109 S195; wait for target extruder temp to be reached
G1 Z[first_layer_height]; Move Z to first layer height.
  1. This one also says you need to change the Z axis microsteps?? - [8]
  1. Another start gcode - [9]

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

  1. Does it matter if you do G28 X0 Y0 Z0 in one line vs setting G28 Z0 in a separate line? [10]
  2. Do software endstops influence this work here?
#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.

Useful Links

  • Actual explanation, but for manual bed level - [11]