Hardware
Tiskárna – Anet A8 z druhé ruky
- pro odlehčení vozíku osy X předělaná na bowden extruder
- pro kalibraci osy Z doplněná o klon BLTouch
- pro lepší ohřev podložky nutný pro tisk ABS umístěna do datévého rozvaděče 18U
Server – Raspberry 3 + 2Mpix kamera
- Raspbian
- Octoprint
- Klipper
Dokumentace
https://github.com/KevinOConnor/klipper/blob/master/docs/Overview.md
https://www.na3d.cz/blog/nejcastejsi-problemy-s-tiskem
Instalace
https://github.com/th33xitus/kiauh
https://plugins.octoprint.org/plugins/klipper/
Konfigurace
[expand title=“zobrazit/skrýt“]
# See docs/Config_Reference.md for a description of parameters.
# calibrate klipper – steppers – position_min/max, bed_mesh – mesh_min/max, bltouch – offsets, bedlevel – PROBE_CALIBRATE/TESTZ/ACCEPT/SAVE_CONFIG, extruder – presure advance
# calibrate octoprint – extruder – flow, extruder steps, retraction, acceleration
[stepper_x]
step_pin: PD7
dir_pin: PC5
enable_pin: !PD6
microsteps: 16
rotation_distance: 32
endstop_pin: ^!PC2
position_endstop: -14
position_max: 220
position_min: -14
homing_speed: 50
[stepper_y]
step_pin: PC6
dir_pin: PC7
enable_pin: !PD6
microsteps: 16
rotation_distance: 32
endstop_pin: ^!PC3
position_endstop: -8
position_min: -8
position_max: 220
homing_speed: 50
[stepper_z]
step_pin: PB3
dir_pin: !PB2
enable_pin: !PA5
microsteps: 16
rotation_distance: 8
#endstop_pin: ^!PC4
endstop_pin: probe:z_virtual_endstop
#position_endstop: 1
#position_min: 0
position_max: 240
homing_speed: 20
[extruder]
step_pin: PB1
dir_pin: PB0
enable_pin: !PD6
microsteps: 16
rotation_distance: 34.474
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PD5
sensor_type: ATC Semitec 104GT-2
sensor_pin: PA7
control: pid
pid_Kp: 2.151492
pid_Ki: 0.633897
pid_Kd: 230.042965
min_temp: 0
max_temp: 250
[heater_bed]
heater_pin: PD4
sensor_type: ATC Semitec 104GT-2
sensor_pin: PA6
control: watermark
min_temp: 0
max_temp: 130
[verify_heater heater_bed]
max_error: 360
check_gain_time: 360
#hysteresis: 5
heating_gain: 1
[idle_timeout]
#gcode:
timeout: 3600
[fan]
pin: PB4
[mcu]
serial: /dev/ttyUSB0
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 1000
max_z_velocity: 20
max_z_accel: 100
[display]
lcd_type: hd44780
rs_pin: PA3
e_pin: PA2
d4_pin: PD2
d5_pin: PD3
d6_pin: PC0
d7_pin: PC1
up_pin: PA1
analog_range_up_pin: 9000, 13000
down_pin: PA1
analog_range_down_pin: 800, 1300
click_pin: PA1
analog_range_click_pin: 2000, 2500
back_pin: PA1
analog_range_back_pin: 4500, 5000
#kill_pin: PA1
#analog_range_kill_pin: 400, 600
[bltouch]
sensor_pin: ^PC4
control_pin: PA4
pin_move_time:1.0
z_offset: 1.0
speed:8
x_offset: 32
y_offset: 4
pin_up_touch_mode_reports_triggered: False
#[homing_override]
#axes: z
#gcode:
# G90
# G1 Z7 F600
# G28 X0 Y0
# G1 X110 Y125 F3600
# G28 Z0
#set_position_z: 0
[bed_mesh]
speed: 100
horizontal_move_z: 15
#samples: 3
#sample_retract_dist: 2.0
mesh_min: 80,5
mesh_max: 235,215
probe_count: 5,5
fade_start: 1.0
fade_end: 10.0
split_delta_z: 0.025
move_check_distance: 5.0
mesh_pps: 3,3
algorithm: bicubic
bicubic_tension: .2
[safe_z_home]
home_xy_position: 100,100 # Change coordinates to the center of your print bed
speed: 50
z_hop: 10 # Move up 10mm
z_hop_speed: 5
[input_shaper]
#shaper_freq_x: … # frequency for the X mark of the test model
#shaper_freq_y: … # frequency for the Y mark of the test model
[probe]
[fan]
#off_below: 0.3
#[heater_fan]
#[display_data my_group_name my_data_name]
#position:1,1
# Comma separated row and column of the display position that should
#text: my_data_name
# The text to show at the given position. This field is evaluated
#[display_template my_template_name]
#param_
# One may specify any number of options with a „param_“ prefix. The
#text:
# The text to return when the render() function is called for this
#text: Anetka
[gcode_macro G29]
gcode:
G28https://www.na3d.cz/blog/nejcastejsi-problemy-s-tiskem
BED_MESH_CALIBRATE
#BED_MESH_OUTPUT PGP=1
#SAVE_CONFIG
[gcode_macro M900]
gcode: SET_PRESSURE_ADVANCE ADVANCE={K}
[gcode_macro M108]
gcode:
G4
[gcode_macro BEEP]
gcode:M300 S440 P200
[gcode_macro M600]
gcode:
{% set X = params.X|default(50)|float %}
{% set Y = params.Y|default(0)|float %}
{% set Z = params.Z|default(10)|float %}
SAVE_GCODE_STATE NAME=M600_state
PAUSE
G91
G1 E-.8 F2700
G1 Z{Z}
G90
G1 X{X} Y{Y} F3000
G91
G1 E-50 F1000
RESTORE_GCODE_STATE NAME=M600_state
[gcode_macro NOTIFY]
gcode:
{% if ‚MSG‘ in params %}
RESPOND TYPE=command MSG=“action:notification {params.MSG}“
{% endif %}
[gcode_macro POWEROFF]
gcode:
RESPOND TYPE=command MSG=action:poweroff
[gcode_macro POWERON]
gcode:
RESPOND TYPE=command MSG=action:poweron
[gcode_macro start_print]
gcode:
{% set config = printer.configfile.settings %}
{% if not params.PA %}
{% set PA = config.extruder.pressure_advance %}
{% endif %}
M109 S{params.TOOL_TEMP} # Heat the tool to temperature and wait
{% if printer.homed_axes != ‚XYZ‘ %}
G28 #Home All Axes
{% endif %}
SET_PRESSURE_ADVANCE ADVANCE={PA}
G92 E0 # Reset Extruder
G1 Z2.0 F3000 # Move Z Axis to travel height
G1 X0.1 Y20 Z0.2 F5000.0 # Move to start position
G1 X0.1 Y200.0 Z0.2 F1500.0 E15 # Draw the first line
G1 X0.4 Y200.0 Z0.2 F5000.0 # Move to side a little
G1 X0.4 Y20 Z0.3 F1500.0 E30 # Draw the second line
G92 E0 # Reset Extruder
G1 Z2.0 F3000 # Move Z Axis up to travel height
# Use unload_filament to unload ABS
[gcode_macro unload_filament]
gcode:
M109 S235
M83
G1 E15 F300
G1 E-860 F1800
M82
# Use load_filament to load ABS
[gcode_macro load_filament]
gcode:
M109 S235
M83
G1 E760 F1800
G1 E30 F300
G1 E-10 F1800
M82
[/expand]
Kalibrace
https://www.na3d.cz/blog/nejcastejsi-problemy-s-tiskem
https://www.klipper3d.org/Probe_Calibrate.html
https://github.com/KevinOConnor/klipper/blob/master/docs/Bed_Level.md
https://github.com/KevinOConnor/klipper/blob/master/docs/Manual_Level.md
https://www.klipper3d.org/Bed_Level.htm
https://github.com/KevinOConnor/klipper/blob/master/docs/Pressure_Advance.md
M112 – nouzové vypnutí – po něm je pro další práci nutný FIRMWARE_RESTART
RESTART – reload konfigurace a interní reset služby
FIRMWARE_RESTART – stejný jako RESTART navíc smaže chyby v mikrokontroleru tiskárny
PID_CALIBRATE HEATER=extruder TARGET=220 – kalibrace pro eliminaci kolisani teploty extruderu
PID_CALIBRATE HEATER=heater_bed TARGET=80 – kalibrace pro eliminaci kolisani teploty podložky
SAVE_CONFIG – uloží hodnoty z kalibrace do konfiguračního souboru
PROBE – umožní kalibraci správného offsetu pro osy X a Y (použij G1 a GET_POSITION pro získání hodnot a potom edituj konfiguraci)
PROBE_ACCURACY – ověření opakované přesnosti v ose Z
PROBE_CALIBRATE – nastaví režim kalibrace osy Z, nyní stačí nastavit osu Z pomocí ovládání v octoprintu nebo G-CODE příkazy
TESTZ Z=-.1 – umožní kalibrovat/nastavovat osu Z ještě níže
ACCEPT - potvrzení kalibrace osy Z
BED_MESH_CALIBRATE – kalibrace rovinnosti podložky, spolu s visualizací lze také srovnat podložku šrouby, zjištěná křivost podložky se aproximuje při tisku kvůli maximální rovině https://plugins.octoprint.org/plugins/bedlevelvisualizer/
MANUAL_PROBE a TESTZ – pro manuální kalibraci osy Z
G-CODE
https://github.com/KevinOConnor/klipper/blob/master/docs/G-Codes.md
https://marlinfw.org/meta/gcode/