Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

Auto-Bed-Leveling Fehler "home X/Y before Z"

geschrieben von Bene 
Auto-Bed-Leveling Fehler "home X/Y before Z"
07. December 2015 11:44
Hallo zusammen,

ich habe ein Problem bei der Implementierung des Auto-Bed-Levelings. Ich benutze einen selbst gebauten Drucker (Doppelextruder) mit einer Marlin Firmware (v.1.1.0 RC 3) und der Repetier Host Software (v.1.6.0). Für das Auto-Bed-Leveling habe ich einen induktiven Sensor (normally open) von Sick (IME08-04NPS-ZT0K) verbaut.

Mein Problem ist, dass das Probing nicht ausgeführt wird. Das heißt, sobald ich auf Druck starten gehe werden X und Y gehomed. Anschließend positioniert sich der Drucktisch mittig unter dem Extruder. Danach wird die Z-Achse gehomed. Nun nimmt der Drucker aber keine Proben, sondern zeigt an: "home X/Y before Z". Nach einer gewissen Zeit fängt er dann an zu drucken, ohne den G29 Befehl ausgeführt zu haben.

Hat jemand eine Idee, wie ich das Auto-Bed-Leveling zum Laufen bekomme?

Im Startcode meines Slicers (Slic3r) ist folgendes eingetragen:
G28 ; home all axes
G29 ; Auto Level

In meinem Log steht folgendes:

17:33:29.837 : Compiled: Dec 7 2015
17:33:29.837 : echo: Free Memory: 4926 PlannerBufferBytes: 1232
17:33:29.837 : echo:Hardcoded Default Settings Loaded
17:33:29.837 : echoconfused smileyteps per unit:
17:33:29.837 : echo: M92 X59.26 Y59.26 Z2560.00 E455.00
17:33:29.837 : echo:Maximum feedrates (mm/s):
17:33:29.837 : echo: M203 X200.00 Y200.00 Z2.00 E25.00
17:33:29.847 : echo:Maximum Acceleration (mm/s2):
17:33:29.847 : echo: M201 X1000 Y1000 Z100 E10000
17:33:29.847 : echo:Accelerations: P=printing, R=retract and T=travel
17:33:29.847 : echo: M204 P1000.00 R1000.00 T1000.00
17:33:29.857 : echo:Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s), Z=maximum Z jerk (mm/s), E=maximum E jerk (mm/s)
17:33:29.857 : echo: M205 S0.00 T0.00 B20000 X20.00 Z0.40 E5.00
17:33:29.857 : echo:Home offset (mm):
17:33:29.857 : echo: M206 X0.00 Y0.00 Z0.00
17:33:29.857 : echotongue sticking out smileyID settings:
17:33:29.867 : echo: M301 P22.20 I1.08 D114.00 C100.00 L20
17:33:29.867 : echo:Filament settings: Disabled
17:33:29.867 : echo: M200 D3.00
17:33:29.867 : echo: M200 T1 D3.00
17:33:29.867 : echo: M200 D0
17:33:29.867 : echo:Z-Probe Offset (mm):
17:33:29.867 : echo: M851 Z-2.00
17:33:30.209 : FIRMWARE_NAME:Marlin 1.1.0-RC3 From Archive SOURCE_CODE_URL:http:// ... PROTOCOL_VERSION:1.0 MACHINE_TYPE:3D Printer EXTRUDER_COUNT:2 UUID:00000000-0000-0000-0000-000000000000
17:33:30.259 : X:0.00 Y:0.00 Z:0.00 E:0.00 Count X: 0.00 Y:0.00 Z:0.00
17:33:30.269 : echo:Active Extruder: 0
17:33:30.299 : echo:Active Extruder: 0
17:34:07.006 : echo:Home X/Y before Z
17:39:30.625 : Starte Objektanalyse ...
17:39:30.635 : Objekt ist mannigfaltig.
17:39:30.635 : Analyse beendet.
17:39:33.350 : Slic3r command:C:\Program Files\Repetier-Host\Slic3r\slic3r.exe --load "slic3r_settings.ini" --print-center 100.00,100.00 -o "composition.gcode" "composition.amf"
17:39:33.820 : => Processing triangulated mesh
17:39:33.820 : => Generating perimeters
17:39:33.970 : => Preparing infill
17:39:34.000 : => Infilling layers
17:39:34.160 : => Generating skirt
17:39:34.160 : => Exporting G-code to composition.gcode
17:39:34.350 : Done. Process took 0 minutes and 0.540 seconds
17:39:34.350 : Filament required: 71.7mm (0.5cm3)
17:41:02.378 : echo:Home X/Y before Z
17:41:12.478 : Drucke Layer 1 von 100
17:41:17.481 : Printer reset detected - initalizing
17:41:17.481 : start
17:41:17.481 : echo:Marlin 1.1.0-RC3
17:41:17.481 : echo: Last Updated: 2015-12-01 12:00 | Author: (Benedikt Kreis, Auto-Bed-Leveling config)
17:41:17.482 : Compiled: Dec 7 2015
17:41:17.482 : echo: Free Memory: 4926 PlannerBufferBytes: 1232
17:41:17.482 : echo:Hardcoded Default Settings Loaded
17:41:17.482 : echoconfused smileyteps per unit:
17:41:17.484 : echo: M92 X59.26 Y59.26 Z2560.00 E455.00
17:41:17.484 : echo:Maximum feedrates (mm/s):
17:41:17.505 : echo: M203 X200.00 Y200.00 Z2.00 E25.00
17:41:17.505 : echo:Maximum Acceleration (mm/s2):
17:41:17.505 : echo: M201 X1000 Y1000 Z100 E10000
17:41:17.505 : echo:Accelerations: P=printing, R=retract and T=travel
17:41:17.505 : echo: M204 P1000.00 R1000.00 T1000.00
17:41:17.515 : echo:Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s), Z=maximum Z jerk (mm/s), E=maximum E jerk (mm/s)
17:41:17.515 : echo: M205 S0.00 T0.00 B20000 X20.00 Z0.40 E5.00
17:41:17.515 : echo:Home offset (mm):
17:41:17.515 : echo: M206 X0.00 Y0.00 Z0.00
17:41:17.515 : echotongue sticking out smileyID settings:
17:41:17.525 : echo: M301 P22.20 I1.08 D114.00 C100.00 L20
17:41:17.525 : echo:Filament settings: Disabled
17:41:17.525 : echo: M200 D3.00
17:41:17.525 : echo: M200 T1 D3.00
17:41:17.525 : echo: M200 D0
17:41:17.525 : echo:Z-Probe Offset (mm):
17:41:17.525 : echo: M851 Z-2.00



