dennis02121978 hat geschrieben:den Offset Scan gibt es leider unter Marlin nicht vollautomatisch naja eigentlich in keiner Firmware.
Logisch, denn es gibt kaum Hardware, die das sinnvoll nutzen könnte. Das macht nämlich nur Sinn, wenn die Hardware auch absolut messen kann. Außer unseren DMS und den DMS des neuen Original Prusa XL ist mir da nichts bekannt (naja gut, das eine Experiment mit Klipper und dem Beschleunigungssensor, aber das funktioniert bislang ja nicht zuverlässig - keine Ahnung, ob das je was wird). Ich musste dem Maintainer von Klipper ja auch erstmal recht umständlich erklären, dass das wirklich möglich ist
Ich benutze ja das DMS und ich bekomme das Maß auch gut hin soweit. Aber leider um das Offset verschoben.
Das bedeutet auf gut deutsch, dass deine DMS Implementierung im Grunde nicht funktioniert. Der Offset ist der entscheidente Punkt, in dem sich unsere Load Cell Probe von einer normalen Probe unterscheidet. Wir können (mit geeigneter Ansteuerung) exakt den absoluten Abstand zwischen Düse und Bett bestimmen, ohne Offset. Ich bin mir sehr sicher, dass dein Offset auch nicht wirklich konstant sein wird, d.h. von Scan zu Scan wirst du diesen Offset neu justieren müssen, weil das irgendwas um ~1/10mm nicht passt. Fieserweise ist das nicht unbedingt der Fall, wenn du zwei Scans direkt hintereinander durchführst. Das entscheidende ist aber, wie stabil ist dein absolutes (!) Scanergebnis bei geänderten Rahmenbedingungen (Temperaturabhängigkeit, mechanische Verspannungen, elektromagnetische Störungen, etc...). Du wirst das bei deinem Setup so nicht mit einer Implementierung eines Offset Scans beheben können, denn der wird dir genau den selben Offset wieder liefern.
AtlonXP hat geschrieben:Meine Vorliebe ist ein etwas kleinerer Düsen Bettabstand als er tatsächlich sein sollte.
Somit ist meine Bodenschicht komplett geschlossen und man sieht auch keine Layerbahnen.
Wenn der Bettabstand wirklich stimmt, ist die Bodenschicht komplett geschlossen und man sieht fast keine Layerbahnen. Ein bisschen hängt das natürlich vom Bettmaterial ab, aber bei meiner Dauerdruckplatte klappt das sehr gut.
Das Problem ist, dass bei der Repetier-Firmware ein anderer Algorithmus benutzt wird, der systematisch einen leichten Offset gibt. Das ist auch kein Wunder, wenn man sich ansieht, wie der Algorithmus funktioniert. Vereinfacht sieht das so aus:
- Düse absenken, bis Schwellwert überschritten
- Düse wieder anheben, bis (kleinerer) Schwellwert wieder unterschritten
Abhängig von Schrittweite, Schwellwerten und Materialeigenschaften bekommst du damit einen mehr oder weniger konstanten Offset zum wahren Kontaktpunkt. Bei Klipper habe ich das anders gelöst: Da wird eine Messreihe durchgeführt und an die Messwerte eine lineare Funktion angefittet. Dann wird die Z-Position berechnet, bei der die Kraft gerade 0 wäre. Das stimmt theoretisch exakt, in der Realität spielen natürlich Messunsicherheiten ("Rauschen" der DMS-Werte) eine Rolle, die aber auch besser herausgemittelt werden als im Original, wo es auf einzelne Messwerte viel mehr ankommt.
Den Algorithmus hatte ich ursprünglich zum Kantenantasten entwickelt, wo alles viel komplizierter und unzuverlässiger funktioniert, denn die DMS sind dafür gar nicht gedacht (Messung geht eher nur zufällig als "Dreckeffekt"). Trotzdem bekomme ich beim Kantenantasten schon wenige 1/100 mm Genauigkeit. In Z-Richtung sind es eher Micrometer - ich will mich da nicht zu weit aus dem Fenster lehnen, denn ich kann die absolute Genauigkeit überhaupt nicht messen in dem Bereich (eine Fühlerlehre ist viel zu ungenau).
Dennis' Implementierung mit Marlin benutzt offensichtlich einen einfachen Schwellwert, und kann auch nicht die einzelnen Messungen mit den Motor-Schritten synchronisieren. Als Folge wird der Offset dann noch mal wesentlich Größer sein. Wenn der Offset um sagen wir 10% je nach Umgebungsparametern schwankt (auf dem konkreten Drucker-Exemplar), dann spielt das bei ~0.03mm Offset keine Rolle, bei ~0.3mm aber sehr wohl. Da der Rest-Offset bei der Original-Repetier-Firmware eben relativ klein und relativ konstant ist, funktioniert es, solange man sich den quasi konstanten Rest im Slicer korrigiert. Wird Rest größer, klappt das nur noch, wenn man nach jedem Scan diesen Rest neu bestimmt. Damit geht der Witz der DMS aber verloren, denn genau das will man ja nicht tun müssen.
In der Regel bedeutet das, bei einer im Slicer gewünschten Layerhöhe von 0,1 mm,
dass ich den Z- Offset um -0,03 mm niedriger einstelle.
Wenn ich jedoch mit einer Layerhöhe von 0,2 mm drucken möchte, bedeutet dass ich mit Z- Offset etwa auf -0,06 mm runter muss,
um ein ähnliches Ergebnis wie bei LH 0,1 mm zu bekommen.
Bei Layerhöhen unter 0.2mm spielen mikroskopische Unebenheiten der Platte eine deutlich größere Rolle. Das kann durchaus für derartige Unterschiede verantwortlich sein. Ich wäre da vorsichtig, aus den zwei Beobachtungen ein proportionales Verhalten abzuleiten
Um es klar zu sagen: Ich sehe bei mir, dass ich sehr gut ganz ohne händischen Offset auskomme mit Klipper, und das war vorher klar anders. Es wäre wirklich interessant zu wissen, ob das bei anderen ähnlich ist. Ich würde sagen, es gibt erste Anzeichen dafür, dass das so sein könnte, aber es gibt einfach zu wenige Nutzer um das wirklich zu wissen. Ich kann mir durchaus auch vorstellen, an dem Algorithmus noch weiter zu drehen, damit das noch besser passt, denn: Was ist die physikalische Begründung dafür, dass dort ein Offset nötig sein sollte? Es wird (hoffentlich) exakt die richtige Menge an Material dort deopniert. Wo soll das Material hingehen, damit du Lücken/Vertiefungen auf der Unterseite bekommst? (Vielleicht hast du aber auch einfach generell ca. 10% Unterextrusion, und das fällt nur im ersten Layer so deutich auf?)
Die tatsächliche Layerhöhe messe ich mit dem Messschieber über die Höhe der Startmade.
Ich kann mir aber diverse Effekte vorstellen, die einem eine derartige Messung im Vereich von einigen 1/100mm vermasseln: Mikroskopische Unebenheiten z.B. spielen eine umgekehrte Rolle im Vergleich zur Abstandsmessunge mit den DMS (beide Messungen setzen vermutlich auf den höchsten Punkten auf, einmal aber von unten und einmal von oben, wenn du verstehst was ich meine). Auch kann gerade bei der Startmade die Oberflächenspannung bzw. eine Zerfließen dazu führen, dass die Dicke nicht exakt dem entspricht, was in der Mitte eines Layers der Fall wäre. Dann gibt's noch die Schrumpfung des Materials, wobei die eher zu vernachlässigen ist. Ich messe i.d.R. die Dicke des Brim/Skirt, aber dessen Oberfläche (also die, die nicht auf dem Bett liegt) ist ja gar nicht so eben. Ich glaube nicht, dass derartige Messungen auf 1/100mm genau sein können, egal wie man das anstellt.
Übrigens sollte man auch immer darauf achten, dass die Düse wirklich sauber ist beim Scannen. Wenn unten ein kleiner Knubbel Kunststoff von 3/100mm Dicke sitzt, sieht man den kaum, aber natürlich wird dann der Abstand um eben 3/100mm zu hoch...