Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

[gelöst] Auto bed leveling Z Homing funktioniert nicht

geschrieben von Kiessar 
[gelöst] Auto bed leveling Z Homing funktioniert nicht
09. February 2015 16:41
Hallo Zusammen,
mein erster Post ich hoffe treffe das richtige Forum,
Ich hab über die Suche kein passendes Thema gefunden und auch im IRC konnte man mir nicht helfen.

Nun zu meinem Problem. Ich habe mir für meinen Prusa I3 Rework die Vorrichtung zum Autobed leveling gedruckt und angebracht.
Bin dabei nach diesem Tutorial vorgegangen:
[zennmaster.com]

Die Mechanik funktioniert.
Wenn ich nun G28 aufrufe wird X und Y korrekt gehomed wenn dann Z gehomed werden soll, fährt der Kopf in die Mitte fährt den Prüfer aus, prüft und fährt ihn wieder ein.
Was fehlt, ist dass sich der Druckkopf dann an das Druckbett bewegt also, also um die konfigurierten Abstand senkt.

Hab Mitte Januar die Marling stable verwendet und folgende Konfiguration zum autobed leveling vorgenommen:
#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
#define Z_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.

#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 182
    #define BACK_PROBE_BED_POSITION 160
    #define FRONT_PROBE_BED_POSITION 5

     // 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 2


  #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 180
      #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 37
  #define Y_PROBE_OFFSET_FROM_EXTRUDER -4
  #define Z_PROBE_OFFSET_FROM_EXTRUDER -6.3

  #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 2000         // 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 0.2  //How much the extruder will be raised when traveling from between next probing points

  //#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 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

  #ifdef AUTO_BED_LEVELING_GRID	// Check if Probe_Offset * Grid Points is greater than Probing Range
    #if X_PROBE_OFFSET_FROM_EXTRUDER < 0
      #if (-(X_PROBE_OFFSET_FROM_EXTRUDER * AUTO_BED_LEVELING_GRID_POINTS) >= (RIGHT_PROBE_BED_POSITION - LEFT_PROBE_BED_POSITION))
	     #error "The X axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
	  #endif
	#else
      #if ((X_PROBE_OFFSET_FROM_EXTRUDER * AUTO_BED_LEVELING_GRID_POINTS) >= (RIGHT_PROBE_BED_POSITION - LEFT_PROBE_BED_POSITION))
	     #error "The X axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
	  #endif
	#endif
    #if Y_PROBE_OFFSET_FROM_EXTRUDER < 0
      #if (-(Y_PROBE_OFFSET_FROM_EXTRUDER * AUTO_BED_LEVELING_GRID_POINTS) >= (BACK_PROBE_BED_POSITION - FRONT_PROBE_BED_POSITION))
	     #error "The Y axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
	  #endif
	#else
      #if ((Y_PROBE_OFFSET_FROM_EXTRUDER * AUTO_BED_LEVELING_GRID_POINTS) >= (BACK_PROBE_BED_POSITION - FRONT_PROBE_BED_POSITION))
	     #error "The Y axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
	  #endif
	#endif

	
  #endif
  
#endif // ENABLE_AUTO_BED_LEVELING

Habe in Slic3er für Start G-Code folgendes verwendet:
G28 ; home all axes
G29;
G1 Z5 F5000 ; lift nozzle

Starte ich so einen Druck, wird X und Y gehomed und dann das Vermessen des Bettlevels durchgeführt.
Danach beginnt der Druck dann.... in der Luft.

Danke im voraus!

2-mal bearbeitet. Zuletzt am 11.02.15 16:02.
Re: Auto bed leveling Z Homing funktioniert nicht
09. February 2015 17:03
Wenn er in der Luft anfängt gibt es eigentlich nur zwei Möglichkeiten.

1.) #define Z_PROBE_OFFSET_FROM_EXTRUDER -6.3 ist nicht richtig
2.) EEPROM aktiviert aber die neue config wurde nicht geladen

zu 1.) mit g28 g29 dein Bett leveln, in die Mitte vom Bett fahren und den Offset zur Düse genau ermitteln.
zu 2.) mit m502 deine aktuelle Firmware-Config laden und mit M500 im EEPROM speichern.


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Auto bed leveling Z Homing funktioniert nicht
09. February 2015 17:23
G1 Z5 F5000 ; lift nozzle

