Seite 2 von 3

Re: Firmwareänderung Stop ZMinEndschalter

Verfasst: Mo 14. Dez 2015, 09:03
von rf1k_mjh11
shaddi,

Gar nicht so dumm. Bloß wird das Homing ein wenig zeitaufwendiger, da das Bett immer ganz nach unten fahren muss, um danach wieder 245mm nach oben. Aber es stimmt, die Probleme mit zwei Endschalter in einem Schaltkreis wären damit dahin.

Beim Hinunterfahren, zum Endschalter hin, kann der Motor gefahrlos 'volle Pulle' fahren. Eventuell verlorene Schritte machen nichts. Nur beim Hochfahren sollte etwas gemächlicher gefahren werden - verlorene Schritte führen zu einen ungewollt größeren Abstand zwischen Düse und Bett.

Das mit dem Zeitverlust beim Homen wird gar nicht so viele User betreffen. Alle jene, die den OBJECT_OUTPUT_SCRIPT verwenden, haben das Bett am Ende es Drucks sowieso ganz unten stehen. (Ich verwende das nicht, muss dafür ein bisschen warten).
shaddi hat geschrieben: ...man bräuchte nen zweiten RF1000 um mal ein paar Ideen durchzutesten ohne dass man das produktive Ding demontieren muss :P
Einen zweiten Schalter zu montieren heisst nicht, den bestehenden zu entfernen (bloß ab-, bzw. umzustecken). Den unteren Schalter muss man natürlich schon montieren....
Verwendet man einen Umschalter, könnte man getrost testen. Nach dem Umschalten könnte man wieder, ohne Zeitverlust, normal 'arbeiten/drucken'.

mjh11

Re: Firmwareänderung Stop ZMinEndschalter

Verfasst: Mo 14. Dez 2015, 09:22
von shaddi
rf1k_mjh11 hat geschrieben:Einen zweiten Schalter zu montieren heisst nicht, den bestehenden zu entfernen (bloß ab-, bzw. umzustecken). Den unteren Schalter muss man natürlich schon montieren....
Verwendet man einen Umschalter, könnte man getrost testen. Nach dem Umschalten könnte man wieder, ohne Zeitverlust, normal 'arbeiten/drucken'
Ja schon. Aber wenn man dann auch an der Software rum-murkst wirds dann schon wieder nervig :)

Hab gerade mal die config überflogen:

#define Z_HOME_DIR -1
#define min_software_endstop_z false
#define Z_MAX_LENGTH (long)200

Das sollten vermutlich die relevanten Sachen sein. Ich bin mir aber fast sicher, dass man hier mehr fummeln muss, da Z_MAX_LENGTH nur als long definiert sind, wir aber eher float bräuchten.. Oder evtl. in Kombination mit dem HBS-Offset-Wert dann den echten MAX-Wert errechnen..

Re: Firmwareänderung Stop ZMinEndschalter

Verfasst: Mo 14. Dez 2015, 10:24
von rf1k_mjh11
shaddi,

OK hast recht. Den Programmieraufwand habe ich nicht bedacht. Und jedes mal FW umflashen ist doof und zeitaufwändig.

Ich bin nur ein sehr einfacher Programmierer. Die Dampfmaschine unter der Schädeldecke bei mir steht mehr auf folgende Syntax:

Code: Alles auswählen

100 IF A > B GOTO 200
150 B = A - C
155 GOTO 300
200 FORMAT C
Sachen wie Float, INT(Long), Methoden, Objekte, usw. übersteigen meine Fähigkeiten meist. Ich behelfe mich meist mit meinem guten Freund Google, der mir Code-Schnipsel zukommen lässt, die ich irgendwie hineinarbeite (Makroprogrammierung in Excel).

Einen doofen Vorschlag habe ich doch noch: Die Idee vom X4r3, einen eigenen GCode Befehl zu verwenden, der nur diese Variablen angreift? (entsprechender Post). OK, vielleicht bedarf es zweier GCode Befehle, eine zum 'einschalten' und eine zum 'ausschalten'.
Oder geht das gar nicht?

