Seite 3 von 9

Re: Bugs in Firmware RF.01.11 (RF1000)

Verfasst: Mi 17. Feb 2016, 10:56
von Zaldo
RF1000 hat geschrieben: Im Grunde gilt hier das Gleiche wie weiter oben - es gibt Anwender, die mit der von der gewünschten Änderungen umgehen könnten. Andere würden damit leichter Schaden anrichten. Weitere Anwender wollen deinen Vorschlag gar nicht umgesetzt haben (auch hier im Forum, mir ist daher nicht ganz klar für welche Welt du sprichst :-)). Ich werde hier anregen, dass wir auch diesen Vorschlag als FEATURE umsetzen, das aber in unserer Standardsoftware per Default aus ist. Anwender wie du könnten das dann auf eigene Verantwortung hin einschalten.
Ich spreche von denjenigen, die eben auch hier im Forum geäußert haben, dass sie das Verhalten des Z-Schalters weder logisch noch schlüssig finden. Und ohne eine Umfrage starten zu wollen, das waren schon einige. Eure "Workarounds" sind mitunter auch garnicht durchführbar. Einige von euren Bodenfliesen sind derart schepp, dass es garnicht möglich ist, den Abstand des Extruders auf 0,1mm (statt 0,5mm) zu justieren. Du bist mir auch noch immer Die Antwort auf die Fragen schuldig (a) welche Schäden entstehen können, wenn der Drucker den Z-Schalter als Referenz nutzt und den tatsächlichen Abstand dann Anhand des HBS ermittelt, und warum es (b) schlechter wäre wenn die Z Anzeige eben den wahren Abstand zum Bett und nicht den Abstand zum Z-Schalter anzeigen würde.

LG
Holger

Re: Bugs in Firmware RF.01.11 (RF1000)

Verfasst: Mi 17. Feb 2016, 11:06
von JoBo
Ich muss Holger bei b) recht geben. Wenn ich den Eindruck habe, dass der erste Layer mit zu wenig Abstand gedruckt wird und sich das Ritzel ins Filament frisst, würde ich lieber den "wahren" Abstand zum Bett wissen wollen. Der Abstand zur Nullreferenz bringt mir nicht viel. Da ich die Kompensationstabelle nicht auf meiner persönlichen Festplatte gespeichert habe, kann ich auch nicht rückrechnen.

Gruß
Jörg

Re: Bugs in Firmware RF.01.11 (RF1000)

Verfasst: Mi 17. Feb 2016, 11:17
von RF1000
Du hast von der ganzen restlichen Welt gesprochen. Aber so einfach/eindeutig ist die Sache halt leider nicht, ich möchte die Diskussion sachlich halten und da helfen uns solche (falschen) Verallgemeinerungen nicht weiter. Im Grunde ist uns natürlich klar, dass du von jenen Anwendern hier im Forum gesprochen hast, die deiner Meinung sind. Gleichzeitig hast du auch jene auf eine andere Welt übersiedelt, die anderer Meinung sind.
Zaldo hat geschrieben: (a) welche Schäden entstehen können, wenn der Drucker den Z-Schalter als Referenz nutzt und den tatsächlichen Abstand dann Anhand des HBS ermittelt
Genau das macht die Firmware doch - sie ermittelt den Abstand zum Heizbett. Wenn du nun ein G0 Z0 senden könntest und auch noch mit M3006 einen zusätzlichen negativen Offset einstellst, dann würde der Extruder durch das Heizbett wollen. Das könntest du jetzt natürlich auch schon jetzt mit einem entsprechenden M3006 Wert hinbekommen, aber wenn auch G0/G1 Z-Min überfahren kann dann gibt es dafür halt eine Möglichkeit mehr.
Wie schon geschrieben - der Anwender der weiß was er tut kann mit dieser Änderung meistens sinnvoll umgehen, als Defaultverhalten würde ich das aber eher nicht sehen.

Zaldo hat geschrieben: (b) schlechter wäre wenn die Z Anzeige eben den wahren Abstand zum Bett und nicht den Abstand zum Z-Schalter anzeigen würde.
Den wahren Abstand zum Bett kann die Firmware nicht wirklich anzeigen. Sie könnte den berechneten Abstand zum Bett anzeigen. Wenn die Z-Kompensation ein wäre, dann sollte der angezeigte Wert konstant bleiben (außer, er wird über G0/G1/Menü geändert). Wäre die Z-Kompensation aus, dann könnte auch nur ein konstanter Wert angezeigt werden (wieder der über G0/G1/Menü eingestellte), weil bei ausgeschalteter Z-Kompensation ja vielleicht auch gar keine gültige Kompensationsmatrix vorhanden ist. D.h. bei ausgeschalteter Z-Kompensation wäre der angezeigte Wert wiederum nicht der Abstand zum Bett. Oder anders, die Bedeutung des angezeigten Z-Werts wäre unterschiedlich, je nachdem ob die Z-Kompensation gerade ein oder aus ist.
Im Grunde ist diese alternative Z-Anzeige in der Firmware einfach umzusetzen. Die entsprechende Anregung nach deinem bereits etwas älteren Hinweis hat es durch das Produktmanagement aber noch nicht bis in den entsprechenden Änderungsauftrag für die Firmware geschafft. Wobei ich persönlich das Defaultverhalten ja wiederum so lassen würde wie die Z-Anzeige jetzt ist, weil deine alternative eben mal solche und mal solche Werte anzeigen könnte (und es wiederum einen entsprechend versierten Anwender braucht, der weiß was er tut).


mfG
RF1000

Re: Bugs in Firmware RF.01.11 (RF1000) - Z-Endschalter

Verfasst: Mi 17. Feb 2016, 11:22
von rf1k_mjh11
RF1000,

Der mhier hat damit sicherlich einen der Nägel auf den Kopf getroffen:
mhier hat geschrieben:....
...Start-Gcode in meiner slic3r Konfiguration (irgendwo her kopiert...), die als erstes nach dem Homing ein Stück das Bett nach unten fährt (wohl um nicht über die Kante des Betts zu schleifen, falls die hoch steht - eher sinnlos denk ich). Auch wenn das vielleicht unnötig ist, es ist unglaublich schwer zu verstehen für einen Neuling, warum plötzlich die Z-Kompensation nicht mehr funktioniert...
Basierend auf den Aussagen in dem Thread, hier, ist das 'Bett Hinunterfahren', wie es im Start-GCode der Musterdateien praktiziert wird, ein Schuss ins Knie.
Viele der Start-GCodes, die hier zitiert werden, wurden aus den Musterdateien erstellt. Hier ist eine vom Februar 2014 (das Herz):
Start Code, gekürzt
; generated by Slic3r 1.0.0RC2 on 2014-02-17 at 17:01:42
; layer_height = 0.2 ; Hinweis: hat einer 'nur' 100% als Höhe des ersten Layers eingestellt, verschlimmert sich die Situation noch weiter - siehe dazu die vor-vorletzte Zeile!
...
; nozzle_diameter = 0.5
...
; first layer extrusion width = 0.60mm
...
G28 ; home all axes
G1 Z
5 F5000 ; lift nozzle ; hier wird einer der Grundsteine des Problems gelegt
M109 S230 ; wait for extruder temp to be reached
M3001 ; Aktivate Z-Compensation
...
G92 E0 ; start line
G1 F300 E-0.5
G1 X230 Y25 Z
0.35 F5000 ; wird vermutlich nie erreicht, falls der Endschalter laut Anleitung ca. 0.5mm über Bett eingestellt ist.
G1 F800 E8
G1 X20 E25 F1000
; Acceleration up to...
...
; Move Z-axis n-steps up (see manual)
M3004 S0 ; + n-steps bed down // - n-steps bed up!
;--------------------------------------
G90 ; use absolute coordinates
...
M82 ; use absolute distances for extrusion
...
G1 Z
0.300 F15000.000 ; wird vermutlich noch weniger erreicht, falls der Endschalter mehr als 0.3mm Abstand zum Bett hat. Hier hat man offensichtlich 150% als Layerhöhe des ersten Layers eingestellt.
G1 X93.954 Y116.046 F15000.000
....
....
Die Aussage mhiers, dass dabei Neulinge sich damit ziemlich schwer tun, kann ich nicht ganz teilen. Es sind nicht nur Neulinge betroffen. Auch erfahrene Schmelzer, z.B. ich, mit mehr als 2 Jahren Erfahrung auf einem Mendel, können sich hier ziemlich schwer tun! Man beginnt unnötig an Parametern wie Extrusion Multiplier zu schrauben, usw. und verschlimmert damit die Bedingungen des restlichen Drucks, aus Unkenntnis.

Ich starte gleich einen Thread unter Firmware/Tweaks mit einem Vorschlag, wie man das Problem begegnen kann. (Oder sollte ich den Beitrag im Development-Branch unterbringen, jetzt, wo ich vom Rang 'Student des 3D Drucks' in den Rang 'Developer' gehievt worden bin? :ohmy: )

mjh11

