Druckerform - Repetier-Host vs. Repetier-Server

Mein Drucker hat folgende Koordinaten.
X min = -22; X max = 220
Y min = -4; Y max = 240

Druckbett
X min = 0, X max = 220
Y min = 0, Y max = 220

Vielleicht schaffe ich auch in X mehr als 220, aber das ist unnötig. In Y nutze ich die 240 Koordinate um das Bett, nach einem Druck, nach vorn zu fahren. Aber trotzdem hat das Druckbett eine maximale Größe von 0 bis 220. In Repetier-Server wird mir jedes Mal angezeigt, dass der Druck nicht auf das Druckbett passt. Was falsch ist, es passt auf das Druckbett. Nur der letzte Fahrweg, geht auf die Y 240 Koordinate. Die Druckereinstellungen sind auch so angegeben, also die min und max Werte. Aber die Druckerformeinstellungen lassen das Drucksymbol immer Rot erscheinen.

Also stelle ich im Repetier-Server die Koordinaten auch bei der Druckerform auf die Minuswerte ein. Obwohl das nicht dem Druckbett entspricht. In Repetier-Host kann ich die Daten vom Server kopieren, aber da will ich ja nur von 0-220 drucken. Also muss ich diese Koordinaten immer wieder ändern. Und ich habe mehr als einen Drucker. Wenn ich also switche ist das immer eine Einstellungsorgie, die ich da veranstalten muss.

Kann man dies nicht schlauer regeln oder stehe ich da irgendwie auf dem Schlauch?

Comments

  • edited October 2020
    Habe mal ein Screenshot aus Repetier-Host angehangen, vielleicht versteht man es dann besser.

    Ahh geht nicht... 

    Home X: -22; Home Y: -4; Home Z: 0
    X-Min: -22; X-Max: 220; Bett links: 0
    Y-Min: -4; Y-Max: 240; Bett vorne: 0

    Breite Druckbereich: 220
    Tiefe Druckbereich: 220
    Höhe Druckbereich: 220

    Kopiere ich die Einstellungen aus dem Repetier-Server, dann steht im Druckbereich automatisch der Abstand zwischen X-Min und X-Max und das ebenso im Y-Bereich.

    Im Repetier-Server sind die Min und Max Settings der Druckerform = der Min Max Werte in den Druckereinstellungen unter Manuelle Steuerung. Ansonst erhalte ich Fehler.
  • Da du offenbar auch Cura nutzt muss ich Fragen ob du im end gcode relative Koordinaten nutzt und da auch noch homest. Das führt gerne zu dem Problem das du beschreibst weil cura offenbar davon ausgeht das homing auf absolute coordinaten wechselt, wir gehen nicht davon aus. Sollte aus ein G28 da sein setzt danach G90 und er sollte es richtig berechnen.

    Server berechnet 2 Bereiche - wo gedruckt = extrudiert wird (aus Bett Abmessungen) und unter Allgemein den erlaubten Bewegungsbereich.

    Ich sehe aber einen kleine bug - Reine bewegungen müssen derzeit wohl auch im Bettbereich sein was aber nicht wirklich nötig ist. Werde das fürs update entspannen. Dann sollte die Meldung weg sein. Sie kann auch ignoriert werden wenn man weiß warum sie kommt. Hat keine Einfluss auf das senden des G-Codes.
  • Repetier said:
    Da du offenbar auch Cura nutzt muss ich Fragen ob du im end gcode relative Koordinaten nutzt und da auch noch homest. Das führt gerne zu dem Problem das du beschreibst weil cura offenbar davon ausgeht das homing auf absolute coordinaten wechselt, wir gehen nicht davon aus. Sollte aus ein G28 da sein setzt danach G90 und er sollte es richtig berechnen.
    Ich poste mal den Start- und Endcode. Und ja, der ist aus der CuraEngine. 

    Startcode:
    ; Default start code
    ; Home extruder
    G28
    G1 Z15 F{Z_TRAVEL_SPEED}
    ; Turn off fan
    M107
    ; Absolute positioning
    G90
    ; Extruder in absolute mode
    M82
    ; Bed Temp
    {IF_BED}M140 S{BED}
    ; Extruder Temp
    {IF_EXT0}M104 T0 S{TEMP0}
    ; Wait for Extruder Temp
    {IF_EXT0}M109 T0 S{TEMP0}
    ; wait for Bed Temp
    {IF_BED}M190 S{BED}
    ; Reset extruder position
    G92 E0
    ; Show Message on Display
    M117 Cleaning....
    ; 15mm Filament rauspumpen, weil es am Anfang ja nicht immer läuft
    G1 F100 E15
    ; Pause 2 Sekunden, kann man das Filament abwischen
    G4 P2000
    ; Reset extruder position
    G92 E0
    ; Show Message on Display
    M117 Printing....
    
    Endcode:
    ; Modified end code
    G91 ; Relative positioning
    ; Disable all extruder
    {IF_EXT0}T0
    {IF_EXT0}G1 E-1 ; Reduce filament pressure
    ; Extruder auf 0°C bringen
    M104 T0 S0
    ; Nach Druck Z um 1mm heben.
    G0 Z1
    M107 ; Turn off fan
    G90 ; Absolute positioning
    ; X und Y schnell auf X = 0 und Y = 240 fahren
    G0 X0 Y240 F9000
    ; Get extruder out of way. Uncomment to use!
    ; Bei diesem Befehl ist das bloed, weil Z die Verfahrwege insgesamt verlangsamt
    ; G0 X0 Y0 Z130 F9000
    G90 ; Absolute positioning
    G92 E0 ; Reset extruder position
    M140 S0 ; Disable heated bed
    M84 ; Turn steppers off
    Für mich ist der Server das Tool, über den ich den Drucker einstelle. Der Host ist bei mir nur dazu da, dass ich die Daten slicen kann. Und diese bequem auf dem Server abspeichere. Der Host hat leider mehr Einstellungsmöglichkeiten als der Server, wenn es um die Verfahrwege und das Druckbett geht. Ich dachte ich hätte es verstanden, als ich die Firmware mit Minuswerten füttern konnte um den Bettanfang auf die X0 und Y0 Koordinaten zu bringen. Also habe ich natürlich dann im Server die Bettkoordinaten auf X0 und Y0 gebracht und die Max Koordinaten auf die Bett Max Größe. Bei euch heißt das dann im Server in den Druckereinstellungen unter Druckerform -> X Links, Y Vorne, X Rechts, Y Hinten.

    Anfangs schien das sogar zu passen. Kann es also sein, dass der Code
    G0 X0 Y240 F9000
    dann dazu führt, dass ich ein rotes Drucksymbol erhalte? Obwohl ja im Server unter Allgemein und "Manuelle Steuerung" die echten Min und Max Werte richtig eingestellt sind.
  • Ja genau. Das ist was ich fürs nächste update korrigiert habe. Aktuell müssen alle Bewegungen über dem Bettbereich liegen. Das sollten aber nur Extrusionen sein. Normale Bewegungen sollten sich an den maximal möglichen Koordinaten nur orientieren.
  • Vielen Dank für die Erklärung. Und macht weiter so, sehr geiles Projekt. 
Sign In or Register to comment.