Macro: IR probe trigger height / subtotal autom. determine.
-
Hello,
Is there a way to automatically calculate and display a subtotal from, for example, 10 measurements using GCode or a plug-in or similar?When I change the nozzle on my print head, I use two macros to determine the new trigger height for the Duet IR height sensor.
Macro #1 moves the nozzle exactly 0.05mm directly over one of the three leveling screws on my print bed.
There I then set the height with the pressure bed height screw with a 0.05mm thick spring steel sheet.
Now the nozzle is exactly on the print bed if I would choose G1 Z0.Now comes Macro #2.
The IR height sensor is moved exactly 10mm above the point where the nozzle was previously set.
Now the distance is measured 10 times in a row with G30 S-1 (followed by G1 Z10).Then I add the values from the console, because they are there neatly one below the other and then divide the value by 10 and get a pretty accurate trigger height, which I then enter in the config.g, such as: G31 P500 X0 Y22 Z3.3584
I have to say... for people who may find it exaggerated, I always print my first layer with 0.1mm and thus get extremely good adhesion and almost no elephant foot.
Inaccurate and then the first layer with 0.2mm or 0.3mm to compensate something is not my thing.Is there a way that saves me the manual calculation of the mean value and automatically determines and displays a mean value from, for example, 10 measurements?
I know it's more of a luxury issue than vital, but it would save me a step I don't exactly love.
Thank you for your help !
Text is translated from German to English using Google Translate.
--------------------- Original Text ------------------------
Hallo,
gibt es eine Möglichkeit eine Zwischensumme aus zB 10 Messungen per GCode oder per PlugIn o.ä. automatisch zu errechen und anzeigen zu lassen ?Wenn ich die Düse bei meinem Druckkopf wechsel, dann ermittle ich die neue Auslösehöhe für den Duet IR Höhensensor mit zwei Macros.
Macro #1 fährt die Düse genau 0.05mm direkt über eine der drei Levelschrauben meines Druckbett's.
Dort stelle ich dann mit einem 0.05mm dicken Federstahlblech die Höhe mit der Druckbett Höhenschraube ein.
Jetzt ist die Düse exakt auf dem Druckbett wenn ich G1 Z0 wählen würde.Jetzt kommt das Macro #2.
Der IR-Höhensensor wird genau 10mm über die Stelle wo vorher die Düse eingestellt wurde, gefahren.
Jetzt wird 10 mal hintereinander der Abstand mit G30 S-1 (gefolgt von G1 Z10) gemessen.Dann addiere ich die Werte aus der Konsole heraus, da sie dort schön untereinander stehen und teile dann den Wert durch 10 und erhalte so eine ziehmlich genaue Auslösehöhe die ich dann in die config.g eintrage wie zB.: G31 P500 X0 Y22 Z3.3584
Ich muss dazu sagen... für Leute die es ggf übertrieben finden, ich drucke meine erste Schicht immer mit 0,1mm und erhalte so eine extrem gute Haftung und so gut wie keinen Elefantenfuß.
Ungenau und dann die erste Schicht mit 0,2mm oder 0,3mm um etwas auszugleichen, ist nicht mein Ding.Gibt es eine Möglichkeit die mir das manuelle errechnen des Mittelwertes erspart und einen Mittelwert aus zB 10 Messungen automatisch ermittelt und anzeigt ?
Ich weiß, es ist eher ein Luxus-Problem und nicht Lebenswichtig, aber es würde mir einen Arbeitsschritt den ich nicht gerade liebe, ersparen.
Danke für Eure Hilfe !
Text ist mit Google Translate von Deutsch auf Englisch übersetzt.
-
Hallo Günter,
hier ist ein einfaches Skript, dass einen Punkt 10 mal einmißt, und Dir dann die Abweichung ausgibt:while iterations < 9 G30 X0 Y0 Z-9999 P{iterations} G30 X0 Y0 Z-9999 P9 S-1
Die genaue Koordinate kannst Du nach Belieben anpassen.
Beste Grüße!
-
@oliof
Vielen Dank für Deine tolle Hilfe.
Erst zeigte mir das script nur den Abstand von der Düse bis zum Druckbett an, also abzüglich des Z-Offset Wertes aus der config.g.
Ich ergänzte dann das script mit dem Parameter H-3.370 in Zeile 3 und 4 und dann verglich ich die Maße mit meiner alten Methode... und es passte.Ich muss jetzt nur darauf achten dass ich den Z-Offset der in der config.g steht auch im script stehen habe.
Mit meiner alten Methode brauchte ich es nicht und es war egal welcher Z-Offset in der config.g stand.
Aber dieses addieren und teilen der Messwerte ist umständlicher als das kontrollieren ob der richtige Z-Offset im script steht.Stelle ich den Z-Offset in der config.g auf Null, dann funktioniert das script nicht mehr weil der Sensor ständig auslöst und keine Werte ermitteln kann.
So sieht das script jetzt aus...
M291 P"10-fache IR-Höhenmessung" R"Z-Offset wird ermittelt..." T20 while iterations <9 G30 X310 Y20 Z-9999 H-3.370 P{iterations} G30 X310 Y20 Z-9999 H-3.370 P9 S-1
Danke nochmals für Deine schnelle Hilfe, Du hast mir sehr geholfen
Ich werde mich wohl irgendwann einmal mit Java beschäftigen.
Vor etwas über 20 Jahren habe ich mich damit kurz mal beschäftigt, da war Java noch ziemlich neu, aber davon weiß ich heute absolut nichts mehr.
Wenn ich noch alles wüsste was ich bereits vergessen habe... Wiki 2.0Grüße von der Nordseeküste
-
@günter-jibben Schön dass es geklappt hat. Grüße an die Küste!
-
Solved !
-
-
-
This post is deleted! -
-
-
-
-
-
-
-
-
-
-
-
-