Wägezellen/DMS Unterstützung verbessern

Benutzeravatar
AtlonXP
3D-Drucker Erfinder
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

Beitrag von AtlonXP »

mhier hat geschrieben:
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.
Wenn du so fragst, hier meine Standard Antwort die ich schon zu unserer Community FW abgegeben hatte:

Über das Display nur das nötigste.
Vermutlich reichen auch nur Digits.
Über den G.- Code die absolute User Kontrolle.
Nibbels hatte dann später noch Wege gefunden, wichtige Parameter auch über das Druckermenü und die Drucker Tasten zu ändern.

Martin, ich gehe davon aus, dass du auch zumindest eine Ahnung über Marlin und den Umgang damit hast.
Wenn du Sicherheit auch auf solchen Druckern erreich möchtest,
dann sind meine Ausschweifungen genau richtig dazu.

Die wichtigste Frage ist:
Wie willst du einen Marlin Drucker sicher betreiben können, wenn:
A: Der Homing Endschalter bei Z min. homt.
B: Wenn das Hot End während des homen nicht am Druckbett vorbei fahren kann.
C: Wenn man das Druckbett mit der Düsenspitze vermessen möchte?

Tut mir leid, aber in dieser Konfiguration wirst du sicher kein Mesch erzeugen können.
Das geht dann nur mit einem BL Touch, oder irgendeinem Entfernungssensor.

Ich sehe hier nur den einen sicheren Weg wie es unsere RFX000 Klasse aus der Firmware heraus schon macht.

Der Z- Endschalter muss überfahrbar in den Minusbereich sein.
Der spricht vor der Bettberührung schon an!

Somit weiß der Drucker, ohne Kollision, bei dem Homen wo er steht.
Daraus resultier, dass man anschließend einen Sicherheitsabstand wie bei mir (10 mm), für variable Betthöhen genau definieren und auch messen kann.
Dieser Sicherheitsbereich, oder auch Messbereich, ist als überfahrbarer Minusbereich deklariert.

Die zweite nicht so gute Möglichkeit wär hier über deinen Z. - max. Endschalter.
Diese Lösung finde ich jedoch bullshit!
Meine Berechnungen belegen das!

Martin, ich meine es doch nur gut…
Schieß dir das mal durch den Kopf. :coolbubble:

LG AtlonXP
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: 247 times

Re: Wägezellen/DMS Unterstützung verbessern

Beitrag von mhier »

AtlonXP hat geschrieben: Über das Display nur das nötigste.
Klipper funktioniert hier etwas anders als Repetier (oder Marlin). Das Menü ist letzlich leicht vom Nutzer anpassbar. Wer also eine bestimmte Einstellung öfter mal ändern muss, kann sie sich bei Bedarf ins Menü legen. Ich würde von den Wägezellen-Einstellungen in der Standard-Konfiguration keine einzige ins Menü packen, denn diese Konfiguration ist eigentlich nur abhängig vom Drucker-Modell. D.h. alle relevanten Einstellungen befinden sich in der Konfigurations-Datei für das Drucker-Modell (das ist ebenfalls leicht editierbar vom Nutzer bei Bedarf). Die Repetier-Problematik, dass man sich gleich eine eigene Firmware compilieren muss, nur weil man eine Kleinigkeit anders Einstellen möchte als im Original vorgesehen, gibt es bei Klipper nicht. Deshalb ist hier erst recht Minimalismus angesagt (also genau wie du vorschlägst).
Vermutlich reichen auch nur Digits.
Also die Anzeige der aktuell gemessenen Kraft sollte m.M.n. schon aufs Display. Nur halt dann nicht mehr in Digits, sondern z.B. in Gramm.
Martin, ich gehe davon aus, dass du auch zumindest eine Ahnung über Marlin und den Umgang damit hast.
Nein, ich kenne Marlin im Grunde nur dem Namen nach ;-) Hier geht es aber ohnehin um Klipper.

