Hallo,
hab nach längerer Zeit den Servo für das Auto Leveling rausgehauen und durch einen Sensor erstetzt. Nun wollte ich die config.h nach dieser Anleitung anpassen [
www.3d-proto.de] . Jedoch komme ich damit nicht zurecht.
Mein aktuelles Setting sieht so aus -->
//============================= 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 30
#define RIGHT_PROBE_BED_POSITION 150
#define BACK_PROBE_BED_POSITION 170
#define FRONT_PROBE_BED_POSITION 30
// 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 170
#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 // AUTO_BED_LEVELING_GRID
// these are the offsets to the probe relative to the extruder tip (Hotend - Probe)
#define X_PROBE_OFFSET_FROM_EXTRUDER 33.00
#define Y_PROBE_OFFSET_FROM_EXTRUDER 11.00
#define Z_PROBE_OFFSET_FROM_EXTRUDER -6.10
#define Z_RAISE_BEFORE_HOMING 16 // (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 8000 // X and Y axis travel speed between probes, in mm/min
#define Z_RAISE_BEFORE_PROBING 16 //How much the extruder will be raised before traveling to the first probing point.
#define Z_RAISE_BETWEEN_PROBINGS 6 //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
// The position of the homing switches
//#define MANUAL_HOME_POSITIONS // If defined, MANUAL_*_HOME_POS below will be used
//#define BED_CENTER_AT_0_0 // If defined, the center of the bed is at (X=0, Y=0)
//Manual homing switch locations:
// For deltabots this means top and center of the Cartesian print volume.
#define MANUAL_X_HOME_POS 0
#define MANUAL_Y_HOME_POS 0
#define MANUAL_Z_HOME_POS 0
//#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
//// MOVEMENT SETTINGS
#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E
#define HOMING_FEEDRATE {80*60, 80*60, 30*60, 0} // set the homing speeds (mm/min)
// default settings
#define DEFAULT_AXIS_STEPS_PER_UNIT {106.6667, 106.6667, 400, 150} // default 106.6667 XY steps per unit for Prusa i3 15 teeth. 94.1176 for 17 teeth , 150 for Extrusion.
#define DEFAULT_MAX_FEEDRATE {150, 150, 15, 25} // (mm/sec)
#define DEFAULT_MAX_ACCELERATION {9000,9000,30,10000} // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot.
#define DEFAULT_ACCELERATION 2300 // X, Y, Z and E max acceleration in mm/s^2 for printing moves
#define DEFAULT_RETRACT_ACCELERATION 2100 // X, Y, Z and E max acceleration in mm/s^2 for retracts
// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
// For the other hotends it is their distance from the extruder 0 hotend.
// #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
// #define EXTRUDER_OFFSET_Y {0.0, 5.00} // (in mm) for each extruder, offset of the hotend on the Y axis
// The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
#define DEFAULT_XYJERK 20.0 // (mm/sec)
#define DEFAULT_ZJERK 0.4 // (mm/sec)
#define DEFAULT_EJERK 5.0 // (mm/sec)
//===========================================================================
//=============================Additional Features===========================
//===========================================================================
Das zu ändernde so -->
2.) Software Anpassung in der neuen Marlin Firmware (1.1.4):
Für Variante a. und b. mit den aktiven induktiven oder kapazitiven Abstandssensor wird kein Pull-up für den z-Endstop benötigt.
//#define ENDSTOPPULLUPS // 3DP: Auskommentieren um Pull-Ups zu aktivieren
#if DISABLED(ENDSTOPPULLUPS)
// fine endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined
//#define ENDSTOPPULLUP_XMAX
//#define ENDSTOPPULLUP_YMAX
//#define ENDSTOPPULLUP_ZMAX
#define ENDSTOPPULLUP_XMIN//3DP: Pullup set
#define ENDSTOPPULLUP_YMIN//3DP: Pullup set
//#define ENDSTOPPULLUP_ZMIN
//#define ENDSTOPPULLUP_ZMIN_PROBE
#endif
Die nächsten zwei Codezeilen hängen von der Sensor oder Schaltervariante ab. Alle Sensoren gibt jeweils als Öffner (NC) und Schließer (NO).
Variante a.: Induktiver Sensor LJ12A3-4-Z/BX ist ein NPN-Schliesser -> "true"
Variante b.: Kapazitiver Sensor LJC18A3-BZ/AX ist ein NPN-Öffner -> "false"
Variante c.: 2 Pinniger Endschalter als Öffner (Sig, GND) -> "false"
#define Z_MIN_ENDSTOP_INVERTING true // "true" Variante a., "false" bei Var. b. und c.
...
...
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // "true" Variante a., "false" bei Var. b. und c.
Der Min-Endstop ist gleichzeitig auch der Abstandssensor oder Servo-Taster:
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN //3DP: keine Aenderung, weil Probe den Zmin Pin verwendet
...
...
#define FIX_MOUNTED_PROBE //3DP: Kommentarzeichen entfernen
Abstand des ind. oder cap. Sensors zum Hotend abmessen und im folgenden eintragen.
Dabei kann für den Z-Offset die folgenden Prozedur angewendet werden:
1.) Mit "G28" alle Achsen zurücksetzen. (Home all axis)
2.) Mit "G92 Z10" die Z-Achsen Position auf 10mm Höhe setzen ohne die Achse zu bewegen.
3.) In 0,1mm Schritten den Abstand vom Hotend zum Heizbett verringern bis nur noch ein Papierblatt dazwischen passt.
4.) Mit "M114" aktuelle Z-Position abfragen und das Delta als negativen Wert im folgenden eintragen
z.B. Z_PROBE_OFFSET_FROM_EXTRUDER = -(10mm - 9,2mm):
#define X_PROBE_OFFSET_FROM_EXTRUDER -25 //in mm
#define Y_PROBE_OFFSET_FROM_EXTRUDER 0
#define Z_PROBE_OFFSET_FROM_EXTRUDER -0.8 //Hier das gerade ausgemessene Delta eintragen.
XY-Geschwindigkeit sollte verringert werden, um keine Geschwindigkeitsbegrenzung zu erreichen.
#define XY_TRAVEL_SPEED 2000
Einschalten des 3-Punkte Autobed Levelings für ein planes Druckbett (Glasplatte oder präzisionsgefräste Platte).
#define AUTO_BED_LEVELING_3POINT //3DP: Enable
Definition der Testpunkte (in mm) für die Prozedur (passt für ein Druckbett mit 200x200mm Fläche). Diese werden angefahren und ausgemessen. Hier sollte man testweise mit kleinen Werten beginnen, damit der Sensor nicht aus dem Druckbett herausfährt.
#define ABL_PROBE_PT_1_X 15 //3DP: 200x200mm Heizbett (Sensor befindet sich 25mm rechts vom Hotend)
#define ABL_PROBE_PT_1_Y 160 //3DP: 200x200mm Heizbett (Sensor befindet sich 25mm rechts vom Hotend)
#define ABL_PROBE_PT_2_X 15 //3DP: 200x200mm Heizbett (Sensor befindet sich 25mm rechts vom Hotend)
#define ABL_PROBE_PT_2_Y 20 //3DP: 200x200mm Heizbett (Sensor befindet sich 25mm rechts vom Hotend)
#define ABL_PROBE_PT_3_X 130 //3DP: 200x200mm Heizbett (Sensor befindet sich 25mm rechts vom Hotend)
#define ABL_PROBE_PT_3_Y 20 //3DP: 200x200mm Heizbett (Sensor befindet sich 25mm rechts vom Hotend)
Nach dem Homing nicht in das Bettzentrum fahren, um beim Nullpunkt mit der Prozedur zu beginnen. Sonst kann es sein, dass das Hotend während dessen außerhalb des Druckbetts fährt. Die homing feedrate sollte verringert werden.
#define Z_SAFE_HOMING_X_POINT (0) //3DP: (X_MAX_LENGTH/2) mit 0 ersetzen
#define Z_SAFE_HOMING_Y_POINT (0)
...
...
#define HOMING_FEEDRATE_XY (30*60) //3DP: 40->30
#define HOMING_FEEDRATE_Z (2*60) //3DP: 4->2
Soll ich jetzt das bestehende einfach durch die obigen Codezeilen ersetzen oder wie würdet ihr das machen???
Ich bin damit leider nicht so ganz vertraut, aber evtl. könnt Ihr mir ja helfen.
Vielen Dank