In meiner config.h habe ich folgenden Eintrag für das Auto-Bed-Leveling:

//===========================================================================
//============================ Bed Auto Leveling ============================
//===========================================================================

// @section bedlevel

#define AUTO_BED_LEVELING_FEATURE // Delete the comment to enable (remove // at the start of the line)
//#define DEBUG_LEVELING_FEATURE
#define Z_MIN_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.

#if ENABLED(AUTO_BED_LEVELING_FEATURE)

// There are 2 different ways to specify probing locations:
//
// - "grid" mode
// Probe several points in a rectangular grid.
// You specify the rectangle and the density of sample points.
// This mode is preferred because there are more measurements.
//
// - "3-point" mode
// Probe 3 arbitrary points on the bed (that aren't colinear)
// You specify the XY coordinates of all 3 points.

// Enable this to sample the bed in a grid (least squares solution).
// Note: this feature generates 10KB extra code size.
#define AUTO_BED_LEVELING_GRID

#if ENABLED(AUTO_BED_LEVELING_GRID)

#define LEFT_PROBE_BED_POSITION 50
#define RIGHT_PROBE_BED_POSITION 150
#define FRONT_PROBE_BED_POSITION 50
#define BACK_PROBE_BED_POSITION 150

#define MIN_PROBE_EDGE 10 // The Z probe minimum square sides can be no smaller than this.

// Set the number of grid points per dimension.
// You probably don't need more than 3 (squared=9).
#define AUTO_BED_LEVELING_GRID_POINTS 2 // 2 = 4 points; 3 = 9 points

