• Willkommen zur 3D-Druck-Community, einer nichtkommerziellen,
  • werbefreien und privaten Plattform rund um das Thema 3D-Drucken
  • vorrangig im deutschsprachigen Raum. Von User für User.
Hallo, Gast! Anmelden Registrieren


Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Optische Endstops - Kossel einstellen mit M666
#1
Gleich als erstes: Ein einstellbares Druckbett im herkömmlichen Verfahren ist beim Kossel NICHT sinnvoll - im Gegenteil, korrigiert man damit die Abstände zu den Endstops, können sich Fehler addieren und Drucke werden richtig schief. *)

Trotzdem kann man optische Endstops ohne mechanische Einstellmöglichkeit verwenden!
Per Software (M666 x y z) wird in Marlin ein Offsett für die drei Endstopps eingetragen. In der Praxis wirkt sich das so aus, das die Wagen erst auf Endstopp fahren und anschließend um den eingestellten Wert nach unten. Eine Korrektur nach oben ist logischer Weise nicht möglich. Daher können für den Befehl als Parameter ausschließlich negative Werte verwendet werden.


Wie geht das nun?

Als erstes messt Ihr mit einem Winkel nach, ob das Druckbett im rechten Winkel zu den drei Türmen ist. Wen nicht, muss das durch Unterlegen etc. einmalig angepasst werden. (Wer sowieso schon ein einstellbares Druckbett hat, kann das auch darüber einmalig regulieren.)

Nun stellt Ihr in der Fimrware (Malin/configuration.h) in Wert ein, der deutlich oberhalb des Druckbetts liegt - z.b. 260.0 und ladet die hoch.
define MANUAL_Z_HOME_POS 260.0

Nun fahrt Ihr den Druckkopf zunächst in die Home-Position und dann langsam nacheinander an die Punkte

X: x57 y-33 z?
Y: x-57 y-33 z?
Z: x0 y-33 z?

Also im Terminal z.B. G1 x57 y-33 z0 f2000 dann schrittweise nach unten, bis ein Blatt Papier eingeklemmt wird und nun den z-Wert notieren.

Angenommen , das ist Eure Messung (BEISPIEL):

X: z= - 22.3
Y: z= - 21.6
Z: z= - 22.7

Dann nehmt Ihr den kleinsten Zahlenwert und korrigiert MANUAL_Z_HOME_POS entsprechend - also 260 + 21.6 = 281.6
Hochladen, auf Home, und eine neue Messung sollte nun

X: z= - 0.7
Y: z= - 0
Z: z= - 1.1

ergeben. Diese Werte werden nun mit

M666 x-0.7 y0 z-1.1

an den Drucker übertragen. Dann m500 um die Werte in den Speicher zu schreiben. Mit m501 könnte Ihr Euch die gelisteten Werte anzeigen lassen. Jetzt wieder auf Home fahren und Ihr seht, dass sich der Drucker nach Erreichen der Stop-Position "korrigiert" und z.B. den Wagen auf Z um 1.1 mm nach unten auf die neue Position fährt.

Jetzt wiederholt Ihr die Messung - und erhaltet z.B. so was

X: z= - 0.1
Y: z= - 0
Z: z= - 0.3

Diese Werte addiert Ihr zu den ersten und übergebt sie wieder an den Drucker

M666 x-0.8 y0 z-1.4

Nun wieder speichern, home, messen etc. - so lange, bis die 3 Werte identisch sind.

Nun noch auf x0 y0 und dort messen. Habt Ihr hier auch ein "0" so ist alles gut. Andernfalls müsst Ihr den Delta_Radius noch ändern, wie bei der üblichen Kalibrierung.


Getestet mit Marlin 1.0.2-1 mit aktiviertem EEprom (#define EEPROM_SETTINGS).





*) Ich weiß, dass es einige hier im Einsatz haben und dass es sich im Alltag bei denjenigen bewährt hat - aber es setzt einen sehr sauberen Aufbau des Rahmens voraus - oder Ihr hattet einfach Glück Wink
 
Reply to top
#2
Oder sie achten nicht auf wirkliche Winkligkeit. Als figurendrucker auch nicht nötig.

Danke fürs reingraben und teilen. Thumb up
Achtung
Das Bundesministerium für Wissenschaft hat bestätigt -  lesen gefährdet die Dummheit!
Kaum macht man es richtig, funktioniert es. Aber nur weil etwas funktioniert, hat man es nicht zwingend richtig gemacht ...
Wenn man die Natur einer Sache durchschaut hat, werden Dinge berechenbar.
 
Reply to top
#3
Meiner läuft ja ständig und seitem ich ihn eingehaust habe bewegt sich auch nichts mehr.

Trotzdem hat sich das einstellbare Bett bei mir bewährt.
Da mein Drucker ja fast ausschließlich geschlossen betrieben wird, wird er im Inneren schon auch warm. Da bin ich ganz glücklich über das vertsellbare Bett, weil man dann über die Stunden schon die Wärmeausdehnung der Aluprofile merkt und so gut ausgleichen kann. Das ist dann nach jeweis 2 Stunden Betrieb eine viertel Umdrehung aller Schrauben des Betts.
Für den Fall daß mein Drucker nicht so wie ich will steht immer ein großer Hammer als Drohung daneben.... Devil
3D-Druck läßt sich ungefähr so gut erklären wie die Eiweißverlagerung des Maikäfers in der Rechtskurve.... Angel
 
Reply to top
#4
Ändert nichts daran das es Fehler begünstigt. Für technische Teile ist ein einstellbares Bett im Kossel aufgrund der geometrischen Begebenheiten einfach nichts - so bequem es auch sein mag.
Achtung
Das Bundesministerium für Wissenschaft hat bestätigt -  lesen gefährdet die Dummheit!
Kaum macht man es richtig, funktioniert es. Aber nur weil etwas funktioniert, hat man es nicht zwingend richtig gemacht ...
Wenn man die Natur einer Sache durchschaut hat, werden Dinge berechenbar.
 
Reply to top
#5
Hallo Willie42:

erstmal: SUPER für das Tutorial was ich gerade durcharbeite ...
ich habe einen kleinen Fehler gefunden:

Zitat: Dann nehmt Ihr den kleinsten Zahlenwert und korrigiert MANUAL_Z_HOME_POS entsprechend - also 260 + 21.6 = 281.6

Ich glaube du meintest: den größten Wert der drei Werte - weil ja alle negativ sind ....

Danke für deine Erklärung!!!
 
Reply to top
#6
Guten Morgen,

ich habe gestern wieder bis nachts um 2 Uhr gesessen und versuch den Drucker einzustellen.

letztendlich habe ich festgestellt: die Einstellung M666 scheint nix zu ändern.

Als erstes wollte ich Fragen: mit X Y und Z sind doch die einzelnen "Säulen" des Deltas gemeint. Und dabei ist nicht die Y-Säule zwangsläufig diejenige, zu welcher der Druckkopf fährt, wenn man "G1Z0X0Y70" eingibt, SONDERN man muss letztendlich wissen welcher Motor auf dem Board mit wie verkabelt ist (RAMS1.4) - dort sind die Anschlüsse mit X Y und Z benannt, und danach werden dann auch die Säulen bezeichnet. Ist das richtig so?

