Sporadischer Z-Versatz

Firmware Veröffentlichungen und Einstellungen können hier angekündigt und diskutiert werden.
PatrickB
Gelegenheitsdrucker
Gelegenheitsdrucker
Beiträge: 44
Registriert: Di 6. Jan 2015, 08:04
Has thanked: 2 times
Been thanked: 1 time

Re: Sporadischer Z-Versatz

Beitrag von PatrickB »

Im Script selbst musste ich eine Änderung vornehmen, die vermutlich an meinem RasPi 1 liegt:

Code: Alles auswählen

git clone https://github.com/RF1000community/klipper
habe ich ersetzt durch

Code: Alles auswählen

git config --global http.postBuffer 52428800
git config --global core.compression 0
git clone https://github.com/RF1000community/klipper  --depth 1
da ich sonst eine Fehlermeldung bekomme.

Code: Alles auswählen

sudo apt update && upgrade -y
funktioniert in der aktuellen Version, die mir der Raspberry Pi Imager erzeugt hat, nicht mehr, es muss aufgeteilt werden in

Code: Alles auswählen

sudo apt update -y 
sudo apt upgrade -y
Hier stimmt das Verzeichnis nicht:

Code: Alles auswählen

sudo cp ./scripts/klipper-mcu.service /etc/systemd/system/
Richtig ist:

Code: Alles auswählen

sudo cp ./klipper/scripts/klipper-mcu.service /etc/systemd/system/
Das müssten alle Änderungen sein, die ich in Deinem Script gemacht habe, alle im ersten Abschnitt zum RF1000.

Meine Aktuelle printer.cfg:

Code: Alles auswählen

# Configuration for the Renkforce RF1000 3D printer
# Note: This is work in progress, not yet ready for production!
# TEST CAREFULLY USING THE OFFICIAL KLIPPER INSTRUCTIONS WITH YOUR PRINTER!

# The menu is configured, but the extra keys are mostly not working. Only the
# "continue" button (the one which looks like a play button) has been abused to
# create an emergency stop button!

# Note: position_endstop in [stepper_z] must be overrideable for
# z_endstop_set_calibration to work. To allow this file to be used as an include
# in your printer.cfg, position_endstop is commented in that section. Hence this
# file will not work out-of-the-box. Before using, you have to uncomment
# position_endstop in [stepper_z], respectively add a [stepper_z] section with
# the position_endstop setting in your printer.cfg when including this file.
[include mainsail.cfg]

[mcu]
serial: /dev/ttyUSB0
baud: 250000

[printer]
kinematics: cartesian
max_velocity: 200
max_accel: 1500
max_z_velocity: 50
max_z_accel: 70

# Enable this to make sure the nozzle does not scratch surface while homing!
[safe_z_home]
home_xy_position: 0,0
z_hop: 2

[force_move]
enable_force_move: True

[stepper_x]
step_pin: PF0
dir_pin: !PF1
enable_pin: PD7
# 14 teeth each 3mm
rotation_distance: 42
microsteps: 32
endstop_pin: !PE5
position_endstop: 0
position_max: 235
homing_speed: 50.0
second_homing_speed: 10.0

[drv8711 stepper_x]
cs_pin: PL0
spi_software_sclk_pin: PD5
spi_software_miso_pin: PD4
spi_software_mosi_pin: PD6
current: 1.8

[stepper_y]
step_pin: PF6
dir_pin: PF7
enable_pin: PF2
# 14 teeth each 3mm
rotation_distance: 42
microsteps: 32
endstop_pin: !PE4
position_endstop: 0
position_max: 245
homing_speed: 50.0
second_homing_speed: 10.0

[drv8711 stepper_y]
cs_pin: PL2
spi_software_sclk_pin: PD5
spi_software_miso_pin: PD4
spi_software_mosi_pin: PD6
current: 1.8

[stepper_z]
step_pin: PL3
dir_pin: PL1
enable_pin: PK0
# 5mm lead screw pitch, 2-times step down via belt
rotation_distance: 2.5
microsteps: 32
endstop_pin: !PC6
position_min: -0.8
#position_endstop: 0
position_max: 180
homing_speed: 7.0
second_homing_speed: 2