Tut mir leid, aber in dieser Konfiguration wirst du sicher kein Mesch erzeugen können.
Ich verstehe jetzt nicht ganz, was das mit Marlin zu tun hat. Du sprichst von einer Hardware-Konfiguration, Marlin ist aber Firmware.

Egal.

Du hast natürlich recht, dass eine derartige Hardware-Konfiguration nicht kompatibel mit Wägezellen ist. Du beschreibst vermutlich eine sehr typische Drucker-Konfiguration. Wer diesen auf Wägezellen umrüsten will, muss sich einige Gedanken über die Umsetzung machen: Wo bringt man welche Art von Wägezellen unter, wie bindet man sie elektronisch ein, und eben auch wie muss man seinen Z-Schalter modifizieren. Das alles hat mit Firmware aber schlicht gar nichts zu tun.

Ich sehe hier nur den einen sicheren Weg wie es unsere RFX000 Klasse aus der Firmware heraus schon macht.
Der Z- Endschalter muss überfahrbar in den Minusbereich sein. Der spricht vor der Bettberührung schon an!
Sorry, ich glaube da bist du etwas betriebsblind jetzt ;-) Ich stelle nicht in Frage, dass dies eine sehr gute Umsetzung ist. Das ist beileibe aber nicht die einzige. Ich will da jetzt nicht im Detail drauf eingehen, weil wie gesagt kompett off-topic, aber am Ende ist es egal, wo sich der Index-Schalter befindet, solange die von dir vorher beschriebene Wärmeausdehnung der Spindeln keine Rolle spielt. Er kann sogar im negativen sein (wenn Z=0 die Bettoberfläche ist), sofern es eine sichere XY-Position zum homen gibt (und man diese der Firmware beibringt - Klipper kann das bereits).

Die zweite nicht so gute Möglichkeit wär hier über deinen Z. - max. Endschalter.
Ich mache mal einen neuen Thread zu dem Thema auf (-> viewtopic.php?f=25&t=3244). Das passt hier wirklich nicht rein.
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: 247 times

Re: Wägezellen/DMS Unterstützung verbessern

Beitrag von mhier »

Achja eine Frage ist untergegangen bei mir, weil ich den Titel nicht gelesen hab ;-)
Warum ist bei der RFX000 Klasse der Z- Regelbereich hinter Null, also im Minusbereich?
Das ist reine Konvention. Ob ich mir die Position des Z-Schalters bei Z=0 definiere, oder ob ich mir einen Punkt auf dem Heizbett suche und definiere, dort ist Z=0, oder ob ich eine ganz andere Definition wähle, ist am Ende egal. Das Einzige, worauf es am Ende ankommt, ist, dass in G-Code-Koordinaten Z=0 jederzeit die Bett-Oberfläche ist - was im Allgemeinen bedeutet, dass dies bei jeder XY-Koordinate anders ist. Wie ich meine Maschinenkoordinaten definiere, hat ja damit nichts zu tun. Im Übrigen sind das auch wieder Fragen, die sich außerhalb des eigentlichen Themas befinden, denn Klipper hat auf all diese Fragen längst Antworten gefunden. Dafür ist es nämlich egal, ob man Wägezellen, ein BL-Touch oder die klassische Papier-Methode benutzt. (Mit letzterer Methode kann man mit Klipper übrigens bei jedem (!) Drucker eine Bett-Matrix vermessen und korrigieren, man braucht nur recht viel Geduld. Wägezellen und BL-Touch sind also im Wesentlichen ein Komfortgewinn und nicht konzeptionell was ganz Neues.)

Eine andere Frage ist, warum befindet sich der Z-Referenz-Schalter knapp über dem Heizbett. Auch das ist mehr Konvention, bzw. irgendwie muss man es ja machen. Ich kann den Z-Schalter auch "unter" das Bett setzen, also zu negativen Z, wenn ich anderweitig sicherstelle, dass es keine Kollisionen geben kann. Ja das geht und ist nicht mal besonders schwierig. Vor dem Homing fährt man ein kleines Stück nach oben (positive Z Richtung, Heizbett nach unten), dann bei unserem Drucker zu y=0, dann homed man, dann fährt man z.B. auf Z=5mm. Das kann man in Klipper genau so einstellen, wenn man möchte. Es gibt also wohl Drucker, bei denen das nötig ist... ;-)
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: 247 times

Re: Wägezellen/DMS Unterstützung verbessern

Beitrag von mhier »

So, ich habe jetzt endlich den Pull Request erneuert. Die neue Version ist im Branch wip-loadcellprobe zu finden:
https://github.com/RF1000community/klip ... dcellprobe

Dort habe ich auch das semi-automatische Verfahren beschrieben, mit dem jetzt die Parameter bestimmt werden können:
https://github.com/RF1000community/klip ... ter-models

Man muss einzig noch den ADC konfigurieren sowie die maximal zulässige Kraft angeben. Dann wird in mehreren Schritten der Drucker auf physikalische Einheiten kalibriert und die Steifheit bestimmt. Daraus werden dann die Schrittweiten etc. abgeleitet.

Ich bin für mein RF1000-Exemplar auf folgende Ergebnisse gekommen (ich habe etwas gerundet, man kommt eh immer auf leicht unterschiedliche Werte, wenn man die Kalibration wiederholt):

Code: Alles auswählen

max_abs_force: 5000
noise_level = 1.5
force_calibration = 8500
stiffness = 6200
max_abs_force ist wie gesagt eine Definition, d.h. ich lege fest, dass maximal 5 kg Kraft (ich benutze der Einfachheit halber Gramm als Kraft-Einheit, auch wenn das etwas unsauber ist ;-)) zugelassen sind. Keine Angst, die werden bei Weitem nie erreicht, sondern das ist die Kraft, wo dann der Drucker abschaltet (Shutdown).

Die anderen drei Werte sind durch das Verfahren bestimmt. Der Noise-Level gibt an, wie genau unsere Kraft-Messung ist (1.5 Gramm "Rauschen"). Die Force-Calibration ist die Umrechnung von ADC-Wert (im Wertebereich -1 bis +1) in Gramm - bei 16 SPS und einem Gain von 2 können wir maximal 8.5kg messen, dann ist der ADC am Limit.

Die Stiffness ist die "Federkonstante" des Systems am steifesten Punkt. Ich habe sie an der Position auf dem Bett bestimmt, wo direkt darunter der Wagen einer der beiden Führungsschienen ist. Das bedeutet, dass wir eine Kraft von 6.2kg sehen würden, wenn wir 1mm tief "in das Bett hinein" fahren würden. Interessanterweise ist dieser Wert unabhängig davon, ob ich meine 3D-gedruckte ABS-Traverse mit dem E3Dv6 Hotend oder die Original Alu-Traverse mit dem v2-Hotend verwende. Offenbar ist meine Traverse also nicht signifikant weicher, bzw. die Weichheit der Wägezellen dominiert weiterhin das System.

Es wäre interessant zu wissen, ob andere auf ein vergleichebares Ergebnis kommen. Insbesondere bei der Force-Calibration bin ich mir unsicher. Meine beiden Wägezellen scheinen sehr unterschiedlich empfindlich zu sein, vielleicht hat eine davon schon wieder was abbekommen?

PS: Aus technischen Gründen gibt es einen neuen Pull Request: https://github.com/Klipper3d/klipper/pull/5623
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)
Benutzeravatar
AtlonXP
3D-Drucker Erfinder
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

Beitrag von AtlonXP »

Danke Martin,
so langsam gibt es Fortschritte und ich kann bald selbst das Ganze in Angriff nehmen.