mjh11

Re: Firmwareänderung Stop ZMinEndschalter

Verfasst: Mo 14. Dez 2015, 13:20
von shaddi
Ja, ist sicherlich einfacher umzusetzen, aber die Funktion löst dann trotzdem nicht das der Referenzschalter als Endschalter missbraucht wird.
Ich habe jetzt mal den unteren Endschalter bestellt. Man könnte das zwar recht einfach selber herstellen, aber ich hab einfach keine Lust dafür zu basteln :)

Re: Firmwareänderung Stop ZMinEndschalter

Verfasst: Mo 14. Dez 2015, 14:56
von mhier
Ich glaube ehrlich gesagt auch, dass ihr hier versucht, die Probleme an der falschen Stelle zu lösen. Ich bin noch nicht so lang dabei, habe aber auch sofort die Problematik des Z-End-/Referenzschalters gesehen. Ich will hier nicht über Namen streiten, aber Referenzschalter scheint mir ebenfalls das richtigere Wort :-) Ansonsten sehe ich bisher folgende Teil-Probleme, die jeweils unterschiedliche Lösungen brauchen:
  • Sicherheit: Es ist schwierig, einen echten Endschalter zu bauen, der tatsächlich in allen Lebenslagen verhindert, dass die Düse ins Druckbett fährt und gleichzeitig den Druckbetrieb nicht stört. Was es anscheinend gibt ist eine Firmware-seitige Notabschaltung, sobald die Dehnungsmessstreifen eine zu große Kraft erfahren (-> FEATURE_EMERGENCY_Z_STOP). Ich habe das noch nicht getestet, sollte es nicht funktionieren, müsste man das aber im Prinzip auch relativ leicht selbst einbauen können.
  • Anzeige: Ich denke, es wäre eine kleine Firmware-Änderung wert, dass die Anzeige die Z-Position vor Z-Kalibration anzeigt statt danach. Damit wäre wie zu erwarten bei z=0 die Düse im Kontakt mit dem Heizbett. Das sollte nicht zu schwierig sein, werde ich mir mal bei Gelegenheit ansehen.
  • Reproduzierbarkeit des Referenzpunktes: So wie der Referenzschalter aktuell angebracht ist, verschiebt sich der Referenzpunkt vermutlich relativ leicht um ein kleines bisschen. Hier müsste man wohl am Besten die Hardware verbessern. Ideralerweise sollte der Referenzschalter kraftlos schalten, also eine Lichtschranke, ein Hall-Sensor, oder vielleicht ein Reed-Kontakt. Mit letzterem habe ich einige Experimente durchgeführt, das scheint gut zu gehen und relativ leicht zu lösen sein, hat aber den Nachteil einer sehr großen Hysterese (-> z-Homing dauert länger). Lichtschranken und Hall-Sensoren brauchen dafür eine Versorgungsspannung (neues Kabel ziehen).
  • Temperatur-Abhängigkeit der Z-Kalibration: Es ist klar, dass sich v.a. der Extruder ausdehnt, wenn er warm wird. Im Moment müsste man eigentlich die Z-Kalibration jedes Mal durchführen, wenn man das Material wechselt. Vielleicht könnte man die Firmware ändern, so dass für verschiedene Temperaturen verschiedene Kalibrationen existieren können, zwischen denen dann interpoliert wird? Weiß jemand, ob die Keramik-Platte sich auch noch stark verzieht zwischen PLA und ABS-Temperaturen, oder ob man das vernachlässigen könnte? Lässt sich ja leicht nachmessen sonst... :-)
Evtl. liessen sich die beiden letzten Punkte durch eine simple 1-Punkt-Referenzmessung vor jedem Druck "erschlagen", allerdings seh ich da Probleme mit der Genauigkeit, da dann ja schon Filament im Extruder wäre.

Hab ich noch was vergessen? (Ich verwende übrigens die Development-Firmware...)

Re: Firmwareänderung Stop ZMinEndschalter