#else // !AUTO_BED_LEVELING_GRID

// Arbitrary points to probe.
// A simple cross-product is used to estimate the plane of the bed.
#define ABL_PROBE_PT_1_X 100
#define ABL_PROBE_PT_1_Y 50
#define ABL_PROBE_PT_2_X 150
#define ABL_PROBE_PT_2_Y 150
#define ABL_PROBE_PT_3_X 50
#define ABL_PROBE_PT_3_Y 150

#endif // AUTO_BED_LEVELING_GRID

// Offsets to the Z probe relative to the nozzle tip.
// X and Y offsets must be integers.
#define X_PROBE_OFFSET_FROM_EXTRUDER 27 // Z probe to nozzle X offset: -left +right
#define Y_PROBE_OFFSET_FROM_EXTRUDER 30 // Z probe to nozzle Y offset: -front +behind
#define Z_PROBE_OFFSET_FROM_EXTRUDER -2 // Z probe to nozzle Z offset: -below (always!)

#define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z axis before homing (G28) for Z 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 15 // How much the Z axis will be raised before traveling to the first probing point.
#define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points.
#define Z_RAISE_AFTER_PROBING 15 // How much the Z axis will be raised after the last probing point.

//#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
// Useful to retract a deployable Z probe.

//#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.


//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 Z 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 Z probe in a defined XY point before Z Homing when homing all axis (G28).
// - Block Z homing only when the Z probe is outside bed area.

#if ENABLED(Z_SAFE_HOMING)

#define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28).
#define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28).

#endif

// Support for a dedicated Z probe endstop separate from the Z min endstop.
// If you would like to use both a Z probe and a Z min endstop together,
// uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
// If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
// Example: To park the head outside the bed area when homing with G28.
//
// WARNING:
// The Z min endstop will need to set properly as it would without a Z probe
// to prevent head crashes and premature stopping during a print.
//
// To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
// defined in the pins_XXXXX.h file for your control board.
// If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
// Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
// RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
// in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
// otherwise connect to ground and D32 for normally closed configuration
// and 5V and D32 for normally open configurations.
// Normally closed configuration is advised and assumed.
// The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
// Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
// Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
// D32 is currently selected in the RAMPS 1.3/1.4 pin file.
// All other boards will need changes to the respective pins_XXXXX.h file.
//
// WARNING:
// Setting the wrong pin may have unexpected and potentially disastrous outcomes.
// Use with caution and do your homework.
//
//#define Z_MIN_PROBE_ENDSTOP

#endif // AUTO_BED_LEVELING_FEATURE
Re: Auto-Bed-Leveling Fehler "home X/Y before Z"
07. December 2015 13:22
Mach mal nur
G28 X Y
und dann G29.


Gruß Jürgen

Alles wird jut
Yet another Core XY 'YacXY'
Triffid_Hunter's_Calibration_Guide/de
Re: Auto-Bed-Leveling Fehler "home X/Y before Z"
08. December 2015 01:46
Falls Jürgens Vorschlag nicht klappen sollte, könntest du es auch mal mit

G28 X0 Y0 Z0;
G29;

versuchen. So hat es dann jedenfalls bei mir funktioniert.

Grüße


Grüße
Martin
Re: Auto-Bed-Leveling Fehler "home X/Y before Z"
08. December 2015 01:49
Ist da irgendwo nen M84 danach? Wie lange bleiben deine Stepper bestromt? Das kann man auch einstellen.


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Auto-Bed-Leveling Fehler "home X/Y before Z"
08. December 2015 04:36
Also beim Vorschlag von I.R.Gendwer und Zizibee bekomme ich die selbe Fehlermeldung. Dabei habe ich es in der Befehlsleiste von Repetier-Host eingegeben. Es sollte ja keinen Unterschied machen, ob ich es dort eingebe oder als Startcode beim Druck ausführe, oder? Macht es eigentlich einen Unterschied ob ich den Startcode in den Druckeinstellungen der Repetier-Host Software eingebe oder im Startcode des Slicers?
@ Wurstnase: Nein danach ist kein M84. Wo kann man die Betromungsdauer der Stepper nachschauen? Was hat das für eine Auswirkung?
Re: Auto-Bed-Leveling Fehler "home X/Y before Z"
08. December 2015 06:16
Sobald die Stepper ohne Strom sind, weiß die Firmware nicht mehr wo sie steht. Theoretisch könntest dann ja per Hand alles verstellen.