[Bild: http://www.geeetech.com/wiki/images/thumb/f/f9/%E7%BA%BF%E8%B7%AF%E5%9B%BE.jpg/763px-%E7%BA%BF%E8%B7%AF%E5%9B%BE.jpg]

Wie im Beitrag beschrieben, habe ich die Daten an das EEPROM übermittelt, und auch mit M500 gespeichert und mit M501 kontrolliert. Jedoch tat sich nichts. Um das ganze zu testen habe ich "MANUAL_Z_HOME_POS" ca. 3cm über dem Druckbett eingestellt, um dann mit einem Extremwert: "M666 x0 y0 z-20" zu gucken ob sich überhaupt etwas bewegt. Das machte es aber nicht.

Noch eine Frage hierzu:
Zitat:Nun noch auf x0 y0 und dort messen. Habt Ihr hier auch ein "0" so ist alles gut. Andernfalls müsst Ihr den Delta_Radius noch ändern, wie bei der üblichen Kalibrierung.
Habt ihr hier auch einen Link zu, der erklärt wie man hier die Einstellungen durchführt?
 
Reply to top
#7
Hi,

X,Y,Z bzw. x,y,z ist beim Deta verwirrend ...
Die Großbuchstaben habe ich für Säulen verwendet, so wie sie in der FW bezeichnet sind.
Dabei ist X die vordere linke, Y rechts und Z hinten.

Wenn sich gar nichts tut - was für eine Firmeware (Version) verwendest Du? Obwohl - es gibt in der FW auch einen Parameter, der das Übernehmen der neuen Werte ins Eeprom erlaubt/verhindert ... ich schau mal, ob ich das wieder finde.
Eine erfolgreiche Korrektur - bzw. eine um einen großen Faktor, wir Du es versucht hast, musst Du eigentlich schon sehen, wenn der Drucker in Home zurück fährt: Erst auf Endstop, dann um den korigierten Wert nach unten. Das ist dann das neue Home.

Hier hatte ich für mich notiert, wie ich manuell (mit Stellschrauben) eingestellt habe, darin auch die Korrektur "Delta Radius"
http://www.3d-druck-community.de/thread-9169-page-4.html

Grüße,
Willie


EDIT - gefunden - das musste ich bei mir auskommentiern , bevor die Werte im Eeprom gespeichert wurden. Ich hatte die Firmeware 1.02 aber auch seblst neu zusammengestellt (neue Version + Delta-Abschnitt + Werte aus der Originalen FW).

// EEPROM
// The microcontroller can store settings in the EEPROM, e.g. max velocity...
// M500 - stores parameters in EEPROM
// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily).
// M502 - reverts to the default "factory settings". You still need to store them in EEPROM afterwards if you want to.
//define this to enable EEPROM support
//#define EEPROM_SETTINGS
//to disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
// please keep turned on if you can.
#define EEPROM_CHITCHAT
 
Reply to top
#8
Hallo Willie,

danke für deine Nachricht. Ich habe mir auch gleich deinen Link weiter angesehen um zu verstehen, wie das mit dem Delta-Radius funktioniert.

Mitleiweile habe ich auf einer anderen Webseite auch noch andere Fehlerarten gefunden, und wie diese sich auf die Höhe auswirken.

http://boim.com/DeltaUtil/CalDoc/Calibration.html

Ich glaube bei mir ist es eine Mischung verschiedener Fehler oder ungenaue Angaben in der FW.

Daher möchte ich versuchen genauere und Schnellere Daten zu erfassen - am besten sogar voll automatisch.
Ich will mir selbst ein Autolevel bauen, beschreibe aber in einem anderen Beitrag meinen Aufbau.
Ich würde mich sehr auf deine Unterstützung freuen.

http://www.3d-druck-community.de/thread-13481.html
 
Reply to top
#9
 Der Link auf die Grafiken mit den Auswirkungen der Parameter ist prima - sehr gut verbilldlicht!

Ich habe das Autoleveling ausgebaut - war mit Schalter und zu ungenau. Wenn man einmal eingestellt hat, sollte das für eine lange Zeit reichen. Ein Autoleveling ist meiner Meinung nach nur dann spannend, wenn man den Druck z.B. oft transportiert oder mit unterschielichen Druckbetten arbeitet (seit ich Pertinax drauf habe wird nicht mehr exüerimentiert Smile ). 

Grüßle, Willie
 
Reply to top
  


Möglicherweise verwandte Themen...
Thread Verfasser Replies Views Last Post
Question [Kossel] Bauvolumen Anycubic Kossel mini schwesterstefan 4 365 15.06.2017, 05:31
Last Post: schwesterstefan
  Anycubic Kossel Delta - Fan1 nutzen? avoid 4 395 04.06.2017, 11:55
Last Post: avoid
  China Kossel C18 (gleich dem 3KU Delta) Fuchsi 3 528 05.03.2017, 14:55
Last Post: Fuchsi
  Delta Kossel - Kalibration/Firmware/FRS MBGrille 7 1.631 29.12.2016, 16:14
Last Post: MBGrille
  Marlin für Mini Kossel muvid 23 3.557 30.08.2016, 09:06
Last Post: willie42



Browsing: 1 Gast/Gäste