Solange wir unseren normalen Arbeitsflow bei der RFX000 Klasse beibehalten,
wird deine Umsetzung vermutlich funzen.
Warum vermutlich?
Wenn ich es getestet habe gibt es eine Bestätigung. ;-)

Ob die 5000 (5Kg) ausreichend sind, wird die Praxis noch zeigen…
8500 werden mit Sicherheit reichen.
mhier hat geschrieben: Es wäre interessant zu wissen, ob andere auf ein vergleichebares Ergebnis kommen. Insbesondere bei der Force-Calibration bin ich mir unsicher. Meine beiden Wägezellen scheinen sehr unterschiedlich empfindlich zu sein, vielleicht hat eine davon schon wieder was abbekommen?
Da mein Druckbett gummigelagert ist,
wird vielleicht das Messverhalten bei mir etwas anders sein.
Schaun wir mal…

Da ich auch schon die Wägezellen wechseln musste, habe ich mich notgedrungen etwas damit beschäftigt müssen.
Bei meinen Zellen lag ein Kalibrierungszeugnis mit bei (Eichung).
Kurz um, im Ruhezustand sind auf einer bestimmten Ader genau 1K Ohm an einer Wäge Zelle zu messen.
Ich schätze eine Abweichung von +/- 1 Ohm ist die Toleranz auch auf den anderen Adern
(bei gleicher Temperatur!).

LG AtlonXP
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: 247 times

Re: Wägezellen/DMS Unterstützung verbessern

Beitrag von mhier »

AtlonXP hat geschrieben:Solange wir unseren normalen Arbeitsflow bei der RFX000 Klasse beibehalten,
wird deine Umsetzung vermutlich funzen.
Es funktioniert am RF1000 garantiert, denn ich benutze es ja bereits. Die vorherige Version benutzen ja auch 2-3 andere hier aus dem Forum, da hat sich aber wenig verändert abgesehen davon, dass die Parameter jetzt nicht mehr geschätzt sondern durch ein klares Verfahren bestimmt werden.

Ob die 5000 (5Kg) ausreichend sind, wird die Praxis noch zeigen…
8500 werden mit Sicherheit reichen.
Evtl. sind 5kg etwas knapp, wenn man noch das Original-Hotend benutzt. Ich sehe jetzt aber auch kein großes Problem, dort eine 8000 einzutragen. Wichtig ist nur, dass die maximal zulässige Kraft nicht größer als unser Messbereich ist, also 8.5kg in unserm Fall, denn in dem Fall kann es keinen Not-Aus bei Überlast geben. Wir wollen ja nicht solche Bilder hier am Ende sehen (der entwickelt einen ganz eigenen Algorithmus und hatte offenbar keine Not-Aus-Funktion):
https://klipper.discourse.group/t/strai ... ps/2134/56

Da mein Druckbett gummigelagert ist,
wird vielleicht das Messverhalten bei mir etwas anders sein.
Das könnte einen Einfluss auf die Steifheit haben. Das hängt aber sehr davon ab, wie weich dein Gummi ist mit der gegebenen Vorspannung durch das Eigengewicht etc. Meine Dauerdruckplatte macht zumindest ebenfalls schon mal keinen Unterschied.
Kurz um, im Ruhezustand sind auf einer bestimmten Ader genau 1K Ohm an einer Wäge Zelle zu messen.
Ich schätze eine Abweichung von +/- 1 Ohm ist die Toleranz auch auf den anderen Adern
Guter Punkt, das kann ich mal händisch nachmessen. Evtl. ist auch der Steckverbinder problematisch, ich spiele deshalb mit dem Gedanken, den mal auszutauschen. Allerdings ist das Kabel in der Schleppkette von der Länge her ja recht knapp (ich darf mich also nicht "verkrimpen")... Vielleicht tausche ich auch mal den gesamten Kabelbaum aus, ich habe da eh inzwischen einen ziemlichen Wildwuchs.
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)
Antworten

Zurück zu „RF1000-Klipper“