Juifen hat geschrieben:Nur läuft grad Klipper und RF1000community Klipper bei der RP2040 Unterstützung auseinander.
Ja sorry, ich muss mal wieder synchronisieren. Ich will danach aber immer gerne wenigstens grundlegende Tests durchführen, deswegen komme ich da nur selten zu. Ich werde das die Tage aber mal angehen.
Wie gesagt kann man das HX711 grundsätzlich immer auch direkt an der Hauptplatine anschließen, man braucht nur 2 (oder 3?) freie GPIO-Pins - das sollten doch die meisten vernünftigen Hauptplatinen wohl irgendwie anbieten. Am Ende ist es aber tatsächlich komplett egal, ob man das HX711 direkt an der Hauptplatine oder mit einem anderen Microcontroller (RP2040 oder irgend ein Arduino) anschließt. Es macht also Sinn, hier den einfachsten Weg zu wählen, wie auch immer der gerade aussieht
@mhier welch Sample rate ist denn optimal? Wenn ich die ADS1100 richtig lese kann ich wählen zw. 8, 16, 32, or 128 samples per second.
Der HX711 kann 10. und 80 sps.
Beim ADS1100 verliert man mit jedem Faktor 2 in der Sampling Rate ein Bit an Auflösung. Da die maximale Auflösung schon etwas knapp ist,hat man da wenig Spielraum. Ich benutze dennoch eine Rate von 16 Hz und mittele über zwei Samples. Das hat verschiedene Vorteile. Zum einen ist es immer gut, mitteln zu können, denn dann kann man Inkonsistenzen erkennen (wenn z.B. jemand gegen den Drucker stößt) - in dem Fall wird die Messung einfach wiederholt. Zum Anderen ist ein großes Problem die Tatsache, dass die Messungen nicht synchronisiert mit den gefahrenen Z-Schritten sind, weshalb man die erste Messung verwerfen muss. Bei 16 Hz schmeißt man dann nur die hälfte der Zeit weg, das macht also alles insgesamt etwas schneller. Noch höhere Frequenzen bringen beim ADS1100 eher keinen Vorteil mehr (und Mittelungen sind immer ungenauer als direkt eine höhere Auflösung zu haben).
Beim HX711 habe ich es noch nicht ausprobiert. So viel ich weiß gibt es bei 80 Hz keinen Verlust an Auflösung, außerdem ist die ohnehin höher als beim ADS1100. Ich würde es also mit 80 Hz versuchen und trotzdem aber über (mindestens) 2 Werte mitteln. Eine höhere Geschwindigkeit kann bei gleicher Auflösung eigentlich nicht schaden. Am Ende bestimmt dies aber nur die Geschwindigkeit mit der der Scan ausgeführt wird.
Wie ist es beim Drucken mit höheren Geschwindigkeiten
Beim Drucken werden die DMS ja nur benutzt, wenn man ein entsprechendes Feature wie z.B. den sense offset benutzt. Ich denke, das macht dort eher keinen großen Unterschied (sense offset arbeitet ohnehin sehr langsam). Generell würde ich aber auch hier sagen, dass die höhere Auslesegeschwindigkeit nicht schadet. 80 Hz ist nichts, wo ein Prozessor gleich in die Knie geht (naja vielleicht, wenn man auf dem Raspberry Pi 1 läuft, was ohnehin schon nur mit Tricks funktioniert). Es wird umgekehrt aber grundsätzlich eher der Genauigkeit der Berechnungen helfen, wenn diese mit einer höheren Frequenz gefüttert werden.
Viel wird das allerdings dennoch nicht helfen, da am Ende die Latenz-Zeiten das Problem sind: Die Bewegungsbefehle werden in Queues zwischengespeichert, so dass jede Reaktion auf einen Messwert erst eine gewisse Zeit in die Zukunft wirken kann. Diese Latenz-Zeit ist leider recht groß, ich glaube im Bereich von 1/10 Sekunden. Von daher macht 10 Hz oder 80 Hz leider bei Weitem nicht den Geschwindigkeitsvorteil, wie man denken könnte. Wenn es also Probleme macht, mit 80 Hz zu laufen, würde ich nicht lange zögern und auf 10 Hz gehen.