Dem Z-Wobble auf der Spur

Firmware Veröffentlichungen und Einstellungen können hier angekündigt und diskutiert werden.
hal4822
Developer
Developer
Beiträge: 1102
Registriert: Fr 27. Mär 2015, 15:19
Wohnort: kann aus Nickname entschlüsselt werden
Has thanked: 47 times
Been thanked: 80 times
Kontaktdaten:

Re: Dem Z-Wobble auf der Spur

Beitrag von hal4822 »

Digibike hat geschrieben:...die Spindeln auch die Führung übernehmen zu lassen - das ist Murks...
Gruß, Christian
Sehe ich auch so, aber es wäre zu verschmerzen, wenn Zapfen und Gewinde konzentrisch wären. Ich behaupte nicht, dass sie es nicht sind, aber da ich es noch nicht geprüft habe, muss ich die Mehrheitsmeinung gelten lassen.

Falls ich den RF1000 mal zerlege werde ich mit dieser selbst konstruierten dreiteiligen Mutter den Rundlauf in meiner kleinen Drehbank prüfen (hoffentlich passt die Spindel in die Bohrung).Zwecks besserer Anschaulichkeit habe ich eine "Backe" weggelassen :
z-mutter_3_teilig.jpg
Solche Kunststoffmuttern gibt es übrigens auch fertig zu kaufen, aber der Mindermengenzuschlag bei 2 Muttern ist höher als der eigentliche Kaufpreis (zusammen über 100€ bei der Ausführung mit Flansch).
______________________________________________________________________________________________________________
https://youtu.be/ElQ7adxg810?t=30s zeigt eine Herstellungsmethode, bei der man sich drauf verlassen kann, dass wenigstens Außendurchmesser und Gewinde konzentrisch sind. Da sollten auch die Zapfen konzentrisch andrehbar sein.
______________________________________________________________________________________________________________
https://youtu.be/K3i-Ecb698g?t=7m6s - gibt´s nicht, wenn man auf Kugeln verzichtet.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
Nibbels
Developer
Developer
Beiträge: 2264
Registriert: Mi 17. Aug 2016, 17:01
Has thanked: 831 times
Been thanked: 599 times

Re: Dem Z-Wobble auf der Spur

Beitrag von Nibbels »

Moin :)

(Ich schau grad Hals Videos an.)

