Marlin Vorschub einstellen


9

Ich verwende die Marlin-Firmware (1.1.0-RC7 - 31. Juli 2016) für einen 3D-Drucker. Derzeit ist der Druck aufgrund geringfügiger Ungenauigkeiten bei Bewegungen entlang der x- und y-Achse nicht perfekt. Ich versuche, den Vorschub für die Geschwindigkeit entlang der xy-Achse zu ändern, während der Drucker in Betrieb ist, um sicherzustellen, dass der Drucker pünktlich stoppt und genau druckt.

Ich habe einen Code zum Steuern des Vorschubs, aber das Problem ist, dass ich nicht sicher bin, wo ich diese Anpassungen vornehmen soll. In der Datei configuration.h sehe ich diesen Code: (Zeilen 742 und 753)

/*line 742*/ #define HOMING_FEEDRATE_XY (50*60) 
/*line 753*/ #define DEFAULT_MAX_FEEDRATE {300, 300, 5, 25}  // (mm/sec)

Ich verstehe wahrscheinlich etwas falsch, aber es scheint, dass dies den Vorschub auf einen Standardwert setzt, der dem Maximum entspricht.

Wenn sich der Vorschub während des Druckens ändert, wird dies vermutlich in Marlin_main.cpp durchgeführt, aber ich bin nicht sicher, welcher Teil sich tatsächlich ändert. Kann mich hier jemand in die richtige Richtung weisen?


Die Vorschubgeschwindigkeit wird durch den von Ihnen angegebenen G-Code festgelegt. Warum nicht einfach die Druckvorschubgeschwindigkeit niedriger einstellen? Das einzige, was Sie an der Firmware ändern werden, ohne sie zu ändern, sind die maximalen und Referenzierungsvorschubraten.
tjb1

Antworten:


3

Sie können den maximal zulässigen Vorschub in Configuration.h ändern , aber der tatsächlich verwendete Vorschub wird nicht von Ihrer Firmware bestimmt. Der Vorschub ist in der G-Code-Datei angegeben. Ein Befehl wie

G0 X10.0 Y15.0 Z3.0 F9000

zeigt eine Bewegung nach (10,15,3) bei einem Vorschub von 9000 mm / min an. Wenn F nicht angegeben ist, wird der zuletzt verwendete Vorschub verwendet.

Sie müssen nur die entsprechenden G-Code-Befehle mit der gewünschten Vorschubgeschwindigkeit bereitstellen. Es gibt keinen Grund, die Firmware zu ändern, um einen anderen Vorschub zu erhalten.


Müsste der Vorschub dann für alle x-, y- und z-Achsen gleich sein? Kennen Sie auch, welcher Teil der Datei Marlin_main.cpp für das Lesen der Befehle aus der G-Code-Datei verantwortlich ist?
Mach es möglich

Nein, der Vorschub für die einzelnen Achsen wird so berechnet, dass der Gesamtvorschub 9000 mm / s beträgt (z. B. der euklidische Abstand zwischen Punkten geteilt durch die Zeit für die Bewegung entspricht dem Vorschub). Wenn Sie von 0,0 auf 2,1 wechseln, ist der Vorschub für X doppelt so hoch wie der Vorschub für Y. Ich bin mir nicht sicher, was Sie erreichen möchten, aber das Ändern der Firmware ist wahrscheinlich nicht die richtige Option . Wenn Sie darauf bestehen, sollten Sie sich wahrscheinlich die prepare_moveFunktion ansehen.
Tom van der Zanden

Sie können den Vorschub für die Achsen nicht unabhängig voneinander einstellen, da dann möglicherweise eine Achse ihr Ziel erreicht, bevor eine andere Achse dies tut. Sie möchten, dass eine Verschiebung von X, Y nach X ', Y' zu einer geraden Linie führt. Daher hängen die Vorschubgeschwindigkeiten voneinander ab.
Tom van der Zanden

2

Es scheint, als ob Sie sich die Schritte pro mm Linie ansehen möchten.

#define DEFAULT_AXIS_STEPS_PER_UNIT

In dieser Zeile kalibrieren Sie die Anzahl der Schritte pro mm. Markieren Sie zum Kalibrieren einen Punkt entlang einer Achse und bewegen Sie diese Achse dann um etwa 100 mm. Wenn es sich nicht genau um 100 mm bewegt hat, nehmen Sie eine Änderung vor

(how far it moved)       (how far it should have moved)
------------------   =   ------------------------------
(current steps/mm)         (new steps/mm) --> find this

1

Sie haben die Linien, um den Vorschub anzupassen. Die erste (Zeile 742) ist relevant für die maximale Vorschubgeschwindigkeit XY während des Referenzierens (nicht während des Druckens). Ich denke, dies ist in Ihrem speziellen Fall kein Problem, und Sie können es so lassen, wie es ist.

Die zweite (Zeile 753) ist die Vorschubgeschwindigkeit beim Drucken für XY. Insbesondere beziehen sich die Zahlen in den Klammern auf (X, Y, Z, E). Wenn sich Ihr Drucker bewegt, wirkt sich dies möglicherweise stärker auf XY als auf Z und E aus. Sie können daher versuchen, die ersten beiden Zahlen anzupassen.

Aufgrund der sehr spezifischen Situation ist es unmöglich, Ihnen einen berechnungsbasierten Vorschub zu geben, da Sie mit externen Beschleunigungen zu tun haben, die durch die mobile Situation verursacht werden. Sie müssen versuchen, es anzupassen, bis Sie richtig sind.

Eine andere Einstellung, die Ihnen auch dabei helfen kann, die externe Beschleunigung zu kompensieren, ist die Beschleunigung dieser beiden Achsen. Sie sollten zwei Linien wie diese finden:

#define DEFAULT_MAX_ACCELERATION {1500,1500,50,250}    
#define DEFAULT_ACCELERATION 1500 // X, Y, Z und E maximale Beschleunigung in mm / s ^ 2 für Druckbewegungen

Die Beschleunigung der Achsen kann sich jedoch auf die Druckqualität auswirken.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.