Klipper mit dem RF1000
-
- Donator
- Beiträge: 141
- Registriert: Mo 13. Nov 2017, 11:12
- Wohnort: Friedberg
- Has thanked: 179 times
- Been thanked: 42 times
Re: Klipper mit dem RF1000
So ich hab jetzt das log mit dem Fehler, es gehen scheinbar bytes verloren wenn ich das richtig versteh.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Rf1000 Bausatz mit allen wichtigen Optimierungen + Umbau auf E3dv6.
Fw1.44.01Mod
Fw1.44.01Mod
-
- Prof. Dr. des 3D-Drucks
- Beiträge: 1672
- Registriert: Fr 11. Sep 2015, 11:37
- Has thanked: 279 times
- Been thanked: 247 times
Re: Klipper mit dem RF1000
Code: Alles auswählen
Traceback (most recent call last):
File "/home/pi/Klipper/klippy/gcode.py", line 177, in _process_commands
handler(gcmd)
File "/home/pi/Klipper/klippy/extras/gcode_move.py", line 135, in cmd_G1
self.move_with_transform(self.last_position, self.speed)
File "/home/pi/Klipper/klippy/extras/z_offset_scan.py", line 74, in move
self.bed_mesh.get_mesh().mesh_offset - self.mesh_offset
AttributeError: 'NoneType' object has no attribute 'calc_z'
Gruß, Martin
Klipper Firmware für den RFx000: Klipper für RFx000 | Original-Dokumentation | Diskussion | Wiki mit Installations-Anleitung
(Ich bin in diesem Forum nicht mehr aktiv)
Klipper Firmware für den RFx000: Klipper für RFx000 | Original-Dokumentation | Diskussion | Wiki mit Installations-Anleitung
(Ich bin in diesem Forum nicht mehr aktiv)
-
- Donator
- Beiträge: 141
- Registriert: Mo 13. Nov 2017, 11:12
- Wohnort: Friedberg
- Has thanked: 179 times
- Been thanked: 42 times
Re: Klipper mit dem RF1000
In der Fräs konfig nicht, aber wenn ich das erste mal mit der printer konfig starte und dann auf die Fräs konfig wechsle geht alles, auch nach einen Neustart mit der Fräs konfig.
Wie ist das wenn man noch nie einen scan gemacht hat?
Und die Meldungen invalid bytes kommt erst danach wo der mcu bereits weg ist oder?
Die eigentliche Fehlermeldung dürfte ich überblättert haben.
Ohne z_offset modul funktioniert es.
Wie ist das wenn man noch nie einen scan gemacht hat?
Und die Meldungen invalid bytes kommt erst danach wo der mcu bereits weg ist oder?
Die eigentliche Fehlermeldung dürfte ich überblättert haben.
Ohne z_offset modul funktioniert es.
Rf1000 Bausatz mit allen wichtigen Optimierungen + Umbau auf E3dv6.
Fw1.44.01Mod
Fw1.44.01Mod
-
- Prof. Dr. des 3D-Drucks
- Beiträge: 1672
- Registriert: Fr 11. Sep 2015, 11:37
- Has thanked: 279 times
- Been thanked: 247 times
Re: Klipper mit dem RF1000
Ich denk mal, das ist ein Bugnikibalboa hat geschrieben:Wie ist das wenn man noch nie einen scan gemacht hat?
Schau ich mir demnächst mal an. Ich komme leider im Moment nur sehr mühsam vorwärts, sorry...
Gruß, Martin
Klipper Firmware für den RFx000: Klipper für RFx000 | Original-Dokumentation | Diskussion | Wiki mit Installations-Anleitung
(Ich bin in diesem Forum nicht mehr aktiv)
Klipper Firmware für den RFx000: Klipper für RFx000 | Original-Dokumentation | Diskussion | Wiki mit Installations-Anleitung
(Ich bin in diesem Forum nicht mehr aktiv)
-
- Prof. Dr. des 3D-Drucks
- Beiträge: 1672
- Registriert: Fr 11. Sep 2015, 11:37
- Has thanked: 279 times
- Been thanked: 247 times
Re: Klipper mit dem RF1000
Ich habe mir den Bug zwar noch nicht ansehen können, aber immerhin mal auf die aktuelle Klipper upstream Version geupdated. Die scheint aber eine neue MCU-Firmware zu erfordern (also auf dem Drucker-Mainboard), also bitte nach Update einmal neu flashen:
(/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0 durch den richtigen USB-Port ersetzen wie in der Config eingetragen.)
Nachtrag bezgl. dem Z-Offset-Scan: Nach der Diskussion auf Github mit dem Autor von Klipper werde ich den Befehl in zwei Teile zerlegen und in die load-cell-probe integrieren. Der Hintergrund ist, dass es die Funktionalitäten für andere Probes (BL-Touch etc.) in Klipper bereits gibt.
Zum einen gibt es Z_ENDSTOP_CALIBRATE, mit dem man über die manuelle Probe (also z.B. mit einem Blatt Papier und manuellem Bewegen der Z-Achse) den Z-Endstop justieren kann. Das entspricht der häufigsten Anwendung unseres Z-Offset-Scan. Normale Probes können den absoluten Offset ja nicht messen (sondern müssen selbst justiert werden), daher wäre unser Z-Offset-Scan für solche Probes sinnlos. Ich werde also für unsere Probe einen Z_ENDSTOP_CALIBRATE Befehl einführen, der "position_endstop" in der Config für die Z-Achse einstellt.
Die andere Anwendung ist quasi ein Homing-Ersatz, was z.B. bei einem schlechten Z-Endschalter (schlechte Wiederholgenauigkeit) oder zum Fräsen (Werkzeuglängensensor) benutzt werden kann. Das ist für normale Probes so gelöst, dass diese zum Homen genutzt werden können. Das geht wiederum mit unserer Probe nicht direkt, da sie viel zu langsam arbeitet (normale Probes haben einfach einen Schalter). Diese Funktionalität würde ich etwas flexibler dadurch abdecken, dass ich einen Befehl einführen werde, der mit der Probe Z=0 sucht und dann dort stehen bleibt. Anschließend kann man per SET_KINEMATIC_POSITION Z=0 die Position setzen.
Diese Lösung hat den Vorteil, dass sie besser mit dem Rest von Klipper zusammenarbeitet.
Code: Alles auswählen
sudo service klipper stop
make flash FLASH_DEVICE=/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
sudo service klipper start
Nachtrag bezgl. dem Z-Offset-Scan: Nach der Diskussion auf Github mit dem Autor von Klipper werde ich den Befehl in zwei Teile zerlegen und in die load-cell-probe integrieren. Der Hintergrund ist, dass es die Funktionalitäten für andere Probes (BL-Touch etc.) in Klipper bereits gibt.
Zum einen gibt es Z_ENDSTOP_CALIBRATE, mit dem man über die manuelle Probe (also z.B. mit einem Blatt Papier und manuellem Bewegen der Z-Achse) den Z-Endstop justieren kann. Das entspricht der häufigsten Anwendung unseres Z-Offset-Scan. Normale Probes können den absoluten Offset ja nicht messen (sondern müssen selbst justiert werden), daher wäre unser Z-Offset-Scan für solche Probes sinnlos. Ich werde also für unsere Probe einen Z_ENDSTOP_CALIBRATE Befehl einführen, der "position_endstop" in der Config für die Z-Achse einstellt.
Die andere Anwendung ist quasi ein Homing-Ersatz, was z.B. bei einem schlechten Z-Endschalter (schlechte Wiederholgenauigkeit) oder zum Fräsen (Werkzeuglängensensor) benutzt werden kann. Das ist für normale Probes so gelöst, dass diese zum Homen genutzt werden können. Das geht wiederum mit unserer Probe nicht direkt, da sie viel zu langsam arbeitet (normale Probes haben einfach einen Schalter). Diese Funktionalität würde ich etwas flexibler dadurch abdecken, dass ich einen Befehl einführen werde, der mit der Probe Z=0 sucht und dann dort stehen bleibt. Anschließend kann man per SET_KINEMATIC_POSITION Z=0 die Position setzen.
Diese Lösung hat den Vorteil, dass sie besser mit dem Rest von Klipper zusammenarbeitet.
Gruß, Martin
Klipper Firmware für den RFx000: Klipper für RFx000 | Original-Dokumentation | Diskussion | Wiki mit Installations-Anleitung
(Ich bin in diesem Forum nicht mehr aktiv)
Klipper Firmware für den RFx000: Klipper für RFx000 | Original-Dokumentation | Diskussion | Wiki mit Installations-Anleitung
(Ich bin in diesem Forum nicht mehr aktiv)
-
- Prof. Dr. des 3D-Drucks
- Beiträge: 1672
- Registriert: Fr 11. Sep 2015, 11:37
- Has thanked: 279 times
- Been thanked: 247 times
Re: Klipper mit dem RF1000
So, ich habe endlich mal eine erste Version des Kanten Antastens fertiggestellt. Dokumentation ist hier zu finden:
wiki/index.php/Klipper_GCodes#G-Codes_f ... 4s-Betrieb
Das Ganze ist noch nicht gut getestet. Vieles ist aber deutlich einfacher zu implementieren als in der Repetier-Firmware (man kann halt ohne Bedenken größere Datenmengen speichern, ordentliche Fits durchführen usw.), deshalb erwarte ich weniger Probleme mit Sonderfällen.
Die Bedien-Logik entspricht jetzt auch schon dem, wie demnächst auch der Z-Offset-Scan beim Drucken werden soll: Der PROBE Befehl führt nur den eigentlichen Scan durch und bleibt am Kontaktpunkt stehen. Was man dann anschließend damit macht, bleibt einem selbst überlassen. Der Z-Offset-Scan zum Einstellen des Endstops wird also künftig erst ein "PROBE" in Z-Richtung sein, gefolgt von einem "Z_ENDSTOP_SELF_CALIBRATE" o.ä.
wiki/index.php/Klipper_GCodes#G-Codes_f ... 4s-Betrieb
Das Ganze ist noch nicht gut getestet. Vieles ist aber deutlich einfacher zu implementieren als in der Repetier-Firmware (man kann halt ohne Bedenken größere Datenmengen speichern, ordentliche Fits durchführen usw.), deshalb erwarte ich weniger Probleme mit Sonderfällen.
Die Bedien-Logik entspricht jetzt auch schon dem, wie demnächst auch der Z-Offset-Scan beim Drucken werden soll: Der PROBE Befehl führt nur den eigentlichen Scan durch und bleibt am Kontaktpunkt stehen. Was man dann anschließend damit macht, bleibt einem selbst überlassen. Der Z-Offset-Scan zum Einstellen des Endstops wird also künftig erst ein "PROBE" in Z-Richtung sein, gefolgt von einem "Z_ENDSTOP_SELF_CALIBRATE" o.ä.
Gruß, Martin
Klipper Firmware für den RFx000: Klipper für RFx000 | Original-Dokumentation | Diskussion | Wiki mit Installations-Anleitung
(Ich bin in diesem Forum nicht mehr aktiv)
Klipper Firmware für den RFx000: Klipper für RFx000 | Original-Dokumentation | Diskussion | Wiki mit Installations-Anleitung
(Ich bin in diesem Forum nicht mehr aktiv)
- af0815
- Donator
- Beiträge: 830
- Registriert: Di 2. Jun 2020, 14:45
- Wohnort: Burgenland
- Has thanked: 35 times
- Been thanked: 123 times
Re: Klipper mit dem RF1000
A ) Gibt es grundlegend die Möglichkeit mit G-Code Befehlen und Rückmeldung der DMS anzutasten - beim Drucken ? Nur damit man kontrollieren kann ob im G-Code Koordinatensystem etwas in der erwarteten Höhe vorhanden ist. Das müsste doch mit dem Kantenantasten nur in Z ident sein.
B ) Kann ich mir die DMS Werte im Betrieb irgendwie auf der Konsole ausgeben lassen ? Wenn ich zB. in Z fahre welchen DMS Wert ich gerade habe.
C ) Grundlegend ist die DMS ja ein Paralellogramm das verschoben wird und der Wert der Verschiebung kommt als Änderung der Brücke zurück und kann gemessen werden. Das heisst aber auch, das die Position des Heatend gering positiv oder negativ verschoben wird. Beim Antasten in die eine Richtung, beim Drucken in die andere Richtung.
Mich würde bei C interessieren wie das Diagramm aussieht. Ich will da ein paar Versuche machen um einen Verdacht zu untermauern (oder entkräften).
B ) Kann ich mir die DMS Werte im Betrieb irgendwie auf der Konsole ausgeben lassen ? Wenn ich zB. in Z fahre welchen DMS Wert ich gerade habe.
C ) Grundlegend ist die DMS ja ein Paralellogramm das verschoben wird und der Wert der Verschiebung kommt als Änderung der Brücke zurück und kann gemessen werden. Das heisst aber auch, das die Position des Heatend gering positiv oder negativ verschoben wird. Beim Antasten in die eine Richtung, beim Drucken in die andere Richtung.
Mich würde bei C interessieren wie das Diagramm aussieht. Ich will da ein paar Versuche machen um einen Verdacht zu untermauern (oder entkräften).
-
- Prof. Dr. des 3D-Drucks
- Beiträge: 1672
- Registriert: Fr 11. Sep 2015, 11:37
- Has thanked: 279 times
- Been thanked: 247 times
Re: Klipper mit dem RF1000
Ich glaube ich verstehe nicht ganz, was du vorhast. Willst du wirklich im laufenden Druckvorgang was antasten? Was soll das denn genau sein, da ist doch nur Material, was der Drucker vorher gedruckt hat (und damit ist normalerweise klar, wo sich das befindet)? Oder denkst du daran, auf ein bestehendes Teil etwas draufzudrucken (z.B. Recovery nach Druckabbruch, oder auf ein anderweitig hergestelltes Teil etwas draufdrucken - wobei da würde ich lieber kleben...)?af0815 hat geschrieben:A ) Gibt es grundlegend die Möglichkeit mit G-Code Befehlen und Rückmeldung der DMS anzutasten - beim Drucken ? Nur damit man kontrollieren kann ob im G-Code Koordinatensystem etwas in der erwarteten Höhe vorhanden ist. Das müsste doch mit dem Kantenantasten nur in Z ident sein.
Generell ist Antasten mit unseren Mitteln eine recht zeitraubende Geschichte. In Z-Richtung tasten wir die Oberfläche des Heizbetts an, das ist exakt das selbe (sogar gleicher Algorithmus). Ob du da jetzt das Bett antastest oder ein anderes Objekt, ist tatsächlich egal. Du machst einfach folgendes:
Code: Alles auswählen
G0 Z100
G0 X100 Y100
PROBE
SET_KINEMATIC_POSITION Z=15
In X/Y mit dem Druckkopf Antasten dürfte wegen der Düsenform schwierig sein. Du kannst also nur Z-Koordinaten finden.
So ich nehm das mal als Feature-Request. Das fehlt ja schon lange. Ebenfalls werde ich versuchen, den Wert auf das Display zu bringen.B ) Kann ich mir die DMS Werte im Betrieb irgendwie auf der Konsole ausgeben lassen ? Wenn ich zB. in Z fahre welchen DMS Wert ich gerade habe.
"Verschoben" ist nicht ganz richtig, eher verbogen. Das Hotend wird sich abhängig von der ausgeübten Kraft minimal in Z-Richtung bewegen - logisch, denn diese Verbiegung ist ja genau das, was die Wägezellen messen. Die Repetier-Community-Firmware hatte dafür sogar eine Korrektur drin. Ich bin da eher skeptisch. Der Weg dürfte im Normalbetrieb ziemlich minimal ausfallen. Wenn du mit dem Filament so viel Kraft auf das Hotend ausübst, dass die Layerhöhe signifikant verändert wird, hast du ganz andere Probleme. Die Korrektur wird immer an der geringen Sampling-Rate und an recht starken temperaturbedingten Drifts der Messwerte leiden. Ich würde das Problem lieber an der Wurzel lösen.C ) Grundlegend ist die DMS ja ein Paralellogramm das verschoben wird und der Wert der Verschiebung kommt als Änderung der Brücke zurück und kann gemessen werden. Das heisst aber auch, das die Position des Heatend gering positiv oder negativ verschoben wird. Beim Antasten in die eine Richtung, beim Drucken in die andere Richtung.
Ich weiß nicht genau, was du mit "Diagramm" meinst. Weg in Z über Kraft? Das kannst du leicht messen. Schau dir einfach an, was Klipper in die Konsole printet, wenn du nen Z-Offset-Scan machst (bzw. o.g. PROBE Befehl). Wenn die Oberfläche sehr hart ist (Alu ist in dem Zusammenhang hart genug denke ich, Pertinax eher nicht), kann die Düse ja nicht ins Bett eindringen, und der weitere Z-Verfahrweg kommt nur durch Verbigung der DMS zu stande. Ich hatte hier mal so einen Plot gepostet, sogar mit deinen Daten:Mich würde bei C interessieren wie das Diagramm aussieht. Ich will da ein paar Versuche machen um einen Verdacht zu untermauern (oder entkräften).
viewtopic.php?p=30964#p30964
Ich vermute aber mal, das war mit Pertinax (Verlauf ist recht flach -> weiches Material)? Klipper macht ja sogar einen Fit an die Daten und sollte dir das Ergebnis auch ausspucken. "m" ist dabei die Steigung, allerdings ist der Fit "gestürzt", d.h. es wird z über der Kraft gefittet (Achsen vertauscht gegenüber dem Plot), dementsprechend ist die Steigung m also in mm/Digits, was evtl. auch genau deine Frage beantwortet: bei x Digits wird die Düse m*x mm in Z-Richtung bewegt.
Bei mir ist da z.B. m = 0.000045 mm/Digits, also bei 2000 Digits ca. 0.1mm. (Das gilt natürlich für Digit Differenzen zum Ruhezustand!) Das habe ich gerade im Fräsmodus nachgemessen, da ist allerdings der Hebelarm etwas länger. Dürfte im Druckbetrieb etwas günstiger sein (mehr Digits pro mm nötig).
(Es gibt theoretisch auch noch eine Bewegung in Y-Richtung, aber die ist nun wirklich vernachlässigbar...)
Gruß, Martin
Klipper Firmware für den RFx000: Klipper für RFx000 | Original-Dokumentation | Diskussion | Wiki mit Installations-Anleitung
(Ich bin in diesem Forum nicht mehr aktiv)
Klipper Firmware für den RFx000: Klipper für RFx000 | Original-Dokumentation | Diskussion | Wiki mit Installations-Anleitung
(Ich bin in diesem Forum nicht mehr aktiv)
-
- Prof. Dr. des 3D-Drucks
- Beiträge: 1672
- Registriert: Fr 11. Sep 2015, 11:37
- Has thanked: 279 times
- Been thanked: 247 times
Re: Klipper mit dem RF1000
So, gerade gepushed:af0815 hat geschrieben:B ) Kann ich mir die DMS Werte im Betrieb irgendwie auf der Konsole ausgeben lassen ? Wenn ich zB. in Z fahre welchen DMS Wert ich gerade habe.
Code: Alles auswählen
Send: read_load_cell
Recv: // Uncompensated: 2152.7 compensated: 2152.7
Recv: ok
Send: compensate_load_cell
Recv: ok
Send: read_load_cell
Recv: // Uncompensated: 2152.7 compensated: 1.0
Recv: ok
Jetzt muss ich nur noch rausfinden, wie ich den aufs Display bekomme...
Gruß, Martin
Klipper Firmware für den RFx000: Klipper für RFx000 | Original-Dokumentation | Diskussion | Wiki mit Installations-Anleitung
(Ich bin in diesem Forum nicht mehr aktiv)
Klipper Firmware für den RFx000: Klipper für RFx000 | Original-Dokumentation | Diskussion | Wiki mit Installations-Anleitung
(Ich bin in diesem Forum nicht mehr aktiv)