Mach einfach mal ein:

M84 S0
G28
G29


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Auto-Bed-Leveling Fehler "home X/Y before Z"
08. December 2015 06:59
Mit

M84 S0
G28
G29

funktioniert es auch nicht.

Irgendwelche anderen Ideen?
Re: Auto-Bed-Leveling Fehler "home X/Y before Z"
08. December 2015 07:28
Vielleicht liegt der Fehler auch außerhalb des Auto Bed Leveling Features. Anbei ist meine gesamte config.h
Anhänge:
Öffnen | Download - Configuration.h (41 KB)
Re: Auto-Bed-Leveling Fehler "home X/Y before Z"
08. December 2015 08:18
Wenn du die neueste RC nimmst musst du auch deine Config überarbeiten. Die kannst du nicht 1 zu 1 übernehmen.


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Auto-Bed-Leveling Fehler "home X/Y before Z"
08. December 2015 09:35
@Wurstnase:
Sobald die Stepper ohne Strom sind, weiß die Firmware nicht mehr wo sie steht. Theoretisch könntest dann ja per Hand alles verstellen.
Angenommen, ich stelle in der Firmware ein "Moter Z nach 2 Minuten inaktiv ausschalten"
Jetzt dauert mein Layer aber 3 Minuten zum drucken.
Heißt das jetzt, dass nach den 2 Minuten der Z-Motor ausgeschaltet wird und dann am Ende des Layers (nach 3 Minuten) die Z-Achse nicht in die richtige Höhe für den nächsten Layer fährt?

Wäre schön, wenn du mich da mal aufklären könntest.

Gruß,
Jürgen
Re: Auto-Bed-Leveling Fehler "home X/Y before Z"
08. December 2015 09:52
Nein, er schaltet den Motor aus aber fährt alles richtig an. Bei G28 und G29 möchte die Firmware allerdings auf Nummer sicher gehen und wissen wo sie ist. Daher wird das dort getestet.

Edit: Das Problem was man allerdings haben kann, wenn er den Motor zwischendurch ausschaltet ist, dass man ggf. eine falsche Höhe bekommt da der Motor anders einrasten kann.

1-mal bearbeitet. Zuletzt am 08.12.15 09:54.


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Auto-Bed-Leveling Fehler "home X/Y before Z"
08. December 2015 10:04
Danke für die Aufklärungthumbs up
Re: Auto-Bed-Leveling Fehler "home X/Y before Z"
08. December 2015 17:36
Also ich habe die Werte aus meiner alten config in die neue übertragen. Es funktioniert auch alles, nur nicht das Auto Bed Leveling. Es muss irgendetwas mit der Home-Funktion zu tun haben. Wo werden den die Werte der Endstops abgespeichert? Oder muss ich beim Auto Bed Leveling irgendetwas aktivieren, damit er weiß, dass die Endstops gesetzt wurden?
Re: Auto-Bed-Leveling Fehler "home X/Y before Z"
08. December 2015 23:44
Du hast da zum Teil Sachen reinkopiert die nicht mehr existieren. Keine Ahnung ob du da u.a. was falsches kopiert hast.


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Auto-Bed-Leveling Fehler "home X/Y before Z"
09. December 2015 05:34
Also ich habe die config.h nochmal überarbeitet, sodass ich keine alten Sachen drin habe, die es nicht mehr gibt. Trotzdem habe ich immer noch das gleiche Problem. Mir ist jetzt aufgefallen, dass wenn ich das Auto Bed Leveling Feature aktiviert habe, dann benutzt der Drucker eine andere Routine für das Homing als es deaktiviert habe. D.h.:
- Auto Bed Leveling deaktiviert: Drucker homed wie gewohnt
- Auto Bed Leveling aktiviert: Drucker homed langsamer und fährt die Z-Achse etwas hoch, bevor er sie homed.
Anhänge:
Öffnen | Download - Configuration.h (40.6 KB)
Re: Auto-Bed-Leveling Fehler "home X/Y before Z"
09. December 2015 06:53
Quote
Bene
Also ich habe die config.h nochmal überarbeitet, sodass ich keine alten Sachen drin habe, die es nicht mehr gibt. Trotzdem habe ich immer noch das gleiche Problem. Mir ist jetzt aufgefallen, dass wenn ich das Auto Bed Leveling Feature aktiviert habe, dann benutzt der Drucker eine andere Routine für das Homing als es deaktiviert habe. D.h.:
- Auto Bed Leveling deaktiviert: Drucker homed wie gewohnt
- Auto Bed Leveling aktiviert: Drucker homed langsamer und fährt die Z-Achse etwas hoch, bevor er sie homed.