du hebst den Druckkopf um 5mm wieder an???
warum?


Commercium ----> Ramps, RADDS, e3d-Hotends und Filament kauft man hier.. und neu auch Schrauben,Muttern und Unterlegscheiben
Probleme mit dem e3d und bei mir gekauft? Schickt es ein, ich teste es für euch ob es wirklich defekt ist smiling smiley
Print Quality Troubleshooting Guide hier lang..
Re: Auto bed leveling Z Homing funktioniert nicht
09. February 2015 17:49
Vielen Dank für die schnelle Hilfe.

@Wurstnase:
a) Müsste passen hab mit einer Schieblehre gemessen sind ca 6,3 mm
b)
Einfach m502 und dann m500 absetzen?
Wenn ja: Keine Verbesserung

// M500 - stores parameters in EEPROM
// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily).
// M502 - reverts to the default "factory settings". You still need to store them in EEPROM afterwards if you want to.

Bist du dir mit den Befehlen sicher?

@Le-Seaw:
Ist der Standard G-Code von Slic3r.
Hab nur die G29; eingefügt.

3-mal bearbeitet. Zuletzt am 09.02.15 18:01.
Re: Auto bed leveling Z Homing funktioniert nicht
10. February 2015 01:58
Und senkt er es auch wieder ab irgendwo ?
Ganze startcode mal bitte


Commercium ----> Ramps, RADDS, e3d-Hotends und Filament kauft man hier.. und neu auch Schrauben,Muttern und Unterlegscheiben
Probleme mit dem e3d und bei mir gekauft? Schickt es ein, ich teste es für euch ob es wirklich defekt ist smiling smiley
Print Quality Troubleshooting Guide hier lang..
Re: Auto bed leveling Z Homing funktioniert nicht
10. February 2015 02:54
Quote
Le-Seaw
Und senkt er es auch wieder ab irgendwo ?
Ganze startcode mal bitte

Das sollte ja normal der Slicer machen. Zumindest bei Cura/Slic3r/S3D/Skeinforge steht eigentlich in der ersten Zeile nach dem Start-gcode g1 z0.xx.


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Auto bed leveling Z Homing funktioniert nicht
10. February 2015 02:59
Da Marlin github lesen wegen dem offset und den Schaltpunkt messen ist dann sehr unpraktisch vor allem ein "ca." ;-)
Re: Auto bed leveling Z Homing funktioniert nicht
10. February 2015 16:55
Hier der Beginn des G-Code eines Drucks

 generated by Slic3r 1.1.7 on 2015-02-10 at 22:34:04

; perimeters extrusion width = 0.40mm
; infill extrusion width = 0.42mm
; solid infill extrusion width = 0.42mm
; top infill extrusion width = 0.42mm
; support material extrusion width = 0.40mm

G21 ; set units to millimeters
M107
M190 S55 ; wait for bed temperature to be reached
M104 S175 ; set temperature
G28 ; home all axes
G29;
G1 Z5 F5000 ; lift nozzle

M109 S175 ; wait for temperature to be reached
G90 ; use absolute coordinates
G92 E0
M82 ; use absolute distances for extrusion
G1 F900.000 E-4.00000
G92 E0
G1 Z0.400 F7800.000
G1 X83.621 Y75.556 F7800.000
G1 E4.00000 F900.000
G1 X85.662 Y73.297 E4.12058 F1080.000
G1 X87.974 Y71.573 E4.23481

Mit den ca meine ich, dass der Wert den ich gemessen habe beim kalibrieren gemessen habe passen sollte, es aber danach aussieht das genau dieser Wert nicht in -Z Richtung bewegt wird.
Re: Auto bed leveling Z Homing funktioniert nicht
10. February 2015 17:12
Mach nochmal dein g28 g29
Dann fahre manuell in die Mitte vom Bett
Jetzt g1 z0
Nach deiner Beschreibung sollte da ja jetzt noch Luft zwischen sein.
Also direkt ohne Umwege nen g92 z10.
Jetzt kannst du in kleinen Schritten soweit nach unten bis du das Bett berührst.
Mit m114 kannst du jetzt dein Z auslesen. 10 minus dieses Z ist das was du zusätzlich in deiner Firmware abziehen musst. Dann nochmal flashen und danach in deiner Hostsoftware wieder mit m502 und m500 alles resetten.


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Auto bed leveling Z Homing funktioniert nicht
10. February 2015 17:58
Jetzt passieren merkwürdige Dinge. Wenn ich Y home bewegt sich die Z-Achse.
Bevor die Z-Achse gehomed wird (G28 nach x und y) fährt die Zachse erst ein stück runter dann wieder rauf.
Er tut immer noch was er soll nur fährt jetzt zusätzlich die z Achse runter.
Nach G28 kann ich G29 nicht mehr ausführen. Bekomme die Fehlermeldung, dass ich erst X und Y homen soll.

Von der Höhe beim Drucken scheint es jetzt zwar zu passen aber das G29 wird nicht mehr ausgeführt bevor der Druck beginnt.
Re: Auto bed leveling Z Homing funktioniert nicht
11. February 2015 13:00
So hab nochmal neu Marlin gezogen und Werte übertragen.
Meine "Merkwürdigkeiten" treten nicht mehr auf.

Zu deinen Angaben. Wenn ich es jetzt genau so mache wie du schreibst.

g28; g29; manuell mitte; g1 z0

setzt der Kopf auf.

Ich habe allerdings noch weiter Probleme:
Nach G29 kann ich manuell nicht steuern, weil die Position nicht an die Hostsoftware zuück gemeldet wird.Daher habe ich zusätzlich noch G92 X0 Y0;ausgeführt um den kopf manuell auf das Zentrum auszurichten.

Weitaus größer ist aber das Problem, dass beim "proben" sobald der Knopf das zweite mal gedrückt wird, der Servor den Kopf einfährt. Da dieser flächig aufliegt, reisst er mir nach und nach das Kapton-Tape vom Spiegel.

Ich werde die Abstände des Schalters neu vermessen und dann nochmal berichten.
Re: Auto bed leveling Z Homing funktioniert nicht
11. February 2015 14:05
Sehe ich das richtig, dass nach

G28; G1 Z0;


Müsste der Kopf doch wie kalibriert positioniert sein (sehr knapp über dem Druckbett), oder etwa nicht?
Re: Auto bed leveling Z Homing funktioniert nicht
11. February 2015 14:39
Re: Auto bed leveling Z Homing funktioniert nicht
11. February 2015 14:59
Ok, hab noch nicht verstanden warum aber es geht jetzt.
Es scheint was mit dem EEPROM einstellungen zu tun gehabt zu haben.
Ich habe
//#define EEPROM_SETTINGS
//#define EEPROM_CHITCHAT

wie man sieht auskommentiert, danach das ausgeführt was wurstnase gesagt hat:

g28; g29; manuell mitte; g1 z0

und es ging.

Für mein Problem mit dem liften des Knopfes über den Servo, erstelle ich mal ein separaten Thread.
Re: Auto bed leveling Z Homing funktioniert nicht
09. December 2015 05:45
Quote
Kiessar
Jetzt passieren merkwürdige Dinge. Wenn ich Y home bewegt sich die Z-Achse.
Bevor die Z-Achse gehomed wird (G28 nach x und y) fährt die Zachse erst ein stück runter dann wieder rauf.
Er tut immer noch was er soll nur fährt jetzt zusätzlich die z Achse runter.
Nach G28 kann ich G29 nicht mehr ausführen. Bekomme die Fehlermeldung, dass ich erst X und Y homen soll.

Von der Höhe beim Drucken scheint es jetzt zwar zu passen aber das G29 wird nicht mehr ausgeführt bevor der Druck beginnt.

Hallo Kiessar,

ich habe genau das oben beschriebene Problem, dass er mir sagt ich muss erst X und Y homen bevor Z. Dabei benutze ich Marlin v1.1.0 RC3. Du hast geschrieben
Quote
Kiessar
So hab nochmal neu Marlin gezogen und Werte übertragen.
Meine "Merkwürdigkeiten" treten nicht mehr auf.

Das habe ich auch gemacht, habe aber immernoch das selbe Problem. Welche Marlin Version hast du benutzt?
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen