Neue Development Firmware (RF.01.31)

Firmware Veröffentlichungen und Einstellungen können hier angekündigt und diskutiert werden.
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: Neue Development Firmware (RF.01.31)

Beitrag von mhier »

RF1000 hat geschrieben: Ohne dem Limit von Z_OVERRIDE_MAX würde ein "G1 Z-10" zur Kollision führen. Das ist die letzte zur Verfügung stehende Verteidigungslinie, wenn die Z-Matrix nicht vorhanden, nicht aktiv oder nicht korrekt ist.
mhier hat geschrieben:Mit dem Limit von Z_OVERRIDE_MAX fürt der Befehl auch zur Kollision!
RF1000 hat geschrieben: Ja natürlich, dieser Befehl muss zwangsläufig zur Kollision führen. Aber es ist ein Unterschied, ob die Kollision 0,5 mm (= Z_OVERRIDE_MAX) nach Z-Min oder 10 mm (= was der G-Code will) endet.
OK, damit haben wir ja das von dir gewünschte Beispiel, wann es zu einer Kollision kommt. Was genau willst du da jetzt noch konkreteres haben? Wenn das Erreichen von Z_OVERRIDE_MAX dazu führen würde, dass sofort alle Bewegungen gestoppt würden, wäre das tatsächlich ein besserer Schutz als gar keiner. So fährt er dann aber noch lustig in XY weiter. Meiner Beobachtung nach griff früher der Z_SAFETY (wie auch immer der genau hieß, ich kann mir die Namen nicht merken - ich meine die Sicherheitsabschaltung auf Basis der Kraft) ein, so dass zumindest wenn eine längere Bewegung in Z angefordert wurde, es auch nicht mehr zu XY-Bewegungen kam. Das wird durch Z_OVERRIDE_MAX letzlich ausgehebelt, mit dem Effekt dass es mir die Düse abgeschliffen hat.

Nochmal: Z_OVERRIDE_MAX soll wie du selbst sagst eigentlich nie greifen müssen. Es kann also nicht darum gehen, dass im Regelbetrieb irgendwas nicht abgefangen wird. Mir geht es darum, dass wenn es greift aktuell zumindest in vielen Fällen die Begrenzung nicht Schlimmeres verhindert, sondern eher noch Schlimmeres bewirkt. Dass der Mechanismus "funktioniert", steht für mich nicht infrage, er bewirkt nur einfach nicht, dass die Düse geschützt wird.
mhier hat geschrieben: Laut Anleitung soll ich den Abstand zwischen Düse und Heizbett auf irgendwas zwischen 0.2 und 0.5mm einstellen, richtig? Wie kommst du darauf, dass Z_OVERRIDE_MAX=0.5mm dann eine Kollision verhindert?
RF1000 hat geschrieben:Ich komme da drauf weil ich denke, dass die von dir beschriebene theoretische Kollision in der Praxis nicht auftritt. Vielleicht habe ich auch einen Knoten zu viel im Gehirn deswegen wäre ich dir sehr dankbar, wenn du mir mit einem echten, nachvollziehbaren Beispiel aus der Patsche helfen könntest. Du musst es auch nicht selbst ausprobieren wenn du das deiner Hardware nicht antun willst. Die folgenden Schritte führen nicht zur Kollision, was muss ich anders machen, um doch eine hinzubekommen?
Du hast doch gerade selbst ein paar Beispiele genannt!?

mhier hat geschrieben: Das Druckergebnis ist auch dann nicht das gewünschte, wenn ich alles innerhalb der vom Handbuch geforderten Toleranzen einstelle! Das Objekt wird schlicht in der Höhe um 0.2 bis 0.5mm falsch!
RF1000 hat geschrieben:Richtig. +/- eine falsche Höhe aufgrund von dem, was der Slicer aus der Objekthöhe und der Höhe der einzelnen Layer macht +/- eine falsche Höhe aufgrund dessen, wie stark sich dein Material beim Abkühlen zusammenzieht oder ausdehnt.
Diese Effekte meine ich natürlich nicht. Du schreibst selbst, dass die Höhe im Bezug auf Z-Min festgelegt wird. Das real gedruckte Objet ist aber um 0.2 bis 0.5 mm höher, da ja laut Anleitung der Abstand zwischen Z-Min und Heizbett eben so groß sein sollte. Ein Drucker, der mit Layergröße von 0.05mm und besonders hoher Präzision durch Einsatz von Industrie-Führingsschienen etc. beworben wird, sollte das erheblich besser können. Vor allem: jede mechanische Ungenauigkeit kommt noch dazu, wir sprechen hier nur darüber, dass die Firmware falsch rechnet! Bei 0.05mm Layerhöhe und 0.5mm Abstand zwischen Z-Min und Heizbett reden wir über eine Ungenauigkeit von 10 Layern! Das ist nicht akzeptabel für so ein Gerät.
mhier hat geschrieben: Sobald ich bei der Justage den Toleranzbereich auch nur ein wenig verlasse (evtl. sogar davor, wenn der 1. Layer eher dünn ist - nirgendwo im Handbuch steht, dass das nicht erlaubt ist, oder?), führt Z_OVERRIDE_MAX=0.5mm dazu, dass die Z-Kompensation teilweise nicht mehr korrekt durchgeführt wird.
RF1000 hat geschrieben:Falsch. Die Z-Kompensation kann Z-Min auch um mehr als Z_OVERRIDE_MAX überfahren. Das habe ich im vorangegangenen Post im Eifer des Gefechts falsch beschrieben. Z_OVERRIDE_MAX verhindert also "nur", dass man Z-Min per G-Code oder über die Hardwaretaster um mehr als 0,5 mm überfährt.
Ok vielleicht habe ich das falsch verstanden und irgendwo die falschen Schlüsse aus meinen Beobachtungen gezogen. Also Frage: Nehmen wir ein absolut ebenes Heizbett an (zur Vereinfachung) und einen Abstand von exakt 0.6mm zwischen Düse und Heizbett (ja: außerhalb der Toleranz, aber das kann passieren!). Ich führe einen Heizbettscan durch, der misst in allen Messpunkten 0.6mm Abstand. Jetzt schalte ich die Z-Kompensation ein und führe "G01 Z0" aus. Welchen Abstand hat die Düse von Heizbett? Ich hatte dich so verstanden, dass Z_OVERRIDE_MAX das Überfahren von Z-Min auf 0.5mm begrenzt. Somit würde in diesem Beispiel die Begrenzung greifen und der Abstand dann 0.1mm statt der erwarteten 0mm betragen.

Warum ist das relevant? Nehmen wir ein reales Heizbett mit Unebenheiten. Sagen wir, die Unebenheiten betragen "Peak-to-Peak" (also von der tiefsten bis zur höchsten Stelle) 0.1mm. Hinzu kommt noch, dass die beiden Z-Spindeln nicht exakt justiert sind, sagen wir nochmals 0.1mm Unterschied zwischen links und rechts. Dann sind die Abstands-Bolzen etc. auch nicht perfekt, mit Pech gibt uns das weitere 0.1mm zwischen den Ecken noch dazu. Vielleicht beträgt am Ende also der Höhenunterschied zwischen dem tiefsten und dem höchsten Punkt - nach zusammenrechnen aller Effekte - 0.3mm. Wenn ich meine Justage des Z-Min dummerweise an der höchsten Stelle des Bettes durchführe und - was nach Handbuch erlaubt ist - den Abstand auf 0.5mm einjustiere, beträgt der Abstand aber an der tiefsten Stelle des Bettes schon 0.8mm. Um einen 1. Layer von 0.2mm Höhe zu drucken, komme ich dann nicht mehr nah genug ran ans Heizbett! (EDIT: Also wenn Z_OVERRIDE_MAX so funktionieren würde, wie von mir bisher gedacht)

