Donnerstag, 23. Januar 2014

Achsen des Rostock kalibrieren

Normalerweise werden die Achsen ja über den Riemen, das Riemenrad (Pulley) bzw. dessen Zahnung, das Stepping (1/16 oder 1/8) und die Schritte pro voller Umdrehung des Schrittmotors (üblich 200 bei Spitzenmodellen auch 400) errechnet.
Hierfür gibt es aber auch Onlinerechner wie der von Pruza:
http://calculator.josefprusa.cz/#MotorStuffSPMB

Zunächst habe ich den auch benutzt, wenn man aber nicht mit diesen errechneten Werten auf befriedigende Ergebnisse kommt, dann kann man sie auch einfach durch Probieren anpassen.

Man kann aber diese Berechnungen auch durch Messungen ersetzen, was in diesem Fall zuverlässiger ist, wenn man das Modell noch nie gebaut hat.
Deltabots eignen sich hierfür ganz besonders gut, da alle drei Achsen gleich gebaut sind und die selben Parameter haben.

Zunächst einmal müssen aber die Parallelstäbe möglichst alle gleich lang sein. Hierzu nimmt man eine Lehre und prüft den Abstand der Gelenkköpfe. Sie müssen alle das selben Maß haben (bis auf ca.+- 0.05mm). Die Lehre besteht aus einem einfachen Brett auf dem man zwei Schrauben mit dem Kopf in einem gewünschten Abstand aufklebt.

Dann legt man die Stäbe mitsamt den Kugelgelenken auf diese Messlehre und stellt den Abstand zwischen den Löchern so ein dass alle Stäbe gleich lang sind. Ich hatte die Kugelgelenke nicht geklebt, wie es viele machen, sondern mit Gewinden versehen und auf die Stäbe aufgeschraubt. Durch Drehungen kann man dann die Länge der Stäbe einstellen, wobei man etwas eingeschränkt ist, da die Kugelköpfe ja immer zueinander ausgerichtet sein müssen, sie man also nicht 90° zueinander verdreht verwenden kann.

Um nun zu ermitteln wie groß die Abweichung vom errechneten Wert ist, müssen wir zunächst einmal - nach dem Abstimmen der Parallelstäbe - an den Nullpunkt fahren (Homing).

Von dort aus misst man nun den Abstand der Düse zum Druckbett.

Diese, möglichst genau gemessene Höhe trägt man dann in der Firmware in folgenen Eintrag anstelle von XXX in Millimetern ein:

#define MANUAL_Z_HOME_POS XXX // For delta: Distance between nozzle and print surface after homing.

Bei Nachkommastellen bitte darauf achten, dass diese mit einem Punkt vom Ganzteil getrennt werden!

Nun wird Repetier-Host o.ä. aufgerufen und vom Nullpunkt aus eine Fahrt zum Druckbett durchgeführt. Hierzu gibt man folgenden G-Code ein:

g1 Z0 F2000

F2000 ist eine moderate Beschleunigung man kann sie natürlich auch geringer wählen. In jedem Fall muss der Mauszeiger und somit der Finger auf dem Notausschalter von Repetier-Host ruhen, denn die Düse kann bei dieser Fahrt crashen!

Tut sie das nicht und stoppt die Düse einige Zentimeter vor dem Auftreffen auf die Druckebene, so kann man jetzt damit beginnen, die echten Schritte pro mm durch Annäherung zu ermitteln.

Damit man nicht jedes Mal die Firmware neu hochladen muss, kann man sich diese Daten jedoch auch über das auslesbare EEPROM holen, sie verändern und wieder zurück schreiben. Später sollte man den endgültig ermittelten Wert aber auch in der Firmware eintragen und sie abspeichern, damit die Daten konsistent bleiben.

Für den Fall, dass die Düse des Hotends die Druckebene nicht erreicht hat, muss man den Wert im Repetier-Host erhöhen. Dies sollte man in kleinen Schritten tun und zwar so lange bis die Düse fast die Druckebene erreicht und nur noch ein Blatt Papier zwischen Düse und Druckbett passt.

Wäre die Düse in das Druckbett gecrasht, so muss der Wert verringert werden.

Dann wird eine neue Messfahrt zum Nullpunkt und dann wieder zur Druckebene durchgeführt. Auf diese Weise erhält man dann einen sehr guten Wert für die Auflösung des Antriebes des Deltabots.

Der Eintrag in der Firmware findet sich hier:
#define DEFAULT_AXIS_STEPS_PER_UNIT   {81,81,81,128}  // steps per unit

Kommentare:

  1. Darf ich anfügen das es einfacher ist einen etwas höheren Startwert (zB. + 5mm) für Z zu nehmen und dann bei der ersten Fahrt zB. auf Z 6 fahren. Dann schrittweise bis nach Auge gemessen noch etwa 1mm bleibt und dann mit einem Papierstreifen unter der Düse mit 0.1mm Schritten bis das Papier leicht klemmt. Dann den Wert der bei Z übrig bleibt von Z in der firmware abziehen und das ganze erneut von vorn bis man bei Z 0 das Papier leicht fest hält mit der Düse.
    Liebe Grüsse
    Tim

    AntwortenLöschen
  2. Hallo Tim,
    Du darfst nicht nur deinen Kommentar dazu abgeben - ich bestehe darauf ;-)
    In dem Beitrag ging es mir aber vorrangig um die Ermittlung des Übersetzungsverhältnisses von Riemenrad/Pulley und Riemen und wie man alternativ diesen Wert ermitteln kann. "normalerweise" kann man das ja über das o.g. Tool errechnen. bei mir kam das aber in der Realität nicht hin und es stellte sich die Frage, wie ich trotzdem zu dem Übersetzungsverhältnis komme. Die Einstellung des Düsenabstandes zur Druckoberfläche wäre dann der nächste Schritt, so wie von dir beschrieben.Mittlerweile hat sich ja einiges getan und man kann diese Aufgabe per Autolevelfunktion und einem Sensor am Effektor automatisieren. Was ich im Übrigen jedem Deltadrucke User dringend empfehlen würde, da es sonst eine ewige Frickelei wird..
    Schönen Gruß,
    Marcel

    AntwortenLöschen

Vielen Dank für deinen Beitrag auf meinem 3D Drucker Blog.
Ich kümmere mich um die Freischaltung. Bitte habe Verständnis, wenn es mal ein wenig dauert, da ich dies in meiner Freizeit mache!

Marcel