Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

Marlin oder ArduinoMega -> Rechengenauigkeit Delta?

geschrieben von markus123456 
Marlin oder ArduinoMega -> Rechengenauigkeit Delta?
30. September 2017 11:48
Hallo,

Ich habe mir über die letzten 12 Monate zwei Delta 3d Drucker gebaut. Die wichtigen Teile sind aus gelastertem Aluminium, Alu Druckguss, gezogenen Alurohren für die Säulen (3cm Durchmesser) und Linearführungen für die Schlitten. Der Drucker ist etwas grösser als was man normalerweise kauft (Bauraum 40cm Durchmesser, max. Druckhöhe 40cm). Ich habe allerlei Messvorrichungen konstruiert und bin nach X Wochen prüfen sehr sicher dass die Mechanik einwandfrei ist, will heissen die Linearführungen an den Türmen sind senkrecht zum Druckbett, paralell zueinander, genau 120 Grad im Kreis, ich verwende spielfreie Kugelgelenke, und die Arme sind mit einer verstifteten Lehre so abgelängt dass deren Länge genau gleich lang sind etc. Den Drucker hab ich so konstruiert dass sich der Druckkopf leicht wechseln lässt, und einer der "Köpfe" ist eine Messuhr. Damit und mit einer weiteren Vorrichtung die entlang der Zentrumshochachses die Distanz der Säulen (Führungen zueinander) misst, hab ich den Drucker kalibriert. Er läuft vom Zentum zu den Säulenenden parallel zum Druckbett (Abweichung < 0.02mm über das ganze Druckbett vom Zentrum zu den Säulen), und funktioniert generell wie man es erwarten würde.

Als Firmware habe ich mir Marlin heruntergeladen und konfiguriert. Eigentlich läuft alles soweit super, aber ein grosses Problem hab ich das ich nicht wegbringe. Bei Objekten mit > ca. 35cm Durchmesser (z.B. ein Testring mit 40cm Durchmesser) gibts plötzlich grössere Abweichungen in der Z-Achse zwischen den Säulen. Ich habe eine Zeichnung erstellt um zu veranschaulichen wo das Problem liegt.
Der Druckkopf steigt in den violett eingefärbten Bereichen graduell zum Zetrum zwischen den Säulen ca. 0.3mm an. Im restlichen Bereich kann ich sehr genau und zufriedenstellend drucken. Da ich aber die Drucker in dieser Grösse gebaut habe um auch Teile mit 40cm Durchmesser drucken zu können nervt mich das sehr. Da ich inzwischen mechanische Probleme wirklich ausschliessen kann, frage ich mich kann es sein dass Marlin bei diesen grösseren Durchmessern ein Rundungsproblem oder eine sonstige Softwaregenauigkeitslimitte hat? Könnte das Problem bei einer Limitte der Arduino Hardware liegen? Ich setze Megatronics 2.0 Boards ein welche den ATMega 2560 verwenden. Diese sind im wesentlichen identisch mit einem Arduino Mega mit RAMPS. Das Verhalten ist reproduzierbar, und absolut identisch auf beiden Druckern...

Hat hier jemand Erfahrung mit grösseren Deltas und kann mir einen Tip geben?

Vielen Dank im Voraus für eure Hilfe!

Markus
Re: Marlin oder ArduinoMega -> Rechengenauigkeit Delta?
30. September 2017 12:32
Kann es sein, dass die Arme für die Auslenkung zu der einer Säule gegenüberliegenden Fläche (lila-Bereich) zu kurz sind ?
Re: Marlin oder ArduinoMega -> Rechengenauigkeit Delta?
30. September 2017 12:40
Hallo Wobbelbob,

Danke für Deine Antwort. Weis nicht genau wie Du das jetzt meinst. Keiner der drei Arme erreichen Ihre Auslenkungsgrenze, und um zu kurz zu sein, müsste der gegenüberliegende Arm ja horizontal stehen, was er nicht tut. Dazu müsste der Schlitten noch ca. 10 cm weiter runter... Verstehe ich Deine Frage falsch?
Re: Marlin oder ArduinoMega -> Rechengenauigkeit Delta?
30. September 2017 13:20
Im Prinzip geht es ja darum, dass die Hotendplattform parallel zum Druckbett geführt werden soll. Im Zentrum dieser Plattform sollte sich das Hotend befinden. Die Anlenkpunkte der Arme befinden sich aber nicht im Zentrum, sondern in einem Umkreis der Plattform. Also könnte die Plattform an Extrempunkten "kippen", weil einer der Arme (in diesem Fall der mit der größten Distanz zu seiner Führung) zu kurz ist oder die anderen beiden "zu lang" sind. Das könnte auch von einer ungleichmäßígen Gewichtsverteilung auf der Plattform hervorgerufen werden, weil die Haltekräfte im Bereich recht spitzer Winkel - der liegt ja an einem Arm vor - in senkrechter Richtung nicht ausreichen.

1-mal bearbeitet. Zuletzt am 30.09.17 13:23.
Re: Marlin oder ArduinoMega -> Rechengenauigkeit Delta?
30. September 2017 14:26
Hi WobbelBob,

Danke für die Überlegungen, aber der Kopf ist sehr leicht gehalten (Single Extruder mit Bowden Zufuhr), und die Messuhr alleine ist noch leichter. Die Arme sind ja immer gleich lang, und sicher stabil genug um das Gewicht des Kopfs zu halten - interessanter Einwand trotzdem. smileys with beer

Meine Frage geht eher in die Richtung ob es in diesem Bereich nicht möglich ist dass bei grösseren Durchmessern der Drucker, also grösserem DELTA_RADIUS und DELTA_DIAGONAL_ROD bei den Berechnungen nicht zu Ungenauigkeiten kommt weil Werte enstehen die ausserhalb der in der Marlin Firmware erreichbaren Genauigkeit liegen. Der Effekt tritt wirklich nur bei Auslenkungen zwischen den Säulen und einem Radius vom Zentrum > ~16.5 cm auf. Innerhalb des Bereiches der in der Graphik nicht violett eingefärbt ist, sind keine Abweichung erkennbar. Liege ich mit meiner Befürchtung richtig, würde also wer nicht einen Delta in dieser Grösse mit Marlin und ArduinoMega Controller betreibt den Effekt in dieser Art auch nicht beobachten können.

