Ender 5 Plus + Klipper: Difference between revisions
Line 21: | Line 21: | ||
# [https://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide#Nozzle_Temperature Extruder nozzle temperature] - I skipped this because i already know what temperature the PLA i use need to be printed at on my E5+ | # [https://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide#Nozzle_Temperature Extruder nozzle temperature] - I skipped this because i already know what temperature the PLA i use need to be printed at on my E5+ | ||
# [https://www.klipper3d.org/Pressure_Advance.html Pressure advance]: Calibrate extruder pressure. | # [https://www.klipper3d.org/Pressure_Advance.html Pressure advance]: Calibrate extruder pressure. | ||
{| class="mw-collapsible mw-collapsed wikitable" | |||
! My printer.cfg looks like this --> | |||
|- | |||
| <pre># This file contains pin mappings for the Creality Ender 5 Plus. | |||
# Ender 5 Plus stock uses a Creality v2.2 board, similar to CR-20 Pro. | |||
# To use this config, the firmware should be compiled for the AVR | |||
# atmega2560. | |||
# See the example.cfg file for a description of available parameters. | |||
#[display] | |||
#lcd_type: st7920 | |||
#cs_pin: PA3 | |||
#sclk_pin: PA1 | |||
#sid_pin: PC1 | |||
#encoder_pins: ^PD2, ^PD3 | |||
#click_pin: ^!PC0 | |||
[stepper_x] | |||
step_pin: PF0 | |||
dir_pin: PF1 | |||
enable_pin: !PD7 | |||
step_distance: .0125 | |||
endstop_pin: ^PE5 | |||
position_endstop: 350 | |||
position_max: 350 | |||
homing_speed: 100 | |||
[stepper_y] | |||
step_pin: PF6 | |||
dir_pin: PF7 | |||
enable_pin: !PF2 | |||
step_distance: .0125 | |||
endstop_pin: ^PJ1 | |||
position_endstop: 350 | |||
position_max: 350 | |||
homing_speed: 100 | |||
[stepper_z] | |||
step_pin: PL3 | |||
dir_pin: PL1 | |||
enable_pin: !PK0 | |||
step_distance: .001266 | |||
endstop_pin: probe:z_virtual_endstop | |||
position_max: 400 | |||
position_min: 0 | |||
homing_speed: 10.0 | |||
[extruder] | |||
step_pin: PA4 | |||
dir_pin: PA6 | |||
enable_pin: !PA2 | |||
step_distance: .010526 | |||
nozzle_diameter: 0.400 | |||
filament_diameter: 1.750 | |||
heater_pin: PB4 | |||
sensor_type: EPCOS 100K B57560G104F | |||
sensor_pin: PK5 | |||
#control: pid | |||
#pid_Kp: 22.2 | |||
#pid_Ki: 1.08 | |||
#pid_Kd: 114 | |||
min_temp: 0 | |||
max_temp: 260 | |||
pressure_advance: 0.754 | |||
pressure_advance_smooth_time: 0.040 | |||
[safe_z_home] | |||
home_xy_position: 208, 180 | |||
speed: 100 | |||
z_hop: 10 | |||
z_hop_speed: 5 | |||
[bltouch] | |||
sensor_pin: ^PD3 | |||
control_pin: PB5 | |||
x_offset: -41.5 | |||
y_offset: -5.8 | |||
#z_offset: 5 | |||
speed: 3.0 | |||
pin_up_touch_mode_reports_triggered: False | |||
[bed_mesh] | |||
speed: 100 | |||
horizontal_move_z: 8 | |||
mesh_min: 50, 50 | |||
mesh_max: 300,300 | |||
probe_count: 3,3 | |||
[heater_bed] | |||
heater_pin: PH5 | |||
sensor_type: EPCOS 100K B57560G104F | |||
sensor_pin: PK6 | |||
#control: pid | |||
#pid_Kp: 690.34 | |||
#pid_Ki: 111.47 | |||
#pid_Kd: 1068.83 | |||
min_temp: 0 | |||
max_temp: 130 | |||
[fan] | |||
pin: PH6 | |||
[mcu] | |||
serial: /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AB0KE9QZ-if00-port0 | |||
[printer] | |||
kinematics: cartesian | |||
max_velocity: 300 | |||
max_accel: 2500 | |||
max_accel_to_decel: 2500 | |||
max_z_velocity: 5 | |||
max_z_accel: 100 | |||
[input_shaper] | |||
shaper_freq_x: 57.7 | |||
shaper_freq_y: 67.5 | |||
shaper_type: mzv | |||
#*# <---------------------- SAVE_CONFIG ----------------------> | |||
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. | |||
#*# | |||
#*# [extruder] | |||
#*# control = pid | |||
#*# pid_kp = 22.391 | |||
#*# pid_ki = 1.044 | |||
#*# pid_kd = 120.070 | |||
#*# | |||
#*# [heater_bed] | |||
#*# control = pid | |||
#*# pid_kp = 64.458 | |||
#*# pid_ki = 0.820 | |||
#*# pid_kd = 1266.594 | |||
#*# | |||
#*# [bltouch] | |||
#*# z_offset = 2.299 | |||
</pre> | |||
|} | |||
= Klipper + OctoPrint problems I ran into = | = Klipper + OctoPrint problems I ran into = |
Revision as of 08:52, 14 October 2020
Purpose
I would like to unleash the power of my Ender 5 Plus(here after referenced as E5+) by removing the "bottleneck" that the weak mainboard processing power introduce. I also need to keep the cost as low as possible. Klipper supposedly should do just this, by moving all data processing from the E5+ mainboard on to the Raspberry Pi 4 i got connected already anyway.
First try/step will be a combo of Klipper and Octoprint. This makes it easy to flash the Klipper firmware onth the E5+ and I already got OctoPrint running at a Raspberry Pi 4 connected to my E5+ so...
Later i might try the Klipper + Moonraker + MainSail combo.
Klipper + OctoPrint combo
An installation guide is avilable on the Klipper website. I will follow that now.
make menuconfig will ask for microcontroller - the E5+ uses atmega2560. See printer-creality-ender5plus-2019.cfg
You(and I) MUST read, understand and perform the Config checks - Manual Leveling - Probe Calibration & Bed Leveling BEFORE you try to print!!
The overview page is a valuable resource of information so i got a lot of reading to do ;-)
Depending on the result of the first Benchy test print I believe that the next tuning should be done in this order:
- Resonance compensation: A tool to reduce ringing in prints. This was a challenge to my 50 year old eyes but it actuallt helped a lot so do not skip this - find a magnifying glass ;-)
- Extruder E steps - I skipped this because the test prints didn't show _any_ signs of over- or under-extrution.
- Extruder nozzle temperature - I skipped this because i already know what temperature the PLA i use need to be printed at on my E5+
- Pressure advance: Calibrate extruder pressure.
My printer.cfg looks like this --> |
---|
# This file contains pin mappings for the Creality Ender 5 Plus. # Ender 5 Plus stock uses a Creality v2.2 board, similar to CR-20 Pro. # To use this config, the firmware should be compiled for the AVR # atmega2560. # See the example.cfg file for a description of available parameters. #[display] #lcd_type: st7920 #cs_pin: PA3 #sclk_pin: PA1 #sid_pin: PC1 #encoder_pins: ^PD2, ^PD3 #click_pin: ^!PC0 [stepper_x] step_pin: PF0 dir_pin: PF1 enable_pin: !PD7 step_distance: .0125 endstop_pin: ^PE5 position_endstop: 350 position_max: 350 homing_speed: 100 [stepper_y] step_pin: PF6 dir_pin: PF7 enable_pin: !PF2 step_distance: .0125 endstop_pin: ^PJ1 position_endstop: 350 position_max: 350 homing_speed: 100 [stepper_z] step_pin: PL3 dir_pin: PL1 enable_pin: !PK0 step_distance: .001266 endstop_pin: probe:z_virtual_endstop position_max: 400 position_min: 0 homing_speed: 10.0 [extruder] step_pin: PA4 dir_pin: PA6 enable_pin: !PA2 step_distance: .010526 nozzle_diameter: 0.400 filament_diameter: 1.750 heater_pin: PB4 sensor_type: EPCOS 100K B57560G104F sensor_pin: PK5 #control: pid #pid_Kp: 22.2 #pid_Ki: 1.08 #pid_Kd: 114 min_temp: 0 max_temp: 260 pressure_advance: 0.754 pressure_advance_smooth_time: 0.040 [safe_z_home] home_xy_position: 208, 180 speed: 100 z_hop: 10 z_hop_speed: 5 [bltouch] sensor_pin: ^PD3 control_pin: PB5 x_offset: -41.5 y_offset: -5.8 #z_offset: 5 speed: 3.0 pin_up_touch_mode_reports_triggered: False [bed_mesh] speed: 100 horizontal_move_z: 8 mesh_min: 50, 50 mesh_max: 300,300 probe_count: 3,3 [heater_bed] heater_pin: PH5 sensor_type: EPCOS 100K B57560G104F sensor_pin: PK6 #control: pid #pid_Kp: 690.34 #pid_Ki: 111.47 #pid_Kd: 1068.83 min_temp: 0 max_temp: 130 [fan] pin: PH6 [mcu] serial: /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AB0KE9QZ-if00-port0 [printer] kinematics: cartesian max_velocity: 300 max_accel: 2500 max_accel_to_decel: 2500 max_z_velocity: 5 max_z_accel: 100 [input_shaper] shaper_freq_x: 57.7 shaper_freq_y: 67.5 shaper_type: mzv #*# <---------------------- SAVE_CONFIG ----------------------> #*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. #*# #*# [extruder] #*# control = pid #*# pid_kp = 22.391 #*# pid_ki = 1.044 #*# pid_kd = 120.070 #*# #*# [heater_bed] #*# control = pid #*# pid_kp = 64.458 #*# pid_ki = 0.820 #*# pid_kd = 1266.594 #*# #*# [bltouch] #*# z_offset = 2.299 |
Klipper + OctoPrint problems I ran into
- The touch display on the printer does not work with Klipper and it does not look like it is easy to get it to work... i will look for solotions, but it is not essential to me because I use the OctoPrint webinterface.
- OctoPrint reported errors in the Gcode that turned out beeing related to hidden ascii codes in the start_gcode. Solution was found somewhere on the Intarwebs i cannot recall. I copied the Start and End G-code from Cura int Notepad++ and manually replaced all spaces with new ones. I could not see any difference on the spaces before and after BUT it worked so who cares ;-)
- I lost http and ssh connection to the Raspberry Pi 3/4 into the Pressure Advance cube test print. The test print finished anyway so it was only network connections that died. I powercycled the Pi and everything seemed okay again!? It happened again and i suspect it is the WiFi connection that somehow locks up so I disabled the WiFi interface and connected the Raspberry Pi with an ethernet cable.
Klipper + Moonraker + MainSail combo
will be addressed later ...
Things to check B4 we ditch OctoPrint
- Can Cura interact with Mailsail?
Reference pages
- My cry for help in the Danish Facebook group Den seriøse Ender-3/Ender-5 gruppe
- Klipper is a 3d-Printer firmware. It combines the power of a general purpose computer with one or more micro-controllers.
- OctoPrint provides a snappy web interface for controlling consumer 3D printers.
- Moonraker is a Python 3 based web server that exposes APIs with which client applications may use to interact with Klipper.
- Mainsail is a lightweight & responsive web interface for the Klipper 3D printer firmware.
Notes for the future
- Bed leveling will also be nessesary to do now and then ;-)
- Calibrating PID settings is a wise thing to do everytime the environment around the printer changes 'significantly'.
- REMEMBER to slice as described in the tips for configuring a “slicer” application for use with Klipper.