Verfasst: Mo 14. Dez 2015, 15:44
von Zaldo
mhier hat geschrieben: [*] Temperatur-Abhängigkeit der Z-Kalibration: Es ist klar, dass sich v.a. der Extruder ausdehnt, wenn er warm wird. Im Moment müsste man eigentlich die Z-Kalibration jedes Mal durchführen, wenn man das Material wechselt. Vielleicht könnte man die Firmware ändern, so dass für verschiedene Temperaturen verschiedene Kalibrationen existieren können, zwischen denen dann interpoliert wird? Weiß jemand, ob die Keramik-Platte sich auch noch stark verzieht zwischen PLA und ABS-Temperaturen, oder ob man das vernachlässigen könnte? Lässt sich ja leicht nachmessen sonst... :-)[/list]
Evtl. liessen sich die beiden letzten Punkte durch eine simple 1-Punkt-Referenzmessung vor jedem Druck "erschlagen", allerdings seh ich da Probleme mit der Genauigkeit, da dann ja schon Filament im Extruder wäre.
Ich habe eine ganze Serie HBS bei verschiedenen Temperaturen zwischen Kalt (27°) und 100° gemacht, die Unterschiede waren marginal. Das muß aber nicht bei jedem so sein. Im allgemeinen haben Keramiken aber einen sehr geringen Wärmeausdehnungskoeffizienten.

Die für mich beste Lösung wäre, vor dem Druckbeginn bei heißem Bett und heißem Extruder eine einzelne Referenzmessung mit den Wiegebalken zu machen, diesen Wert mit dem des HBS von dieser Stelle vergleichen und die Differenz als Offset auf den gesamten HBS anwenden. Eventuell aus dem Extruder ausgetretenes Filament ließe sich mit einer Wischbewegung vorher abstreifen, würde also keinerlei Problem darstelen.

Weniger Ideal aber durchaus praktikabel wäre - wie sich schon mal geschrieben habe - den HBS um eine Einzelmessung mit heißem Extruder zu erweitern. Aus der Differenz lässt sich der Ausdehnungskoeffizient errechnen und linear auf jede Extrudertemperatur berechnen. Vorteil: Garantiert keine Probleme mit geooztem Filament, weil beim HBS keins im Extrzder ist. Nachteil: Weniger genau als die erste Methode.

Die einfachste aber ungenauste Methode wäre alles rein rechnerisch mit dem bekannten Ausdehnungskoeffizienten von Messing (bzw. der genauen, verwendeten Messinglegierung) machen. Vorteil: Geringster Aufwand. Nachteile: Am ungenausten, und Benutzer anderer Extruder gucken in die Röhre.

Die Durchbiegung der Wiegezellen ist übrigens auch linear (Linear-Elastisch). Anhand der technischen Daten könnte man errechnen bei welchem F-Wert die Wiegezellen wie weit nach unten gedrückt werden, und Z automatisch um diesen Wert kompensieren.

Machen könnte Conrad also sehr viel, um die Genauigkeit (und damit die Wertigkeit) und auch die Anwenderfreundlichkeit ganz erheblich nach vorne zu bringen. Warum man trotz aller anderslautenden Meinungen immernoch sagt "Ist doch alles gut so wie es ist" begreife ich auch nicht :dash:

Wenn ich da nur an diese Z-Eieruhr denke. Mir hat bisher noch immer niemand (RF1000) ein konkretes Beispiel genannt, warum es besser ist, wenn die den Abstand zum Referenzschalter anzeigt... :wundern:

Re: Firmwareänderung Stop ZMinEndschalter

Verfasst: Mo 14. Dez 2015, 19:09
von mhier
Ich bin mir nicht sicher, ob eine Messung des Ausdehnungskoeffizienten und anschließende rechnerische Kompensation wirklich schlechter ist. Immerhin könnte man dann mehr als nur eine Messung vornehmen und mitteln, um Messfehler jeglicher Art zu eliminieren. Auslaufendes Filament ist ja nur eine Möglichkeit, die Messung zu versauen. Dreck, der dummerweise genau an der Stelle liegt, wo gemessen wird, eine andere. Dazu kommen noch statistische Messfehler.