[drv8711 stepper_z]
cs_pin: PL4
spi_software_sclk_pin: PD5
spi_software_miso_pin: PD4
spi_software_mosi_pin: PD6
current: 1.8

[extruder]
step_pin: PA4
dir_pin: PA6
enable_pin: PA2
microsteps: 32
rotation_distance: 22.86
nozzle_diameter: 0.400
filament_diameter: 1.75
#control = pid
#pid_kp: 24.160
#pid_ki: 3.427
#pid_kd: 42.583
heater_pin: PB4
sensor_type: ATC Semitec 104GT-2
#sensor_type: EPCOS 100K B57550G0104
sensor_pin: PK5
pullup_resistor: 4700
inline_resistor: 0
min_extrude_temp: 170
min_temp: 12
max_temp: 280

[drv8711 extruder]
cs_pin: PL6
spi_software_sclk_pin: PD5
spi_software_miso_pin: PD4
spi_software_mosi_pin: PD6
current: 1.0

[thermistor EPCOS 100K B57550G0104]
temperature1: 25
resistance1: 100000
beta: 4150

[heater_bed]
#control = pid
#pid_kp: 58.098
#pid_ki: 0.656
#pid_kd: 1285.418
heater_pin: PH5
sensor_type: EPCOS 100K B57550G0104
sensor_pin: PK7
pullup_resistor: 10000
#inline_resistor: 10000
min_temp: 0
max_temp: 135

[fan]
pin: PA5
max_power: 1.0
cycle_time: 0.010
kick_start_time: 0.100
off_below: 0.0

[display]
lcd_type: hd44780
rs_pin: PK1
e_pin: PK3
d4_pin: PF5
d5_pin: PK2
d6_pin: PL5
d7_pin: PK4
display_group: _default_16x4
line_length: 16

click_pin: !PG5
back_pin: !PB5
up_pin: !PL7
down_pin: !PE3
kill_pin: !PH3 # This is the right arrow key, otherwise unused

[ads1100 load_cell]
gain: 2

[load_cell_probe]
adc: load_cell:None
adc_rate: 16
max_abs_force: 5000
noise_level = 1.5
force_calibration = 8500
stiffness = 6200

[bed_mesh]
speed: 100
horizontal_move_z: 2
mesh_min: 10,50
mesh_max: 225,220
algorithm:lagrange
probe_count: 5,5
fade_start: 1.0
fade_end: 10.0

[exclude_object]

[delayed_gcode bed_mesh_init]
initial_duration: .01
gcode:
  BED_MESH_PROFILE LOAD=default

[z_sense_offset]
force_threshold: 4000
max_z_offset: 0.2

[pause_resume]

[gcode_button Z_DOWN]
pin: !PJ4
press_gcode:
    {% if not printer.idle_timeout.state == "Printing" %}
      G91
      G0 Z1 F300
      G90
    {% endif %}
    {% if printer.idle_timeout.state == "Printing" %}
      SET_GCODE_OFFSET Z={printer.gcode_move.homing_origin.z + 0.005 }
    {% endif %}

[gcode_button Z_UP]
pin: !PJ2
press_gcode:
    {% if not printer.idle_timeout.state == "Printing" %}
      G91
      G0 Z-1 F300
      G90
    {% endif %}
    {% if printer.idle_timeout.state == "Printing" %}
      SET_GCODE_OFFSET Z={printer.gcode_move.homing_origin.z - 0.005 }
    {% endif %}

[gcode_button F_FWD]
pin: !PJ6
press_gcode:
    {% if printer.idle_timeout.state == "Printing" and printer.gcode_move.extrude_factor < 1 %}
      M221 S{'%d' % (printer.gcode_move.extrude_factor * (101 + 1))}
    {% endif %}

    {% if printer.idle_timeout.state == "Printing" and printer.gcode_move.extrude_factor >= 1  %}
      M221 S{'%d' % (printer.gcode_move.extrude_factor * (100 + 1))}
    {% endif %}

    {% if not printer.idle_timeout.state == "Printing" %}
      G91
      G0 E+2 F300
      G90
    {% endif %}

[gcode_button F_RWD]
pin: !PJ5
press_gcode:
    {% if printer.idle_timeout.state == "Printing" and printer.gcode_move.extrude_factor < 1 %}
      M221 S{'%d' % (printer.gcode_move.extrude_factor  * (100 - 1))}
    {% endif %}

    {% if printer.idle_timeout.state == "Printing" and printer.gcode_move.extrude_factor >= 1 %}
      M221 S{'%d' % (printer.gcode_move.extrude_factor * (100 - 0.5))}
    {% endif %}

    {% if not printer.idle_timeout.state == "Printing" %}
      G91
      G0 E-2 F300
      G90
    {% endif %}

[gcode_button B_PAUSE]
pin: !PH7
press_gcode: PAUSE

[gcode_button B_RESUME]
pin: !PH2
press_gcode: RESUME

[display_template _load_cell_digits]
text:
  { "F%5d" % (printer["load_cell_probe"].last_force) }

[display_data _default_16x4 load_cell_digits]
position: 0, 10
text: { render("_load_cell_digits") }

[gcode_macro z_offset_from_probe_result]
gcode:
    SET_GCODE_OFFSET Z={printer["load_cell_probe"].last_z_result}

[gcode_macro z_offset_scan]
gcode:
    PROBE
    Z_OFFSET_FROM_PROBE_RESULT
    Z_OFFSET_APPLY_ENDSTOP
    G0 Z2

[gcode_macro bed_calibrate]
gcode:
    G0 Z10
    G0 X100 Y100
    G0 Z2
    PROBE
    Z_OFFSET_FROM_PROBE_RESULT
    Z_OFFSET_APPLY_ENDSTOP
    SET_KINEMATIC_POSITION Z=0
    G0 Z2
    BED_MESH_CALIBRATE
    SAVE_CONFIG

[gcode_macro z_calibrate]
gcode:
    G0 Z10
    G0 X100 Y100
    G0 Z2
    Z_OFFSET_SCAN

#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#
#*# [extruder]
#*# control = pid
#*# pid_kp = 16.724
#*# pid_ki = 0.587
#*# pid_kd = 119.162
#*#
#*# [heater_bed]
#*# control = pid
#*# pid_kp = 42.578
#*# pid_ki = 0.806
#*# pid_kd = 562.024
#*#
#*# [stepper_z]
#*# position_endstop = 0.204
#*#
#*# [bed_mesh default]
#*# version = 1
#*# points =
#*# 	  -0.077629, 0.003913, 0.057321, 0.075243, 0.063841
#*# 	  -0.140285, -0.042919, 0.048471, 0.034435, 0.013712
#*# 	  -0.182046, -0.088549, -0.028227, -0.025104, -0.057837
#*# 	  -0.188965, -0.074785, 0.016359, -0.000337, -0.013609
#*# 	  -0.115410, -0.032111, -0.019803, -0.008151, -0.023071
#*# tension = 0.2
#*# min_x = 10.0
#*# algo = lagrange
#*# y_count = 5
#*# mesh_y_pps = 2
#*# min_y = 50.0
#*# x_count = 5
#*# max_y = 220.0
#*# mesh_x_pps = 2
#*# max_x = 225.0
SAVE_CONFIG lasse ich jetzt mal stehen, das müsste natürlich raus wenn man die Datei für eine neue Installation nutzt, die pid in den oberen Abschnitten dürfen dann aber nicht auskommentiert sein.
Ohne Gewähr dass die Datei richtig ist, ich habe hier und da gebastelt bis sie funktioniert hat, da ist auch meine abweichende Bettemperatur drin (noch nicht ganz richtig) und das V6-Hotend.

In der Config für den Drucker finde ich das Display nicht mehr, evtl. habe ich die noch mit dem originalen Klipper 0.12 erstellt.
Nachvollziehen kann ich das gerade nicht, egal ob ich in klipper oder in klipper_original_backup eine config erstelle sieht sie genauso aus wie Deine.
Ich habe gerade nochmal den Drucker mit Deiner Datei neu geflasht, jetzt funktioniert alles. Vielleicht ist da etwas schiefgelaufen weil nur ein Teil aktualisiert war. Woher ich die config mit Display her hatte muss ich nochmal nachprüfen, evtl. verhält sich ein Octopi da anders als die Mainsail-Installation, die ich jetzt habe.

Und wenn ich so darüber nachdenke bin ich mir auch nicht mehr sicher, in welcher Distribution ich Deine Config ändern musste, evtl. war das noch in Octopi und in Mainsail funktioniert sie. Das teste ich auch nochmal. Für mich war das einfach Klipper, dass da Unterschiede sind ist mir erst aufgefallen weil die Config aus Octopi in Mainsail plötzlich ein paar Abschnitte vermisst hat.
DennisNochmal
Gelegenheitsdrucker
Gelegenheitsdrucker
Beiträge: 19
Registriert: Mi 5. Jun 2024, 16:59
Wohnort: Penzing
Been thanked: 4 times

Re: Sporadischer Z-Versatz

Beitrag von DennisNochmal »

Hallo Patrick,

im Mainsail sollte es funktionieren. Habe es vorhin nochmals getestet ohne Probleme.
Das mit dem Clone GIT ja liegt am RPi 1.

Dennis
PatrickB
Gelegenheitsdrucker
Gelegenheitsdrucker
Beiträge: 44
Registriert: Di 6. Jan 2015, 08:04
Has thanked: 2 times
Been thanked: 1 time

Re: Sporadischer Z-Versatz

Beitrag von PatrickB »

Ich habe noch meine printer.cfg mit Deiner abgeglichen und einige Makros bei mir ergänz. Einen Fehler habe ich dabei noch in Deinem gcode_macro PRINT_END gefunden (genaugenommen hat mich Klipper mit einem Abbruch darauf hingewiesen):

Code: Alles auswählen

    # Relative positionning
    G91
    # Retract and raise Z
    G1 Z0.2 E-2 F4400
    # Wipe out
    G1 X5 Y5 F8000
    # Raise Z more
    G1 Z180 F1200
Du fährst hier 180 mm relativ nach unten, ab 20,1 mm Objekthöhe führt das zu einer Fehlermeldung. Vor dem Raise Z, besser schon vor dem Wipe out müsste auf absolut umgestellt werden.

Und irgendwie stehe ich mal wieder auf dem Schlauch, ich habe massive Unterextrusion, als ob ich den Drucker für 2,85 mm Filament ansteuern würde obwohl im Slicer und in Klipper alles auf 1,75 mm eingestellt ist. rotation_distance und microsteps müssen richtig sein, wenn ich 50 mm extrudiere werden auch 50 mm ausgegeben.
Benutzeravatar
AtlonXP
3D-Drucker Erfinder
3D-Drucker Erfinder
Beiträge: 3447
Registriert: So 15. Nov 2015, 20:55
Has thanked: 758 times
Been thanked: 596 times

Re: Sporadischer Z-Versatz

Beitrag von AtlonXP »

PatrickB hat geschrieben: Und irgendwie stehe ich mal wieder auf dem Schlauch, ich habe massive Unterextrusion, als ob ich den Drucker für 2,85 mm Filament ansteuern würde obwohl im Slicer und in Klipper alles auf 1,75 mm eingestellt ist.
Schaue nach deinen Digits der Messstreifen.
Sind die auch zu niedrig?

LG AtlonXP
PatrickB
Gelegenheitsdrucker
Gelegenheitsdrucker
Beiträge: 44
Registriert: Di 6. Jan 2015, 08:04
Has thanked: 2 times
Been thanked: 1 time

Re: Sporadischer Z-Versatz

Beitrag von PatrickB »

Die muss ich in Klipper erstmal suchen.
Ich tippe aber im Moment auf einen falschen Thermistor-Typen, der erste Layer ist OK und nach oben wird es schlechter.
Benutzeravatar
AtlonXP
3D-Drucker Erfinder
3D-Drucker Erfinder
Beiträge: 3447
Registriert: So 15. Nov 2015, 20:55
Has thanked: 758 times
Been thanked: 596 times

Re: Sporadischer Z-Versatz

Beitrag von AtlonXP »

Der Slicer berechnet für den G.- Code die tatsächliche benötigte Materialmenge.
Aus diesem Grund muss dort der Genaue ermittelte Filament Durchmesser eingegeben werden!

Wenn du dort einen genau gemittelten Filament Durchmesser angibst (ohne Rundungsfehler),
sollte es mit dem Flow Multi 100% passen.

LG AtlonXP
PatrickB
Gelegenheitsdrucker
Gelegenheitsdrucker
Beiträge: 44
Registriert: Di 6. Jan 2015, 08:04
Has thanked: 2 times
Been thanked: 1 time

Re: Sporadischer Z-Versatz

Beitrag von PatrickB »

Ja, sollte, dem Ergebnis nach war das aber weit daneben.

Bei meinem Thermistor war noch ein Pullup von 4,7k in der printer.cfg eingetragen, dadurch war die Temperatur so viel zu niedrig dass zu wenig Material kam.
Mit dem richtigen Wert habe ich jetzt deutlich mehr Flow und kann mich endlich an die genaue Einstellung machen.
DennisNochmal
Gelegenheitsdrucker
Gelegenheitsdrucker
Beiträge: 19
Registriert: Mi 5. Jun 2024, 16:59
Wohnort: Penzing
Been thanked: 4 times

Re: Sporadischer Z-Versatz

Beitrag von DennisNochmal »

Hallo Patrick,

hast du noch den Originalen Extruder drauf und nur das Hotend gewechselt ?
Warum war an deinem Thermistor noch ein Pullup eingestellt?

Die Rotation Distance im Klipper bleibt beim Originalem Extruder gleich (1.75mm oder 2.85mm oder 3mm). Der Rest wird vom gcode angepasst.
Denke daran das die Mxxx Befehle aus der Community für Repetier nicht bei Klipper funktionieren da es diese dort nicht gibt.

Unter Klipper Funktionieren auch nicht die Buttons wie bei der Repetier Firmware.

Dennis
PatrickB
Gelegenheitsdrucker
Gelegenheitsdrucker
Beiträge: 44
Registriert: Di 6. Jan 2015, 08:04
Has thanked: 2 times
Been thanked: 1 time

Re: Sporadischer Z-Versatz

Beitrag von PatrickB »

Ich habe noch den originalen Extruder, das Hotend ist ein E3D-Clone.

Der Pullup war entweder in einer der beiden printer.cfg eingetragen oder ich habe ihn bei der Anpassung des Druckbetts versehentlich eingetragen.

RF1000-eigene Befehle nutze ich keine mehr.

Ja, über die anders belegten Buttons bin ich schon öfter gestolpert, vor allem über rechts (Notaus).

Kleiner Zwischenstand zur Ursachenforschung:
Mein damals mitgelieferter WLAN-Stick braucht offenbar viel Speicher, sobald er angesteckt ist kann ich RF1000-Klipper nur noch über den Umweg klonen, außerdem sorgt er für Abstürze in Klipper.

Eine 8 GB SD-Karte dürfte zu wenig sein. Meine derzeitige Installation verbraucht auf einer 32 GB-Karte schon mehr als die 8 GB.

update && upgrade führt weiterhin zu Fehlern, das muss auf zwei Zeilen aufgeteilt werden.

Und eine Warnung:
Ich weiß nicht, unter welchen Umständen es vorkommen kann und wie oft das schon bei mir passiert ist, gemerkt habe ich es jetzt weil ich den Hotendlüfter abgesteckt hatte.
Auf dem Drucker läuft Klipper, an USB hängt ein RasPi, auf dem ich gerade Dein Script durchlaufen lasse. Ich war ein paar Minuten weg, als ich wiederkam roch es nach verbranntem Kunststoff. Ursache: Das Hotend hat die ganze Zeit geheizt. Scheinbar sind die ohne Klipper auf dem RasPi die Ausgänge undefiniert oder über USB kam irgend ein Signal zum Drucker, das ihn dazu bewegt hat, den Port einzuschalten.
PatrickB
Gelegenheitsdrucker
Gelegenheitsdrucker
Beiträge: 44
Registriert: Di 6. Jan 2015, 08:04
Has thanked: 2 times
Been thanked: 1 time

Re: Sporadischer Z-Versatz

Beitrag von PatrickB »

Ich habe mir die printer.cfg in Ruhe angeschaut und in Deiner printer.cfg
- die Pins an den RF1000 angepasst
- auf der Y-Achse position_max verringert weil durch position_min: 25 der Weg zu weit war
- bed_mesh nicht verändert da ich mir nicht sicher bin, ob das auch angepasst werden muss
- PRINT_END so angepasst dass es bei hohen Drucken nicht zum Abbruch führt.

