Seite 8 von 8

Re: Neue Development Firmware (RF.01.31)

Verfasst: Do 1. Dez 2016, 17:02
von RF1000
Hallo Megaastro,


die Firmware muss mit Arduino V 1.6.5 kompiliert werden. Ich nehme an, dass du es mit einer anderen Version versucht hast, korrekt?


mfG
RF1000

Re: Neue Development Firmware (RF.01.31)

Verfasst: Do 1. Dez 2016, 17:07
von Megaastro
RF1000 hat geschrieben:Hallo Megaastro,


die Firmware muss mit Arduino V 1.6.5 kompiliert werden. Ich nehme an, dass du es mit einer anderen Version versucht hast, korrekt?


mfG
RF1000

ja mit einer höheren 1.6.12

Re: Neue Development Firmware (RF.01.31)

Verfasst: Fr 2. Dez 2016, 09:57
von Megaastro
Hallo RF1000

ich habe mir inzwischen Arduino 1.6.5 von der Arduino website heruntergeladen und installiert. Die Version 1.6.12 habe ich vorher deinstaliert
Ich kann jedoch das Programm nicht starten. Es stürzt sofort ab.

Warum?

Gruß Megaastro

Re: Neue Development Firmware (RF.01.31)

Verfasst: Fr 2. Dez 2016, 10:38
von Nibbels
Also es funktioniert (mit Windows 10) definitiv. Gibts keinen Zweitrechner, Windowstablet, Laptop im Haus?`

LG

Re: Neue Development Firmware (RF.01.31)

Verfasst: Mo 29. Mai 2017, 16:47
von Nibbels
RF1000 hat geschrieben: Die Z-Kompensation prüft, ob die aktuelle Position (= nCurrentPositionSteps[Z_AXIS], also die tatsächlich gefahrenen Schritte in Z-Richtung) auf 0 steht. Wenn du von Z=5 mm auf Z=0 mm fährst wird die aktuelle Position am Ende 0 erreichen. Bis dahin läuft die Z-Kompensation, wenn Z=0 erreicht worden ist, eben nicht mehr.
Uns ist bisher kein Scenario bekannt, bei dem man für das Drucken zuerst das Homing macht, dann auf Z=5 fährt und anschließend auf Z=0. Zuerst Homing, dann Z=5 und anschließend Z=0.01 kann natürlich sein, und das führt ja auch exakt zur gewünschten Layerhöhe von 0,01 mm.
Altes Thema, aber wenn die Diskussion von hier ist, antworte ich auch hier.
RF1000 hat geschrieben: Scenario
Wenn man sein Heizbett so eingestellt hat, dass es Stellen des Heizbettes über 0 gibt. Also Flächen, Bergspitzen, höher liegen, als Z=0=Schalter.
Und dementsprechend in der Matrix Werte größer 0 (wollten wir immer durch die Z-Schraube vermeiden -> Justierung auf -0.3 bis -0.5/-0.6) stehen, dann ist das Verhalten bei G1 Z0 in der aktuellen Form schädlich.

Nehmen wir mal an, ein Nutzer klebt auf sein Heizbett eine DDP mit 0.5mm Stärke und würde es schaffen, seinen Heizbett Scan durchzuführen. Die Z-Schraube wurde aber nicht verändert.

Frisch gehomed:
Sendet man ein G1 Z0, würde garnichts passieren. Anfangs ist Z automatisch = 0.
Wenn die Z-Compensation in so einem Fall aktiv ist, würde sie sofort, wenn ein G1 Z0.01 beim Drucker ankommt, das zu hohe Heizbett absenken, quasi um max. 0.51mm [DDP+0.01], sodass der höchste Punkt der Matrix als Null-Fläche angenommen wird. Gut.
Denn der Drucker weiß, er ist gehomed,
der Drucker korrigiert das,
er fängt von der neuen höchsten Z-Koordinate an, die restlichen Unebenheiten nach unten zu korrigieren.


Würde man über das Heizbett fahren und G1 Z0 wählen, stoppt die Z-Kompensation und fährt ins Heizbett rein, weil es höher liegt als das alte unkompensierte Z=0=Schalter.
Erklärung
g_offsetZCompensationSteps
stellt die höchste Bergspitze der Matrix dar. Um diesen Wert wird das Gesamte Druckobjekt verschoben, wenn ich das korrekt verstanden habe, aber nur(!) wenn die Z-Kompensation arbeitet.
Sinnvoller finde ich also in diesem Fall, dass man im Fall dass die Z-Kompensation aktiv ist, immer das Matrix-interne Offset g_offsetZCompensationSteps beachtet und man zusätzlich bei G1 Z0 z.B. +0.01 dazuaddiert, um nicht null-auf-null mit dem Heizbett zu sein.
Cooler Nebeneffekt: Sobald ich G28-home und M3001 zur Aktivierung der Z-Kompensation absetze fährt der Drucker sofort in die korrekte Position. Auch wenn in dem Moment noch Z = 0 ist.
:coolbubble:

Es liegt nahe zu argumentieren, das "ist doch total bescheuert, der Nutzer soll den Drucker korrekt einstellen und die Z-Schraube justieren":
Ich kam da drauf, weil ich einen Z-Offset-Scan aus einer Höhe von ~+5mm Höhe getestet habe.
Ich habe die Starthöhe des Z-Offset-Scans verändert und ein paar gutgemeinte Limits ausgehebelt. (über +12,8mm darf man nicht wegen Overflowgefahr)
Und es hat funktioniert!

Wenn man in so einer Höhe anfängt zu messen könnte man Glasplatten einfach mit messen, sodass immer wenn die Düse dran vorbeifährt einfach das Heizbett abgesenkt wird, sodass man diese niemals streift.
Nur mit der deaktivierung der Z-Kompensation nicht, wenn man Z = 0 fordert oder nach dem Homing bei Z = 0 bleibt. Dann könnte man crashen.

Das System kommt in dieser Form der Idee von AtlonXP vor ein paar Monaten ziemlich nahe ;)

LG

Re: Neue Development Firmware (RF.01.31)

Verfasst: Mo 29. Mai 2017, 18:01
von AtlonXP
Hallo Nibbels,

ja genau lechts! :clapping: :clapping: :clapping:
Leider gibt es hier in dieser Rubrik keinen Daumen hoch. :weinen:
Das ist genau das was ich brauche und suche.

Mit dem ins Minus fahren ist zwar irritierend, aber man muss die FW nehmen wie sie kommt. :coolbubble:

Jetzt rentiert es sich am RF1000, eine Lichtschranke anstatt dem Schalter nachzurüsten. :-)

LG AtlonXP

Re: Neue Development Firmware (RF.01.31)

Verfasst: Di 30. Mai 2017, 08:38
von RF1000
Hallo Nibbels,


wenn ich dein Szenario richtig verstehe dann würde die Extruder-Spitze nach einem Z-Homing und ohne Z-Kompensation bei Bewegungen in X- und/oder Y-Richtung potenziell gegen das Bett/die zusätzliche DD-/Glasplatte schrammen können, korrekt?

Bisher ist die Philosophie, dass der Z-Schalter vom Anwender so eingestellt werden muss, dass der Extruder das Bett nach dem Z-Homing nicht berühren kann.

Bei aktiver Z-Kompensation und korrekter Z-Matrix könnte man theoretisch auch eine ungenauere Einstellung vom Z-Schalter abfangen ... ich denke aber schon, dass man als Anwender dieses Szenario (= Extruder kann gegen das Heizbett fahren) mit der mechanischen Einstellungen verhindern sollte/muss.


mfG
RF1000

Re: Neue Development Firmware (RF.01.31)

Verfasst: Di 30. Mai 2017, 09:24
von Nibbels
RF1000 hat geschrieben:Hallo Nibbels,


wenn ich dein Szenario richtig verstehe dann würde die Extruder-Spitze nach einem Z-Homing und ohne Z-Kompensation bei Bewegungen in X- und/oder Y-Richtung potenziell gegen das Bett/die zusätzliche DD-/Glasplatte schrammen können, korrekt?

Bisher ist die Philosophie, dass der Z-Schalter vom Anwender so eingestellt werden muss, dass der Extruder das Bett nach dem Z-Homing nicht berühren kann.

Bei aktiver Z-Kompensation und korrekter Z-Matrix könnte man theoretisch auch eine ungenauere Einstellung vom Z-Schalter abfangen ... ich denke aber schon, dass man als Anwender dieses Szenario (= Extruder kann gegen das Heizbett fahren) mit der mechanischen Einstellungen verhindern sollte/muss.


mfG
RF1000
Genau. Soweit..

Es ist aber nicht gesagt, dass die Extruder-Spitze ohne Homing den Rand erwischt. Das kommt im Grenzfall auf die Welligkeit des Bettes an.
In meinem provozierten Extremfall: Ja.
Der HBS ist soweit ich weiß "offen" dass er minimale Plus-Einträge in der Matrix erlaubt.
Steht die Spitze über einem solchen Plus-Wert und schaltet man an diesem Ort auf Z=0 fährt die Düse um den Wert in das Heizbett den die Matrix als plus-Millimeter angibt. (Annahme: Aktuelle Temperatur stimmt mit der HBS-Temperatur überein)
Natürlich könnte der Plus-Wert auch vorne Links am Heizbett sein, dann würde die Düse jedesmal ein wenig crashen, wenn man korrekt und unwissend den HBS ausgeführt hat und nach dem Homing in X und Y verfährt.
Trotz aktiver Z-Kompensation. Trotz Scan PLA/ABS. (Wenn ich mich nicht irre.)
  • Der Fix wäre, dass der Wert Z < 0 als G-Code verboten sein könnte, aber dass die Z-Kompensation Z = 0 nicht vergessen darf, wo das Grundlevel der Z-Kompensation anfängt.
    Alt: nNeededZCompensation = g_staticZSteps;
    Neu: nNeededZCompensation = g_offsetZCompensationSteps + g_staticZSteps //+ (long)(0.01 * Printer::axisStepsPerMM[Z_AXIS]);
  • Man könnte auch direkt beim IF Z > 0 ansetzen und dort den Fall konstruieren, dass jeder G-Code unter Z = 0.01 ein Offset von 0.01 bekommt.
  • Oder man müsste den HBS abbrechen, sobald ein Matrix-Wert positiv wird. Dann hätte man das Szenario in dem der Kunde zwingend unter 0 bleiben muss. (Was ich immer vertreten habe, aber da man immer mit Homing und Z-Kompensation druckt im Grunde nicht unbedingt sein müsste.) -> Temperaturabhängig/Grenzfall.
  • Wenn man bei Z = 0 immer grundsätzlich ein Offset von einem Millimeter einführt, würde das auch gehen. Es wäre sogar praktisch, denn dann würde nach dem Homing die Düse automatisch knapp 1mm über das Heizbett angehoben und beim Druckstart schräg von oben auf die Platte zufahren. Viele machen das mit ihren GCodes, wie ich gesehen habe. Typisch: Homing -> Z-Kompensation -> "Lift Z 5mm" -> Startmade
LG