Re: Bugs in Firmware RF.01.11 (RF1000)

Verfasst: Mi 17. Feb 2016, 11:33
von JoBo
@RF1000
...Sie könnte den berechneten Abstand zum Bett anzeigen....
OK, hast recht. Wäre aber für den Fall oben besser, da ich mich selber überprüfen könnte. Man hat ja auch seine Qulitäten als DAU. :zwinkern:
Wenn ihr daran geht, wäre ein Indikator nicht schlecht, der Anzeigt, ob die Kompensation ein- oder ausgeschaltet ist.

@mjh
Den Dev hättest du dir selber geben können... :grins:

Re: Bugs in Firmware RF.01.11 (RF1000)

Verfasst: Mi 17. Feb 2016, 12:04
von Zaldo
RF1000 hat geschrieben:Du hast von der ganzen restlichen Welt gesprochen. Aber so einfach/eindeutig ist die Sache halt leider nicht, ich möchte die Diskussion sachlich halten und da helfen uns solche (falschen) Verallgemeinerungen nicht weiter. Im Grunde ist uns natürlich klar, dass du von jenen Anwendern hier im Forum gesprochen hast, die deiner Meinung sind. Gleichzeitig hast du auch jene auf eine andere Welt übersiedelt, die anderer Meinung sind.
Wie gesagt, ich wollte keine Abstimmung einberufen. Das dieser "Endschalter" im Sinne des Maschinenbaus kein "End"schalter ist, bedarf zudem auch nicht unbedingt einer öffentlichen Bestätigung.
RF1000 hat geschrieben: Genau das macht die Firmware doch - sie ermittelt den Abstand zum Heizbett. Wenn du nun ein G0 Z0 senden könntest und auch noch mit M3006 einen zusätzlichen negativen Offset einstellst, dann würde der Extruder durch das Heizbett wollen. Das könntest du jetzt natürlich auch schon jetzt mit einem entsprechenden M3006 Wert hinbekommen, aber wenn auch G0/G1 Z-Min überfahren kann dann gibt es dafür halt eine Möglichkeit mehr.
Genau das macht die Firmware nicht wirklich, sie lässt das überfahren des Referenzschalters (es wiederstrebt mir zu schreiben das man einen ENDschalter überfahren kann) eben nur ein einziges mal zu, und das ist Unsinn, denn auch da könnte ich mit einem negativen M3006 Offset bereits in das Bett fahren. Ich glaube wir beide haben einfach ein grundsätzlich unterschiedliches Verständnis der Programmlogik dahinter.

Wenn der Z Schalter korrekt als Referenzschalter genutzt werden würde, und der Drucker (bei aktivierter Z-Kompensation) den gemessenen Abstand bei der Z Positionierung berücksichtigen würde (und zwar bei jedem G0/G1 Befehl und nicht nur beim ersten) würde er nichts anderes machen, wie wenn ich mit einer Heiden Arbeit den Z Abstand möglichst klein stellen würde (sofern die Bettebenheit dies zulässt), mit einer Fühlerlehre den tatsächlichen Abstand messen würde, die Differenz ausrechnen würde und die per M3006 mitgeben würde (Hier sehe ich ein viel größeres Potential für Fehler und Schäden!).

Grundsätzlich sollte man letztlich sicherstellen, dass kein Fahrbefehl auf eine Position < Z=0 ausgeführt werden kann (unter der Berücksichtigung dass Z=0 der Referentzschalterposition plus dem per HBS ermittelten Wert entspricht, alse den wahren Nullpunkt wiedergibt). Alternativ könnte man zusätzlich einen (per FW setzbaren) Margin von 0,05mm (Minimale Layerhöhe) vorgeben. Der Extruder könnte dann bei eingeschalteter Kompensation wiederholbar bis maximal 0,05mm tatsächlicher Abstand zum Bett gefahren werden. Da sehe ich selbst bei grober Fehlbedienung keine Beschädigungsgefahr, selbst wenn der mechanische Abstand zu gering eingestellt wurde.

Daraus würde folgen: Würde der Drucker so arbeiten, könnte man einen per M3006 gesetzten Z Offset (bei aktivierter Kompensation) grundsätzlich ignorieren. Möchte man bei korrekt bemessenem Abstand trotzdem einen Offset verwenden, bietet jeder Slicer dafür die Möglichkeit. Und zeigt die Z Anzeige am Ende auch den Korrekten Abstand an, könnte man auch prüfen und sich darauf verlassen, ob der Drucker auf der gewünschten Höhe druckt.