Mir wäre sehr geholfen wenn hier sich jemand melden könnte der einen Delta in vergleichbarer Grösse (oder grösser) , mit vergleichbarem Controller und Marlin gebaut hat, und mir sagen kann ob er ähnliche Probleme hat bzw. falls ja ob hier eventuell Repetier besser wäre oder was allfällig geholfen hat. Ich habe ca. 150 Stunden nur damit verbracht das mechanische Design zu verifizieren. Natürlich kann man sich immer irren, aber auf der mechanischen Seite habe ich in dieser Zeit viele Versuche unternommen, Dinge optimiert etc. ohne dass sich am beobachteten Effekt irgend etwas geändert hat. Ich werde auf jeden Fall Repetier ausprobieren (hab's schon vorbereitet, aber erst Montag Abend wieder Gelegenheit das am Drucker hochzuladen), bin aber natürlich besorgt dass die Ursache eher in der Ecke Genauigkeit beim Rechnen auf einem ArduinoMega liegt wo Repetier natürlich dann auch keine Chance hätte... Auf der anderen Seite bin ich ja wohl kaum der Erste der einen etwas grösseren Delta gebaut hat...
Re: Marlin oder ArduinoMega -> Rechengenauigkeit Delta?
30. September 2017 19:06
So riesig habe ich noch nicht gebaut, ( 30cm "nur") , aber habe ich das richtig gelesen das du ein 8Bit board benutzt?

Wenn ja, würde ich dir davon eher abraten, in einen Delta würde ich 32 Bit empfehlen, in so einem großen und genauen ( Mechanik) sowieso.
Entweder das Radds oder das Duet Wifi / Ethernet.

Leihweise zum ausprobieren wäre natürlich perfekt.


Gruß Andy


1 Drucker: [forums.reprap.org]
2 Drucker: [forums.reprap.org]
3 Drucker: [forums.reprap.org]
Re: Marlin oder ArduinoMega -> Rechengenauigkeit Delta?
01. October 2017 02:53
Hally Andy,

Danke für's Feedback. Die Boards haben wir beim Beginn des Projektes (vor ca. 1 1/2) Jahren gekauft, und 32 bit erschien mir damals noch etwas exotisch. Die andere Sache ist, dass das Heizbett welches wir verwenden ein Thermocouple als Sensor besitzt und Megatronics diese sauber unterstützt. Ich kenne die 32 bit Boards nicht alle im Detail, aber weis von keinem dass es Thermocouples unterstützen würde (bitte um Hinweise falls ich mich irre!). Ich scheu mich grundsätzlich nicht davor das Board zu tauschen, wenn, ja wenn es denn wirklich notwendig ist. Wie erwähnt funktioniert der Drucker sonst perfekt, und ein neues Board kaufen um dann herauszufinden dass ich falsch lag und das Phänomen noch immer da ist wäre ja auch nicht so toll...
Re: Marlin oder ArduinoMega -> Rechengenauigkeit Delta?
01. October 2017 04:32
mal so nebenbei....intern kann ein 8-Bit-Prozessor sehrwohl mit 16-Bit-Zahlen rechnen und je nach Programmierung und Arbeitsspeicher auch mit 32-Bit-Zahlen. Ob das allerdings bei der der Firmware deines Boards angewandt bzw. berücksichtigt wird entzieht sich meiner Kenntnis - dazu müsste man die Soft-/Firmware rekompilieren und daraufhin untersuchen.
Nochmal zum Hinweis bezüglich der senkrechten Kräfte...
Es geht hierbei nicht um die Stabilität der Anlenkungen sondern um die Kräfte die senkrecht auf die Hotendplattform wirken (können). Diese werden bei maximaler Auslenkung in Richtung der violetten Flächen sehr gut von den rechts und links angeordneten Armen abgefangen, aber der dritte Arm steht in einem sehr spitzen Winkel dazu. Damit kann er waagerechte Kräfte gut aufnehmen aber eben an den Verbindungspunkten zur Plattform geringe senkrechte Kräfte (damit meine ich die Kräfte, die aus 90° zur Bettebene auftreten - eben durch das Gewicht der Plattform und dem "Anpressdruck" für das Filament). Desweiteren muss man dabei die Anlenkpunkte an der Plattform betrachten. Die sind eben nicht genau im Zentrum und dadurch verschieben sich die Hebelverhältnisse in dieser "extremen" Auslenkung, so dass es möglicherweise zu einem Kippmoment für die Plattform kommt.
Der Fehler ist mit 0,3mm (wie du schreibst) ja nu auch nicht sooo riesig, aber eben messbar. Wenn du bei deiner Konstruktion die Möglichkeit hast, alle Anlenkhebel mal um 5 oder 10mm zu verlängern - nur probehalber - vielleicht ergibt sich ja eine eindeutige Bestätigung dieser "Theorie" smiling smiley

1-mal bearbeitet. Zuletzt am 01.10.17 04:33.
Re: Marlin oder ArduinoMega -> Rechengenauigkeit Delta?
01. October 2017 05:15
Hallo Markus

Genau dieses Phänomen ist nicht neu, im Deltatower-Forum wurde vor ca. 4 Jahren darüber berichtet.
Dort habe ich das Thema über einen längeren Zeitraum verfolgt, ohne dass eine Lösung gefunden werden konnte.

Deltatower haben einen recht stabilen Aufbau und verbauten bereits original HIWIN-Schienen, aber sicherlich noch keine 32 Bit Elektronik. Entsprechend teuer waren sie auch.
Inzwischen scheint das Forum gelöscht zu sein.

Vielleicht wendest du dich mal an Angelo, der hat einen großen Delta mit 32 Bit Elektronik gebaut.

Gruß Michael


Konstruktionen: [www.thingiverse.com]
Videos: [www.youtube.com]
Mein Club: [hackerspace-ffm.de]
Drucker:
Wersybot - seit 2012 smiling smiley
JGAurora A5
Re: Marlin oder ArduinoMega -> Rechengenauigkeit Delta?
01. October 2017 09:01
Kann es auch an der Schrittauflösung des fast senkrecht stehenden Arms bzw dem Stepper liegen. Bei einem fast senkrecht stehenden Arm ist ein Schritt schon eine gewaltige Strecke.
Habe keinen Delta, aber ich konnte es mir so vorstellen.
Wenn der Prozessor die Schritte nicht rechtzeitig bereit stellen kann, kommt es mei meinem Drucker nur zu Stockungen. Zum Beispiel, wenn man einen Kreis mit sehr vielen Segmenten und zu schnell druckt. Ich drucke mit einem Rumbaboard..


Liebe Grüße aus Henstedt-Ulzburg.
Frithjof
Meine Seite
[www.facebook.com]
Re: Marlin oder ArduinoMega -> Rechengenauigkeit Delta?
01. October 2017 09:28
Quote
Fridi
Kann es auch an der Schrittauflösung des fast senkrecht stehenden Arms bzw dem Stepper liegen. Bei einem fast senkrecht stehenden Arm ist ein Schritt schon eine gewaltige Strecke.
Habe keinen Delta, aber ich konnte es mir so vorstellen.
Wenn der Prozessor die Schritte nicht rechtzeitig bereit stellen kann, kommt es mei meinem Drucker nur zu Stockungen. Zum Beispiel, wenn man einen Kreis mit sehr vielen Segmenten und zu schnell druckt. Ich drucke mit einem Rumbaboard..

Daran hatte ich auch gedacht, aber da es Erhöhungen sind, sind es am senkrechten Arm eher zu viele Schritte.
Die Frage ist auch, warum entsteht die Anhebung nur zwischen den Stützen, und nicht rundherum.


Konstruktionen: [www.thingiverse.com]
Videos: [www.youtube.com]
Mein Club: [hackerspace-ffm.de]
Drucker:
Wersybot - seit 2012 smiling smiley
JGAurora A5
Re: Marlin oder ArduinoMega -> Rechengenauigkeit Delta?
01. October 2017 09:47
Zwischen den Armen ist die Auslenkung des gegenüber liegenden Arms am größten. Frage: Welche Auflösung haben die Steppertreiber. Geht es mit TMC Treibern besser?


Liebe Grüße aus Henstedt-Ulzburg.
Frithjof
Meine Seite
[www.facebook.com]
Re: Marlin oder ArduinoMega -> Rechengenauigkeit Delta?
01. October 2017 09:56
Daran hatte ich auch gedacht, aber da es Erhöhungen sind, sind es am senkrechten Arm eher zu viele Schritte.
Die Frage ist auch, warum entsteht die Anhebung nur zwischen den Stützen, und nicht rundherum.[/quote]

Ne, dann sind es am senkrechten Arm zu wehnige Schritte. Sonst wären die beiden anderen Arme dichter dran.


Liebe Grüße aus Henstedt-Ulzburg.
Frithjof
Meine Seite
[www.facebook.com]
Re: Marlin oder ArduinoMega -> Rechengenauigkeit Delta?
01. October 2017 10:33
Quote
Fridi
Zwischen den Armen ist die Auslenkung des gegenüber liegenden Arms am größten. Frage: Welche Auflösung haben die Steppertreiber. Geht es mit TMC Treibern besser?

Es handelt sich um Ti DRV8825 Treiber. Wir haben beim beobachteten Phänomen keinen Unterschied festgestellt ob mit 16 oder dem Maximum von 32 Microsteps gearbeitet wird. Der gegenüberliegende Arm ist bei der maximalen Auslenkung auch noch ein ganzes Stück weg von der horizontalen position. Schritte gehen keine verloren, denn man kann beliebig oft an einen dieser extrem Punkte und z.B. zurück zum Zentrum (oder jeden anderen Punkt) fahren und die Masse auf der Messuhr bleiben absolut identisch.

Markus
Re: Marlin oder ArduinoMega -> Rechengenauigkeit Delta?
01. October 2017 10:47
Dann kann ich mir nur noch die Software als Problem vorstellen. Vielleicht ist da ja ein Problem mit dem ABL.


Liebe Grüße aus Henstedt-Ulzburg.
Frithjof
Meine Seite
[www.facebook.com]
Re: Marlin oder ArduinoMega -> Rechengenauigkeit Delta?
01. October 2017 10:58
Quote
Fridi
Dann kann ich mir nur noch die Software als Problem vorstellen. Vielleicht ist da ja ein Problem mit dem ABL.

Hallo Fridi,

Ja, ich bin sonst wie gesagt auch Ratlos. ABL? Sorry, was ist ABL?
Re: Marlin oder ArduinoMega -> Rechengenauigkeit Delta?
01. October 2017 11:10
Automatisches Bed Leveling.
Aber es kann ja sein, dass die Berechnungsformel ab einem gewissen Wert kippt. Die Berechnung beim Delta ist ja, so meine ich, ein Annäherungswert.
Im Übrigen meine ich, dass ich mich täusche. An den markanten Stellen sind die Stangen links und rrechts sehr steil. Die gegenüber liegende Stange hat dann den größten Winkel.

1-mal bearbeitet. Zuletzt am 01.10.17 11:14.


Liebe Grüße aus Henstedt-Ulzburg.
Frithjof
Meine Seite
[www.facebook.com]
Re: Marlin oder ArduinoMega -> Rechengenauigkeit Delta?
01. October 2017 11:34
Ah! Danke für die Erklärung.
Naja, wir verwenden kein automatisches Bed Leveling. Der Drucker wird manuell kalibriert. Er ist so rigide gebaut, dass wenn einmal eingestellt das nicht notwendig ist, und sollte mal eine Nachjustierung notwendig sein, geht das mit dem "Messuhrkopf" raz faz.

Habe mit ABL auch eher schlechte Erfahrungen gemacht, naja nicht mit ABL per se, aber mit den induktiven Annäherungssensoren welche hier oft verwendet werden. Habe zwei Drucker gekauft welche dazu unterschliedliche induktive Sensoren verwenden. Die funktionieren nicht mehr wenn die über die Zeit warm werden, und bei intensiver Nutzung eines Druckers ist das vorprogrammiert. Wenn dann das ABL bei einem direkt folgenden Druckjob abläuft, knallte mir der Druckkopf bei beiden (total unterschiedlichen) Druckern und Sensoren desswegen ins Bett rein. Aber das ist ein total andere Geschichte, und mir wäre es recht wenn jetzt nicht eine ABL Diskussion losgetreten wird. smiling smiley Würde mich noch immer freuen von jemandem zu hören der einen Delta vergleichbarer Grösse mit Marlin und ArduinoMega (8-Bit) gebaut hat..
Re: Marlin oder ArduinoMega -> Rechengenauigkeit Delta?
04. October 2017 03:28
Für andere interessierte welche eventuell auch mal über diese Problematik stolpern:

- Das Problem liegt weder an der Tatsache dass wir "nur" einen 8-Bit Rechner verwenden, noch an der Firmware. Es funktioniert mit den gegebenen Einstellungen genau so wenig mit Repetier. Man kann auch einen grossen Delta mit 8 Bit Elektronik betreiben wenn man nicht schneller als mit ca. 60 - 80 mm/sec drucken will - was meiner bescheidenen Meinung nach so schlecht ja gar nicht ist. smiling smiley

- Auf die Ursache wurde ich im internationalen Teil dieses Forums hingewisen. Offensichtlich ist es so dass DELTA_RADIUS und DELTA_DIAGONAL_ROD (bzw. deren Entsprechnugen in anderen Firmware varianten) einander so beinflussen, dass es Kombinationen gibt welche zu genau dem beschriebenen Effekt führen. Ich habe eine passende digitale Schieblehre organisiert und die Deltastangen nochmals genau gemessen, diesen Wert als DELTA_DIAGONAL_ROD verwendet und dann DELTA_RADIUS so lange modifiziert wie notwendig war. Die Ergebnisse sind nun viel viel besser.

Danke an alle die hier beigetragen haben!

Markus
Re: Marlin oder ArduinoMega -> Rechengenauigkeit Delta?
04. October 2017 12:16
drei mal Krumm ist einmal grade :-)
bei 8 bit hast du 7 stellen hinter dem Komma und bei unsignINT64 Bit variablen ein wenig mehr (32 bit bei repetier-firmware zumindest) ;-).
Das heisst um so flacher der Winkel (also am Rand) desto gröser die Abweichung und das ausserdem leider nicht linear.
Vielleicht bei "kleineren" steps per mm grade so OK / bei mehr Genauigkeit wird es dann eng und der Drucker fängt an zu stottern. Oder sehr Langsam drucken ... Ist eben so.

Wenn du das gefixt hast, alles gut.
Alternativ einfach den Durchmesser des Druckbereiches verkleinern (auch Logisch).

Hier mal ein Foto von meinen Spindeldelta, den ich mit G30 (3 Wiederholungen) in D140mm (Druckbereich D160x370mm wegen Umhausung) mit einem Omrin Induktiven NSchalter abgetastet habe.


wegen Thermocouple:
[doku.radds.org]

oder so:
[doku.radds.org]

Gruss
Angelo


Mein Club: [hackerspace-ffm.de]
RADDS-Shield -> Commercial [max3dshop.org]
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen