Der finale(?) Z-Logik-Thread. Bitte mitmachen!

Firmware Veröffentlichungen und Einstellungen können hier angekündigt und diskutiert werden.
RF1000
Developer
Developer
Beiträge: 340
Registriert: Fr 10. Okt 2014, 16:31
Has thanked: 40 times
Been thanked: 80 times

Re: Der finale(?) Z-Logik-Thread. Bitte mitmachen!

Beitrag von RF1000 »

mhier hat geschrieben: Ich hatte das so verstanden, dass es einen konfigurierbaren Wert geben sollte, um den Z=0 in negativer Richtung bei eingeschalteter Z-Kompensation maximal überfahren werden darf.
Z=0 darf jetzt um den Wert x überfahren werden und zwar egal, ob die Z-Kompensation ein oder aus ist. Wobei x per Default 0.5 mm ist, dementsprechend ist darauf zu achten dass die Hardwaretoleranzen der "Standardkonfiguration" (siehe weiter vorne in diesem Thread) eingehalten werden. Firmware, Z-Kompensation und Mechanik könnten theoretisch auch mit größeren Hardwaretoleranzen fertig werden, aber höhere Toleranzen verschlechtern tendenziell die Maßgenauigkeit der gedruckten Objekte und sind daher grundsätzlich zu vermeiden.
mhier hat geschrieben: IMO sollte dieser Wert von dem für die aktuelle XY-Position gültigen Wert der Z-Kompensation abhängen und nicht einfach ein fester Wert sein.
Warum? Hast du einen beispielhaften Anwendungsfall (G-Code plus manuelle Eingriffe), bei dem das relevant wäre?
mhier hat geschrieben: Aber wenn ich so drüber nachdenke müsste man doch einfach nur verhindern, dass G-Codes mit negativem Z-Wert (oder relative G-Codes, die zu einem negativem Z-Wert im G-Code-Koordinatensystem dann führen) ausgeführt werden, oder?
Nunja, ein G-Code wie z.B. "G1 Z-10" kann jetzt ausgeführt werden, stoppt aber (bei inaktiver Z-Kompensation) auf einer Z-Höhe von -0.5 mm. Bisher konnte man diesen G-Code auch schon ausführen, die Z-Bewegung wurde aber beim Erreichen vom Z-Min Schalter gestoppt.
Nur: Kennst du einen Anwendungsfall, wo man beim Drucken eine negative Z-Koordinate via G0/G1 anfahren will/muss?
mhier hat geschrieben: Das Gleiche natürlich für Bewegungen mit den Tasten oder im Menü. Es macht immer Sinn, dass der Z-Schalter überfahren werden kann, wenn laut Z-Matrix aber der Extruder das Heizbett berührt sollte Schluss sein, egal woher der Befehl kommt.
Im Prinzip richtig. Jetzt ist (bei inaktiver Z-Kompensation) bei 0.5 mm über dem Z-Min Schalter Schluss, was die Sache deutlich vereinfacht und trotzdem nicht mehr Schaden anrichten sollte. Das Berücksichtigen der aktuellen x/y-Position und der Z-Matrix ist auf den ersten Blick natürlich noch einmal eleganter, wir denken aber, dass es auf den zweiten Blick keinen Vorteil bringt (weil es keine realen Anwendungsfälle gibt, wo dieser Unterschied zu einem geänderten Verhalten führen würde).
mhier hat geschrieben: Dann komm ich im Extremfall an manchen Stellen evtl. nicht bis zum Bett dafür fahre ich an anderen ins Bett rein...
Diesen Extremfall kannst du doch nur erreichen, wenn du a) ein sehr schräges und/oder nicht planes Heizbett hast und b) einen sehr niedrigen 1. Layer drucken willst. Diese Kombination würde aber sowieso kein gutes Druckergebnis liefern können, d.h. wenn man z.B. mit Layerhöhen von 0.1 mm arbeiten möchte dann hat es keinen Sinn, wenn die "Standardkonfiguration" nicht eingehalten wird.
Oder hast du einen konkreten Anwendungsfall, wo du a) die vom G-Code geforderte Z-Höhe nicht erreichen könntest oder b) via G-Code ins Bett reinfahren würdest?


mfG
RF1000
mhier
Prof. Dr. des 3D-Drucks
Prof. Dr. des 3D-Drucks
Beiträge: 1672
Registriert: Fr 11. Sep 2015, 11:37
Has thanked: 279 times
Been thanked: 246 times

Re: Der finale(?) Z-Logik-Thread. Bitte mitmachen!

Beitrag von mhier »

RF1000 hat geschrieben:Z=0 darf jetzt um den Wert x überfahren werden und zwar egal, ob die Z-Kompensation ein oder aus ist. Wobei x per Default 0.5 mm ist, dementsprechend ist darauf zu achten dass die Hardwaretoleranzen der "Standardkonfiguration" (siehe weiter vorne in diesem Thread) eingehalten werden. Firmware, Z-Kompensation und Mechanik könnten theoretisch auch mit größeren Hardwaretoleranzen fertig werden, aber höhere Toleranzen verschlechtern tendenziell die Maßgenauigkeit der gedruckten Objekte und sind daher grundsätzlich zu vermeiden.
Ok danke, habe ich also richtig verstanden.

mhier hat geschrieben: IMO sollte dieser Wert von dem für die aktuelle XY-Position gültigen Wert der Z-Kompensation abhängen und nicht einfach ein fester Wert sein.
RF1000 hat geschrieben:Warum? Hast du einen beispielhaften Anwendungsfall (G-Code plus manuelle Eingriffe), bei dem das relevant wäre?
Ganz einfach immer. Das Überfahren des Z-Schalters sollte immer genau so weit möglich sein, bis der Extruder das Heizbett berührt. Dann sollte Schluss sein. Das wird genau dann erreicht, wenn der Z-Schalter jeweils über den für die aktuelle XY-Position gültigen (bzw. interpolierten) Wert der Z-Kompensationsmatrix überfahren werden kann.
mhier hat geschrieben: Aber wenn ich so drüber nachdenke müsste man doch einfach nur verhindern, dass G-Codes mit negativem Z-Wert (oder relative G-Codes, die zu einem negativem Z-Wert im G-Code-Koordinatensystem dann führen) ausgeführt werden, oder?
RF1000 hat geschrieben:Nunja, ein G-Code wie z.B. "G1 Z-10" kann jetzt ausgeführt werden, stoppt aber (bei inaktiver Z-Kompensation) auf einer Z-Höhe von -0.5 mm. Bisher konnte man diesen G-Code auch schon ausführen, die Z-Bewegung wurde aber beim Erreichen vom Z-Min Schalter gestoppt.
Nur: Kennst du einen Anwendungsfall, wo man beim Drucken eine negative Z-Koordinate via G0/G1 anfahren will/muss?
Nein, genau dafür kenne ich eben keinen Anwendungsfall. Deswegen sollte einfach bei eingeschalteter Z-Komplensation bei der Z-Position Schluss sein, die mit "G1 Z0" angefahren wird. Wie gesagt, das ist abhängig von der aktuellen XY-Position.
mhier hat geschrieben: Das Gleiche natürlich für Bewegungen mit den Tasten oder im Menü. Es macht immer Sinn, dass der Z-Schalter überfahren werden kann, wenn laut Z-Matrix aber der Extruder das Heizbett berührt sollte Schluss sein, egal woher der Befehl kommt.
RF1000 hat geschrieben:Im Prinzip richtig. Jetzt ist (bei inaktiver Z-Kompensation) bei 0.5 mm über dem Z-Min Schalter Schluss, was die Sache deutlich vereinfacht und trotzdem nicht mehr Schaden anrichten sollte. Das Berücksichtigen der aktuellen x/y-Position und der Z-Matrix ist auf den ersten Blick natürlich noch einmal eleganter, wir denken aber, dass es auf den zweiten Blick keinen Vorteil bringt (weil es keine realen Anwendungsfälle gibt, wo dieser Unterschied zu einem geänderten Verhalten führen würde).
Irgendwie versteh ich nicht, warum das einfacher sein soll. Ich muss weiterhin aufpassen, dass ich nicht ins Heizbett ramme. Außerdem gibt es einen zusätzlichen Parameter, den der Nutzer einstellen muss. Auf der anderen Seite ist der Firmware doch der aktuelle interpolierte Wert für die Z-Kompensation bekannt. Der muss doch nur für eben dieses Limit wiederverwendet werden. Das kann doch nicht so schwer sein...
mhier hat geschrieben: Dann komm ich im Extremfall an manchen Stellen evtl. nicht bis zum Bett dafür fahre ich an anderen ins Bett rein...
RF1000 hat geschrieben:Diesen Extremfall kannst du doch nur erreichen, wenn du a) ein sehr schräges und/oder nicht planes Heizbett hast und b) einen sehr niedrigen 1. Layer drucken willst. Diese Kombination würde aber sowieso kein gutes Druckergebnis liefern können, d.h. wenn man z.B. mit Layerhöhen von 0.1 mm arbeiten möchte dann hat es keinen Sinn, wenn die "Standardkonfiguration" nicht eingehalten wird.
Oder hast du einen konkreten Anwendungsfall, wo du a) die vom G-Code geforderte Z-Höhe nicht erreichen könntest oder b) via G-Code ins Bett reinfahren würdest?
Nö, wenn mein Z-Schalter ca. 0.5mm über dem Heizbett auslöst, habe ich das alle Nase lang.