M3006 macht eigentlich nur bei ausgeschalteter Kompensation einen Sinn, gerade da funktioniert sie aber eben nicht. Bei ausgeschalteter Kompensation müsste man den Z Endpunkt dann tatsächlich mit dem Schaltpunkt des Schalters gleichsetzen und den tatsächlichen Abstand auf Referenzschalter +0,5mm definieren, da hier ja keine HBS Werte berücksichtigt werden. Hier sollte dann der minimal anfahrbare Abstand (der auch mit M3006 nicht unterschritten werden kann) dem mechanischen Grundabstand (0,5mm) entsprechen, denn dort befindet sich der Extruder rechnerisch auf dem Bett. Ebenfalls kann man sich hier einen einstellbaren Margin vorstellen. Klar, das Bett ist uneben, und diese Annahme nur bedingt wahr, jedoch gibt es genau dafür ja die Möglichkeit die Kompensation zu verwenden. Dass das erste Layer ohne Kompensation ungenauer ist, liegt in der Natur der Sache.

Ich glaube so wäre es zumindest dem recht ähnlich, wie ein Maschinenbaustudent es erwarten würde.

RF1000 hat geschrieben: Den wahren Abstand zum Bett kann die Firmware nicht wirklich anzeigen. Sie könnte den berechneten Abstand zum Bett anzeigen.
Genau das sage ich doch die ganze Zeit. Referenzschalter Nullpunkt + HBS Abstand
RF1000 hat geschrieben: Wäre die Z-Kompensation aus
würde die Formel lauten: Referenzschlter Nullpukt + 0,5 + M3006 Offset. Das ergebnis wäre wiederum der tatsächliche Abstand (zu der Position an der man den mechanischen Abgleich auf 0,5mm vorgenommen hat). Das die Z Anzeige bei ausgeschalteter Kompensation nicht an allen Stellen des Betts den tatsächlichen Abstand exakt anzeigen kann liegt wiederum in der Natur der Sache.
RF1000 hat geschrieben: Oder anders, die Bedeutung des angezeigten Z-Werts wäre unterschiedlich, je nachdem ob die Z-Kompensation gerade ein oder aus ist.
Das stimmt nur bedingt. Der angezeigte (wahre) Z Wert stimmt nur genau an der Stelle, an der man den mechanischen Abgleich auf 0,5mm gemacht hat, da Unebenheiten eben nicht berücksichtigt werden. Darin sehe ich aber keine Verschlechterung.

Vielleicht können wir im Rahmen des Brainstormings ja doch noch irgendeine Verbesserung hierzu beiführen. Klar, der der seinen Drucker schon ewig hat, der hat mittlerweile gelernt mit den Unwägbarkeiten umzugehen, umständlich ist es allemal. Aber ich lese hier doch immer wieder, dass gerade Neulinge das Z=0 Verhalten nicht nachvollziehen können, selbst (oder gerade wenn) sie aus dem Fach kommen.

LG
Holger

Re: Bugs in Firmware RF.01.11 (RF1000)

Verfasst: Mi 17. Feb 2016, 12:31
von mhier
RF1000 hat geschrieben:Ja, sobald die Stepper ausgeschalten werden ist die Home-Position unbekannt. Wenn die Stepper ausgeschalten sind können sie bewegt werden, die Annahme, dass die Schrittposition vor dem Ausschalten identisch zur Schrittposition nach dem Einschalten wäre ist nicht (und in keiner Richtung) zulässig.
Das stimmt für X und Y, in Z kann ich den Tisch aber auch bei ausgeschalteten Steppern nicht von Hand bewegen .
Beim unteren Endschalter ist der Anschlag während dem Knattern nicht der Schalter, sondern die Schraubenköpfe der Schrauben, mit welchen der untere Z-Endschalter montiert ist. Und diese Schraubenköpfe halten das aus, genauso wie der knatternde Motor.
Das stimmt vielleicht, wenn das mal passiert. Ersetzt ihr mir bedingungslos auch in mehreren Jahren noch die Spindeln, wenn sich dadurch irgendwann die Madenschrauben einer der Antriebsritzel gelöst haben und der Tisch dann einfach einseitig weiterfährt und sich alles verkeilt? Oder hält das das auch alles aus? Sorry, ich halte das weiterhin für keine gute Idee. Außer ihr wollt wirklich diese Garantien geben... Dann aber bitte auch lebenslang!
Ich stimme dir bedingt zu. Ja, es gibt Anwender wie dich und mich, die das richtig verwenden könnten. Andere Anwender würden damit auch mal in die falsche Richtung fahren und erst recht alles zertrümmern. Diese Anwender würden dann nicht dich für diese Möglichkeit loben sondern uns dafür beschimpfen :-)
Ich werde hier anregen, dass wir deinen Vorschlag als FEATURE umsetzen, das aber in unserer Standardsoftware per Default aus ist. Anwender wie du könnten das dann auf eigene Verantwortung hin einschalten.
Mit der gegenwärtigen Umsetzung habe ich mir bereits den oberen Endschalter zerschossen. Wer mit den Cursortasten nicht umgehen kann, wird früher oder später auch mal die Düse ins Heizbett fahren. Sowas muss man bei diesem Drucker halt hinbekommen. Viel schlimmer ist doch, wenn die Firmware etwas falsch macht und ich habe einfach keine Chance einzugreifen. Aber wenn das eine Option ist, die ich in der Konfiguration wählen kann, soll das in Ordnung für mich sein. Ich gebe nur zu bedenken, dass die aktuelle Lösung auch nicht massentauglich ist.
Warum kann man die Bürse nicht so anbringen, dass sie auf z.B. Z=1 oder Z=5 steht?
Das war ein Beispiel... Es ist schlicht ein Bug, wenn der G-Code nicht macht, was er soll. Bitte keine Ausreden!


