Gruß, zero K
Wägezellen/DMS Unterstützung verbessern
-
- Prof. Dr. des 3D-Drucks
- Beiträge: 1672
- Registriert: Fr 11. Sep 2015, 11:37
- Has thanked: 279 times
- Been thanked: 247 times
Re: Wägezellen/DMS Unterstützung verbessern
Stimmt. Knackpunkt war, die Genauigkeit des Ergebnisses ist deutlich höher als die Schrittweite des Scans, sehr wohl aber begrenzt durch etwagige Ungenauigkeiten der Positionierungen (wenn's blöd läuft auch schlechter als die Schrittungenauigkeit selbst).rf1k_mjh11 hat geschrieben:AtlonXPs Ausflug in die Schrittmotor- bzw. Treiberthematik hat nur sehr indirekt mit deinem Problem zu tun.
Genaugenommen ist das das Grundprinzip einer Wägezelle. Diese wird (in unserem Fall parallelogrammartig) deformiert, je stärker die Kraft ist, desto stärker die Deformation. Die Deformation wird dann über Dehnungsmessstreifen gemessen. Wir messen also strenggenommen gar keine Kraft, sondern wie weit sich die Wägezelle bewegt hat.Falls ich deinem Gedankengang folgen kann, versuchst du eine Kraft (die auf die DMS wirkt) einer Länge gleichzusetzen.
Das ist jetzt Einheits-Spielerei. Eine Schrittzahl ist nichts anderes als eine Längeneinheit. Am Ende wird die Z-Kompensation von einem existierenden Bed Mesh Modul vorgenommen, und das erwartet nun mal Millimeter als Einheit.Irgendwann später wirst du diese Länge wieder in Schritte umwandeln müssen (zur Z-Kompensation).
Deine Methode ist im Prinzip das, was wir aktuell machen (also in dem entscheidenden Punkt)Nach dieser Methode spare ich mir ein Kalibrieren der DMS.
Der springende Punkt ist: Wie findet ein Nutzer eines neuen Druckers heraus, bei welchem Schwellwert ein Kontakt angenommen werden soll, und welche Schrittweite beim schnellen Annähern und später beim Fit benutzt werden soll. Nimmt man da unpassende Werte, ist entweder die Genaugikeit dahin oder womöglich gar der Drucker. Unter einer Kraft (als Gewicht ausgedrückt) kann eigentlich jeder sich was vorstellen. Wenn man einen recht instabilen Drucker hat, kann man dem vielleicht 1000g Kraft zumuten, da geht noch lange nichts kaputt. Bei unserem gehen auch 5000g oder mehr. Drück man das ganze im Millimetern oder gar Steps Bewegung aus, wird es schwierig. Ist es ok 0.1mm "ins Bett" hinein zu fahren? Oder darf ich nur 0.02mm weit fahren? Oder muss ich vielleicht weiter fahren, um überhaupt ein Signal zu bekommen? Das ist sehr schwer intiutiv zu beantworten.
Stimmt im Prinzip, wobei man nicht vergessen sollte, dass wir hier von der Person sprechen, die das System für ein neues Druckermodell einrichtet. Diese Person hat vermutlich vorher den Drucker umgebaut, so dass er überhaupt Wägezellen hat. Derjenige kann leicht im Datenblatt nachsehen, wie viel die Wägezellen ab können. Die andere Einschätzung in mm oder gar Schritten ist auch für den deutlich schwieriger zu treffen.Der User muss nicht wissen, was die Maximalkraft der DMS ist. Er/sie muss nicht wissen, wo der optimale Platz zwecks der Vermeidung des Durchfederns ist, usw.
Nee, mit der Unebenheit hat das gar nichts zu tun.Die dabei erhaltene Distanz (=Unebenheitswert)
Wieso ist das eigentlich so aufwändig? Man legt doch nur ein beliebiges Gewicht auf die DMS, oder klebt von mir aus das Gewicht mit Tesafilm an das Hotend. Anschließend legt man das gleiche Gewicht (ggf. mit dem benutzten Tesafilm, wenn man's ganz genau nehmen will) auf die Küchenwaage und fertig.die DMS aufwändig zu kalibrieren.
Das stünde übrigens weiterhin frei, dann wäre der Kalibrationsfaktor einfach 1/65536 bei 16 bit ADCs (wegen Normierung auf 1).Oder darauf großteils oder völlig zu verzichten.
Für den End-Nutzer ändert sich ohnehin nichts, außer dass er in eienm Fall irgendwelche arbiträren Einheiten angezeigt bekommt (so er sich die Messung auf dem Display anzeigen lässt), im andern Fall eine physikalische bedeutsame Zahl.Damit ändert sich für den User aber nichts.
Ich glaube es gibt ein Missverständnis. Diese einmalig bestimmte Federkonstante würde nicht dafür benutzt werden, um bei der Abtastung die Kraft in die Distanz umzurechnen. Das passiert weiterhin mittels linearer Regression. Dabei fällt quasi als Nebenprodukt ebenfalls die (lokal effektive) Federkonstante ab, nämlich in Form der Steigung der gefitteten Geraden. Diese kann bei jedem Messpunkt unterschiedlich sein eben genau wegen der beschriebenen Effekte. Daher wird sie aber gar nicht benutzt, denn wir interessieren uns nur für den Nulldurchgang (Position bei der die Kraft gerade 0 wird). An diesem Teil möchte ich gar nichts ändern. Das funktioniert aktuell bereits prima und wird so bleiben.Nehmen wir einen Extremfall:
[...]
* Nach dem Abtasten wird eine Matrix erstellt (die schief/schräg im Raum steht).
* Die Z-Kompensation wird vermutlich nicht optimal funktionieren.
Ja soll ich das jetzt wieder künstlich schlechter machen? Wir sind ja bereits auf einige wenige Mikrometer genau...Wie gesagt:Wenn ein User unbedingt die letzten 1/1000-stel Millimeter herausholen will, kann er/sie gerne die Firmware nach Herzenslust modden.zero k hat geschrieben:Das Ding so einfach wie möglich halten - ....
Allerdings setzt das System eine gewisse Steifigkeit der Hardware voraus. Da im Original kein Fit durchgeführt wird, sondern nur am Ende ein Schwellwert (mit einigen Tricks, so dass dieser recht niedrig sein kann) benutzt wird, bleibt immer ein gewisser Offset zum wahren Berührungspunkt übrig, denn der Schwellwert entspricht ja einer Kraft. Über die Federkonstante kann die Kraft nun in eine Distanz umgerechnet werden, das ist dann am Ende der Fehler des Ergebnisses. Da die Schwelle recht klein ist und unser Drucker recht stabil, funktioniert das ganz gut, denn der Offset ist ebenfalls klein und vor allem konstant. Bei einem einseitig aufgehängten Heizbett wird man am Ende einen variablen Offset bekommen, ganz wie du es oben beschrieben hast. Meine Methode hat dieses Problem nicht, denn ich berechne den Punkt, bei dem die Kraft gerade 0 ist.Übrigens:Das kommt daher, weil sich jemand (der große "C") um die Hardware gekümmert hat (DMS samt zugehöriger Schaltung) sowie die Firmware dafür erstellt hat (vermutlich unser vermisstes Forumsmitglied RF1000, selbst). Da schon beides vorhanden war/ist, wird das Ganze für uns als User praktisch Plug&Play.zero k hat geschrieben:Im Grunde finde ich das System von Conrad nicht schlecht - es ist einfach und wirkungsvoll.
Praktisch alle bezahlbaren Stepper sind unterhalb von 8 Microsteps oder so nicht mehr linear, d.h. egal ob 16 oder 128 Microsteps, die Genauigkeit wird nicht besser. Bei unseren sieht man das eben schon früher Aber das nur am Rande.AtlonXP hat geschrieben:Der Deltadrucker wird wohl unter 32 Mikrostepps nicht sauber arbeiten können.
Ja eben doch. Schau mal bitte dieses Bild an:Auf was ich genau hinaus wollte, ich glaube ohne eine feine Mikrostepp Unterteilung wird auch das Messen nicht funzen.
https://github.com/RF1000community/klip ... rement.svg
Die horizontale Achse ist die Z-Position relativ zum Endschalter. Die vertikale Achse die gemessene Kraft in Digits. Die Kreuze sind die Messungen. Die rote Linie ist der linear Fit. Der Schnittpunkt der roten Linie mit force = 0 Digits (dargestellt durch die gestrichelten Linien) ist die gesuchte Position. Die Genauigkeit ist viel höher als der Abstand der Messungen.
Das ist das, was im Conrad-Original eben noch nicht drin ist. Ich hatte das Verfahren entwickelt (schon in der Repetier-Community-Version), um Kantentasten in X/Y zu realisieren. Bei Klipper habe ich das von Anfang an für alle Richtungen so umgesetzt, um nicht zwei Algorithmen zu haben. Es schadet ja jetzt auch nichts, wenn unsere Z-Messung auf ein paar Mikrometer genau absolut stimmt, oder?
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)
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)
- AtlonXP
- 3D-Drucker Erfinder
- Beiträge: 3447
- Registriert: So 15. Nov 2015, 20:55
- Has thanked: 758 times
- Been thanked: 596 times
Re: Wägezellen/DMS Unterstützung verbessern
Danke mhier, an Hand deines Diagrammes verstehe ich deine Argumentation.
Du tust quasi einzelne Schrittabweichungen Mathematisch nachrechen / korrigieren.
Dein fit soll den mechanischen Idealzustand darstellen.
Man kann und sollte davon ausgehen können, dass bei kleinen Digits also annähernd null Kraft
und geringfügig darüber, der Fit linear verlaufen muss.
Bei größeren Kräften, würde dieser wohl in eine Parabel enden, wegen dem Durchbiegen der DMS.
Das was da vom fit abweicht, sind also ungleichmäßige Mikrostepps.
So weit so gut und in Ordnung.
Ich hoffe du gehst da jetzt so mit.
Und nun zu mir:
Du musst schon auf die Mikrostepps gehen.
Auch wenn hier im Mikrometer Maß der eine oder andere Teilstrich daneben liegt.
In deinem Diagramm arbeitest du im Hundertstell Bereich.
Somit muss das Übersetzungsverhältnis, inklusive die Anzahl der Mikrostepps, in dem Hundertstell Bereich auflösen können.
Ich glaube in den Kommentaren hier von einem Einzelnen einen Denkfehler gesehen zu haben.
Die Vollstepps am Motor sind mechanisch gegeben, durch die fixe Unterteilung 1/200 vom Rotor.
Es ist nicht möglich einen Vollstepp um einen ½ Vollstepp zu verdrehen.
Der halbe Stepp kann nur durch eine Magnetische schwebe, zwischen zwei Vollstepps emuliert sein.
LG AtlonXP
Du tust quasi einzelne Schrittabweichungen Mathematisch nachrechen / korrigieren.
Dein fit soll den mechanischen Idealzustand darstellen.
Man kann und sollte davon ausgehen können, dass bei kleinen Digits also annähernd null Kraft
und geringfügig darüber, der Fit linear verlaufen muss.
Bei größeren Kräften, würde dieser wohl in eine Parabel enden, wegen dem Durchbiegen der DMS.
Das was da vom fit abweicht, sind also ungleichmäßige Mikrostepps.
So weit so gut und in Ordnung.
Ich hoffe du gehst da jetzt so mit.
Und nun zu mir:
Du musst schon auf die Mikrostepps gehen.
Auch wenn hier im Mikrometer Maß der eine oder andere Teilstrich daneben liegt.
In deinem Diagramm arbeitest du im Hundertstell Bereich.
Somit muss das Übersetzungsverhältnis, inklusive die Anzahl der Mikrostepps, in dem Hundertstell Bereich auflösen können.
Ich glaube in den Kommentaren hier von einem Einzelnen einen Denkfehler gesehen zu haben.
Die Vollstepps am Motor sind mechanisch gegeben, durch die fixe Unterteilung 1/200 vom Rotor.
Es ist nicht möglich einen Vollstepp um einen ½ Vollstepp zu verdrehen.
Der halbe Stepp kann nur durch eine Magnetische schwebe, zwischen zwei Vollstepps emuliert sein.
LG AtlonXP
Zuletzt geändert von AtlonXP am Mo 25. Apr 2022, 17:32, insgesamt 1-mal geändert.
-
- Donator
- Beiträge: 1128
- Registriert: Mi 6. Dez 2017, 13:17
- Has thanked: 46 times
- Been thanked: 239 times
Re: Wägezellen/DMS Unterstützung verbessern
Guten Abend Martin
Also, du fährst in sicherer Höhe - so etwa 0,3mm über Z = 0, eine Koordinate an,
setzt das aktuelle DMS Signal auf Null,
lässt (relativ vorsichtig - Mikrostep für Mikrostep zählend) die Düse auf das Bett auftitschen, aber nur so doll, dass die Widerstandsbrücke sicher verstimmt ist, also ein von Null abweichendes Signal abgibt,
wartest vielleicht eine Sekunde oder zwei, dass sich das Signal stabilisiert,
hebst dann gaaaanz langsam, dass unser Kippelbett bei Y-Min und Y-max nicht überschwingend zurückfedert, wieder mitzählend, wieder hoch,
so hoch dass die DMS wieder 0 mV/V entsprechende Digits anzeigen.
Die Abweichung minus die "Sichere Höhe" über dem Bett ist dann ein Punkt des Bettprofils?!
Cool, damit wird das Profil des unbelasteten Betts gemessen.
Ich glaube auch dafür brauchst Du keine Maschinensteifigkeit.
Die Spannung der wieder gestimmten Brücke bzw der entsprechende ADC-wert und die gezählten Mikroschritte sollten reichen.
Denn Endschalter fasst man doch eigentlich nur bei der ersten Ausrichtung an
Vermutlich habe ich jetzt wieder nur an die erst 0,5 % des Problems gedacht.
Gruß zero K
Also, du fährst in sicherer Höhe - so etwa 0,3mm über Z = 0, eine Koordinate an,
setzt das aktuelle DMS Signal auf Null,
lässt (relativ vorsichtig - Mikrostep für Mikrostep zählend) die Düse auf das Bett auftitschen, aber nur so doll, dass die Widerstandsbrücke sicher verstimmt ist, also ein von Null abweichendes Signal abgibt,
wartest vielleicht eine Sekunde oder zwei, dass sich das Signal stabilisiert,
hebst dann gaaaanz langsam, dass unser Kippelbett bei Y-Min und Y-max nicht überschwingend zurückfedert, wieder mitzählend, wieder hoch,
so hoch dass die DMS wieder 0 mV/V entsprechende Digits anzeigen.
Die Abweichung minus die "Sichere Höhe" über dem Bett ist dann ein Punkt des Bettprofils?!
Cool, damit wird das Profil des unbelasteten Betts gemessen.
Ich glaube auch dafür brauchst Du keine Maschinensteifigkeit.
Die Spannung der wieder gestimmten Brücke bzw der entsprechende ADC-wert und die gezählten Mikroschritte sollten reichen.
Denn Endschalter fasst man doch eigentlich nur bei der ersten Ausrichtung an
Vermutlich habe ich jetzt wieder nur an die erst 0,5 % des Problems gedacht.
Gruß zero K
- AtlonXP
- 3D-Drucker Erfinder
- Beiträge: 3447
- Registriert: So 15. Nov 2015, 20:55
- Has thanked: 758 times
- Been thanked: 596 times
Warum ist bei der RFX000 Klasse der Z- Regelbereich hinter Null, also im Minusbereich?
Zero K, hat mit seinem Z- Endschalter mir da ein Problem aufgezeigt!
Normaler weise sollte es so sein, dass wenn man den Homing Z- Endschalter anfährt,
der tatsächliche Maschinen Nullpunkt gesetzt wird. (Entspricht der Maschinen Norm).
Bei manchen China Krachern ist es leider nicht möglich,
mit dem hoch fahrenden Druckbett an dem Hot End vorbei zu kommen.
Der Drucktisch wird in Marlin genau auf Z=0 mit Handschauben hoch gestellt.
Eine Kollision ist somit so gut wie ausgeschlossen.
So nun meine Überlegung:
Was passiert, wenn ich auf dieses Druckbett noch irgendetwas draufpacke als zusätzliche Druckplatte.
Da nun das Druckbett höher ist wird es zu einer Kollision kommen.
@Martin, ich denke du kennst das Problem und fährst darum deinen Z- Max. Endschalter an.
Du hast deinen max. Wert genau definiert und somit weiß der Drucker wo er stehen sollte!
Jetzt kannst du ihm bei Z- min. einen Freiraum definieren und es kommt zu keiner Kollision.
Richtig?
Jetzt kommt aber der Pferdefuß bei dieser Geschichte:
Da deine Maschinen Referenzvorgabe sich über die gesamte Spindelläng bezieht,
kommt es leider zu unterschiedlichen Fehlerquellen.
Zum einen ist es die Toleranz der gesamten Spindelsteigung über die Gesamtlänge der Spindel.
Als nächstes macht sich die Wärmeausdehnung über die gesamte Spindellänge bemerkbar.
Einfach weil der Homing Z- Endschalter am falschen Ende der Spindel ist und dort ab nullt!
Der Konstrukteur unserer RFX000 Klasse hat hier weiter gedacht.
So funzt es bei mir mit meiner Lichtschranke:
Meine Fahne der Z- Lichtschranke kann ohne Kollision bis zu 10 mm durch die Gabel fahren.
Wenn ich Homing mache, wird bei der Fahnenspitze abgenullt.
Der Drucker weiß wo er steht.
Somit bestehen noch etwa 10 mm Freiraum, das ist der Fahrweg in den Minusbereich.
Ich kann damit bis zu knapp 10 mm Aufmaß oben drauf noch packen, ohne dass es zu einer Kollision kommt.
Anschließend den HBS oder Z- Offset Scan nicht vergessen!
Natürlich dauert der erste Messpunkt bei einem HBS wesentlich länger,
da der Drucker erst die 10 mm Suchlauf herunter tackert.
Ich hoffe, dass ich das verständlich rüber bringen konnte.
LG AtlonXP
Normaler weise sollte es so sein, dass wenn man den Homing Z- Endschalter anfährt,
der tatsächliche Maschinen Nullpunkt gesetzt wird. (Entspricht der Maschinen Norm).
Bei manchen China Krachern ist es leider nicht möglich,
mit dem hoch fahrenden Druckbett an dem Hot End vorbei zu kommen.
Der Drucktisch wird in Marlin genau auf Z=0 mit Handschauben hoch gestellt.
Eine Kollision ist somit so gut wie ausgeschlossen.
So nun meine Überlegung:
Was passiert, wenn ich auf dieses Druckbett noch irgendetwas draufpacke als zusätzliche Druckplatte.
Da nun das Druckbett höher ist wird es zu einer Kollision kommen.
@Martin, ich denke du kennst das Problem und fährst darum deinen Z- Max. Endschalter an.
Du hast deinen max. Wert genau definiert und somit weiß der Drucker wo er stehen sollte!
Jetzt kannst du ihm bei Z- min. einen Freiraum definieren und es kommt zu keiner Kollision.
Richtig?
Jetzt kommt aber der Pferdefuß bei dieser Geschichte:
Da deine Maschinen Referenzvorgabe sich über die gesamte Spindelläng bezieht,
kommt es leider zu unterschiedlichen Fehlerquellen.
Zum einen ist es die Toleranz der gesamten Spindelsteigung über die Gesamtlänge der Spindel.
Als nächstes macht sich die Wärmeausdehnung über die gesamte Spindellänge bemerkbar.
Einfach weil der Homing Z- Endschalter am falschen Ende der Spindel ist und dort ab nullt!
Der Konstrukteur unserer RFX000 Klasse hat hier weiter gedacht.
So funzt es bei mir mit meiner Lichtschranke:
Meine Fahne der Z- Lichtschranke kann ohne Kollision bis zu 10 mm durch die Gabel fahren.
Wenn ich Homing mache, wird bei der Fahnenspitze abgenullt.
Der Drucker weiß wo er steht.
Somit bestehen noch etwa 10 mm Freiraum, das ist der Fahrweg in den Minusbereich.
Ich kann damit bis zu knapp 10 mm Aufmaß oben drauf noch packen, ohne dass es zu einer Kollision kommt.
Anschließend den HBS oder Z- Offset Scan nicht vergessen!
Natürlich dauert der erste Messpunkt bei einem HBS wesentlich länger,
da der Drucker erst die 10 mm Suchlauf herunter tackert.
Ich hoffe, dass ich das verständlich rüber bringen konnte.
LG AtlonXP
-
- Prof. Dr. des 3D-Drucks
- Beiträge: 1672
- Registriert: Fr 11. Sep 2015, 11:37
- Has thanked: 279 times
- Been thanked: 247 times
Re: Wägezellen/DMS Unterstützung verbessern
Tatsächlich bleibt das sehr lang ziemlich perfekt linear. Die geometrischen Effekte, auf die du anspielst, sind weitestgehend vernachlässigbar. Ich denke, vorher würde es andere Effekte geben wie unelastische Deformationen - dann sind die DMS oder ein anderes Bauteil aber anschließend hin. In der Praxis habe ich gelegentlich Effekte gesehen, bei denen ab einem gewissen Punkt die Steigung einen Knick macht, danach aber wieder linear bleibt. Das passiert bei meinem Heizbett, da ich eine Dauerdruckplatte aufliegen habe, die natürlich nicht perfekt flächig auf der Keramikkachel aufliegt. Wenn dann der Luftspalt weggedrückt ist, wird das System natürlich steifer. Abgesehen davon konnte ich bis 1000 oder 2000 Digits keine Nichtlinearitäten feststellen - weiter bin ich meiner Erinnerung nach lieber nicht gegangen...AtlonXP hat geschrieben:Man kann und sollte davon ausgehen können, dass bei kleinen Digits also annähernd null Kraft
und geringfügig darüber, der Fit linear verlaufen muss.
Bei größeren Kräften, würde dieser wohl in eine Parabel enden, wegen dem Durchbiegen der DMS.
Naja, so weit würde ich mich nicht mal aus dem Fenster lehnen wollen im Moment. Es gibt schließlich auch andere Beiträge wie z.B. ADC-Rauschen, mechanische Verspannungen etc. Tatsächlich könnte man aber mal versuchen, die selbe Messung an exakt den selben Positionen mehrfach aufzunehmen, um zu sehen, ob das reproduzierbar ist. Vielleicht noch mit kleineren Schritten, um zu sehen, ob das eine glatte Kurve ergibt oder eher ein Rauschen. Damit ließe sich das dann unterscheiden. Allerdings möchte ich mal an dieses Video erinnern, das ich vor einiger Zeit mal hier im Forum gepostet habe: https://www.youtube.com/watch?v=Pls0pCBMpT4 Das zeigt doch recht deutlich, in welchen Bereich man sich hier lieber nicht begeben möchte.Das was da vom fit abweicht, sind also ungleichmäßige Mikrostepps.
Das Diagramm wurde mit dem RF1000 erstellt. Da haben wir Vollschritte von 0.0125mm. Im Diagramm haben wir demnach ungefähr Halbschritte. Ich bin mir ziemlich sicher, dass die Genauigkeit auch mit Vollschritten immer noch völlig ausreichen würde.In deinem Diagramm arbeitest du im Hundertstell Bereich.
Welche Schrittweite bei anderen Hardware-Konstellationen zu welcher Genauigkeit führt, ist so für mich erstmal schwer abzuschätzen. Es ist aber klar, dass es sowohl eine zu große Schrittweite als auch eine zu kleine Schrittweite gibt. Für einen guten Fit brauchen wir um die 5 Messwerte. Der letzte Messwert sollte noch im linearen Bereich, d.h. vor eventuellen Knicks in der Kurve (siehe oben) liegen. Das begrenzt die Schrittweite nach oben, wobei das keine klare Grenze ist. Umgekehrt müssen wir im linearen Bereich des Stepper-Motors bleiben, was die Schrittweite nach unten begrenzt. Das Ganze soll idealerweise ohne Detailwissen über die Stepper etc. "out of the box" funktionieren, daher würde ich durchaus unsere recht schlechten Stepper hier zum Maß nehmen. Des Weiteren gibt es noch die zweite untere Grenze, dass der Kraft-Messwert zwischen zwei benachbarten Messungen sich statistisch signifikant unterscheiden soll. Ich würde dann also einfach den größeren der beiden unteren Grenzwerte als Schrittweite verwenden.
---
Nein. Du beschreibst ganz grob das Verfahren der Conrad-Firmware. Meines funktioniert anders. Ich habe das hier schon mal in Detail aufgeschrieben:zero K hat geschrieben:Also, du fährst in sicherer Höhe[...]
https://github.com/RF1000community/klip ... -algorithm
Nein, bei "deinem" Verfahren muss es einen Schwellwert geben, unter dem man beim wieder hochfahren den Messwert wieder als "0" interpretiert. Dieser Schwellwert ist zwar klein, aber nicht 0. Er entspricht also einer endlichen Kraft. Daraus resultiert eben genau jener quasi-statische Offset, von dem ich in meinem letzten Post schrieb. Die Conrad-Firmware ist nicht 100% offset frei!Cool, damit wird das Profil des unbelasteten Betts gemessen.
Nein, ich brauche hierfür nicht wirklich die "Federkonstante", es sei denn, ich möchte eben jenen verbleibenden Offset korrigieren. Genau das mache ich mit meinem Fit.Ich glaube auch dafür brauchst Du keine Maschinensteifigkeit.
Mit dem Endschalter hat all das gar nichts zu tun, ich versteh gerade nicht, warum du den jetzt ins Spiel bringst?
---
Bei Klipper stimmt das so schon nicht. Da wird durch das Äquivalent zum Z-Offset-Scan gemessen, bei welcher realen Z-Koordinate sich der Endschalter befindet und das dann abgespeichert. Z=0 ist demnach immer genau auf dem Heizbett. (Ja das stimmt natürlich nur, wenn man sich einen festen Punkt aussucht in X/Y auf dem Bett, bei dem man diese Messung durchführt, wegen der Bettunebenheit...)AtlonXP hat geschrieben:Normaler weise sollte es so sein, dass wenn man den Homing Z- Endschalter anfährt,
der tatsächliche Maschinen Nullpunkt gesetzt wird. (Entspricht der Maschinen Norm).
Wer einem China-Kracher DMS verpassen kann, der kann auch einen anderen Z-Schalter verbauen.Bei manchen China Krachern ist es leider nicht möglich,
Logisch. Das ist ein fundamentales Problem. Das kann natürlich auch wieder wegkalibriert werden - der Z-Schalter befindet sich dann halt bei einer anderen Z-Koordinate, je nachdem ob die Dauerdruckplatte drauf ist oder nicht - aber man muss natürlich aufpassen, die richtige Kalibration zu verwenden.Da nun das Druckbett höher ist wird es zu einer Kollision kommen.
Das ist eigentlich nicht der Grund. Ich hatte mit einem Hall-Sensor als Z-Schalter experimentiert, was nicht gut funktioniert hat, und ich wollte aber nicht wieder zu der alten (ohnehin dauer-provisorischen) Lösung zurück. Seitdem benutze ich mehr aus Faulheit Z-Max. Funktioniert so gut, dass ich wohl vorerst dabei bleiben werde.@Martin, ich denke du kennst das Problem und fährst darum deinen Z- Max. Endschalter an.
Das ändert an dieser Problematik rein gar nichts, denn weiterhin ändert sich der Abstand zwischen Bettoberfläche und Z-Schalter. Ob der Z-Schalter bei Z=1mm oder Z=180mm ist, ist ja egal.Du hast deinen max. Wert genau definiert und somit weiß der Drucker wo er stehen sollte!
Jetzt wird's doch arg off-topic. Ich will darauf jetzt nicht im Detail eingehen, es sei nur gesagt, dass die Lösung für mich so extrem gut funktioniert. Die von dir beschriebenen Fehlerquellen sind also wohl in der Realität vernachlässigbar.Jetzt kommt aber der Pferdefuß bei dieser Geschichte:
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)
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)
- AtlonXP
- 3D-Drucker Erfinder
- Beiträge: 3447
- Registriert: So 15. Nov 2015, 20:55
- Has thanked: 758 times
- Been thanked: 596 times
Re: Wägezellen/DMS Unterstützung verbessern
Hm…mhier hat geschrieben:Jetzt wird's doch arg off-topic. Ich will darauf jetzt nicht im Detail eingehen, es sei nur gesagt, dass die Lösung für mich so extrem gut funktioniert. Die von dir beschriebenen Fehlerquellen sind also wohl in der Realität vernachlässigbar.Jetzt kommt aber der Pferdefuß bei dieser Geschichte:
Bitte korrigiert mich einer, falls ich hier einen Mist gerechnet habe…
Eigentlich wollte ich diese Rechnerei mir ersparen.
Ich gehe hier nur von der Längenänderung der Spindel aus.
Das ALU Gehäuse sage ich mal: Das kürzt sich einfach aus der Rechnung raus.
Längenausdehnungskoeffizienten α bei Stahl (bis 0,5 %C) = 11,0 (von 0 bis 100 C°) in 10 hoch -6 K-1
Z Spindel Gesamtlänge Stahl 300 mm.
Delta T=50 C° - 20 C° = 30 C°
11,0 * (10hoch-6) * 300 mm * 30 C°= 0,099 mm
Das scheint ein volles Zehntel zu sein, bei einer Bauraum Temperaturänderung von nur 30 C°!
Mein TronXY,
Längenausdehnungskoeffizienten α bei Edelstahl = 17,0 (von 0 bis 100 C°) in 10 hoch -6 K-1
Z Spindel Gesamtlänge Edelstahl knapp 700 mm.
…
Ausrechnung schenke ich mir! Ca. 0,4 mm Längenausdehnung!
https://de.wikipedia.org/wiki/Ausdehnungskoeffizient
LG AtlonXP
-
- Prof. Dr. des 3D-Drucks
- Beiträge: 1672
- Registriert: Fr 11. Sep 2015, 11:37
- Has thanked: 279 times
- Been thanked: 247 times
Re: Wägezellen/DMS Unterstützung verbessern
Wie gesagt, das Thema ist komplett off-topic, denn für Klipper ist es egal, wo genau der Endschalter sitzt. Wichtig ist nur, dass man noch die Bett-Oberfläche erreichen kann.AtlonXP hat geschrieben:Das scheint ein volles Zehntel zu sein, bei einer Bauraum Temperaturänderung von nur 30 C°!
In der Praxis habe ich keine Temperaturänderungen von 30 Grad an der Spindel, denn ich home ja immer bei ungefär gleicher Temperatur (nämlich Raumtemperatur). Meine Beobachtung ist ja auch, dass im Ergebnis der erste Layer bei mir aktuell so exakt reproduzierbar passt, wie noch nie zuvor. Grau, treuer Freund, ist alle Theorie Du hast aber natürlich mit deiner Anmerkung insofern recht, als dass andere vielleicht einen anderen Workflow haben als ich. Wer ein Teil nach dem anderen mit hoher Bett-Temperatur druckt, wird da vielleicht Schwierigkeiten bekommen.
Ich möchte aber doch darum bitten, zum eigentlichen Thema zurückzukommen:
Es geht hier primär darum, die existierende Klipper-Implementierung so zu vereinfachen, dass sie leichter auf anderen Druckern zum Laufen gebracht werden kann. Das sind vor allem folgende Punkte:
- Einfachere Konfiguration (Benutzung von physikalischen Kräften statt Digits; möglichst viele Parameter aus möglichst wenigen ableiten)
- Entfernen der Mittelwert-Bildung von ADC-Messungen.
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)
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)