D3D Automatic Bed Leveling: Difference between revisions

From Open Source Ecology
Jump to navigation Jump to search
Line 10: Line 10:


=Action=
=Action=
#Diable EEPROM - it could be storing one value and never updating from print to print. [http://forums.reprap.org/read.php?263,411957]
#Do homing before AND after G29? - [http://forum.velleman.eu/viewtopic.php?f=53&t=14227&start=30]
#M501 to check current axis offsets (M206) - [https://airtripper.com/1799/marlin-firmware-home-offset-guide-using-g-code-m206/]
#Disable EEPROM - it could be storing one value and never updating from print to print. [http://forums.reprap.org/read.php?263,411957]
#V  Set the verbose level (0-4). Example: "G29 V3"
#V  Set the verbose level (0-4). Example: "G29 V3"
#Try Mattercontrol software [http://www.mattercontrol.com/articles/mattercontrol-guide-to-automatic-print-leveling]
#Try Mattercontrol software [http://www.mattercontrol.com/articles/mattercontrol-guide-to-automatic-print-leveling]

Revision as of 21:59, 16 June 2017

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. Do homing before AND after G29? - [2]
  2. M501 to check current axis offsets (M206) - [3]
  3. Disable EEPROM - it could be storing one value and never updating from print to print. [4]
  4. V Set the verbose level (0-4). Example: "G29 V3"
  5. Try Mattercontrol software [5]
  6. 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 [6]
  7. Contact Ryan Lutz at Matterhackers - see leveling troubleshooting - [7]
  8. 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) [8]
  9. As the last step in start gcode - move bed to required height, while leaving firmwar offset zero[9]:
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?? - [10]
  1. Another start gcode - [11]

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? [12]
  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 - [13]