Hehe..
Digibike hat geschrieben:Hättest früher dran gehen sollen - dann hätte sich Conrad vielleicht den Kulanz-Tausch von einigen Spindeln sparen können und manch einer das zerlegen und die "Böse" Überraschung (da gab´s ja einen Herstellerwechsel und die Aufnahme änderte sich bei den RF1000, was manch einem das Wechseln etwas erschwerte bis die neuen paßten...
Klar Kaschiert es ein Hardware-Problem Softwaremäßig und klar sollte es Hardwaremäßig stimmen und ebenso klar ist es nicht die
Intelligenteste Lösung bei der Konstruktion gewesen, die Spindeln auch die Führung übernehmen zu lassen - das ist Murks, aber
wenn´s die Software kann und das Endergebnis wieder paßt - ich erinner mich noch an die ersten Smart - die machten im Winter,
wenn es irgendwo in der Kurve etwas glatter war, sofort "Männchen" - Konstrukives Problem - bekamen dann ein nettes Software-Update
und seither hält die Elektronik die in der Spur... Muß mal schauen, ob ich dann mit meinem DGlass auch "Bauchtanz" nachher kann...
Legst ja immens viele Nachtschichten ein... :zwinkern: :good:
Ich glaube, wir sollten mal sammeln und mal ein oder zwei Rollen Filament oder so beim nächsten Stammtisch spendieren für die
immense Arbeit...

Gruß, Christian
Conrad hätte das auch locker selber hinbekommen, wenn das jemand gewollt hätte. Die Anzahl der Zeilen, die dieses Feature erfordert sind hauptsächlich User-Interface. Die eigentliche Funktion passt in grob 10 Zeilen Code. Die Gesamtliste aller Änderungen sieht man hier in grüner Farbe:
https://github.com/Nibbels/Repetier-Fir ... 1f83cf953e
:P Ich glaube, wirklich kompliziert wird das Einstellen bei nem realen Drucker. Die Phase kann man von unten am Bauteil (Z=0) quasi abmessen. Beim Vorzeichen und der Amplitude muss man sich glaub echt reinhängen und Feintuning mögen.
Heute nacht habe ich den Drucker wieder ein Testtürmchen drucken lassen.
Screenshot_7.jpg
Screenshot_8.jpg
Ich rede nun einfach über das was ich gemacht habe mit Bildern, sodass andere sich hier ein Gefühl abholen können, wie sie mit dem Mod arbeiten könnten:

Ich hab links ein anderes Y-Wobble eingestellt als rechts. Genau das Gegengeil.
Screenshot_5.jpg
Natürlich hat das Teil nicht die Länge von ~245mm sodass die 300um im Teil nur noch Anteilig ankommen.
->
300um sind aussen am Hebel: Das Teil liegt weiter innen. In der Mitte heben sich beide Wobbles auf. Das ist die rote Linie:
Screenshot_6.jpg
In X sieht man +200um, was schon sehr viel ist. Wir liegen mit dem Wobble wohl weit drunter. Tatsächlich wohl im kleineren zweistelligen Mikrometerbereich?

Die Phase ist hier 0%, also fängt der Sinus bei Z=0 unten im Wendepunkt des Wobbles an.
https://de.wikipedia.org/wiki/Sinus_und_Kosinus
Screenshot_9.jpg
Mein Fazit: Es funktioniert. Zumindest wenn man einen perfekten Wobble hat, der in dieser Testversion bei allen Z gleich stark auftreten muss.
Es ist kein Problem, noch einen Umstell-Gcode einzubauen.
Es wäre auch keine Problem, dieses System durch eine Verlaufsdefinition einschleichen und ausschleichen zu lassen.
Screenshot_10.jpg
An dieser Stelle höre ich mit dem Thema auf, weil ich aktuell kein bei PLA sichtbares und daher kein kompensierbares Wobble besitze.
Ihr könnt nun selbst entscheiden, wer sich von euch das neue Feature austesten will.
Wenn jemand sagt, er hat das voll verstanden und im Einsatz, aber ihm fehlen noch Zusatzfunktionen wie Ausschleichen (Siehe Bild hier drüber) oder sonstige Tweaks, dann einfach hier melden. Sowas einzuprogrammieren ist kein Aufwand, doch ohne Anwendungsfall will ich das nicht einbauen.
Dasselbe gilt für Anleitungen und weitere Bedienungshilfen: Beispielhaft könnte es sein, "dass es sinnvoll ist die Phase immer im + zu halten, weil man dann per Daumenregel ... " oder "Die Phase doch in Millimeter oder Mikrometer angeben, weil ... ohne umrechnen abmessbar" -> Sowas müssten nun Praktiker an mich rantragen. :tiptop:

LG
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
RF2000
Firmware Mod 1.45.00.Mod - geht SD wieder 100%?

Bitte 1.42.17 bis 1.42.21 meiden!
SD-Druck mit der Community-FW <= 1.43.99 aktuell meiden.
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: Dem Z-Wobble auf der Spur

Beitrag von AtlonXP »

Erst einmal ein Lob an Nibbels,
ich hätte nicht gedacht, dass unsere Hardware das berechnen kann.

Der Begriff „Bauchtanz“ ist sehr zutreffend.

Hier ein paar Überlegungen meinerseits:
In einem vereinfachten Denkmodel eiert nur eine Spindel.
Der Drucker selber druckt kreisrund.
Es werden eigentlich immer genaue Kreise auf die Druckplatte abgelegt.
Leider bleibt die Druckplatte nicht am selben Ort.
Somit entsteht ein Layershift.
Nun sollte man den Kreismittelpunkt in Betracht ziehen.
Ich meine der sollte ein eine (Kreisbewegung durchführen) nein es gibt eine Ellipse in der Y Achse, da das meiste der Spannung in X, von der Gegenspindel abgefangen wird.
Der Versatz zum Drehwinkel der zweiten Spindel, wenn diese eiert, ergäbe den X Offset.
Die Ellipse (Kreis) wird bei einer Layerhöhe von 5mm geschlossen.

Du hast es richtig erkannt, der Korrekturwert sollte halbe Amplitude sein, oder der Radius von dem Kreismittelpunkt Bauchtanzbewegung sein.
Es wäre besser, wenn du den Drehwinkel nicht in Prozent sondern in 360° Schritten angeben würdest. Das hilft beim Einstellen.
Ich schlage vor, der Nullpunkt direkt vor deinen Augen.
Der Drehwinkel von 0< in Bewegungsrichtung der Spindeln.
Mir ist nicht klar warum du in Y zwei Werte verwendest und in X nur einen.

Da fällt mir ein, wenn die Druckplatte eiert, dann Fährt die Druckplatte auch nicht mehr rechtwinklig zur X Achse.
Es müsste auch hier eine Winkel Verschiebung geben die durch den Fahrweg in Y einen Längenkorrekturwert in X benötigt. :silly:
Aus diesem Grund schlage ich vor, das wir zuerst runde Testzylinder Drucken.
Auch habe ich beobachte, dass die Amplitude auf halber Höhe an dem Zylinder etwas grösser ist.

Also Tonnen artig. Peters Argumentation lässt grüßen.
In meiner alten Berechnungsformel (ich weiß sie nicht mehr) hatte ich mit Sin/2 gerechnet.
Vielleicht hilft es weiter.

LG AtlonXP
Benutzeravatar
Nibbels
Developer
Developer
Beiträge: 2264
Registriert: Mi 17. Aug 2016, 17:01
Has thanked: 831 times
Been thanked: 599 times

Re: Dem Z-Wobble auf der Spur

Beitrag von Nibbels »

AtlonXP hat geschrieben:Erst einmal ein Lob an Nibbels,
ich hätte nicht gedacht, dass unsere Hardware das berechnen kann.
Danke :) .. Das ist nicht rechenintensiv: Ich rechne 1x pro GCode einen einzigen Sinus aus uns addiere das. Einfacher gehts glaub net. Hatte mir das auch schlimmer vorgestellt. Doch der Trick mit dem zusätzlichen "Tool-Offset" klappt genial. Der Toolchange von T0 und T1 wird beim RF2000 fast gleich eingearbeitet. Nur nicht in abhängigkeit der Z-Koordinate und ohne Sinus, einfach nur als Zahl.

Noch ein paar Bilder:
Screenshot_11.jpg
Screenshot_12.jpg
Bilder: Wenn ich das optisch abgleiche, glaube ich, dass ein Standardwobble der RF1000 viel weniger als 0.05mm Amplitude hat. Also (Hoch-Tief) << 0.1mm.

LG
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
RF2000
Firmware Mod 1.45.00.Mod - geht SD wieder 100%?

Bitte 1.42.17 bis 1.42.21 meiden!
SD-Druck mit der Community-FW <= 1.43.99 aktuell meiden.
zero K
Donator
Donator
Beiträge: 1128
Registriert: Mi 6. Dez 2017, 13:17
Has thanked: 46 times
Been thanked: 239 times

Re: Dem Z-Wobble auf der Spur

Beitrag von zero K »

... ich bin sehr beeindruckt, wie hier ein Problem analysiert und die Lösung angegangen wird.
:tiptop:

Gruß zero K
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: Dem Z-Wobble auf der Spur

Beitrag von AtlonXP »

Nibbels hat geschrieben: ...
Wenn ich das optisch abgleiche, glaube ich, dass ein Standardwobble der RF1000 viel weniger als 0.05mm Amplitude hat. Also (Hoch-Tief) << 0.1mm.

LG
Irgendwie erinnert mich das an mein Geschwätz von vorgestern. :-)
Aber wir haben leicht reden, weil bei uns genauere Spindeln von THK verbaut sind.

Wenn ich das Bild von Kurt anschaue, dann hat das Monieren schon seine Berechtigung.
Am einfachsten müsste man es über den Rundungsfehler am Einheitsloch,
bei einer Bauteilhöhe von 2,5 mm Messen können. Bei mir etwa 0,08 mm brutto.
Den Grad in den ersten 3 Layern bitte vorher entfernen!

Ich habe da noch ein paar einfache mechanische Ideen. (Nur zur Linderung)
Wenn ich wieder Drucken kann, werde ich es testen.

LG AtlonXP
Benutzeravatar
rf1k_mjh11
Developer
Developer
Beiträge: 2097
Registriert: Di 6. Jan 2015, 19:44
Wohnort: Autriche
Has thanked: 276 times
Been thanked: 557 times

Re: Dem Z-Wobble auf der Spur

Beitrag von rf1k_mjh11 »

Hallo Leute,

Ihr habt eine weitere Variable übersehen. Die Phase der (eiernden) Spindeln zueinander ergibt einen Winkelfehler am Heizbett. Das heißt, das Heizbett dreht sich etwas in der X/Y Ebene. Der Winkelfehler verursacht einen Fehler in X und Y, der mit dem Abstand zum Drehpunkt wächst.
Der Drehpunkt ergibt sich aus der Differenz der Phase zusammen mit dem Unterschied des Ausmaßes des Eierns der Spindeln.
Man beachte in den folgenden Bildern die Position/Ausrichtung des Heizbetts:
Z_Wobble_OffsetSpindle_1.jpg
Z_Wobble_OffsetSpindle_2.jpg
Hier eine ISO Ansicht, damit man sich es besser vorstellen kann:
Z_Wobble_OffsetSpindle_ISO.jpg
In den obigen Bildern sieht man extrem eiernde Spindel simuliert. Diese sind zufällig um 180° phasenverschoben. Die zwei Extrempositionen sind dargestellt. Dazwischen arbeiten die zwei Spindel gegeneinander und der Fehler hebt sich teilweise auf (na ja, die schwächere Spindel gibt etwas mehr nach....). In dem dargestellten Beispiel ist das Ausmaß des Eierns bei beiden Spindeln gleich. Damit ist der Drehpunkt (theoretisch) genau in der Mitte des Heizbetts und bleibt auch dort (theoretisch, falls beide Spindeln exakt gleich steif sind). So bald eine Spindel mehr eiert wie die zweite, wandert der Drehmittelpunkt permanent. Damit wird notwendig - für jede Spindel getrennt - das Ausmaß des Eierns zu bestimmen und auch die jeweilige Phase dazu.

Falls das einer ohne Bilder folgen kann: Eiert beispielsweise nur eine Spindel, ist der Drehpunkt der Heizplatte zeitweise! genau bei der Spindelachse der nicht-eiernden Spindel. Dazwischen wandert der Drehpunkt etwas, da die eiernde Spindel das Heizbett etwas hin- und herschiebt (und die gerade Spindel dabei etwas nachgibt).

Hier wird nur das Eiern der Spindeln betrachtet. Also betrachte ich hier zwei Spindeln, wo die Achse des oberen und des unteren Lagers EXAKT parallel zur Spindelachse verläuft, bloß etwas versetzt.

Und schon hier wird die Berechnung des zu kompensierenden Offsets abhängig von der X/Y Position der Raupe.

Stellt man sich eine Spindel vor, wo die Achse der Lagersitze nicht exakt parallel zur Spindelachse ist, oder wo die Spindel gebogen ist, wird die Berechnung noch spaßiger, da dann nicht nur die X/Y Position, sondern auch die Z Position bei der Berechnung berücksichtigt werden muss.

Damit werden die Berechnungen viel spaßiger!

Hinweis: Man kann die Phase der Spindeln zueinander nur wenig beeinflussen, da sonst das Heizbett zu schief wird. Um genau 180° lässt sich die Phase von der jeweiligen Position drehen, dann steht aber der Schmiernippel an der gegenüberliegenden Stelle (und damit nicht wie in der Anleitung). Sind die Phasen z.B. um 90° zueinander versetzt, nutzt der Trick dann gar nichts (dann wird aus +90° bloß -90°).

mjh11

P.S. Trotzdem finde ich Kurts Idee der softwaremäßigen Kompensation für genial (bloß nicht einfach machbar).
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
RF1000 (seit 2014) mit:
  Pico Hot End (mit eigenem Bauteil- und Hot End Lüfter)
  Ceran Bett
  FW RF.01.47 (von Conrad, modif.)

Die Natur kontert immer sofort mit einem besseren Idioten.
Benutzeravatar
Nibbels
Developer
Developer
Beiträge: 2264
Registriert: Mi 17. Aug 2016, 17:01
Has thanked: 831 times
Been thanked: 599 times

Re: Dem Z-Wobble auf der Spur

Beitrag von Nibbels »

rf1k_mjh11 hat geschrieben:Hallo Leute,

Ihr habt eine weitere Variable übersehen. Die Phase der (eiernden) Spindeln zueinander ergibt einen Winkelfehler am Heizbett. Das heißt, das Heizbett dreht sich etwas in der X/Y Ebene. Der Winkelfehler verursacht einen Fehler in X und Y, der mit dem Abstand zum Drehpunkt wächst.
Hi :)

Es ist sauschwer rauszufinden, ob das was du schreibst schon mit meiner Weltanschauung und dem Code übereinstimmt oder ob ich was vergessen habe.

a)
Das 2-Spindel-Y-Problem:
rf1k_mjh11 hat geschrieben: Damit wird notwendig - für jede Spindel getrennt - das Ausmaß des Eierns zu bestimmen und auch die jeweilige Phase dazu.
Ich male mal auf, was ich schon umgesetzt habe:
Screenshot_1.jpg
->
Screenshot_5.jpg
Wenn Y-links auf -100um läuft und Y-rechts auf +100um läuft, wäre doch das genau das Gegenspiel, das du oben beschreibst?
Siehe Bild:
Bild
http://www.rf1000.de/viewtopic.php?f=7& ... =20#p23535

Die Firmware schaut aktuell bei jedem G-Code die Ziel-Koordinate an und manipuliert sie so, dass sie zum Versatz "dort" passt.
Folglich fährt der Drucker bei +Y-Links und -Y-Rechts (oder umgekehrt) tatsächlich schrägt. -> Ich denke, das erschlägt den Winkelfehler.

Übersehe ich hier eine Spitzfindigkeit?

b)
Das 2-Spindel-X-Problem:
rf1k_mjh11 hat geschrieben:die schwächere Spindel gibt etwas mehr nach....).
Bei X kann das Bett nicht ausweichen, also klemmt es und spannt es einmal pro Zyklus. Das Resultat kann aber sein, dass sich anteilig eine X-Amplitude bildet. Aber diese sollte aus Sicht des Bettes auf der linken und rechten Seite gleich sein, da wir das Bett und seine Alu-Platte nicht an zwei Enden getrennt dehnen und stauchen können.

c)
Das Phasen-Problem:
Ich denke, egal wie ich "es drehe" und wende, der gesamte Zyklus wiederholt sich (in Z-Richtung) jede 5 Millimeter.
Screenshot_3.jpg
Macht es wirklich Sinn, für die rechte und linke eine getrennte Phase einzustellen, oder muss ich nur den einen Startpunkt finden, sodass mein Gegen-Sinus zum Wobblesinus passt?
Ich glaube ohne gewiss sagen zu können, dass ich hier recht habe, dass das Bett als ein Teil zwar verschiedenen Amplituden ausgesetzt sein kann, aber nicht verschiedenen Phasen?

@rf1k_mjh11, ich werde aber nun deinen Beitrag noch 3x lesen müssen ^^.

LG
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
RF2000
Firmware Mod 1.45.00.Mod - geht SD wieder 100%?

Bitte 1.42.17 bis 1.42.21 meiden!
SD-Druck mit der Community-FW <= 1.43.99 aktuell meiden.
Benutzeravatar
Nibbels
Developer
Developer
Beiträge: 2264
Registriert: Mi 17. Aug 2016, 17:01
Has thanked: 831 times
Been thanked: 599 times

Re: Dem Z-Wobble auf der Spur

Beitrag von Nibbels »

Vielleicht nochmal getrennt diese Erklärung:

Ich habe nicht Drehpunkte gesucht und Winkel korrigiert. Ich habe nach diesem Koordinatensystem:
Screenshot_1.jpg
Ganz einfach Korrekturoffsets an den Spindeln eingebaut.
Und da ich Y links und rechts getrennt beachte, wird dazwischen in Richtung Y linear interpoliert.
code
https://github.com/Nibbels/Repetier-Fir ... r.cpp#L590
float xPosPercent = x/Printer::lengthMM[X_AXIS];
Printer::wobblefixOffset[Y_AXIS] = ((1-xPosPercent) * Printer::wobbleAmplitudes[Y-Links] + (xPosPercent) * Printer::wobbleAmplitudes[Y-Rechts])
getrentes Offset für jede X Y Koordinate extra
->
rf1k_mjh11 hat geschrieben: Und schon hier wird die Berechnung des zu kompensierenden Offsets abhängig von der X/Y Position der Raupe.
[...]
Schon erledigt! :coolbubble:
https://github.com/Nibbels/Repetier-Fir ... r.cpp#L592
y += Printer::wobblefixOffset[Y_AXIS]/1000; //offset der zielkoordinate Y dieser Bewegung in [mm]
Die maximalen Zahlenwerte der Offsets an den Spindeln legen wir im Maximum/Minimum des Sinus fest.

Bei welchen Z das Maximum/Minimum (der Amplitude) angenommen wird, legen wir durch die Phase fest.

LG
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
RF2000
Firmware Mod 1.45.00.Mod - geht SD wieder 100%?

Bitte 1.42.17 bis 1.42.21 meiden!
SD-Druck mit der Community-FW <= 1.43.99 aktuell meiden.
Benutzeravatar
rf1k_mjh11
Developer
Developer
Beiträge: 2097
Registriert: Di 6. Jan 2015, 19:44
Wohnort: Autriche
Has thanked: 276 times
Been thanked: 557 times

Re: Dem Z-Wobble auf der Spur

Beitrag von rf1k_mjh11 »

Hallo Nibbels,

Hier eine Animation, die den Bewegungsablauf übertrieben darstellt. Man beachte: in der Mitte des Heizbetts ist eine kleine Bohrung (optische Hilfe). Dieser bewegt sich nur in X-Richtung. (Hinweis: CAD kennt kein 'durchbiegen' eines Bauteils, daher musste ich die rechte Spindel in X-Richtung etwas Freigang genehmigen. Nur die linke Spindel bleibt in Position.). Also, die Mitte des Heizbetts bewegt sich nur in X, die äußeren Ecken bewegen sich deutlich mehr. Je weiter von der Bettmitte, desto größer wird die Bewegung.

Hier die Animation (Dank an http://gifmaker.me/):
Z_Wobble_180_DegreesOffset.gif
In Wirklichkeit wird sich die Bewegung der Bettmitte (hier der Drehmittelpunkt) weniger weit bewegen, da beide Spindeln fest eingebaut sind und gegeneinander arbeiten.

Aus diesem Grund bin ich mir nicht sicher, ob das Lösen einer Spindelmutter eine gute Idee ist. Da kommt unter Umständen mehr Bewegung heraus. Außerdem werden kleine Bewegungen in Y auch auf der losen Spindelseite möglich.

Umgekehrt ist es auch möglich, dass ich deinen Ansatz nicht durchblicke und deine Formeln sehr wohl diese Bewegungsabfolge korrekt kompensieren kann.

mjh11
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
RF1000 (seit 2014) mit:
  Pico Hot End (mit eigenem Bauteil- und Hot End Lüfter)
  Ceran Bett
  FW RF.01.47 (von Conrad, modif.)

Die Natur kontert immer sofort mit einem besseren Idioten.
Antworten

Zurück zu „Firmware / Tweaks“