Der Vorteil einer Messung kurz vorher wäre, dass Ungenauigkeiten im Referenzschalter egal wären. Die Idee mit dem Abstreifen finde ich gut. Vielleicht solte man das mal ausprobieren.

Was Conrad könnte, ist egal. Die Firmware ist open source ;-)

Re: Firmwareänderung Stop ZMinEndschalter

Verfasst: Mo 14. Dez 2015, 19:39
von Zaldo
Das ist genau die Ungenauigkeit die ich meine. Aber alles wäre besser als der jetzige Zustand. Zum Thema Dreck auf der Druckplatte: Also bevor ich was ausdrucke schaue ich schon dass die sauber ist. Losen Dreck würdest Du zudem beim abstreifen wegschieben.

Ja ich weiß dass die FW open source ist. Nur musst Du erstmal jemanden finden der gut genug programmieren kann (gibts es zweifellos, ich gehöre da jedoch nicht dazu) und sich idealerweise in der Firmware bereits auskennt. Beides träfe auf Conrad ja zu.

Re: Firmwareänderung Stop ZMinEndschalter

Verfasst: Mo 14. Dez 2015, 20:38
von riu
Jep. Das würde gehen. Sogar besser als mit dem Schalter oben. Aber ohne einen mechanischen "Prellbock" der das Druckbett schüzt ist es ein Spiel mit dem Feuer. Wobei den zu justieren dann wohl keinen Spass mehr macht. Aber ich denke es muss einiges an der Hominglogik geöndert werden damit das ganze sicher funktioniert.

Lieben Gruß,
Udo

Re: Firmwareänderung Stop ZMinEndschalter

Verfasst: Mo 14. Dez 2015, 20:42
von Stefan baut Zeug
1) Den Abstand zum Druckbett könnte man sicher darstellen nur was hätte das für einen Sinn ? In höheren Layeren wo die z-Komp aus ist würde die sich die Anzeige dauernd ändern obwohl z nicht verfahren wird. (wünsche ich mir sicher nicht).

2) Eine Abstandsmessung vor jedem Ausdruck macht auf jeden Fall Probleme wenn was rausoozzed.

3) die Konstanten Probleme (temp Ausdehnung) kann man auch via Offset lösen (oder bei der Wunschtemp scannen).

4) Das dynamische Problem Wiegezellen aber nicht, da müsste man abhängig von den aktuellen digits die z-Achse verfahren um einen konstanten Abstand zur Druckplatte zu erhalten. Wenn ich beim Scan ca. 500 digits habe und dann beim Ausdruck aber 4000 dann haben sich die Wiegzellen um ca. 0,04 mm nach unten gebogen sprich ein 0,2 mm Layer wird zu 0,16mm (aus Hafungssicht ja vorteilhaft) .

5) Ad Z-Max Notabschaltung (besser gesagt Stop) funktioniert .. schon getestet.. (braucht aber ein paar Reads == Zeit soviel ich mich errinnern kann ob das einen Schaden zuverlässig verhindern kann ???)

6) Der Z-Endschalter so wie er ist verhindert dass ich niedrigere Z-Werte anfahren kann wenn er ausgelöst hat und das ist auch gut so. Man muss halt den Startupcode richtig machen sprich Home dann Kompensation ein und dann nur mehr Richtung höherer Z-Werte fahren. Darin sehe ich kein Problem. Dafür hat man die höhere Sicherheit dass man nicht in die Platte donnert bei Fehlern.

7) Den einzigen Vorteil für Abtasten vor dem Druck den ich sehe wäre dass ich einen verstellten Endschalter erkennen könnte oder wenn der Endschalter nicht zuverlässig am gleichen Punkt auslößt.

Wie gesagt meiner Ansicht nach solange ich 5) nicht löse werde ich immer einen Offset brauchen egal wann und wie ich scanne oder ich sage halt mir passt das eh.

mfg,
Stefan