Beim Display waren zwei Pins falsch belegt, offensichtlich hat das das Piepsen ausgelöst, nicht wie vermutet eine falsche Firmware.

Den kill_pin habe ich jetzt auch bei mir auskommentiert, wenn ich den brauche muss ich sowieso anschließen auf den Not-Aus drücken, dann kann ich das auch direkt machen.

Code: Alles auswählen

# Renkforce RF1000 Hotend v2 3D printer
# Wer ein anderes Hotend benutzt, bitte die Rotation Distance anpassen.

[mcu]
serial: /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A6031GUB-if00-port0

	 
					
			
  
[exclude_object]


[printer]
kinematics: cartesian
max_velocity: 200
max_accel: 1500
max_z_velocity: 50
max_z_accel: 70


[safe_z_home]
home_xy_position: 0,-25
z_hop: 5


[force_move]
enable_force_move: True


[stepper_x]
step_pin: PF0
dir_pin: !PF1
enable_pin: PD7
				   
rotation_distance: 42
microsteps: 32
endstop_pin: !PE5
position_endstop: 0
position_min: 0
position_max: 245
homing_speed: 40.0
second_homing_speed: 10.0

[drv8711 stepper_x]
cs_pin: PL0
spi_software_sclk_pin: PD5
spi_software_miso_pin: PD4
spi_software_mosi_pin: PD6
current: 2.0


[stepper_y]
step_pin: PF6
dir_pin: PF7
enable_pin: PF2
				   
rotation_distance: 42
microsteps: 32
endstop_pin: !PE4
					
position_endstop: -25
position_min: -25
position_max: 210
homing_speed: 35.0
second_homing_speed: 10.0

[drv8711 stepper_y]
cs_pin: PL2
spi_software_sclk_pin: PD5
spi_software_miso_pin: PD4
spi_software_mosi_pin: PD6
current: 2.0


[stepper_z]
step_pin: PL3
dir_pin: PL1
enable_pin: PK0
												  
rotation_distance: 2.5
microsteps: 32
endstop_pin: !PC6
position_endstop: 0.332
position_min: -0.8
					
position_max: 185
homing_speed: 7.0
second_homing_speed: 2.0

[drv8711 stepper_z]
cs_pin: PL4
spi_software_sclk_pin: PD5
spi_software_miso_pin: PD4
spi_software_mosi_pin: PD6
current: 2.3

[extruder]
step_pin: PA4
dir_pin: PA6
enable_pin: PA2
microsteps: 32
rotation_distance: 22.86
nozzle_diameter: 0.4
filament_diameter: 2.850
min_temp: 0
max_temp: 300
min_extrude_temp: 170
			   
heater_pin: PB4
						 
								 
sensor_type: EPCOS 100K B57550G0104
sensor_pin: PK5
pullup_resistor: 4700
inline_resistor: 0
pressure_advance:0.045
control: pid
pid_kp: 24.160
pid_ki: 3.427
pid_kd: 42.583
max_extrude_cross_section: 50.0
max_extrude_only_distance: 50.0


[drv8711 extruder]
cs_pin: PL6
spi_software_sclk_pin: PD5
spi_software_miso_pin: PD4
spi_software_mosi_pin: PD6
current: 1.8


[thermistor EPCOS 100K B57550G0104]
temperature1: 25
resistance1: 100000
beta: 4150


[heater_bed]
control: pid
pid_kp: 58.098
pid_ki: 0.656
pid_kd: 1285.418
heater_pin: PH5
sensor_type: EPCOS 100K B57550G0104
sensor_pin: PK7
min_temp: 5
					   
		   
max_temp: 130


[fan]
pin: PA5
max_power: 1.0
				 
kick_start_time: 0.100

[controller_fan fan2]
pin: PF4
fan_speed: 0.8
heater: extruder,heater_bed


[virtual_sdcard]
path: /home/pi/printer_data/gcodes

[pause_resume]

