Wie kann ich mit Software und / oder Slicer eine neue Referenzposition einstellen, ohne den Hardware-Endanschlag zu ändern?

9

Vor der Frage ist hier mein Setup;

  • Prusa i3 (mit Mainboard Mks Gen v1.2)
  • Repetier als Slicer
  • Marlin Quellcode

Meine Hauptaufgabe ist es, meinen 3D-Drucker in einen Schokoladendrucker umzuwandeln. Ich habe den Filamentextruder durch einen Schokoladenextruder ersetzt. Und dort begann mein Problem. Weil der neue Extruder beim Referenzieren leicht von der y-Achse abweicht. Es geht aus dem Standard 20x20 cm Bett. Die anderen X- und Z-Achsen sind in Ordnung.

Also habe ich mit dem #definesunten Erklärten gespielt, aber ich konnte nicht einmal einen einzigen mm Unterschied durch Homing machen. Sie werden alle ignoriert, wenn der Drucker nach Hause fährt. Es geht und ruht auf den Hardware-Endstopps und stoppt dort schließlich.

Alles was ich will 10 mm Versatz für die Y-Achse.

Begann damit;

// Travel limits after homing
#define X_MAX_POS 200
#define X_MIN_POS 0
#define Y_MAX_POS 190  <<<< (tested with 190 and 210)
#define Y_MIN_POS 0
#define Z_MAX_POS 200
#define Z_MIN_POS 0

und das;

// The position of the homing switches
#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used

//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 10 <<< (tested with 10 or -10)
#define MANUAL_Z_HOME_POS 0

Ich habe auch mit den Einstellungen des Slicer-Tools (Repetier) gespielt , in denen Referenzierungswerte erwähnt werden, aber auch dort keine Freude.

Jede Eingabe wird sehr geschätzt.

Sener
quelle

Antworten:

6

Die Einstellung Y-Max hilft nicht, da dies der Software-Endanschlag für das andere Ende der Achse ist.

Die Y-Ausgangsposition hilft auch nicht, da sie nur die Koordinate ändert, die der Drucker annimmt, wenn er die Ausgangsposition erreicht. Dies wird für Drucker (wie Deltas) verwendet, die die maximalen Endschalter verwenden.

Was helfen könnte, ist ein bisschen G-Code direkt nach dem Homing. Das Homing ist ein G28. Fügen Sie danach einfach einen G1Y10 hinzu. Dadurch wird Ihre Y-Achse direkt nach dem Referenzieren um 10 mm verschoben. So wird es dann in der Position sein, die Sie wollen. Wenn Sie dann ein G92 hinzufügen, wird diese Position zur Ausgangsposition für den Druck. Das Hinzufügen dieser beiden Zeilen sollte das Problem beheben. Mit Cura können Sie diese Start-G-Codes so bearbeiten, dass die geänderten Codes automatisch allen Ihren Ausdrucken hinzugefügt werden.

Sie können auch ein G10 ausprobieren (mit einer Firmware, die dies unterstützt.

Einzelheiten zu G-Codes finden Sie unter: http://reprap.org/wiki/Gcode

Lars Pötter
quelle
Am Ende war dies auch meine Schlussfolgerung. Ich meine, Software-Endstopp ist nicht wirklich das, was ich wollte. Aber ich habe nicht wirklich überprüft, welcher G-Code dies für mich tun kann. Jetzt weiß ich.
Sener
Ich denke darüber nach, den Hardware-Endanschlag neu zu installieren, um nach Hause zu gelangen, wie ich wollte. Obwohl ich bisher nicht so viel mit G-Codes gespielt habe. Es sieht auch als Lösung vielversprechend aus. Wie ich aus Ihrer Erklärung verstehe, wird die G-Code-Korrektur der Y-Referenzposition nur ausgeführt, wenn Sie mit dem Drucken beginnen, nicht, wenn Sie den Drucker eingeschaltet oder zurückgesetzt haben. Es wird immer noch außerhalb der Grenzen gehen. In diesem Fall können einige flüssige Schokoladentropfen immer noch aus dem Umfang herausfallen. Richtig?
Sener
Genau der Referenziervorgang bewegt sich immer noch in die Referenzierungsposition, die durch die Hardware-Endanschläge definiert ist. Die G-Codes beheben das dann, aber bei jeder Bewegung bewegt es sich in die kritische Position und dann wieder zurück.
Lars Pötter
Vielen Dank Lars und Kamuro. Diese Lösung ist definitiv mein Tag gerettet. Aber ich denke, es wäre besser, entweder den Y-Endanschlag wieder einzubauen oder das Bett an allen Kanten um 10 mm mehr zu vergrößern.
Sener
3

Jetzt hatte ich endlich Zeit, mich damit zu befassen, da ich wusste, dass es irgendwie existiert, aber nicht sicher war, wie es funktionierte:

Verwenden Sie den G-Code-Befehl M206 in der Marlin-, Sprinter-, Smoothie- oder RepRap-Firmware, um die 0,0,0-Koordinate Ihres Druckbetts relativ zu den Endanschlägen zu versetzen.

Die Wrap-Seite von reprap.org sagt:

Die angegebenen Werte werden zur Endanschlagsposition hinzugefügt, wenn auf die Achsen verwiesen wird. Das gleiche kann mit einem G92 direkt nach dem Referenzieren erreicht werden (G28, G161).

Mit der Marlin-Firmware kann dieser Wert mit dem Befehl M500 im EEPROM gespeichert werden.

Ein ähnlicher Befehl ist G10. Die Ausrichtung dieser beiden Befehle wird diskutiert.

Mit Marlin 1.0.0 RC2 hebt ein negativer Wert für z Ihren Druckkopf (!) An.

Wir sehen, dass dies im Grunde das gleiche ist, das von @LarsPoetter vorgeschlagen wurde, aber es hat den großen Vorteil, dass es im EEPROM gespeichert werden kann, sodass Sie es nicht jedes Mal oder in jeden anderen Sliccer hinzufügen müssen (wenn ich es richtig verstehe Ich habe es selbst noch nicht ausprobiert.

Lassen Sie uns wissen, ob dies für eine dauerhafte Lösung funktioniert.

Kamuro
quelle
Ich bin vor kurzem von meinem Setup entfernt, aber ich werde auf jeden Fall versuchen, diese G-Codes im EEPROM zu speichern und zu sehen, wie es hilft. Ich werde dann sicher meine Erfahrungen hier teilen.
Sener
1
Vielen Dank @Kamuro. Es funktioniert OK. Wenn es sich bei Marlin um Endanschläge handelt, ist die Neuinstallation von Endanschlägen meines Erachtens die beste Option.
Sener