Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

Repetier Autoleveling mehr Testpunkte

geschrieben von Wollez 
Repetier Autoleveling mehr Testpunkte
12. July 2014 03:32
Hallo zusammen,

seit ein paar Tagen suche ich mich im Forum und im Netz nach diesem Thema zu Tode. Vielleicht kann mir von Euch jemand weiter helfen.

Bei dem Z-Probe werden immer nur 3 Punkte angefahren. Dies ist mir aber zu ungenau und würde dies gerne auf 5 Punkte erweitern. Dazu muss man sicherlich am Code einiges ändern. Da ich damit nicht fit genug bin, wollte ich hier mal fragen, ob mir jemand von Euch behilflich sein könnte. Vielleicht gibt es dazu ja auch schon ein Mod und ich habe ihn einfach nicht gefunden oder jemand von Euch hat dies schon gemacht.

Bitte jetzt nicht die Grundsatzdiskussion "für was man dies brauch..." anfangen.


Gruß Wolfgang

PRUSA i3 | RAMPS 1.4 | Repetier-Host V0.95F | Marlin | E3D-v5 All metal HotEnd - 3mm Direct Extrusion | Heizmatte 230V von Stud54 mit SSR und FI | Aluminium Dauerdruckplatte von Stud54
Re: Repetier Autoleveling mehr Testpunkte
12. July 2014 06:57
Ich denke nicht, dass 5 Punkte präzisere Ergebnisse liefern würde, da eine Ebene nunmal durch 3 Punkte aufgespannt wird.

Ich könnte mir höchstens vorstellen jeden Punkt mehrmals anzufahren und einen Mittelwert zu bilden und somit die Messungenauigkeit etwas zu kompensieren. Weiß aber nicht ob das wirklich helfen würde.

Ich meine das so:

1. Punkt 1 anfahren und Z=0 ermitteln
2. Punkt 2 anfahren und Z=0 ermitteln
3. Punkt 3 anfahren und Z=0 ermitteln
4. Erneut Punkt 1 anfahren und Z=0 ermitteln
5. Erneut Punkt 2 anfahren und Z=0 ermitteln
6. Erneut Punkt 3 anfahren und Z=0 ermitteln
:
:
:
Wiederhole dies x mal
:
:
:
n-2. Aus den ermittelten Werten für Punkt 1 den Mittelwert bilden
n-1. Aus den ermittelten Werten für Punkt 2 den Mittelwert bilden
n. Aus den ermittelten Werten für Punkt 3 den Mittelwert bilden


Wie gesagt, keine Ahnung ob es tatsächlich etwas bringen würde...

1-mal bearbeitet. Zuletzt am 12.07.14 06:57.
Re: Repetier Autoleveling mehr Testpunkte
12. July 2014 09:41
Nein er hat schon recht mehr Punkte um so genauer.
Weil wenn du 9-12 anfährst ist es auch egal wenn dein X nicht gerade ist.
Bei 3 Punkten sollte X aber gut sitzen und nur y schief sein.

#define FEATURE_AUTOLEVEL 1
#define Z_PROBE_X1 20
#define Z_PROBE_Y1 20
#define Z_PROBE_X2 160
#define Z_PROBE_Y2 20
#define Z_PROBE_X3 100
#define Z_PROBE_Y3 160

denke wenn du da mehr werte dazumachst fährt er sie auch ab.
vermute es aber nur da ich Marlin nutze beim Autoleveln

1-mal bearbeitet. Zuletzt am 12.07.14 09:43.


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: Repetier Autoleveling mehr Testpunkte
12. July 2014 09:57
ich hab auf alle fälle schon youtube videos gesehen wo das auto bed leveling mehrere punkte abgefahren ist.
Ist also vermutlich schon in einer FW eingebaut.
[www.youtube.com]
Re: Repetier Autoleveling mehr Testpunkte
12. July 2014 10:47
Quote
mantus
ich hab auf alle fälle schon youtube videos gesehen wo das auto bed leveling mehrere punkte abgefahren ist.
Ist also vermutlich schon in einer FW eingebaut.
[www.youtube.com]

Das war schon mal ein guter Tip!

Er verwendet Marlin. Ich benutze Repetier.

In dem Marlin Code wird es in der configuration.h in folgender Zeile festgelegt: (Configuration.h)
 // with accurate bed leveling, the bed is sampled in a ACCURATE_BED_LEVELING_POINTSxACCURATE_BED_LEVELING_POINTS grid and least squares solution is calculated
  // Note: this feature occupies 10'206 byte