[display]
lcd_type: hd44780
rs_pin: PK1
e_pin: PK3
d4_pin: PF5
d5_pin: PK2
d6_pin: PL5
d7_pin: PK4
display_group: _default_16x4
line_length: 16
#RE=TAST3:PH0, Ok=TAST1:PG5, DN=TAST2:PB7, LE=TAST4:PB5, UP=TAST5:PL7,
#PAUSE=TAST_E5:PH7, Z-DN=TAST_E2:PJ4, CONT=TAST_E6:PH2,
#F_REV=TAST_E3:PJ5, F-FWD=TAST_E4:PJ6, Z-UP=TAST_E1:PJ2
click_pin: !PG5
back_pin: !PB5
up_pin: !PL7
down_pin: !PE3
#kill_pin: !PH3 # This is the right arrow key, otherwise unused



[ads1100 load_cell]
gain: 2

[load_cell_probe]
adc: load_cell:None
adc_rate: 16
max_abs_force: 5000
noise_level = 1.5
force_calibration = 8500
stiffness = 6200

[bed_mesh]
speed: 100
horizontal_move_z: 2
mesh_min: 10,50
mesh_max: 245,220
algorithm:lagrange
probe_count: 5,5
fade_start: 1.0
fade_end: 10.0

[delayed_gcode bed_mesh_init]
initial_duration: .01
gcode:
  BED_MESH_PROFILE LOAD=default
  
[z_sense_offset]
force_threshold: 4000
max_z_offset: 0.2


[gcode_button Z_DOWN]
pin: !PJ4
press_gcode:
    {% if not printer.idle_timeout.state == "Printing" %}
      G91
      G0 Z1 F300
      G90
    {% endif %}
    {% if printer.idle_timeout.state == "Printing" %}
      SET_GCODE_OFFSET Z={printer.gcode_move.homing_origin.z + 0.005 }
    {% endif %}

[gcode_button Z_UP]
pin: !PJ2
press_gcode:
    {% if not printer.idle_timeout.state == "Printing" %}
      G91
      G0 Z-1 F300
      G90
    {% endif %}
    {% if printer.idle_timeout.state == "Printing" %}
      SET_GCODE_OFFSET Z={printer.gcode_move.homing_origin.z - 0.005 }
    {% endif %}

[gcode_button F_FWD]
pin: !PJ6
press_gcode:
    {% if printer.idle_timeout.state == "Printing" and printer.gcode_move.extrude_factor < 1 %}
      M221 S{'%d' % (printer.gcode_move.extrude_factor * (101 + 1))}
    {% endif %}

    {% if printer.idle_timeout.state == "Printing" and printer.gcode_move.extrude_factor >= 1  %}
      M221 S{'%d' % (printer.gcode_move.extrude_factor * (100 + 1))}
    {% endif %}

    {% if not printer.idle_timeout.state == "Printing" %}
      G91
      G0 E+2 F300
      G90
    {% endif %}

[gcode_button F_RWD]
pin: !PJ5
press_gcode:
    {% if printer.idle_timeout.state == "Printing" and printer.gcode_move.extrude_factor < 1 %}
      M221 S{'%d' % (printer.gcode_move.extrude_factor  * (100 - 1))}
    {% endif %}

    {% if printer.idle_timeout.state == "Printing" and printer.gcode_move.extrude_factor >= 1 %}
      M221 S{'%d' % (printer.gcode_move.extrude_factor * (100 - 0.5))}
    {% endif %}

    {% if not printer.idle_timeout.state == "Printing" %}
      G91
      G0 E-2 F300
      G90
    {% endif %}

[gcode_button B_PAUSE]
pin: !PH7
press_gcode: PAUSE

[gcode_button B_RESUME]
pin: !PH2
press_gcode: RESUME

[display_template _load_cell_digits]
text:
  { "F%5d" % (printer["load_cell_probe"].last_force) }

[display_data _default_16x4 load_cell_digits]
position: 0, 10
text: { render("_load_cell_digits") }

[gcode_macro z_offset_from_probe_result]
gcode:
    SET_GCODE_OFFSET Z={printer["load_cell_probe"].last_z_result}

[gcode_macro z_offset_scan]
gcode:
    G1 X100 Y100 F4000
    PROBE
    Z_OFFSET_FROM_PROBE_RESULT
    Z_OFFSET_APPLY_ENDSTOP
    G0 Z2

[gcode_macro bed_calibrate]
gcode:
    G0 Z10
    G0 X100 Y100
    G0 Z2
    PROBE
    Z_OFFSET_FROM_PROBE_RESULT
    Z_OFFSET_APPLY_ENDSTOP
    SET_KINEMATIC_POSITION Z=0
    G0 Z2
    BED_MESH_CALIBRATE
    SAVE_CONFIG

[gcode_macro z_calibrate]
gcode:
    G0 Z10
    G0 X100 Y100
    G0 Z2
    Z_OFFSET_SCAN


[gcode_macro CANCEL_PRINT]
description: Cancel the actual running print
rename_existing: CANCEL_PRINT_BASE
gcode:
  TURN_OFF_HEATERS
  CANCEL_PRINT_BASE

[gcode_macro PAUSE]
description: Pause the actual running print
rename_existing: PAUSE_BASE
gcode:
  PAUSE_BASE
  _TOOLHEAD_PARK_PAUSE_CANCEL


[gcode_macro RESUME]
description: Resume the actual running print
rename_existing: RESUME_BASE
gcode:
  ##### read extrude from  _TOOLHEAD_PARK_PAUSE_CANCEL  macro #####
  {% set extrude = printer['gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL'].extrude %}
  #### get VELOCITY parameter if specified ####
  {% if 'VELOCITY' in params|upper %}
    {% set get_params = ('VELOCITY=' + params.VELOCITY)  %}
  {%else %}
    {% set get_params = "" %}
  {% endif %}
  ##### end of definitions #####
  {% if printer.extruder.can_extrude|lower == 'true' %}
    M83
    G1 E{extrude} F2100
    {% if printer.gcode_move.absolute_extrude |lower == 'true' %} M82 {% endif %}
  {% else %}
    {action_respond_info("Extruder not hot enough")}
  {% endif %}  
  RESUME_BASE {get_params}

  
[gcode_macro PID_Tuning_Hotend]
gcode:
 PID_CALIBRATE HEATER=extruder TARGET=200
 SAVE_CONFIG

 
[gcode_macro PID_Tuning_Bed]
gcode:
 PID_CALIBRATE HEATER=heater_bed TARGET=60
 SAVE_CONFIG

 
# --------------------------- Start Print  ----------------------------
[gcode_macro PRINT_START]
gcode:
    BED_MESH_PROFILE LOAD="default"
    G28 F1500
    
    {% set Betttemperatur = params.BED_TEMP|float %}
    {% set Extrudertemperatur = params.EXTRUDER_TEMP|float %}
    
    M117 Heating...
    M190 S{Betttemperatur}
    M109 S{Extrudertemperatur}
    G92 E0
    G1 E-1 F1800
    G1 F300 E-0.5
    G1 X170 Y0 Z0.35 F5000
    G1 F800 E13
    G1 X20 E25 F1000
    # Reset Extruder
    G92 E0
    # Move Z Axis up
    G1 Z2.0 F3000
    # Print message on LCD
    M117 RF1000 Klipper !
    
# --------------------------------------------------------------------



# ---------------------------- End Print -----------------------------
[gcode_macro PRINT_END]
variable_machine_depth: 235
gcode:
    # Turn off bed, extruder, and fan
    M140 S0
    M104 S0
    M106 S0
    # Relative positionning
    G91
    # Retract and raise Z
    G1 E-2 F4400 
#    G1 Z0.2 E-2 F4400 # Vorher prüfen, ob noch genug Platz ist
    # Wipe out
#    G1 X5 Y5 F8000
    # Raise Z more
#    G1 Z180 F1200
    # Absolute positionning
    G90
    # Present print
    G1 X0 Y210 F6000
    G1 Z180 F1200
    # Disable steppers
    M84
    # Print message on LCD
    M117 Druck erfolgreich beendet!
    BED_MESH_CLEAR

# --------------------------------------------------------------------
Vielleicht kannst Du ja die printer.cfg für den RF1000 tauschen, apt upgrade in eine eigene Zeile schreiben und bei linux_process noch das Verzeichnis um klipper erweitern, dann ist das ein super Script wenn man auf Mainsail aufsetzt.

Für die Fehlersuche wenn es doch nicht klappen sollte wäre ein Parameter -v gut, der die clear Befehle außer Kraft setzt.
Antworten

Zurück zu „Firmware / Tweaks“