Nochmal: es geht nicht darum, dass dieses feste Limit von 0.5 mm nicht funktionieren oder irgendeinen Anwendungsfall nicht abdecken würde. Es macht einfach nur keinen Sinn. Es schützt nicht davor, in das Heizbett zu fahren. Dafür bewirkt es, dass man unnötigerweise den Z-Schalter genau justieren muss. Wenn stattdessen einfach das Limit aus der Z-Kompensationsmatrix berechnet wird, kann man a) nicht mehr ins Heizbett fahren und muss b) bei der Justierung des Z-Schalters nur noch darauf achten, dass der Schalter das Überfahren bis zum Bett überlebt - alles andere spielt dann überhaupt keine Rolle mehr. Warum wollt ihr das unbedingt so umständlich machen? Nur um nen Stündchen Entwicklerarbeit zu sparen? Das meint ihr doch nicht ernst?
Gruß, Martin

Klipper Firmware für den RFx000: Klipper für RFx000 | Original-Dokumentation | Diskussion | Wiki mit Installations-Anleitung

(Ich bin in diesem Forum nicht mehr aktiv)
RFrank
Erfahrener 3D-Drucker
Erfahrener 3D-Drucker
Beiträge: 163
Registriert: Do 13. Nov 2014, 08:55
Wohnort: Wuppertal
Has thanked: 57 times
Been thanked: 9 times

Re: Der finale(?) Z-Logik-Thread. Bitte mitmachen!

Beitrag von RFrank »

Bei einem Düsenwechsel/Unterlage/anderes Tape wäre es schön, einfach nur einen Scan zu machen und nicht umständlich für ein paar Zehntelmillimeter den Z-Schalter neu einstellen zu müssen (Toleranzbereich der Düsengeometrie/Anzugsstelle).
mfG Frank
RF1k_1: Erhöh.+Verl. Kabelk. (2G), NOT-AUS (Reset), Opt. Z-Endschalter, Einhausung, Aludruckfräspl.
RF1k_2: Erhöh. Kabelk., 2x Motorkühlung, Lüfterplatine, 2xY, X-,Y-Gegenlager, magn. Alupl. mit Metallauflage, 2x E3D V6 (L 3mm, R 1,75mm)
RF1000
Developer
Developer
Beiträge: 340
Registriert: Fr 10. Okt 2014, 16:31
Has thanked: 40 times
Been thanked: 80 times

Re: Der finale(?) Z-Logik-Thread. Bitte mitmachen!

Beitrag von RF1000 »

Hallo mhier,


wir stimmen bereits überein, dass ein G1 mit negativen Z-Werten beim Drucken nicht vorkommen sollte. Ein "G1 Z0" macht auch keinen Sinn, weil jeder gedruckte Layer ja höher als 0 sein sollte. Sprich, realistisch wäre alles größer "G1 Z0.1" (weil geringere Layerhöhen eher schlecht realisierbar sind. Und unsere Aussage ist nun, dass die neue Firmware auf Basis der bereits umgesetzten (festen) Sicherheitszone dafür sorgt, dass sich der Extruder bei aktiver Z-Kompensation nach einem "G1 Z0.1" in etwa 0.1 mm vom Heizbett entfernt bewegt.

Es macht weiterhin sehr viel Sinn, den Z-Min Schalter möglichst exakt zu justieren, weil der vom Z-Min Schalter verursachte Offset/Fehler kann sich im gedruckten Objekt niederschlagen (das dann um diesen Offset höher wird als es der G-Code will).
mhier hat geschrieben: Ganz einfach immer. Das Überfahren des Z-Schalters sollte immer genau so weit möglich sein, bis der Extruder das Heizbett berührt.
Das ist eine theoretische Anforderung für die du keinen Anforderungsfall angeführt hast weil du dafür (genau wie wir) keinen kennst.
mhier hat geschrieben: Irgendwie versteh ich nicht, warum das einfacher sein soll.
Wenn die Z-Kompensation aktiv ist wird die Matrix sowieso schon berücksichtigt. Wenn G1 auf eine positive Z-Höhe fährt dann sorgt die Z-Kompensation + Matrix bereits dafür, dass die vom G-Code gewünschte Z-Position erreicht wird. Ein Unterschied im Verhalten/Z-Abstand würde sich daher nur ergeben, wenn die Hardware so schlecht eingestellt ist, dass die jetzt definierte (feste) Sicherheitszone nicht ausreicht. Wenn das aber der Fall ist dann ist die Mechanik (zu) schlecht eingestellt, und es macht keinen Sinn dass die Firmware versucht, das zu korrigieren.
mhier hat geschrieben: Nö, wenn mein Z-Schalter ca. 0.5mm über dem Heizbett auslöst, habe ich das alle Nase lang.
Wenn dein Z-Min Schalter maximal 0.5 mm vom Heizbett weg ist und dein 1. Layer mindestens 0.1 mm hoch ist dann bleibst du immer innerhalb der Sicherzeitszone und die Z-Kompensation sorgt dafür, dass der 1. Layer exakt so hoch ist wie vom G-Code gefordert.
mhier hat geschrieben: Dafür bewirkt es, dass man unnötigerweise den Z-Schalter genau justieren muss
Siehe oben. Den Z-Min Schalter möglichst genau zu justieren ist für exakte Maßhaltigkeit der gedruckten Objekte nicht unnötig sondern essentiell.
RFrank hat geschrieben: Bei einem Düsenwechsel/Unterlage/anderes Tape wäre es schön, einfach nur einen Scan zu machen und nicht umständlich für ein paar Zehntelmillimeter den Z-Schalter neu einstellen zu müssen (Toleranzbereich der Düsengeometrie/Anzugsstelle).
Einen statischen Z-Offset, der auf das gesamte Heizbett angewendet wird, kann man mit M3006 (oder das "Z Offset" Menü) festlegen - das sollte z.B. bei Düsenwechsel und Tape funktionieren, solange sich der Auslösepunkt vom Z-Min Schalter nicht aus dem empfohlenen Bereich hinaus bewegt.
Wenn die Unterlage getauscht wird könnte ich mir aber vorstellen, dass die gesamte Z-Matrix nicht mehr so ganz passt. In der neuen Firmware kann man für solche Fälle bis zu 9 Z-Kompensations-Matrizen speichern (also z.B. eine eigene für jede Unterlage).


mfG
RF1000
Benutzeravatar
Zaldo
Globaler Moderator
Globaler Moderator
Beiträge: 630
Registriert: Do 24. Sep 2015, 10:38
Wohnort: Raum Frankfurt
Has thanked: 38 times
Been thanked: 50 times

Re: Der finale(?) Z-Logik-Thread. Bitte mitmachen!

Beitrag von Zaldo »

RF1000 hat geschrieben:
mhier hat geschrieben: Ich hatte das so verstanden, dass es einen konfigurierbaren Wert geben sollte, um den Z=0 in negativer Richtung bei eingeschalteter Z-Kompensation maximal überfahren werden darf.
Z=0 darf jetzt um den Wert x überfahren werden
Kinners, dieser ganze Wirrwar rührt glaube ich daher, dass sich hier "jemand" beharrlich daran festklammert, dass Zref (also der Aulösepunkt des Z-Schalters) = Zmin sei und damit Z=0. Wir reden einfach von verschiedenen Nullpunkten. Das was Du RF1000 als negativen Z Wert beschreibst ist imho das was mhier und ich (und vermutlich die meißten anderen) unter Z=0 verstehen, nämlich Abstand Düse-Bett=0,0000000mm
· Besserer Z-Referenzschalter · Druckbett Feinjustage · Platinenkühlung · Weiße Bauraumbeleuchtung · Not-Aus
· Dauerdruckplatte · Temperaturgeregelte Einhausung · Repetier Server auf Raspberry · MK8 Vorschubritzel
Benutzeravatar
Zaldo
Globaler Moderator
Globaler Moderator
Beiträge: 630
Registriert: Do 24. Sep 2015, 10:38
Wohnort: Raum Frankfurt
Has thanked: 38 times
Been thanked: 50 times

Re: Der finale(?) Z-Logik-Thread. Bitte mitmachen!

Beitrag von Zaldo »

RFrank hat geschrieben:Bei einem Düsenwechsel/Unterlage/anderes Tape wäre es schön, einfach nur einen Scan zu machen und nicht umständlich für ein paar Zehntelmillimeter den Z-Schalter neu einstellen zu müssen (Toleranzbereich der Düsengeometrie/Anzugsstelle).
mfG Frank
Jep, drum hoffe ich auch weiterhin dass irgendwann die gewünschte 1-Punkt-Abtastung vor Druckbeinn kommt. Dies würde außerdem die Wiederholungsungenauigkeit des Z Schalters komplett eliminieren.
· Besserer Z-Referenzschalter · Druckbett Feinjustage · Platinenkühlung · Weiße Bauraumbeleuchtung · Not-Aus
· Dauerdruckplatte · Temperaturgeregelte Einhausung · Repetier Server auf Raspberry · MK8 Vorschubritzel
Benutzeravatar
Zaldo
Globaler Moderator
Globaler Moderator
Beiträge: 630
Registriert: Do 24. Sep 2015, 10:38
Wohnort: Raum Frankfurt
Has thanked: 38 times
Been thanked: 50 times

Re: Der finale(?) Z-Logik-Thread. Bitte mitmachen!

Beitrag von Zaldo »

RF1000 hat geschrieben: wir stimmen bereits überein, dass ein G1 mit negativen Z-Werten beim Drucken nicht vorkommen sollte. Ein "G1 Z0" macht auch keinen Sinn, weil jeder gedruckte Layer ja höher als 0 sein sollte
Eigentlich habe ich das doch in der Logik dahinter erdacht und narrensicher daniedergeschrieben, man müsste es nur noch nachprogrammieren. Aber wir reden in derselben Sache immer wieder von verschiedenen Werten die doch dasselbe meinen. Ich denke das rührt daher: Mein G0/G1 Z... im Gcode beschreibt eine Position auf der Z-Koordinate, welche im Idealfall dem Abstand zwischen Düse und Extruder beschreibt - Zumindest ist es genau das was der Slicer erwartet! Firmwareintern geht man aber (wegen diesem dappischen Z Schalter) davon aus, das Z=0 ist wenn der Schalter gedrückt wird. Und das ist schlichtweg surreal. Denn wenn ich Z0 anfahre, fährt der Drucker (intern) auf Z Minus Irgendwas. Das tut ALLES unnötig verkomplizieren.

Davon aber abgesehen, ich wüsste nicht, welcher Slicer aus welchem Grund einen G-Code Befehl mit einer (tatsächlichen) negativen Z-Koordinate ausgeben sollte, aber selbst wenn habe ich die Grundregel doch im EP bereits geschrieben. Niemals darf unter Z=0 gefahren werden (wobei ich mit Z=0 den Abstand zwischen Düse und Bett meine).
· Besserer Z-Referenzschalter · Druckbett Feinjustage · Platinenkühlung · Weiße Bauraumbeleuchtung · Not-Aus
· Dauerdruckplatte · Temperaturgeregelte Einhausung · Repetier Server auf Raspberry · MK8 Vorschubritzel
RF1000
Developer
Developer
Beiträge: 340
Registriert: Fr 10. Okt 2014, 16:31
Has thanked: 40 times
Been thanked: 80 times

Re: Der finale(?) Z-Logik-Thread. Bitte mitmachen!

Beitrag von RF1000 »

Wenn Z=0 vom G-Code die Heizbettoberfläche wäre dann wäre die Oberfläche von jedem gedruckten Objekt nicht plan sondern ebenfalls parallel zur Heizbettoberfläche.
Wenn man das will, dann kann man das bereits mit der bisherigen Firmware erreichen (indem man den Wirkungsbereich der Z-Kompensation entsprechend einstellt). Und natürlich kann das auch die kommende Firmware noch, wobei man in der neuen Firmware die Z-Anzeige auch so einstellen kann, dass die Z-Position ab Heizbettoberfläche angezeigt wird.
Wenn man das aber nicht will dann wird man es vermutlich begrüßen, dass der Auslösepunkt des Z-Min Schalters eine Z-Höhe markiert, die am Ende dafür sorgt, dass der oberste Layer vom erzeugten Objekt komplett ohne Z-Bewegungen gedruckt und damit plan werden kann. Die Z-Anzeige "ab Heizbettoberfläche" könnte während dem Drucken vom obersten Layer dann übrigens sich ändernde Z-Werte anzeigen.


mfG
RF1000
mhier
Prof. Dr. des 3D-Drucks
Prof. Dr. des 3D-Drucks
Beiträge: 1672
Registriert: Fr 11. Sep 2015, 11:37
Has thanked: 279 times
Been thanked: 246 times

Re: Der finale(?) Z-Logik-Thread. Bitte mitmachen!

Beitrag von mhier »

RF1000 hat geschrieben:wir stimmen bereits überein, dass ein G1 mit negativen Z-Werten beim Drucken nicht vorkommen sollte. Ein "G1 Z0" macht auch keinen Sinn, weil jeder gedruckte Layer ja höher als 0 sein sollte. Sprich, realistisch wäre alles größer "G1 Z0.1" (weil geringere Layerhöhen eher schlecht realisierbar sind. Und unsere Aussage ist nun, dass die neue Firmware auf Basis der bereits umgesetzten (festen) Sicherheitszone dafür sorgt, dass sich der Extruder bei aktiver Z-Kompensation nach einem "G1 Z0.1" in etwa 0.1 mm vom Heizbett entfernt bewegt.
Darum geht's hier doch überhaupt nicht.
RF1000 hat geschrieben:Es macht weiterhin sehr viel Sinn, den Z-Min Schalter möglichst exakt zu justieren, weil der vom Z-Min Schalter verursachte Offset/Fehler kann sich im gedruckten Objekt niederschlagen (das dann um diesen Offset höher wird als es der G-Code will).
Nö, wieso das denn? Ob die Referenz jetzt 1mm, 0.5mm oder 2cm vom Heizbett entfernt liegt (sofern es keine mechanischen Probleme gibt den Referenzschalter 2cm zu übferahren, z.B. weil es eine Lichtschranke ist), spielt überhaupt keine Rolle. Der HBS misst ja nicht nur die Unebenheiten sondern auch den absoluten Abstand zwischen Heizbett und Düse. Wichtig ist nur, dass die Referenz konstant bleibt und sich nicht einfach ändert.
mhier hat geschrieben: Ganz einfach immer. Das Überfahren des Z-Schalters sollte immer genau so weit möglich sein, bis der Extruder das Heizbett berührt.
RF1000 hat geschrieben: Das ist eine theoretische Anforderung für die du keinen Anforderungsfall angeführt hast weil du dafür (genau wie wir) keinen kennst.
Ich versteh nicht, was es da nicht zu verstehen gibt. Die Anforderung ist, dass die Düse nicht ins Heizbett fahren kann. So wie Zaldo und ich es beschrieben haben, wäre es gegeben. Mit deinem festen Toleranzbereich nicht. Ganz einfach.
mhier hat geschrieben: Irgendwie versteh ich nicht, warum das einfacher sein soll.
RF1000 hat geschrieben:Wenn die Z-Kompensation aktiv ist wird die Matrix sowieso schon berücksichtigt. Wenn G1 auf eine positive Z-Höhe fährt dann sorgt die Z-Kompensation + Matrix bereits dafür, dass die vom G-Code gewünschte Z-Position erreicht wird. Ein Unterschied im Verhalten/Z-Abstand würde sich daher nur ergeben, wenn die Hardware so schlecht eingestellt ist, dass die jetzt definierte (feste) Sicherheitszone nicht ausreicht. Wenn das aber der Fall ist dann ist die Mechanik (zu) schlecht eingestellt, und es macht keinen Sinn dass die Firmware versucht, das zu korrigieren.
Wann genau soll denn diese feste Sicherheitszone greifen? Die greift doch eh nur, wenn ich negative Z-Werte per G-Code anfahre oder mit den Tasten an entsprechende Z-Positionen fahre. Deinen Ausführungen hat diese feste Sicherheitszone gar nichts mit der Z-Kompensation zu tun. Ich kann immer genau um diesen Betrag über den Z-Schalter hinaus fahren, egal ob ich dann schon im Heizbett bin oder noch 0.5mm davon entfernt (weil ich "schlecht" eingestellt habe - warum auch immer das schlecht sein soll).
mhier hat geschrieben: Nö, wenn mein Z-Schalter ca. 0.5mm über dem Heizbett auslöst, habe ich das alle Nase lang.
RF1000 hat geschrieben:Wenn dein Z-Min Schalter maximal 0.5 mm vom Heizbett weg ist und dein 1. Layer mindestens 0.1 mm hoch ist dann bleibst du immer innerhalb der Sicherzeitszone und die Z-Kompensation sorgt dafür, dass der 1. Layer exakt so hoch ist wie vom G-Code gefordert.
Ja an der tiefsten Stelle meines Heizbetts. Ich muss also sehr genau das Heizbett justieren, nur weil die Firmware zu blöd ist, richtig zu rechnen. Das ist doch sinnlos!
mhier hat geschrieben: Dafür bewirkt es, dass man unnötigerweise den Z-Schalter genau justieren muss
RF1000 hat geschrieben:Siehe oben. Den Z-Min Schalter möglichst genau zu justieren ist für exakte Maßhaltigkeit der gedruckten Objekte nicht unnötig sondern essentiell.
Ich glaube, das ist schlicht falsch. Bitte erklären.
RFrank hat geschrieben: Bei einem Düsenwechsel/Unterlage/anderes Tape wäre es schön, einfach nur einen Scan zu machen und nicht umständlich für ein paar Zehntelmillimeter den Z-Schalter neu einstellen zu müssen (Toleranzbereich der Düsengeometrie/Anzugsstelle).
RF1000 hat geschrieben:Einen statischen Z-Offset, der auf das gesamte Heizbett angewendet wird, kann man mit M3006 (oder das "Z Offset" Menü) festlegen - das sollte z.B. bei Düsenwechsel und Tape funktionieren, solange sich der Auslösepunkt vom Z-Min Schalter nicht aus dem empfohlenen Bereich hinaus bewegt.
Wenn die Unterlage getauscht wird könnte ich mir aber vorstellen, dass die gesamte Z-Matrix nicht mehr so ganz passt. In der neuen Firmware kann man für solche Fälle bis zu 9 Z-Kompensations-Matrizen speichern (also z.B. eine eigene für jede Unterlage).
Besser wäre ein Z-Origin-Scan ähnlich dem im Fräs-Modus, der diesen Offset automatisch bestimmt. Da es den im Fräs-Modus schon gibt, kann auch das nicht so schwer sein, dem im Druck-Modus auch zu aktivieren...
Gruß, Martin

Klipper Firmware für den RFx000: Klipper für RFx000 | Original-Dokumentation | Diskussion | Wiki mit Installations-Anleitung

(Ich bin in diesem Forum nicht mehr aktiv)
RF1000
Developer
Developer
Beiträge: 340
Registriert: Fr 10. Okt 2014, 16:31
Has thanked: 40 times
Been thanked: 80 times

Re: Der finale(?) Z-Logik-Thread. Bitte mitmachen!

Beitrag von RF1000 »

RF1000 hat geschrieben: Es macht weiterhin sehr viel Sinn, den Z-Min Schalter möglichst exakt zu justieren, weil der vom Z-Min Schalter verursachte Offset/Fehler kann sich im gedruckten Objekt niederschlagen (das dann um diesen Offset höher wird als es der G-Code will).
mhier hat geschrieben: Nö, wieso das denn?
Ähm. Dir ist bekannt, was die Z-Kompensation bisher tut? Sie gleicht die Unebenheit vom Bett aus. D.h. sie versucht bis zur vorgegebenen Layerhöhe (per Default sind das 3 mm, siehe HEAT_BED_Z_COMPENSATION_MAX_MM) alle Layer so zu erhöhen, dass ab der vorgegebenen Layerhöhe keine Z-Kompensation mehr notwendig ist. Ab der vorgegebenen Layerhöhe entspricht der Z-Abstand zum Z-Min Schalter exakt dem vom G-Code vorgegebenen Wert. Dein 2 cm vom Heizbett auslösender Z-Min Schalter ist nicht innerhalb von 3 mm kompensierbar.
mhier hat geschrieben: Ich versteh nicht, was es da nicht zu verstehen gibt. Die Anforderung ist, dass die Düse nicht ins Heizbett fahren kann. So wie Zaldo und ich es beschrieben haben, wäre es gegeben. Mit deinem festen Toleranzbereich nicht. Ganz einfach.
Die Anforderung ist, dass G0/G1 den Z-Min Schalter überfahren können, damit die aktuell gedruckte Layerhöhe dem entspricht, was der G-Code vorgibt. Das ist gewährleistet. Da sinnvolle G0/G1 Befehle keine Layerhöhen < 0.1 mm anfahren ist gleichzeitig und automatisch auch gewährleistet, dass der Extruder nicht gegen das Heizbett fährt.
mhier hat geschrieben: Wann genau soll denn diese feste Sicherheitszone greifen?
Exakt dann wenn der Z-Min Schalter auslöst wenn G0/G1 das Heizbett nach oben fahren wollen.
mhier hat geschrieben: Die greift doch eh nur, wenn ich negative Z-Werte per G-Code anfahre oder mit den Tasten an entsprechende Z-Positionen fahre.
Nein. Wenn du gerade die Entlüftungsraupe mit einer Layerhöhe von 0,3 mm gedruckt hast und dein Z-Min Schalter z.B. 0,4 mm vom Heizbett weg ist dann ist jetzt dein Z-Min Schalter gedrückt. Die bisherige Firmware kann dann per "G1 Z0.1" das Heizbett nicht nach oben fahren, die neue schon. Es gibt in diesem Szenario (welches auch der Ursprung der kompletten Diskussion ist) weder negative Z-Position noch manuelle Eingriffe.
mhier hat geschrieben: Ich muss also sehr genau das Heizbett justieren, nur weil die Firmware zu blöd ist, richtig zu rechnen. Das ist doch sinnlos!
Wenn du die Diskussion auf diese Ebene verlagern willst dann werde ich mich nicht mehr daran beteiligen. Die Firmware kann nicht blöd sein. Ihre Entwickler sind es auch nicht, nur weil du ihre Funktion noch nicht komplett durchdrungen hast.
mhier hat geschrieben: Ich glaube, das ist schlicht falsch. Bitte erklären.
Siehe oben, Kurzbeschreibung davon, was die Z-Kompensation tut. Je weiter der Z-Min Auslösepunkt von der Heizbettoberfläche weg ist desto mehr muss kompensiert werden (= desto mehr werden die ersten gedruckten Layer und damit das Gesamtobjekt erhöht).
mhier hat geschrieben: Besser wäre ein Z-Origin-Scan ähnlich dem im Fräs-Modus, der diesen Offset automatisch bestimmt.
Da kann ich dir grundsätzlich zustimmen, im aktuellen Entwicklungsschritt wird das aber noch nicht mit umgesetzt.


mfG
RF1000
Antworten

Zurück zu „Firmware / Tweaks“