Übrigens wäre es in dem Beispiel gefährlich, den Z-Min Abstand auf 0.2mm zu justieren. Falls ich das nämlich an der tiefsten Stelle mache, schrappt mir die Düse an der höchsten schon über's Heizbett, wenn ich gehomed habe. Mir würde also ein schmales Fenster zwischen 0.3 und 0.4mm bleiben, welches ich treffen müsste.

Ich bevorzuge deshalb (und auch falls sich mal was um 0.1-0.2mm dejustiert, das kann auch mal passieren!) eigentlich immer eher größere Abstände. Es wäre also sehr begrüßenswert, hier mehr Toleranzen zuzulassen. Die Hardware kann mehr, erst recht, wenn man so wie ich für 1-2 EUR nen anderen Z-Schalter einbaut. Das ist doch sehr ärgerlich, wenn einem die Software es dann künstlich versaut!

RF1000 hat geschrieben:Das ist ein anderer Text für das Gleiche wie bei deinem Punkt 1. Die Firmware berechnet die Objekthöhe bisher ab Z-Min. Ungeachtet dessen sind die Standardschalter nun mal nicht für beliebig weites Überfahren gedacht und das Einstellen von Z-Min entsprechend den Toleranzen vom Handbuch ist a) einfach möglich und b) typischerweise kein Vorgang, den man oft ausführen muss.
Doch, nach jedem Düsenwechsel und nach jedem Umbau in den Fräsbetrieb - jedenfalls wenn ich wirklich auf 0.2 bis 0.3mm ran will. Bei um die 0.5mm und bis zu 1mm erlaubt würde es bequem reichen, einmal seitlich rüberzupeilen und ggf. vorsichtig auszuprobieren, ob es noch passt.

Nenn mir einen einzigen Grund, der dagegen spricht und der nicht dieser armselige Original-Z-Schalter ist.
RF1000 hat geschrieben:Das sehe ich nicht ganz so. Du kannst mit der RF.01.31 bis zu 9 Heizbettmatrizen abspeichern. D.h. wenn du 9 verschiedene Materialen mit 9 verschiedenen Temperatureinstellungen verwendest dann könntest du 9 Scans mit diesen 9 Temperatureinstellungen machen und jeder Druckvorgang sollte dann ohne jede manuelle Z-Korrektur automatisch die Höhe vom 1. Layer korrekt rauswerfen (sofern im G-Code die entsprechende Z-Matrix als Basis für die Z-Korrektur geladen wird).
Das ist toll für die Leute, die ausschließlich drucken und das nur mit einer Düse. Für alle anderen ist es nicht praktikabel, weil sich nach jedem zweiten Druck eh was ändert, und dann müsste ich alle Matrizen neu ausmessen lassen. Hier wären andere Lösungen sinnvoll, aber das sind Features und keine Bugs. Davon spreche ich ja hier gar nicht (auch wenn die wirklich das Leben nochmal erleichtern würden - aber damit kann ich noch ein bisschen warten).

RF1000 hat geschrieben: Wenn du das so siehst dann gehe ich davon aus, dass du als "Kalibration" den Z-Min Schalter einfach auf Sicht so ungefähr einstellen willst. Das ist natürlich etwas einfacher als mal kurz ein Blatt Papier für die Kalibration aufzutreiben und dieses zwischen Heizbett und Extruder zu stecken.
Ich hätte vermutlich schon erheblich mehr Düsen zugeschliffen, wenn ich das so machen würde. Mir ist der Abstand so echt zu klein, da muss ich nur einmal unbemerkt an die Auslöseschraube von Z-Min stoßen und die Düse ist beim nächsten Druck hin (naja zumindest gibt es eine erhebliche Gefahr). Es gibt einfach keinen technischen Grund, den Abstand zu gering zu halten, außer den schlecht gemachten Z-Min-Schalter. Wenn noch, nenn ihn mir endlich! Rechenfehler in der Firmware zählen nicht!
RF1000 hat geschrieben:b) deswegen, weil du "auf Sicht" keine Toleranz einhalten wirst und wenn man bei b) nicht "auf Sicht" sondern mit einem Abstand (z.B. Papier) zwischen Heizbett und Extruder arbeiten würde, ja wieder genau das gleiche macht wie bei der bisher festgelegten Vorgehensweise.
Muss ich auch nicht. Mein 1.5 EUR Z-Schalter (keine Ahnung, wie teuer der wirklich ist, davon hab ich ne handvoll zuhause rumliegen, vermutlich stammen die noch aus DMark-Zeiten) ist stabil genug, notfalls den ganzen Tisch aufzuhalten. Da passiert nix. Ich frag mich echt, warum ihr nicht einfach so eine Lösung gleich von vorn herein gewählt habt...
RF1000 hat geschrieben:Vielleicht wäre es einmal interessant eine Umfrage zu starten, wer konkret welche Haftungsprobleme hat. An neuen Beiträgen ist zum Thema "Haftung" in den letzten Wochen/Monaten ja eher nicht viel gekommen.
Wahrscheinlich drucken die meisten inzwischen auf was anderem als der Keramikplatte (DDP oder Klebeband o.ä.). Ich hatte eingentlich gehofft, dass man solche Bastellösungen nicht braucht bei diesem Drucker!
mhier hat geschrieben: Wenn ihr mal endlich das be**** Repository anständig machen würdet, würde ich es ja selbst machen (und euch zur Verfügung stellen)!
RF1000 hat geschrieben:Das Repository ist bisher eine Veröffentlichungsplattform und in der Form noch nicht ideal für die Cross-Plattform Entwicklung geeignet.
Ein Repository ist keine Veröffentlichungsplattform. Ihr missbraucht es vielleicht als solche. Und das macht ihr dann noch falsch. Wir sprechen hier von einer simplen Einstellung, mit der ihr es ermöglichen würdet, dass andere Leute forken können.


Leider muss ich noch einen neuen Punkt (naja eigentlich einen sehr alten) einbringen: Gestern ist es mir wieder passiert, dass der Drucker unmittelbar nach dem Homing für 1-2 Sekunden mit voller Geschwindigkeit nach oben gefahren ist. Zum Glück waren alle Achsen gehomed, so dass die Düse sich neben dem Heizbett befand. Ich hatte zuerst einen Heizbettscan durchgeführt, dann vorgeheizt für 20 Minuten oder so und schließlich den Druck gestartet (von der SD-Karte). Zu Beginn des Drucks wurde wie üblich gehomed, das hat er auch korrekt durchgeführt. Direkt danach (vielleicht beim Einschalten der Z-Kompensation?) ist der dann wie wild hochgefahren und hat dann aber versucht, in die Mitte des Heizbetts (wohl zur Startposition des Drucks) zu kommen. Das ging natürlich nicht, aber es ist zum Glück nichts schlimmes passiert. Z_OVERRIDE_MAX hat klar nicht gegriffen, mein stabiler Z-Schalter hat die Bewegung bei geschätzt Z=-2mm gestoppt, aber er wäre noch weiter gefahren (lautes Knattern...). Ich hab dann natürlich sofort abgeschaltet.

Ein Log habe ich nicht leider. Dummerweise habe ich danach auch schon einen neuen HBS durchgeführt, erst jetzt fällt mir ein, dass vielleicht die Matrix Aufschluss geben könnte (wenn es tatsächlich beim Einschalten der Kompensation passiert ist). Das Verhalten tritt definitiv nicht jedes Mal auf, ich habe mehrere Drucke mit der selben Firmware und den gleichen Einstellungen durchgeführt und nur kleinere Einstellungen im Slicer verändert (ich versuche gerade, mein Ergebnis zu optimieren). Im Slicer habe ich keine Einstellungen bzgl. eines Z-Offsets o.ä., das ist bei mir alles 0. Ich fürchte, da müsst ihr noch mal ran... ;-) Gibt es eigentlich Obergrenzen für die Einträge in der Matrix und den Korrekturwert, der am Ende des Scans noch mit der richtigen Temperatur genommen wird? Was passiert wenn die erreicht werden (Abschneiden oder Matrix ungültig)? Aber eigentlich müsste Z_OVERRIDE_MAX das ja fangen? Oder eben nicht, wie du ja jetzt geschrieben hast?
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: Neue Development Firmware (RF.01.31)

Beitrag von RF1000 »

mhier hat geschrieben: Also Frage: Nehmen wir ein absolut ebenes Heizbett an (zur Vereinfachung) und einen Abstand von exakt 0.6mm zwischen Düse und Heizbett (ja: außerhalb der Toleranz, aber das kann passieren!). Ich führe einen Heizbettscan durch, der misst in allen Messpunkten 0.6mm Abstand. Jetzt schalte ich die Z-Kompensation ein und führe "G01 Z0" aus. Welchen Abstand hat die Düse von Heizbett? Ich hatte dich so verstanden, dass Z_OVERRIDE_MAX das Überfahren von Z-Min auf 0.5mm begrenzt. Somit würde in diesem Beispiel die Begrenzung greifen und der Abstand dann 0.1mm statt der erwarteten 0mm betragen.
"G1 Z0" ist ein ungünstiges Beispiel, weil die Z-Kompensation per Definition nichts macht, solange Z laut G-Code auf 0 steht. Ansonsten würde die Z-Kompensation nach dem Z-Homing ja sofort die Düse exakt bis zum Heizbett fahren, was man eher nicht will. Die Z-Kompensation wird daher erst bei Z-Zielwerten > 0 aktiv. Ein besseres Beispiel wäre also was passiert, wenn man "G1 Z0.05" aufruft. Und in dem Fall ist der Abstand Heizbett <-> Düse danach 0,05 mm (also genau das, was der G-Code will).
mhier hat geschrieben: ... beträgt der Abstand aber an der tiefsten Stelle des Bettes schon 0.8mm. Um einen 1. Layer von 0.2mm Höhe zu drucken, komme ich dann nicht mehr nah genug ran ans Heizbett! (EDIT: Also wenn Z_OVERRIDE_MAX so funktionieren würde, wie von mir bisher gedacht)
Die Z-Kompensation kommt in dem Beispiel überall auf eine Layerhöhe von 0,2 mm.
mhier hat geschrieben: Übrigens wäre es in dem Beispiel gefährlich, den Z-Min Abstand auf 0.2mm zu justieren. Falls ich das nämlich an der tiefsten Stelle mache, schrappt mir die Düse an der höchsten schon über's Heizbett, wenn ich gehomed habe.
Laut Anleitung muss der Abstand an der höchsten Stelle vom Heizbett eingestellt werden, um genau dieses schrappen zu verhindern.
mhier hat geschrieben: Nenn mir einen einzigen Grund, der dagegen spricht und der nicht dieser armselige Original-Z-Schalter ist.
Die Firmware muss mit dem originalen Z-Schalter funktionieren. Ich habe aber nicht die Entscheidung für das gewählte Bauteil getroffen :-)
mhier hat geschrieben: Wahrscheinlich drucken die meisten inzwischen auf was anderem als der Keramikplatte (DDP oder Klebeband o.ä.). Ich hatte eingentlich gehofft, dass man solche Bastellösungen nicht braucht bei diesem Drucker!
Auch das kann ich auf die Schnelle weder bestätigen noch dementieren. Wobei man mit dem Keramik- bzw. Ceranbett von RF1000 und RF2000 definitiv ohne Haftungsprobleme drucken kann.
mhier hat geschrieben: Gestern ist es mir wieder passiert, dass der Drucker unmittelbar nach dem Homing für 1-2 Sekunden mit voller Geschwindigkeit nach oben gefahren ist.
Mit der RF.01.31?
mhier hat geschrieben: Gibt es eigentlich Obergrenzen für die Einträge in der Matrix und den Korrekturwert, der am Ende des Scans noch mit der richtigen Temperatur genommen wird? Was passiert wenn die erreicht werden (Abschneiden oder Matrix ungültig)?
Die Matrix speichert short-Werte, also 2 Byte große Werte (d.h. Wertebereich = -32768 ... +32767) . Gespeichert werden die Schritte ab Z-Min. 1 mm in Z-Richtung ist typischerweise 2560 Schritte, man müsste Z-Min also um mehr als 12 mm überfahren, um den Wertebereich der Matrix zu überschreiten. Bevor das passieren kann wird der Heizbettscan natürlich abgebrochen.


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: Neue Development Firmware (RF.01.31)

Beitrag von mhier »

RF1000 hat geschrieben:"G1 Z0" ist ein ungünstiges Beispiel, weil die Z-Kompensation per Definition nichts macht, solange Z laut G-Code auf 0 steht.

Ich fahre üblicherweise auf Z=5mm und schalte dann die Z-Kompensation ein. Fährt "G1 Z0" in dem Fall auch an Z-Min und "G1 Z0.01" dann also näher an das Heizbett heran? Das wäre ja sehr unintuitiv...

Ansonsten, wenn das stimmt was du schreibst, würde mein gewünschtes Verhalten bei Z_OVERRIDE_MAX=0 erreicht werden (sofern damit der Heizbettscan noch funktioniert, aber ich glaube, der wird durch Z_OVERRIDE_MAX nicht beeinflusst, oder?). Warum setzt ihr das dann auf 0.5mm? Ich werde das mal genauer ausprobieren, sobald ich Zeit habe...
RF1000 hat geschrieben:Laut Anleitung muss der Abstand an der höchsten Stelle vom Heizbett eingestellt werden, um genau dieses schrappen zu verhindern.
Wie soll ich das denn machen? Ich kann doch schlecht von Hand das gesamte Heizbett abfahren und nach der höchsten Stelle suchen. Das geht vielleicht, wenn der dominierende Effekt die Verkippung ist, dann muss ich nur die 4 Ecken ausprobieren. Aber sonst habe ich keine Chance, die Stelle zu finden. Außerdem lieferst du mir damit wieder ein Argument mehr, warum die Kalibration eben doch nicht so einfach zu machen ist.

mhier hat geschrieben: Nenn mir einen einzigen Grund, der dagegen spricht und der nicht dieser armselige Original-Z-Schalter ist.
RF1000 hat geschrieben: Die Firmware muss mit dem originalen Z-Schalter funktionieren. Ich habe aber nicht die Entscheidung für das gewählte Bauteil getroffen :-)
Das ist kein Gegenargument, es würde ja mit dem originalen Z-Schalter funktionieren. Ich bleibe dabei, Z-Min muss "beliebig" weit vom Heizbett entfernt sein können und (solange der Schalter das kann) das selbe Druckergebnis erreicht werden. Wenn das nicht der Fall ist, hat die Firmware einen Bug. Du hast mir immer noch ein schlüssiges Argument geliefert, warum die Firmware das nicht können soll. Mein Argument ist: was bei extremem Abstand sichtbar wird, ist vorher auch vorhanden. Ich finde 0.2mm oder 0.5mm zu hohe Objekte nicht akzeptabel!

