Posted on Leave a comment

Autolewelowanie drukarki 3D

Autolewelowanie drukarki 3D

Autolewelowanie drukarki 3D

 

Autolewelowanie drukarki 3D

W tym filmiku przedstawiam rozwiązanie problemu ręcznego levelowanie stołu drukarki za pomocą śrubeczek. Autolewelowanie drukarki 3D wykorzystuje czujnik indukcyjny który robi automatyczne levelowanie stołu za każdym razem gdy uruchamiam jakiś plik do druku. Aby to działało trzeba zmontować czujnik na głowicy drukarki. W firmware drukarki trzeba dodać opcje auto leveling.

Nie odpowiadam za szkody jakie wyrządzisz robiąc coś zle. Robisz to na własną odpowiedzialność.

Moj firmware w configuration.h wygląda tak zaraz po mechanical settings dodajesz ten kod.
//============================= Bed Auto Leveling ===========================

#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)

#ifdef ENABLE_AUTO_BED_LEVELING

// There are 2 different ways to pick the X and Y locations to probe:

// – “grid” mode
// Probe every point in a rectangular grid
// You must specify the rectangle, and the density of sample points
// This mode is preferred because there are more measurements.
// It used to be called ACCURATE_BED_LEVELING but “grid” is more descriptive

// – “3-point” mode
// Probe 3 arbitrary points on the bed (that aren’t colinear)
// You must specify the X & Y coordinates of all 3 points

#define AUTO_BED_LEVELING_GRID
// with AUTO_BED_LEVELING_GRID, the bed is sampled in a
// AUTO_BED_LEVELING_GRID_POINTSxAUTO_BED_LEVELING_GRID_POINTS grid
// and least squares solution is calculated
// Note: this feature occupies 10’206 byte
#ifdef AUTO_BED_LEVELING_GRID

// set the rectangle in which to probe
#define LEFT_PROBE_BED_POSITION 20
#define RIGHT_PROBE_BED_POSITION 175
#define BACK_PROBE_BED_POSITION 220
#define FRONT_PROBE_BED_POSITION 20

// set the number of grid points per dimension
// I wouldn’t see a reason to go above 3 (=9 probing points on the bed)
#define AUTO_BED_LEVELING_GRID_POINTS 3

#else // not AUTO_BED_LEVELING_GRID
// with no grid, just probe 3 arbitrary points. A simple cross-product
// is used to esimate the plane of the print bed

#define ABL_PROBE_PT_1_X 15
#define ABL_PROBE_PT_1_Y 130
#define ABL_PROBE_PT_2_X 25
#define ABL_PROBE_PT_2_Y 20
#define ABL_PROBE_PT_3_X 130
#define ABL_PROBE_PT_3_Y 20

#endif // AUTO_BED_LEVELING_GRID

// these are the offsets to the probe relative to the extruder tip (Hotend – Probe)
#define X_PROBE_OFFSET_FROM_EXTRUDER 29
#define Y_PROBE_OFFSET_FROM_EXTRUDER 17
#define Z_PROBE_OFFSET_FROM_EXTRUDER -0.5

#define Z_RAISE_BEFORE_HOMING 5 // (in mm) Raise Z before homing (G28) for Probe Clearance.
// Be sure you have this distance over your Z_MAX_POS in case

#define XY_TRAVEL_SPEED 4000 // X and Y axis travel speed between probes, in mm/min

#define Z_RAISE_BEFORE_PROBING 5 //How much the extruder will be raised before traveling to the first probing point.
#define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points

//If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk
//The value is the delay to turn the servo off after powered on – depends on the servo speed; 300ms is good value, but you can try lower it.
// You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile.

#define PROBE_SERVO_DEACTIVATION_DELAY 300

//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
//it is highly recommended you let this Z_SAFE_HOMING enabled!!!

#define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area.
// When defined, it will:
// – Allow Z homing only after X and Y homing AND stepper drivers still enabled
// – If stepper drivers timeout, it will need X and Y homing again before Z homing
// – Position the probe in a defined XY point before Z Homing when homing all axis (G28)
// – Block Z homing only when the probe is outside bed area.

#ifdef Z_SAFE_HOMING

#define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2) // X point for Z homing when homing all axis (G28)
#define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2) // Y point for Z homing when homing all axis (G28)

#endif

#endif // ENABLE_AUTO_BED_LEVELING
Natomiast mój start gcode wygląda tak

;Sliced at: {day} {date} {time}
;Basic settings: Layer height: {layer_height} Walls: {wall_thickness} Fill: {fill_density}
;Print time: {print_time}
;Filament used: {filament_amount}m {filament_weight}g
;Filament cost: {filament_cost}
;M190 S{print_bed_temperature} ;Uncomment to add your own bed temperature line
;M109 S{print_temperature} ;Uncomment to add your own temperature line
G21 ;metric values
G90 ;absolute positioning
M82 ;set extruder to absolute mode
M107 ;start with the fan off
G28 F4000 ;move X/Y to min endstops
G29
G1 X70 Y0 F4000 ; bring extruder to the front
G92 E0 ; zero the extruded length
G1 Z0 ; lower
G1 X50 Y45 Z0.3 F800 E15 F20
G92 E0 ; zero the extruded length again

Opis mojej drukarki 3d zawiera większość info jakie potrzebujesz zeby zupdatować swoj rukare.

Leave a Reply

Your email address will not be published. Required fields are marked *