#define ACCURATE_BED_LEVELING

#ifdef ACCURATE_BED_LEVELING
#define ACCURATE_BED_LEVELING_POINTS 9
#define ACCURATE_BED_LEVELING_GRID_X ((RIGHT_PROBE_BED_POSITION - LEFT_PROBE_BED_POSITION) / (ACCURATE_BED_LEVELING_POINTS - 1))
#define ACCURATE_BED_LEVELING_GRID_Y ((BACK_PROBE_BED_POSITION - FRONT_PROBE_BED_POSITION) / (ACCURATE_BED_LEVELING_POINTS - 1))

    // NONLINEAR_BED_LEVELING means: don't try to calculate linear coefficients but instead
    // compensate by interpolating between the nearest four Z probe values for each point.
    // Useful for deltabots where the print surface may appear like a bowl or dome shape.
    // Works best with ACCURATE_BED_LEVELING_POINTS 5 or higher.
#define NONLINEAR_BED_LEVELING
#endif

Er hat hier 9 Punkte definiert, die angefahren werden.


Gruß Wolfgang

PRUSA i3 | RAMPS 1.4 | Repetier-Host V0.95F | Marlin | E3D-v5 All metal HotEnd - 3mm Direct Extrusion | Heizmatte 230V von Stud54 mit SSR und FI | Aluminium Dauerdruckplatte von Stud54
Re: Repetier Autoleveling mehr Testpunkte
12. July 2014 11:08
Quote
Le-Seaw
Nein er hat schon recht mehr Punkte um so genauer.
Weil wenn du 9-12 anfährst ist es auch egal wenn dein X nicht gerade ist.
Bei 3 Punkten sollte X aber gut sitzen und nur y schief sein.

#define FEATURE_AUTOLEVEL 1
#define Z_PROBE_X1 20
#define Z_PROBE_Y1 20
#define Z_PROBE_X2 160
#define Z_PROBE_Y2 20
#define Z_PROBE_X3 100
#define Z_PROBE_Y3 160

denke wenn du da mehr werte dazumachst fährt er sie auch ab.
vermute es aber nur da ich Marlin nutze beim Autoleveln

Darüber habe ich auch schon nachgedacht. Doch ich bezweifel mal, dass dies so einfach ist.
Der Code muss ja auch wissen, was er z.B. mit "#define Z_PROBE_X4" machen soll. Da ist der Hund begraben.
Ich habe die Stelle einfach nicht gefunden, in der er diese Werte verarbeitet.


Gruß Wolfgang

PRUSA i3 | RAMPS 1.4 | Repetier-Host V0.95F | Marlin | E3D-v5 All metal HotEnd - 3mm Direct Extrusion | Heizmatte 230V von Stud54 mit SSR und FI | Aluminium Dauerdruckplatte von Stud54
Re: Repetier Autoleveling mehr Testpunkte
12. July 2014 11:21
Hi

Commands.cpp -> Zeile: 670


Grüsse
Felix
Re: Repetier Autoleveling mehr Testpunkte
13. July 2014 08:00
Hallo zusammen,

ich habe mich jetzt endlich dazu durchgerungen Marlin aufzuspielen, denn da muss ich das Rad nicht neu erfinden smiling smiley
Dies hatte ich schon länger vor aber es hat mich immer etwas abgeschreckt, da es auf den ersten Blick so unübersichtlich war.

Jetzt habe ich auf jedenfall das Marlin drauf und die Grundfunktionen laufen wie es soll.
Beim Autoleveling habe ich das Grid ausgewählt und könnte theoretisch bis zu 9 x 9 Punkte abfahren smoking smiley

Das Autoleveling lässt sich mit G29 starten und das macht es auch zum Teil. Es bewegt die Z-Achse hoch und runter und erfasst jedesmal den Sensor.
ABER die X und Y Achse bewegt sich überhaupt nicht. Er testet also immer den gleichen Punkt sad smiley

13:35:10.798 : Bed x: 5.00 y: 5.00 z: 1.01
13:35:20.502 : Bed x: 195.00 y: 5.00 z: 1.01
13:35:30.226 : Bed x: 195.00 y: 195.00 z: 1.01
13:35:39.940 : Bed x: 5.00 y: 195.00 z: 1.01
13:35:39.980 : Eqn coefficients: a: 0.00 b: -0.00 d: 1.01
13:35:39.980 : planeNormal x: -0.00 y: 0.00 z: 1.00
13:35:39.980 : echo:endstops hit:  X:195.00 Y:36.00 Z:1.01
13:35:40.020 : N14 G1 X0 Y0 F4800 *86

Diese Achsen fahren Manuell einwandfrei!

Meine Einstellungen in Marlin:
  #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 5
    #define RIGHT_PROBE_BED_POSITION 195
    #define BACK_PROBE_BED_POSITION 195
    #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 0
  #define Y_PROBE_OFFSET_FROM_EXTRUDER 31
  #define Z_PROBE_OFFSET_FROM_EXTRUDER 1

  #define Z_RAISE_BEFORE_HOMING 4       // (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 100         // 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

Hat jemand eine Ahnung was da falsch läft???


Gruß Wolfgang

PRUSA i3 | RAMPS 1.4 | Repetier-Host V0.95F | Marlin | E3D-v5 All metal HotEnd - 3mm Direct Extrusion | Heizmatte 230V von Stud54 mit SSR und FI | Aluminium Dauerdruckplatte von Stud54
Re: Repetier Autoleveling mehr Testpunkte
13. July 2014 10:48
Hallo zusammen,

nach langem Googeln und rumprobieren, hab ich meinen Fehler gefunden. Darauf muss man erst mal kommen...

Wenn man mit "M119" mal den Stand der Endschalter testet, geht einem ein Lichtlein auf smiling smiley Man darf sich da nicht beirren lassen, dass die Endschalter beim Home einwandfrei funktionieren.
Bei mir war es so, dass die Endschalter von X_Max und Y_Max geschaltet waren, obwohl ich keine habe. Somit musste ich die Zeile:

const bool X_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool Y_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.

von "false" auf "true" ändern. Siehe da... es klappt jetzt.


Gruß Wolfgang

PRUSA i3 | RAMPS 1.4 | Repetier-Host V0.95F | Marlin | E3D-v5 All metal HotEnd - 3mm Direct Extrusion | Heizmatte 230V von Stud54 mit SSR und FI | Aluminium Dauerdruckplatte von Stud54
Re: Repetier Autoleveling mehr Testpunkte
13. July 2014 12:31
obwohl sie deaktiviert sind ?
Re: Repetier Autoleveling mehr Testpunkte
13. July 2014 13:07
Quote
mantus
obwohl sie deaktiviert sind ?

Ja, das hab ich auch gedacht. Wenn ich das in den Google Posts richtig verstanden hab, greift das Autoleveling genau darauf zu.


Gruß Wolfgang

PRUSA i3 | RAMPS 1.4 | Repetier-Host V0.95F | Marlin | E3D-v5 All metal HotEnd - 3mm Direct Extrusion | Heizmatte 230V von Stud54 mit SSR und FI | Aluminium Dauerdruckplatte von Stud54
Re: Repetier Autoleveling mehr Testpunkte
13. July 2014 14:29
ich dachte nur z-max wird da verwendet .... naja egal gut zu wissen
Re: Repetier Autoleveling mehr Testpunkte
14. July 2014 15:27
Hallo zusammen,

irgendwie klappt das ganze doch noch nicht richtig. Er fährt zwar die Positionen ab aber beim Drucken korrigiert er nichts. Was mir auch aufgefallen ist, er misst egal wo auf dem Bed, immer den gleichen Wert. Das Bed ist aber nicht ausgerichtet.
Kann es sein, dass er da den Z-Endschalter verwendet?
Wo habt Ihr Euren Sensor/Schalter angeschlossen? Ich hab da in Google mal was gelesen, das die Z-Min verwenden. Doch was ist dann mit meinem Z-Min Schalter?

Also Marlin ist recht kompliziert und umständlich. Ich bin mir auch nicht sicher ob ich mir das richtige Marlin runter geladen hab. Da ist ja nirgends richtig zu sehen, welche Version ich habe. Kann man das irgendwo nachlesen?

Gibt es irgendwo eine deutsche Anleitung?


Gruß Wolfgang

PRUSA i3 | RAMPS 1.4 | Repetier-Host V0.95F | Marlin | E3D-v5 All metal HotEnd - 3mm Direct Extrusion | Heizmatte 230V von Stud54 mit SSR und FI | Aluminium Dauerdruckplatte von Stud54
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen