Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

Auto Bed Leveling Bilinear nur die Hälfte vom Druckbett

geschrieben von tru_visual 
Auto Bed Leveling Bilinear nur die Hälfte vom Druckbett
02. March 2022 16:28
Hallo,

Ich habe Marlin 2.0.9.2 auf dem MKS Gen L v1.0.

Einen Dual Extruder (zwei Extruder nebeneinander, 18mm auseinander) und einen Induktiven Sensor rechts neben dem Extruder 1, von Vorne gesehen, mit einem Abstand von 35mm.
Der Druckbarebereich ist 500mm x 220mm.

Das Problem, wenn ich Druckbett Navellierung im Display auswähle, dann startet das ABL auch, aber fährt nicht bis zum Äussersten X Punkt und Y Punkt, ca. nur die Hälfte vom gesamten Druckbett.
Und der Sensor muss mit 35mm angegeben werden. Habe 10mm auch als margin angegeben.

 * Nozzle-to-Probe offsets { X, Y, Z }
 *
 * X and Y offset
 *   Use a caliper or ruler to measure the distance from the tip of
 *   the Nozzle to the center-point of the Probe in the X and Y axes.
 *

#define NOZZLE_TO_PROBE_OFFSET { 35, 0, 0 }

// Most probes should stay away from the edges of the bed, but
// with NOZZLE_AS_PROBE this can be negative for a wider probing area.

#define PROBING_MARGIN 10
Re: Auto Bed Leveling Bilinear nur die Hälfte vom Druckbett
07. March 2022 06:28
Hallo,

hat jemand eine Idee?

In der configuration.h steht :
#define NOZZLE_TO_PROBE_OFFSET { 35, 16, 0 }

// Most probes should stay away from the edges of the bed, but
// with NOZZLE_AS_PROBE this can be negative for a wider probing area.
#define PROBING_MARGIN 10

Das heißt, der Sensor ist 35mm rechts von der Düse (+X) und 16mm hinter der Düse (+Y)
Ich habe die Funktion Auto Bed Leveling Bilinear aktiviert.
Das Druckbett ist 220mm (X) uns 500mm (Y)

Und in der configuration_adv.h
#if PROBE_SELECTED && !IS_KINEMATIC
  #define PROBING_MARGIN_LEFT    0 //PROBING_MARGIN  
  #define PROBING_MARGIN_RIGHT  10 //PROBING_MARGIN 
  #define PROBING_MARGIN_FRONT   0 //PROBING_MARGIN 
  #define PROBING_MARGIN_BACK   30 //PROBING_MARGIN 
#endif

Der Sensor fährt aber nicht bis zum Ende der X Achse und auch nicht bis zum Ende der Y Achse.
Hatte die Einstellungen #if PROBE_SELECTED && !IS_KINEMATIC vorher auskommentiert und kommentiert, keine Änderung.

Software Endstop vor der Nivellierung deaktiviert.
Keine Idee, was es sein kann.

Lieben Gruß,
tru
Re: Auto Bed Leveling Bilinear nur die Hälfte vom Druckbett
07. March 2022 09:39
Lies Dir das mal durch:
[3dprinting.stackexchange.com]
Der Sensor kann die Ränder des Druckbettes nur erreichen, wenn die Mechanik das zulässt, d.h., die Nozzles können das Druckbett
verlassen. Ansonsten vermindert sich auch der Druckbereich immer um den Abstand der Nozzles. Die Offsets beziehen sich auf Extruder0,
das wären dann 35+18 nach deiner Beschreibung.

Herzl. Grüße
Re: Auto Bed Leveling Bilinear nur die Hälfte vom Druckbett
07. March 2022 12:44
Hallo AlterBastler,

lieben Dank für deine Antwort.

Den Link hatte ich auch schon durchgelesen, bezieht sich aber nicht auf Marlin 2.0.9.3.

In Marlin 2.0.9.3 ist in der configuration_adv.h das hier anders:
#if PROBE_SELECTED && !IS_KINEMATIC
  #define PROBING_MARGIN_LEFT  PROBING_MARGIN  
  #define PROBING_MARGIN_RIGHT PROBING_MARGIN 
  #define PROBING_MARGIN_FRONT PROBING_MARGIN 
  #define PROBING_MARGIN_BACK  PROBING_MARGIN 
#endif

Wenn ich in der configuration.h die Werte so eingebe, wie sie physikalisch sind:
#define NOZZLE_TO_PROBE_OFFSET { 35, 16, 0 }

Dann kommt beim Auto Homing im Info Bildschirm
Sonde Ausserhalb.

Ändere ich
#define NOZZLE_TO_PROBE_OFFSET { 35, 16, 0 }
in
#define NOZZLE_TO_PROBE_OFFSET { -70, 16, 0 }
Dann geht es mit dem Homing, nur ist der Extruder nach dem Homing dann an 70mm der X Achse, das ABL startet allerdings richtig, von X0 und Y0.
Das ABL bewegt sich dann auch in der X Achse richtig, aber in der Y Achse nicht, da fährt der Extruder dann nur bis Y240mm und nicht bis Y500mm.

Das verändern der Margin Werte hat nichts gebracht und es gibt auch keine Dokumentation, wo es konkret beschrieben ist.

Ich weiß auch nicht, ob es ein Bug ist, weil eigentlich nur der Offset definiert werden muss und evtl. noch
#define PROBING_MARGIN 10
Und der Rest ergibt sich aus
// The size of the printable area
#define X_BED_SIZE 220
#define Y_BED_SIZE 500

Lieben Gruß,
tru
Re: Auto Bed Leveling Bilinear nur die Hälfte vom Druckbett
07. March 2022 17:38
In dem Link ist eigentlich alles erschöpfend erklärt.
Ich kann mir nicht vorstellen, daß die X-Achse mehr als 12cm über das Druckbett hinausfährt.
Du solltest mal skizzieren wie das Ganze aussieht (mechanischer Verfahrweg, das Druckbett, Nullpunkt, Lage der Endschalter, der Nozzles und der Probe),
sonst kann man dein Problem nicht nachvollziehen.

Herzl. Grüße
Re: Auto Bed Leveling Bilinear nur die Hälfte vom Druckbett
08. March 2022 05:58
Hallo AlterBastler,

wie oben schon geschrieben, habe ich
#define NOZZLE_TO_PROBE_OFFSET { -70, 16, 0 }
eingetragen und nicht
#define NOZZLE_TO_PROBE_OFFSET {35, 16, 0 }
Denn, wenn der Wert so ist {35, 16, 0 }, dann funktioniert das Homing nicht und im Display steht dann Sonde Außerhalb.
Wenn ich den Wert dann auf mindestens
#define NOZZLE_TO_PROBE_OFFSET { -70, 16, 0 }
setze, dann funktioniert das Homing und ABL geht nur durch vorheriges Homing.

Die Messdaten sind dann ja auch falsch, weil die Sonde ja nicht an X-70 ist, sondern bei x+35




Lieben Gruß,
tru

1-mal bearbeitet. Zuletzt am 08.03.22 06:00.
Re: Auto Bed Leveling Bilinear nur die Hälfte vom Druckbett
08. March 2022 09:26
Quote

Denn, wenn der Wert so ist {35, 16, 0 }, dann funktioniert das Homing nicht und im Display steht dann Sonde Außerhalb.
Das dürfte nicht passieren, da stimmt was anderes nicht.
Was steht hier:
#define X_BED_SIZE XXX
#define Y_BED_SIZE YYY
...
// Travel limits (mm) after homing, corresponding to endstop positions.
#define X_MIN_POS [XX]
#define Y_MIN_POS [YY]
...
#define HOTEND_OFFSET_X { 0.0, XX } // (mm) relative X-offset for each nozzle
#define HOTEND_OFFSET_Y { 0.0, YY }  // (mm) relative Y-offset for each nozzle
...
#define Z_SAFE_HOMING

Herzl. Grüße
Re: Auto Bed Leveling Bilinear nur die Hälfte vom Druckbett
08. March 2022 09:45
Hallo AlterBastler,

ich habe
#define NOZZLE_TO_PROBE_OFFSET { 00, 16, 0 }
#define NOZZLE_TO_PROBE_OFFSET { XX, YY, ZZ } ????????????????

geändert und nun ist das so und Sonde ist nicht mehr Außerhalb, aber die ABL Punkte sind nicht über die Fläche des gesamten Druckbetts verteilt.


Lieben Gruß,
tru
Re: Auto Bed Leveling Bilinear nur die Hälfte vom Druckbett
08. March 2022 12:43
Das Ergebnis entspricht deiner Einstellung, der X-Offset muß auf 35, dann stimmt es. Die Größe des Druckbetts scheint falsch angegeben zu sein.
Was ist mit den anderen Einstellungen?

Herzl. Grüße
Re: Auto Bed Leveling Bilinear nur die Hälfte vom Druckbett
08. March 2022 14:31
Hallo AlterBastler,

wenn ich den X Offset auf +35mm setze, dann funktioniert das Z homing nicht, ich muss den X Offset auf 0 setzen.
Auch der Y Offset von 16,7mm ist nicht richtig, gemessen schon, aber als Einstellung funktioniert der Wert nur im Minusbereich.
Geändert habe ich
// The size of the printable area
#define X_BED_SIZE 440
#define Y_BED_SIZE 700
Das ist die Größe des Druckbetts, die tatsächliche Druckfläche ist aber X220mm und Y500mm.
Das ABL Bilinear fährt in der X Achse jetzt bis 220mm (richtig) und in der Y Achse bis 350mm (falsch), statt bis 500mm

Welche anderen Einstellungen meinest Du?

Lieben Gruß,
tru

1-mal bearbeitet. Zuletzt am 08.03.22 14:47.
Re: Auto Bed Leveling Bilinear nur die Hälfte vom Druckbett
09. March 2022 07:11
Kann es sein, daß die steps/mm gar nicht stimmen?
Was hat das Z-Homing mit dem X-Offset zu tun?

Herzl. Grüße
Re: Auto Bed Leveling Bilinear nur die Hälfte vom Druckbett
09. March 2022 07:14
Hallo AlterBastler,

die Steps/mm sind richtig, hatte in den anderen Marlin Versionen und auch in der 2.0.9.2 soweit gepasst.
Nema 17 Schrittmotoren, GT2 Zahnriehmen und DRV8825 Stepperdriver
/**
 * Default Axis Steps Per Unit (steps/mm)
 * Override with M92
 *                                      X, Y, Z [, I [, J [, K]]], E0 [, E1[, E2...]]
 */
#define DEFAULT_AXIS_STEPS_PER_UNIT   { 162, 162, 820, 500 }

1-mal bearbeitet. Zuletzt am 09.03.22 07:32.
Re: Auto Bed Leveling Bilinear nur die Hälfte vom Druckbett
09. March 2022 10:19
Hast du andere Treiber oder Motoren in der Verwendung zu vorher?
Die 8825 machen ja max 32 Schritte statt der üblichen 16, oder eventuell 0.9 Grad Stepper Motoren.
Re: Auto Bed Leveling Bilinear nur die Hälfte vom Druckbett
09. March 2022 13:00
Hallo Wintex,

danke für deine Antwort.

An dem Setup liegt es nicht, die Einstellungen der Motoren sind ok und funktionieren auch so.

Ein Fehler beim X Offset
#define NOZZLE_TO_PROBE_OFFSET {35, 16, 0 }

So muss das in der configuration.h stehen und wenn das so drin steht, dann kommt beim Auto Homing die Fehlermeldung Sonde Außerhalb.
Stelle ich den X Offset auf 0, dann gehts.
Das selbe beim Y Offset.

Positive Werte in der X Achse gehen nach rechts und positive Werte in der Y Achse gehen nach hinten.

Das ABL funktioniert in der X Achse richtig, fährt bis zum äussersten Druckpunkt (220mm).
Nur in der Y Achse nicht, nur bis 350mm und soll bis 500mm.

Der X Offset funktioniert einfach nicht wie in den dokumentationen beschrieben.

Lieben Gruß,
tru
Re: Auto Bed Leveling Bilinear nur die Hälfte vom Druckbett
10. March 2022 14:07
Hallo,
Step/mm änderungen oder Anpassungen haben nichts gebracht.
Ist das ein Bug von Marlin 2.0.9.3?
Re: Auto Bed Leveling Bilinear nur die Hälfte vom Druckbett
10. March 2022 15:30
Quote
Marlin Configuration
For testing, enable DEBUG_LEVELING_FEATURE. With this option enabled, use M111 S32 to turn on detailed logging of homing and bed leveling. This will cause G28 and G29 to report everything they do, step-by-step, and can be indispensible for troubleshooting when things go wrong.
[marlinfw.org]
Löschst Du eigentlich jedesmal das EEPROM nach den Firmwareänderungen?

Herzl. Grüße
Re: Auto Bed Leveling Bilinear nur die Hälfte vom Druckbett
10. March 2022 15:50
Hallo AlterBastler,
hatte ich mit M502
Re: Auto Bed Leveling Bilinear nur die Hälfte vom Druckbett
12. March 2022 15:10
Hallo AlterBastler,

beim kompilieren kommt diese Fehlermeldung:
Desshalb funktioniert das ABL auch nicht richtig
Marlin\src\feature\bedlevel\abl\abl.cpp: In function 'void bilinear_line_to_destination(const_feedRate_t, uint16_t, uint16_t)':
Marlin\src\feature\bedlevel\abl\abl.cpp:353:51: warning: narrowing conversion of '((current_position.XYZEval::.XYZEval::::.XYZEval::::::x - bilinear_start.XYval::.XYval::::.XYval::::::x) * bilinear_grid_factor.XYval::.XYval::::.XYval::::::x)' from 'float' to 'int' inside { } [-Wnarrowing]
   #define CELL_INDEhot smileyA,V) ((V - bilinear_start.A) * ABL_BG_FACTOR(A))
                           ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
Marlin\src\feature\bedlevel\abl\abl.cpp:361:19: note: in expansion of macro 'CELL_INDEX'
     xy_int_t c1 { CELL_INDEhot smileyx, current_position.x), CELL_INDEhot smileyy, current_position.y) },
                   ^~~~~~~~~~
Marlin\src\feature\bedlevel\abl\abl.cpp:353:51: warning: narrowing conversion of '((current_position.XYZEval::.XYZEval::::.XYZEval::::::y - bilinear_start.XYval::.XYval::::.XYval::::::y) * bilinear_grid_factor.XYval::.XYval::::.XYval::::::y)' from 'float' to 'int' inside { } [-Wnarrowing]
   #define CELL_INDEhot smileyA,V) ((V - bilinear_start.A) * ABL_BG_FACTOR(A))
                           ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
Marlin\src\feature\bedlevel\abl\abl.cpp:361:54: note: in expansion of macro 'CELL_INDEX'
     xy_int_t c1 { CELL_INDEhot smileyx, current_position.x), CELL_INDEhot smileyy, current_position.y) },
                                                      ^~~~~~~~~~
Marlin\src\feature\bedlevel\abl\abl.cpp:353:51: warning: narrowing conversion of '((destination.XYZEval::.XYZEval::::.XYZEval::::::x - bilinear_start.XYval::.XYval::::.XYval::::::x) * bilinear_grid_factor.XYval::.XYval::::.XYval::::::x)' from 'float' to 'int' inside { } [-Wnarrowing]
   #define CELL_INDEhot smileyA,V) ((V - bilinear_start.A) * ABL_BG_FACTOR(A))
                           ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~Compiling .pio\build\mega2560\src\src\gcode\config\M301.cpp.o
~~~~~
Marlin\src\feature\bedlevel\abl\abl.cpp:362:19: note: in expansion of macro 'CELL_INDEX'
              c2 { CELL_INDEhot smileyx, destination.x), CELL_INDEhot smileyy, destination.y) };
                   ^~~~~~~~~~
Compiling .pio\build\mega2560\src\src\gcode\config\M302.cpp.o
Marlin\src\feature\bedlevel\abl\abl.cpp:353:51: warning: narrowing conversion of '((destination.XYZEval::.XYZEval::::.XYZEval::::::y - bilinear_start.XYval::.XYval::::.XYval::::::y) * bilinear_grid_factor.XYval::.XYval::::.XYval::::::y)' from 'float' to 'int' inside { } [-Wnarrowing]
   #define CELL_INDEhot smileyA,V) ((V - bilinear_start.A) * ABL_BG_FACTOR(A))
                           ~~~~~~~~~~~~~~~Compiling .pio\build\mega2560\src\src\gcode\config\M304.cpp.o
~~~~~~~~~^~~~~~~Compiling .pio\build\mega2560\src\src\gcode\config\M309.cpp.o
~~~~~~~~~~~~
Marlin\src\feature\bedlevel\abl\abl.cpp:362:49: note: in expansion of macro 'CELL_INDEX'
              c2 { CELL_INDEhot smileyx, destination.x), CELL_INDEhot smileyy, destination.y) };
                                                 ^~~~~~~~~~
Marlin\src\feature\bedlevel\abl\abl.cpp:379:30: warning: narrowing conversion of '_MAhot smileyc1.XYval::.XYval::::.XYval::::::x, c2.XYval::.XYval::::.XYval::::::x)' from 'int' to 'signed char' inside { } [-Wnarrowing]
     const xy_int8_t gc { _MAhot smileyc1.x, c2.x), _MAhot smileyc1.y, c2.y) };
                          ~~~~^~Compiling .pio\build\mega2560\src\src\gcode\config\M92.cpp.o
~~~~~~~~~~
Marlin\src\feature\bedlevel\abl\abl.cpp:379:48: warning: narrowing conversion of '_MAhot smileyc1.XYval::.XYval::::.XYval::::::y, c2.XYval::.XYval::::.XYval::::::y)' from 'int' to 'signed char' inside { } [-Wnarrowing]
     const xy_int8_t gc { _MAhot smileyc1.x, c2.x), _MAhot smileyc1.y, c2.y) };
Re: Auto Bed Leveling Bilinear nur die Hälfte vom Druckbett
12. March 2022 17:02
Das ist nur eine Warnung, daß das Ergebnis evtl. nicht in eine int8-Variable passt und führt nicht zwangsläufig zu einem Fehler.
Hast Du die Anzahl der Gitterpunkte zu stark erhöht?

Herzl. Grüße
Re: Auto Bed Leveling Bilinear nur die Hälfte vom Druckbett
12. March 2022 17:18
Hallo AlterBastler,
ich hab die vorgegebenen Werte so übernommen.
Und nichts weiter verändert.
Grid points 3
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen