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!
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.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.
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?
Du hast doch gerade selbst ein paar Beispiele genannt!?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?
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!
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.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.
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.
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.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.
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!
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.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.
Nenn mir einen einzigen Grund, der dagegen spricht und der nicht dieser armselige Original-Z-Schalter ist.
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: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).
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: 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.
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: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.
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: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.
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)!
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.RF1000 hat geschrieben:Das Repository ist bisher eine Veröffentlichungsplattform und in der Form noch nicht ideal für die Cross-Plattform Entwicklung geeignet.
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?