mhier hat geschrieben: Wahrscheinlich drucken die meisten inzwischen auf was anderem als der Keramikplatte (DDP oder Klebeband o.ä.). Ich hatte eingentlich gehofft, dass man solche Bastellösungen nicht braucht bei diesem Drucker!
RF1000 hat geschrieben:Auch das kann ich auf die Schnelle weder bestätigen noch dementieren. Wobei man mit dem Keramik- bzw. Ceranbett von RF1000 und RF2000 definitiv ohne Haftungsprobleme drucken kann.
Klar geht das. Aber halt nur, wenn der Abstand exakt stimmt. Ist er zu groß, fehlt die Haftung. Ist er zu klein, kriegt der Extruder das Filament nicht aus der Düse. Beides zusammen dürfte einen Großteil der Fehlerbeschreibungen hier im Forum ausmachen. Die meisten User gehen wahrscheinlich davon aus, selber was falsch gemacht zu haben. Eine hohe Dunkelziffer ist auch noch zu erwarten ;-)

mhier hat geschrieben: Gestern ist es mir wieder passiert, dass der Drucker unmittelbar nach dem Homing für 1-2 Sekunden mit voller Geschwindigkeit nach oben gefahren ist.
RF1000 hat geschrieben:Mit der RF.01.31?
Ja leider. Ich würde ja keinen Bug für eine alte Version reporten (erst recht nicht, wenn er laut Changelog gefixed sein sollte)...
mhier hat geschrieben: Gibt es eigentlich Obergrenzen für die Einträge in der Matrix und den Korrekturwert, der am Ende des Scans noch mit der richtigen Temperatur genommen wird? Was passiert wenn die erreicht werden (Abschneiden oder Matrix ungültig)?
RF1000 hat geschrieben:Die Matrix speichert short-Werte, also 2 Byte große Werte (d.h. Wertebereich = -32768 ... +32767) . Gespeichert werden die Schritte ab Z-Min. 1 mm in Z-Richtung ist typischerweise 2560 Schritte, man müsste Z-Min also um mehr als 12 mm überfahren, um den Wertebereich der Matrix zu überschreiten. Bevor das passieren kann wird der Heizbettscan natürlich abgebrochen.
Worauf ich eher hinauswollte, sind wahrscheinlich die Grenzen, wann der HBS abgebrochen wird. Es könnte ja sein, dass bei HBS irgendwas falsch gelaufen ist und er (z.B. bei der abschließenden Messung mit der vollen Extruder-Temperatur) aus irgendwelchen Gründen den falschen Wert gemessen hat. Was ist der größtmögliche totale Korrekturwert in mm, den die Matrix + Temperatur-Korrektur-Offset insgesamt haben kann, wenn der HBS gerade noch als erfolgreicht gilt? Mir geht's nur darum, einzukreisen, ob der Fehler am HBS gelegen haben kann oder nicht.
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)
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: Neue Development Firmware (RF.01.31)

Beitrag von mhier »

So, ich habe mal ein paar Tests bzgl. der Z-Kompensation und Z_OVERRIDE_MAX vorgenommen:

Testvoraussetzung: Dem HBS erlauben, dass bis zu 12mm weit gescannt wird, siehe HEAT_BED_Z_COMPENSATION_MAX_MM. (Hier ist übrigens ein kleiner Bug im Code: das #define für diesen Wert wird auch verwendet für den maximalen Z-Wert bis zu dem die Kompensation ausgeschlichen wird - das ist aber ja was ganz anderes! Ich habe das mal aufgesplittet. Pullrequest folgt. EDIT: GitHub hat es zum bereits existierenden pull request "delete .gitattributes" hinzugefügt...)
  • HBS starten (schneller Scan ohne Temperaturen) und beim Homing am Anfang des Scans von Hand den Z-Schalter auslösen, wenn das Heizbett ca. 1/2 bis 1cm vom Extruder entfernt war (rein optisch, ich habe 8mm erwischt, wie aus der Matrix zu entnehmen war).
  • Nach dem Scan neu homen und diesmal den Z-Schater sehr weit vom Bett entfernt auslösen (einfach um in Ruhe und sicher testen zu können). Schalter gedrückt halten!
  • Per G-Code Z-Kompensation einschalten.
  • Per G-Code auf eine Position fahren, die weiter entfernt ist als das gefakte Z-Min, also z.B. 12mm. Dabei den Z-Schalter loslassen.
  • Per G-Code auf die Position des gefakten Z-Min fahren, also in meinem Beispiel 8mm. Am Ende der Fahrt den Z-Schalter drücken und festhalten.
  • Per G-Code auf Z=0.1mm fahren.
Die Bewegung bleibt nach 0.5mm stehen, da offensichtlich Z_OVERRIDE_MAX greift. Folgich kann Z_OVERRIDE_MAX also die Z-Kompensation behindern!

Auf der anderen Seite eine positive Beobachtung: Mit einem Ähnlichen Test habe ich festgestellt, dass bei großen Entfernungen zum Heizbett (Z > HEAT_BED_Z_COMPENSATION_MAX_MM) die Z-Kompensation korrekt ausgeschlichen wird. Der große Abstand (die 8mm im Beispiel) bleiben erhalten und nur die kleinen Variationen des Heizbettes werden nicht mehr kompensiert. Lediglich eine kleine Ungenauigkeit ist mir beim Blick auf den Code aufgefallen: determineCompensationOffsetZ() bestimmt eben jenen Offset, der übrig bleibt für große Abstände (der wird auch angezeigt, wenn man sich die Matrix ausgeben lässt). Leider wird hier als Wert der größte Eintrag in der Matrix genommen. Der Mittelwert wäre besser, da sonst ein Objekt ja eher ein bisschen zu niedrig wird. Der Fehler ist hier aber nur noch die Hälfte der Unebenheit+Schiefheit des Heizbettes!

Schlußfolgerung: Ich erhöhe für mich Z_OVERRIDE_MAX auf 1mm, denn mein Z-Schalter kann das problemlos. Ungenauigkeiten ergeben sich nicht daraus, eine genaue Justage ist völlig unnötig (und erhöht nur das Risiko eines ungewollten Crashes).

Ich halte Z_OVERRIDE_MAX weiterhin für sinnlos, aber so behindert es wenigstens nicht. Übrigens, wenn man in obigem Test nicht erst den Z-Schalter freigibt, greift Z_OVERRIDE_MAX nicht. Unmittelbar nach dem Homing ist also jeder Schabernack möglich!
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: Neue Development Firmware (RF.01.31)

Beitrag von RF1000 »

mhier hat geschrieben:
RF1000 hat geschrieben: "G1 Z0" ist ein ungünstiges Beispiel, weil die Z-Kompensation per Definition nichts macht, solange Z laut G-Code auf 0 steht.
Ich fahre üblicherweise auf Z=5mm und schalte dann die Z-Kompensation ein. Fährt "G1 Z0" in dem Fall auch an Z-Min und "G1 Z0.01" dann also näher an das Heizbett heran? Das wäre ja sehr unintuitiv...
Die Z-Kompensation prüft, ob die aktuelle Position (= nCurrentPositionSteps[Z_AXIS], also die tatsächlich gefahrenen Schritte in Z-Richtung) auf 0 steht. Wenn du von Z=5 mm auf Z=0 mm fährst wird die aktuelle Position am Ende 0 erreichen. Bis dahin läuft die Z-Kompensation, wenn Z=0 erreicht worden ist, eben nicht mehr.
Uns ist bisher kein Scenario bekannt, bei dem man für das Drucken zuerst das Homing macht, dann auf Z=5 fährt und anschließend auf Z=0. Zuerst Homing, dann Z=5 und anschließend Z=0.01 kann natürlich sein, und das führt ja auch exakt zur gewünschten Layerhöhe von 0,01 mm.
mhier hat geschrieben: Ansonsten, wenn das stimmt was du schreibst, würde mein gewünschtes Verhalten bei Z_OVERRIDE_MAX=0 erreicht werden (sofern damit der Heizbettscan noch funktioniert, aber ich glaube, der wird durch Z_OVERRIDE_MAX nicht beeinflusst, oder?). Warum setzt ihr das dann auf 0.5mm?
Weil FEATURE_Z_MIN_OVERRIDE_VIA_GCODE mit Z_OVERRIDE_MAX = 0 exakt gar nichts bringen würde. Damit hätte man erreicht, dass der G-Code wieder nicht Z-Min überfahren kann.
mhier hat geschrieben:
RF1000 hat geschrieben: Laut Anleitung muss der Abstand an der höchsten Stelle vom Heizbett eingestellt werden, um genau dieses schrappen zu verhindern.
Wie soll ich das denn machen? Ich kann doch schlecht von Hand das gesamte Heizbett abfahren und nach der höchsten Stelle suchen. Das geht vielleicht, wenn der dominierende Effekt die Verkippung ist, dann muss ich nur die 4 Ecken ausprobieren. Aber sonst habe ich keine Chance, die Stelle zu finden. Außerdem lieferst du mir damit wieder ein Argument mehr, warum die Kalibration eben doch nicht so einfach zu machen ist.
Z-Homing machen, alle Motoren ausschalten, den Extruder manuell auf die 4 Ecken und in die Mitte vom Heizbett bewegen, parallel zum Heizbett "durchschauen" und so ermitteln, an welcher dieser 5 Punkte der Extruder am nächsten beim Heizbett ist. In der Regel kann man danach aus diesen 5 Punkten denjenigen mit dem geringsten Abstand wählen und eben dort Z-Min einstellen. Wer es genauer machen will kann an diesen 5 Punkten den Abstand auch mit einer Abstandslehre ermitteln.
mhier hat geschrieben: Du hast mir immer noch ein schlüssiges Argument geliefert, warum die Firmware das nicht können soll.
Die Hard- und Firmware könnte das, es ist bisher aber in der Firmware noch nicht umgesetzt.
mhier hat geschrieben:
RF1000 hat geschrieben: Auch das kann ich auf die Schnelle weder bestätigen noch dementieren. Wobei man mit dem Keramik- bzw. Ceranbett von RF1000 und RF2000 definitiv ohne Haftungsprobleme drucken kann.
Klar geht das. Aber halt nur, wenn der Abstand exakt stimmt. Ist er zu groß, fehlt die Haftung. Ist er zu klein, kriegt der Extruder das Filament nicht aus der Düse. Beides zusammen dürfte einen Großteil der Fehlerbeschreibungen hier im Forum ausmachen. Die meisten User gehen wahrscheinlich davon aus, selber was falsch gemacht zu haben.
Moment. Der Abstand stimmt mit der RF.01.31, das hatten wir bereits festgestellt:
mhier hat geschrieben:
RF1000 hat geschrieben: Wir sind bei der Diskussion nun an dem Punkt angelangt wo wir grundsätzlich darüber übereinstimmen, dass die RF.01.31 die Höhe von den ersten Layern exakt so abfährt, wie der G-Code es will (und zwar unabhängig davon, ob dafür Z-Min überfahren werden muss oder nicht). Korrekt?
Ich glaube, dieser Punkt war nie ernsthaft strittig?
mhier hat geschrieben:
RF1000 hat geschrieben: Mit der RF.01.31?
Ja leider. Ich würde ja keinen Bug für eine alte Version reporten (erst recht nicht, wenn er laut Changelog gefixed sein sollte)...
Wir werden das beobachten, bisher wäre uns das mit der RF.01.31 auf keinem der Testgeräte aufgefallen.
mhier hat geschrieben: Worauf ich eher hinauswollte, sind wahrscheinlich die Grenzen, wann der HBS abgebrochen wird. Es könnte ja sein, dass bei HBS irgendwas falsch gelaufen ist und er (z.B. bei der abschließenden Messung mit der vollen Extruder-Temperatur) aus irgendwelchen Gründen den falschen Wert gemessen hat. Was ist der größtmögliche totale Korrekturwert in mm, den die Matrix + Temperatur-Korrektur-Offset insgesamt haben kann, wenn der HBS gerade noch als erfolgreicht gilt? Mir geht's nur darum, einzukreisen, ob der Fehler am HBS gelegen haben kann oder nicht.
Ich denke, das hast du mittlerweile schon selbst heraus gefunden - Z-Min darf nicht um mehr als HEAT_BED_Z_COMPENSATION_MAX_MM überfahren werden, was per Default 3 mm sind.
mhier hat geschrieben: So, ich habe mal ein paar Tests bzgl. der Z-Kompensation und Z_OVERRIDE_MAX vorgenommen:

...
• Per G-Code auf die Position des gefakten Z-Min fahren, also in meinem Beispiel 8mm. Am Ende der Fahrt den Z-Schalter drücken und festhalten.
• Per G-Code auf Z=0.1mm fahren.

Die Bewegung bleibt nach 0.5mm stehen, da offensichtlich Z_OVERRIDE_MAX greift. Folgich kann Z_OVERRIDE_MAX also die Z-Kompensation behindern!
Natürlich. Z_OVERRIDE_MAX wirkt auf Bewegungen via G-Code. Wenn du per G-Code auf Z=0.1 mm fährst dann fährst du per G-Code und Z_OVERRIDE_MAX kann diese Bewegung stoppen. Z_OVERRIDE_MAX verhindert nicht die Z-Kompensation. Das habe ich bereits mit einem ähnlichen Beispiel beschrieben:
RF1000 hat geschrieben: Er würde auch greifen, wenn du

G28 Z0 ; home Z
G1 Z1 ; fahre Z auf 1,0 mm
... fahre Z per Hardware Taster um 0,9 mm nach oben, d.h. Z steht auf einer Position 0,1 mm vor dem Auslösen von Z-Min ...
G1 Z0.1 ; fahre Z auf 0,1 mm ... ohne weitere Maßnahmen würde das eine Bewegung um 0,9 mm nach oben, also 0,8 mm nach dem Auslösepunkt von Z-Min ausführen ... aufgrund von Z_OVERRIDE_MAX stoppt die Bewegung aber 0,5 mm nach dem Auslösepunkt von Z-Min

ausführen würdest.
mhier hat geschrieben: Schlußfolgerung: Ich erhöhe für mich Z_OVERRIDE_MAX auf 1mm, denn mein Z-Schalter kann das problemlos. Ungenauigkeiten ergeben sich nicht daraus, eine genaue Justage ist völlig unnötig (und erhöht nur das Risiko eines ungewollten Crashes).
Ja, Z_OVERRIDE_MAX sollte keinen Einfluss auf Ungenauigkeiten haben. Eine nicht-genaue Justage von Z-MIn kann aber sehr wohl einen Einfluss auf die Höhe des gedruckten Objekts haben.


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: Neue Development Firmware (RF.01.31)

Beitrag von mhier »

Ich geb's auf. Irgendwie verstehst du mich einfach nicht. Für mich ist und bleibt erwiesen:
  • Z_OVERRIDE_MAX kann sehr wohl die Z-Kompensation behindern, ohne dass es der Anwender merkt (ausser an der fehlenden Haftung).
  • Gäbe es Z_OVERRIDE_MAX nicht oder wäre es größer, bräuchte ich nur so genau zu justieren, dass beim HBS der Z-Min-Schalter nicht beschädigt wird. Ansonsten hat die Justage keinerlei Auswirkungen auf den Druck!
Die Begünding für den ersten Punkt habe ich jetzt gefühlt 100 Mal geschrieben. Die Begründung für den zweiten Punkt steht in meinem letzten Post. Da unterstätzt du die Fähigkeiten der Firmware! :-)
RF1000 hat geschrieben:Die Z-Kompensation prüft, ob die aktuelle Position (= nCurrentPositionSteps[Z_AXIS], also die tatsächlich gefahrenen Schritte in Z-Richtung) auf 0 steht. Wenn du von Z=5 mm auf Z=0 mm fährst wird die aktuelle Position am Ende 0 erreichen. Bis dahin läuft die Z-Kompensation, wenn Z=0 erreicht worden ist, eben nicht mehr.
Uns ist bisher kein Scenario bekannt, bei dem man für das Drucken zuerst das Homing macht, dann auf Z=5 fährt und anschließend auf Z=0. Zuerst Homing, dann Z=5 und anschließend Z=0.01 kann natürlich sein, und das führt ja auch exakt zur gewünschten Layerhöhe von 0,01 mm.
Ja richtig, normalerweise sollte man nie auf Z=0 fahren, deswegen fällt das erstmal nicht weiter auf. Das Problem ist, dass man durch solch unlogisches Verhalten teilweise einfach nicht mehr versteht, was Sache ist. Das ist ja nicht die einzige "Kleinigkeit", die völlig kontraintuitiv ist. Sowas macht einen wahnsinnig, wenn man Fehlersuche betreibt.

Wenn ihr irgendwann dahin kommen wollt, dass die Firmware nicht nur "irgendwie" funktioniert, sondern dass die breite Mehrheit der Nutzer damit auf Anhieb korrekte Ergebnisse erzielt und im Falle von Problemen auch eine Chance hat, selbst eine Lösung zu finden, solltet ihr da mal die Herangehensweise ändern. Es gibt sehr wohl korrektes und falsches Verhalten. Das oben Beschriebene ist klar falsch. Ihr wollte damit vermutlich verhindern, dass beim Einschalten der Z-Kompensation direkt nach dem Homen die Düse aufs Heizbett fährt. Das würde sich auch ganz einfach mit einem korrekten Verhalten lösen: Beim Einschalten der Z-Kompensation muss halt der aktuelle Z-Wert geändert werden, nicht die tatsächliche Position. Das würde dann auch gleich die Anzeige korrigieren, die zeigt nämlich immer erstmal trotzdem noch Z=0.

Es spielt übrigens fast keine Rolle, ob diese Spezialfälle im Regelbetrieb vorkommen oder nicht. Sie kommen spätestens dann vor, wenn man ein Problem findet und mal von Hand in der Gegend rumfährt, um zu sehen, was denn da passiert. Wenn dann vermehrt unlogisches Verhalten auftritt, weil jeder Spezialfall irgendwie nicht das tut, was man erwartet, hat man echt keine Chance.

Bitte nehmt euch das mal zu Herzen. Das muss ja nicht sofort passieren, einfach nur, dass auf Dauer die Sache mal in die richtige Richtung läuft.
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)
reini
3D-Drucker
3D-Drucker
Beiträge: 79
Registriert: Sa 11. Jul 2015, 18:43
Wohnort: Falkenstein
Has thanked: 3 times
Been thanked: 8 times

Re: Neue Development Firmware (RF.01.31)

Beitrag von reini »

Hallo

Habe nun nach längerer Zeit meinen Drucker wieder ausgegraben. Bin bei der Firmware 51 stehen geblieben. Habe nun auf die 1.31 upgedatet, nun wollte ich wie früher den HBS machen, aber nun finde ich in der Konfiguration "Abtasten" Abtasten PLA" Abtasten ABS" ?
Wie ist das nun gemeint ? Soll ich alle 3 HBS machen ? Drucke ich da nach dem Scan z.B. ABS wie weis der Drucker das ?
Und wie ich das nun lese brauche ich später die GCodes M3001 und m3006 nicht mehr?
Und wo stelle ich Geschwindigkeit der Z-Achse bei Bedienung am Drucker über die Tasten ein ?
Beim drücken fährt die Z-Achse mit voller Geschwindigkeit! Will das aber wieder langsam steigend haben.

Reini
RF 1000, Firmware 1.45.00,
RF1000
Developer
Developer
Beiträge: 340
Registriert: Fr 10. Okt 2014, 16:31
Has thanked: 40 times
Been thanked: 80 times

Re: Neue Development Firmware (RF.01.31)

Beitrag von RF1000 »

mhier hat geschrieben: Z_OVERRIDE_MAX kann sehr wohl die Z-Kompensation behindern, ohne dass es der Anwender merkt (ausser an der fehlenden Haftung).
Du willst es so sehen, tatsächlich ist es weiterhin so, dass Z_OVERRIDE_MAX nur bei G-Code zum Greifen kommt, der nach oben fahren will ... und das kommt beim Drucken ja eher nicht so oft vor. Da bei korrekt eingestelltem Z-Min der Mechanismus von Z_OVERRIDE_MAX nie zum Tragen kommt werden wir in der kommenden Firmware den kompletten Druck abbrechen, wenn Z_OVERRIDE_MAX doch überschritten wird. Damit erkennt auch der Anwender, dass er mechanisch etwas tun muss.
mhier hat geschrieben: Gäbe es Z_OVERRIDE_MAX nicht oder wäre es größer, bräuchte ich nur so genau zu justieren, dass beim HBS der Z-Min-Schalter nicht beschädigt wird. Ansonsten hat die Justage keinerlei Auswirkungen auf den Druck!
Ja, vielleicht. Und außerdem würde ein G1 Z-10 durch das Heizbett fahren. Anscheinend verstehen wir uns wirklich nicht, ich habe das doch sehr genau beschrieben. Wenn du mit einem größeren Wert für Z_OVERRIDE_MAX zufrieden bist dann mach das.
mhier hat geschrieben: Ja richtig, normalerweise sollte man nie auf Z=0 fahren, deswegen fällt das erstmal nicht weiter auf. Das Problem ist, dass man durch solch unlogisches Verhalten teilweise einfach nicht mehr versteht, was Sache ist. Das ist ja nicht die einzige "Kleinigkeit", die völlig kontraintuitiv ist. Sowas macht einen wahnsinnig, wenn man Fehlersuche betreibt.
Welche anderen Kleinigkeiten sind jetzt noch offen?
mhier hat geschrieben: Wenn ihr irgendwann dahin kommen wollt, dass die Firmware nicht nur "irgendwie" funktioniert, sondern dass die breite Mehrheit der Nutzer damit auf Anhieb korrekte Ergebnisse erzielt und im Falle von Problemen auch eine Chance hat, selbst eine Lösung zu finden, solltet ihr da mal die Herangehensweise ändern.
Bitte bleiben wir sachlich und konkret. Die Firmware funktioniert nicht nur "irgendwie". Wenn die geforderten Standardbedingungen eingehalten werden dann stellt die RF.01.31 sicher, dass die Höhe vom ersten Layer automatisch exakt dem entspricht, was der G-Code will. Was (außer vielleicht der endgültigen Objekthöhe, die auch noch von anderen Faktoren beeinflusst werden kann) muss die Firmware noch besser machen, damit die breite Mehrheit der Nutzer damit noch bessere Ergebnisse erzielt?
mhier hat geschrieben: Es gibt sehr wohl korrektes und falsches Verhalten. Das oben Beschriebene ist klar falsch. Ihr wollte damit vermutlich verhindern, dass beim Einschalten der Z-Kompensation direkt nach dem Homen die Düse aufs Heizbett fährt. Das würde sich auch ganz einfach mit einem korrekten Verhalten lösen: Beim Einschalten der Z-Kompensation muss halt der aktuelle Z-Wert geändert werden, nicht die tatsächliche Position. Das würde dann auch gleich die Anzeige korrigieren, die zeigt nämlich immer erstmal trotzdem noch Z=0.
Das verstehe ich nicht. Was ist der "aktuelle Z-Wert"? Wenn die Z-Kompensation eingeschalten wird und du auf G1 Z0.1 fährst willst du doch, dass der Abstand Heizbett <-> Düse exakt 0,1 mm ist, korrekt? Fährst du auf G1 Z0, dann willst du vermutlich nicht, dass der Extruder das Heizbett berührt, korrekt?
mhier hat geschrieben: Es spielt übrigens fast keine Rolle, ob diese Spezialfälle im Regelbetrieb vorkommen oder nicht. Sie kommen spätestens dann vor, wenn man ein Problem findet und mal von Hand in der Gegend rumfährt, um zu sehen, was denn da passiert. Wenn dann vermehrt unlogisches Verhalten auftritt, weil jeder Spezialfall irgendwie nicht das tut, was man erwartet, hat man echt keine Chance.

Bitte nehmt euch das mal zu Herzen. Das muss ja nicht sofort passieren, einfach nur, dass auf Dauer die Sache mal in die richtige Richtung läuft.
Nicht jedes Verhalten ist automatisch "unlogisch", nur weil sich das Gerät anders verhält als du es dir im ersten Moment erwartet hättest. In der Regel machen wir uns schon unsere Gedanken bevor wir uns für dieses oder jenes Verhalten entscheiden :-)

Ich nehm' mir die Anmerkung mal zu Herzen und bevor wir das nächste große Update vorbereiten überlegen wir uns evtl. noch einmal zusammen, welches konkrete Verhalten denn besser umzusetzen wäre.
reini hat geschrieben: Habe nun nach längerer Zeit meinen Drucker wieder ausgegraben. Bin bei der Firmware 51 stehen geblieben. Habe nun auf die 1.31 upgedatet, nun wollte ich wie früher den HBS machen, aber nun finde ich in der Konfiguration "Abtasten" Abtasten PLA" Abtasten ABS" ?
Wie ist das nun gemeint ? Soll ich alle 3 HBS machen ? Drucke ich da nach dem Scan z.B. ABS wie weis der Drucker das ?
"Abtasten" ist der bisherige Heizbettscan. "Abtasten PLA" heizt Heizbett und Extruder vor dem Scan auf typische PLA-Temperaturen auf, "Abtasten ABS" heizt dementsprechend auf typische ABS-Temperaturen auf. Durch das Aufheizen verlängert sich die Scanzeit, dafür sollte der Abstand während dem Druck besser passen.
Man kann bis zu 9 Heizbettmatrizen abspeichern (also z.B. eine für PLA, eine für ABS, ...) und diese dann vor dem Aktivieren der Z-Kompensation aufrufen. Die Firmware kann selbst nicht erkennen, mit welchem Material du druckst und/oder welche Z-Matrix die richtige wäre.
reini hat geschrieben: Und wie ich das nun lese brauche ich später die GCodes M3001 und m3006 nicht mehr?
M3001 natürlich schon (zum Einschalten der Z-Kompensation), M3006 sollte nicht mehr notwendig sein.
reini hat geschrieben: Und wo stelle ich Geschwindigkeit der Z-Achse bei Bedienung am Drucker über die Tasten ein ?
Beim drücken fährt die Z-Achse mit voller Geschwindigkeit! Will das aber wieder langsam steigend haben.
Du kannst die Fahrgeschwindigkeit der Hardwaretasten im "Position Z" Menü umstellen, wenn du dort den Taster "rechts" drückst. Das geht übrigens auch für die x- und y Richtungen.


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: Neue Development Firmware (RF.01.31)

Beitrag von mhier »

mhier hat geschrieben: Z_OVERRIDE_MAX kann sehr wohl die Z-Kompensation behindern, ohne dass es der Anwender merkt (ausser an der fehlenden Haftung).
RF1000 hat geschrieben:Du willst es so sehen
Es ist halt einfach so.
RF1000 hat geschrieben:tatsächlich ist es weiterhin so, dass Z_OVERRIDE_MAX nur bei G-Code zum Greifen kommt, der nach oben fahren will ... und das kommt beim Drucken ja eher nicht so oft vor.
Standardmäßig fahren die meisten Slicer erstmal von Heizbett weg, bevor sie mit dem Drucken anfangen...
RF1000 hat geschrieben:Da bei korrekt eingestelltem Z-Min der Mechanismus von Z_OVERRIDE_MAX nie zum Tragen kommt werden wir in der kommenden Firmware den kompletten Druck abbrechen, wenn Z_OVERRIDE_MAX doch überschritten wird. Damit erkennt auch der Anwender, dass er mechanisch etwas tun muss.
Gut!
mhier hat geschrieben: Gäbe es Z_OVERRIDE_MAX nicht oder wäre es größer, bräuchte ich nur so genau zu justieren, dass beim HBS der Z-Min-Schalter nicht beschädigt wird. Ansonsten hat die Justage keinerlei Auswirkungen auf den Druck!
RF1000 hat geschrieben:Ja, vielleicht. Und außerdem würde ein G1 Z-10 durch das Heizbett fahren. Anscheinend verstehen wir uns wirklich nicht, ich habe das doch sehr genau beschrieben. Wenn du mit einem größeren Wert für Z_OVERRIDE_MAX zufrieden bist dann mach das.
Der Befehl crasht jetzt aber auch.
mhier hat geschrieben: Ja richtig, normalerweise sollte man nie auf Z=0 fahren, deswegen fällt das erstmal nicht weiter auf. Das Problem ist, dass man durch solch unlogisches Verhalten teilweise einfach nicht mehr versteht, was Sache ist. Das ist ja nicht die einzige "Kleinigkeit", die völlig kontraintuitiv ist. Sowas macht einen wahnsinnig, wenn man Fehlersuche betreibt.
RF1000 hat geschrieben:Welche anderen Kleinigkeiten sind jetzt noch offen?
Ich weiß nicht, das ist ja das Problem. Ich hab ja schon ne ganze Menge an "Kleinigkeiten" dir mitgeteilt, ist eher unwahrscheinlich, dass es das jetzt war. Das hat jetzt nichts damit zu tun, dass ihr einen schlechten Job macht, das sagt mir einfach meine Erfahrung mit Projekten in der Komplexität.
mhier hat geschrieben: Wenn ihr irgendwann dahin kommen wollt, dass die Firmware nicht nur "irgendwie" funktioniert, sondern dass die breite Mehrheit der Nutzer damit auf Anhieb korrekte Ergebnisse erzielt und im Falle von Problemen auch eine Chance hat, selbst eine Lösung zu finden, solltet ihr da mal die Herangehensweise ändern.
RF1000 hat geschrieben:Bitte bleiben wir sachlich und konkret.
Sachlich bin ich. Konkret ist schwierig, eben der Sache wegen.
RF1000 hat geschrieben:Die Firmware funktioniert nicht nur "irgendwie".
Achso? Dann erlaube mir die Frage, wie viele RF1000-Neulinge auf Anhieb crashfrei und ohne Haftungsprobleme mehr als nur die Beispiele drucken können. Jetzt sag mir nicht, das wäre zu viel verlangt...

RF1000 hat geschrieben:Wenn die geforderten Standardbedingungen eingehalten werden
Wo sind die eigentlich exakt definiert? Ich meine mit Toleranzbereich und nicht nur "ungefär 0.2mm Abstand"? Wo steht eine genaue Beschreibung, wie ich die auch einhalten kann?
RF1000 hat geschrieben: dann stellt die RF.01.31 sicher, dass die Höhe vom ersten Layer automatisch exakt dem entspricht, was der G-Code will.
Dann müsste ich ja nie manuell die Höhe nachjustieren... Stimmt also leider nicht.
RF1000 hat geschrieben: Was (außer vielleicht der endgültigen Objekthöhe, die auch noch von anderen Faktoren beeinflusst werden kann) muss die Firmware noch besser machen, damit die breite Mehrheit der Nutzer damit noch bessere Ergebnisse erzielt?
Stichwort: Zuverlässigkeit. Dazu gehört, dass jeder mögliche Workflow funktioniert, dass jedes Verlassen irgendwelcher zulässigen Toleranzbereiche eine klare Fehlermeldung gibt, dass nicht in 1% der Fälle nach dem Homing das Bett plötzlich nach oben fährt, etc. Sorry, aber wenn du behauptest, die Firmware würde zuverlässig funktionieren, weißt du nicht was zuverlässig bedeutet. Sie tut es nicht. Was denkst du, warum ich ständig dabei bin, dir wieder irgendweche Bugs zu berichten? Die sind noch nicht alle gelöst offensichtlich!
mhier hat geschrieben: Es gibt sehr wohl korrektes und falsches Verhalten. Das oben Beschriebene ist klar falsch. Ihr wollte damit vermutlich verhindern, dass beim Einschalten der Z-Kompensation direkt nach dem Homen die Düse aufs Heizbett fährt. Das würde sich auch ganz einfach mit einem korrekten Verhalten lösen: Beim Einschalten der Z-Kompensation muss halt der aktuelle Z-Wert geändert werden, nicht die tatsächliche Position. Das würde dann auch gleich die Anzeige korrigieren, die zeigt nämlich immer erstmal trotzdem noch Z=0.
RF1000 hat geschrieben:Das verstehe ich nicht. Was ist der "aktuelle Z-Wert"? Wenn die Z-Kompensation eingeschalten wird und du auf G1 Z0.1 fährst willst du doch, dass der Abstand Heizbett <-> Düse exakt 0,1 mm ist, korrekt? Fährst du auf G1 Z0, dann willst du vermutlich nicht, dass der Extruder das Heizbett berührt, korrekt?
Erwartest du denn, dass der Extruder sich weiter vom Heizbett entfernt, wenn du nach "G1 Z0.1" dann "G1 Z0" ausführst? Das passiert nämlich aktuell! (Mit dem aktuellen Z-Wert meinte ich den Z-Wert, mit dem per G-Code die aktuelle Position exakt angefahren würde, wenn du es ganz genau wissen willst. Ist etwas schwierig zu beschreiben, weil der Wert so nicht in der Firmware existiert. Die aktuelle logische Z-Position sozusagen. Steht z.B. auch auf der Anzeige in der neuesten Firmware.)
mhier hat geschrieben: Es spielt übrigens fast keine Rolle, ob diese Spezialfälle im Regelbetrieb vorkommen oder nicht. Sie kommen spätestens dann vor, wenn man ein Problem findet und mal von Hand in der Gegend rumfährt, um zu sehen, was denn da passiert. Wenn dann vermehrt unlogisches Verhalten auftritt, weil jeder Spezialfall irgendwie nicht das tut, was man erwartet, hat man echt keine Chance.

Bitte nehmt euch das mal zu Herzen. Das muss ja nicht sofort passieren, einfach nur, dass auf Dauer die Sache mal in die richtige Richtung läuft.
RF1000 hat geschrieben:Nicht jedes Verhalten ist automatisch "unlogisch", nur weil sich das Gerät anders verhält als du es dir im ersten Moment erwartet hättest. In der Regel machen wir uns schon unsere Gedanken bevor wir uns für dieses oder jenes Verhalten entscheiden :-)
Sagen wir mal so: Wenn ein promovierter Physiker, der Steuerungssoftware für Teilchenbeschleuniger schreibt, es nicht versteht, ist es unlogisch. :-P
RF1000 hat geschrieben:Ich nehm' mir die Anmerkung mal zu Herzen und bevor wir das nächste große Update vorbereiten überlegen wir uns evtl. noch einmal zusammen, welches konkrete Verhalten denn besser umzusetzen wäre.
Danke! Vor allem würde ich eine schnellere Einsicht und Bereitschaft, etwas zu verbessern, begrüßen, wenn man mal so etwas gefunden hat. Sonst diskutiert man sich hier ja nen Wolf... ;-)
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)
reini
3D-Drucker
3D-Drucker
Beiträge: 79
Registriert: Sa 11. Jul 2015, 18:43
Wohnort: Falkenstein
Has thanked: 3 times
Been thanked: 8 times

Re: Neue Development Firmware (RF.01.31)

Beitrag von reini »

Hallo

Also ich muss mal ein Lob aussprechen. Habe also jetzt den HBS so durchgeführt wie ich es bis jetzt immer gemacht habe, was vorher gefühlte Stunden gedauert hat, ging jetzt in einem Zug über die Bühne! Alle Messpunkte wurden beim ersten Anfahren übernommen. Toll.
Hat die Firmware noch so tolle Sachen auf Lager.
Wie werden die einzelnen HBS abgespeichert? Mus ich da was drücken, oder Namen vergeben ? Oder geht das Automatisch, ich habe jetzt "Abtasten" einmal durchgeführt, jetzt will ich das nochmal mit meinen ABS Einstellungen machen, gehe ich nun wieder auf Abtasten und bei Erfolg ist das Automatisch die Nr2 ? Später beim Druck welchen GCode brauche ich um z.B. meinen ABS Scan wieder abzurufen?
Oder besser, gibt es eine Art Bedienungsanleitung für die Firmware.
Ich hätte das mit der Geschwindigkeit nicht gefunden.
Bin zwar nicht ganz glücklich mit den Einstellungen aber da gewöhne ich mich hald um. Einzelschritt fürs feine, Einzelfahrt für volle Leistung.
Bei den alten Versionen war das eben ein Kompromiss aus beiden. Est kleine Schritte und dann große.
Also besten Dank nochmal RF1000
reini
RF 1000, Firmware 1.45.00,
Antworten

Zurück zu „Firmware / Tweaks“