PS: Was die Anzeige anzeigt, ist ein ganz anderes Thema. Die kann natürlich nicht den wahren Abstand zum Bett anzeigen, wohl aber den vor Z-Korrektur (also im gleichen Koordinantensystem wie die G-Codes). Das lässt sich sicherlich auch umschaltbar machen, z.B. könnte man einen neuen Bildschirm hinzufügen, den man über die Cursor-Tasten erreichen kann.

Re: Bugs in Firmware RF.01.11 (RF1000)

Verfasst: Do 18. Feb 2016, 16:42
von Zaldo
mhier hat geschrieben: PS: Was die Anzeige anzeigt, ist ein ganz anderes Thema. Die kann natürlich nicht den wahren Abstand zum Bett anzeigen, wohl aber den vor Z-Korrektur (also im gleichen Koordinantensystem wie die G-Codes). Das lässt sich sicherlich auch umschaltbar machen, z.B. könnte man einen neuen Bildschirm hinzufügen, den man über die Cursor-Tasten erreichen kann.
Das könnte sie schon. Bei aktivierter Z-Kompensation und durchgeführten HBS ist der Abstand [an den Scanpunkten] zwischen Extruder und Bett sehr genau bekannt [dazwischen wird interpoliert]. Diesen Abstand müsste man nur zur Variable welche den Z Wert für die Displayausgabe enthält, dazuaddieren.

Selbstgverständlich wäre aber auch ein "Nullstellknopf" denkbar, oder ein G-Code Befehl der einfach einen Anzeigeoffset setzt. Damit könnte letztlich jeder die Anzeige so manipulieren, wie es seinen persönlichen Bedürfnissen am besten in den Kram passt.

Re: Bugs in Firmware RF.01.11 (RF1000)

Verfasst: Do 18. Feb 2016, 16:46
von Zaldo
Vielleicht kann mir ja auch jemand sagen, in welchem Modul die Displayausgabe erfolgt, zur not tu ich mir den Offset (der ja im wesentlichen vom mechanischen Abgleich abhängt und daher weitgehend konstant ist) hardcoden.

Re: Bugs in Firmware RF.01.11 (RF1000)

Verfasst: Do 18. Feb 2016, 18:18
von rf1k_mjh11
mhier,
mhier hat geschrieben:
RF1000 hat geschrieben:Ja, sobald die Stepper ausgeschalten werden ist die Home-Position unbekannt.....
Das stimmt für X und Y, in Z kann ich den Tisch aber auch bei ausgeschalteten Steppern nicht von Hand bewegen.
Tut mir Leid, aber man kann die Z-Koordinate von Hand verstellen, wenn man will. Üblicherweise macht man das nur im Notfall oder unter ungewöhnlichen Bedingungen. Dazu muss man nicht einmal in den Riemen greifen. Es gibt sogar hier im Forum eine 'Bildanleitung' dazu.
ABER das ist gar nicht der springende Punkt. Ist der Motor einmal stromlos und bekommt wieder Strom, springt der Rotor zum nächstgelegenen Halb- oder Ganzschritt. Das macht dann bis zu 0.00625mm Höhenunterschied aus (0.0125 durch 2). Ist nicht die Welt, aber Theorie ist Theorie. Dieser Sprung kann in die eine oder andere Richtung stattfinden.
mjh11