Moin moin aus HU.
Das macht mein Drucker auch, wenn ich kein ABL gemacht habe und homing mache. Da der Drucker nicht weiß, wo er steht, wenn kein ABL gemacht ist, fährt Z zur Sicherheit höher.


Liebe Grüße aus Kaltenkirchen.
Frithjof
Meine Seite
[www.facebook.com]
Re: Auto-Bed-Leveling Fehler "home X/Y before Z"
09. December 2015 07:20
Nicht immer wild rumprobieren und gucken was passiert.

In der Config unter dem Autobedleveling steht auch eine menge Text der zum Lesen da ist. Das steht dann z.B. auch das Savehoming-Feature bei dem der Drucker als erstes das Bett anhebt (auf Z-Max-Luft achten) und dann an den Savespot fährt und dort Z-Min anfährt.


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Auto-Bed-Leveling Fehler "home X/Y before Z"
09. December 2015 08:36
Das Safe Homing habe ich extra deaktiviert, um auszuschließen, dass es daran liegt.
Re: Auto-Bed-Leveling Fehler "home X/Y before Z"
09. December 2015 08:54
Ok, Safe homing ist anscheinend nur für die X/Y-Position.

Wie auch immer:
  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
                                        // Be sure you have this distance over your Z_MAX_POS in case.


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Auto-Bed-Leveling Fehler "home X/Y before Z"
09. December 2015 11:35
Hat noch jemand eine Idee, wie ich mein Problem lösen kann?
Re: Auto-Bed-Leveling Fehler "home X/Y before Z"
14. December 2015 02:54
Re: Auto-Bed-Leveling Fehler "home X/Y before Z"
15. December 2015 12:35
Mir ist ein Unterschied zwischen meiner alten Firmware (ohne Auto Bed Leveling) und meiner neuen Firmware (mit Auto Bed Leveling) aufgefallen. Die Endstop Settings sind unterschiedlich. Wie konfiguriere ich diese richtig? Unten habe ich die entsprechenden Auszüge aus meiner config.h reinkopiert. Was bewirkt dieser Abschnitt überhaupt? Könnte dies die Ursache meines Problems sein?

Alte Firmware (v1.0.0)

// coarse Endstop Settings
#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors

#ifndef ENDSTOPPULLUPS
// fine Enstop settings: Individual Pullups. will be ignored if ENDSTOPPULLUPS is defined
// #define ENDSTOPPULLUP_XMAX
// #define ENDSTOPPULLUP_YMAX
// #define ENDSTOPPULLUP_ZMAX
// #define ENDSTOPPULLUP_XMIN
// #define ENDSTOPPULLUP_YMIN
// #define ENDSTOPPULLUP_ZMIN
#endif

#ifdef ENDSTOPPULLUPS
#define ENDSTOPPULLUP_XMAX
#define ENDSTOPPULLUP_YMAX
#define ENDSTOPPULLUP_ZMAX
#define ENDSTOPPULLUP_XMIN
#define ENDSTOPPULLUP_YMIN
#define ENDSTOPPULLUP_ZMIN
#endif


Neue Firmware (v1.1.0)

// coarse Endstop Settings
#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors

#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
//#define ENDSTOPPULLUP_YMIN
//#define ENDSTOPPULLUP_ZMIN
//#define ENDSTOPPULLUP_ZMIN_PROBE
#endif
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen