I have been using Klipper or trying to for the past week. It has been a learning experience, and the printer is 90% there with the Klipper conversion from Marlin. My printer is a FLSUN 3D Metal Frame Kossel Delta DIY KIT 3DPO-284. It is from the stone age of 2017. It has an MKS Gen L 1.0 RAMPS clone as the interface, and the servos are SL42STH40-1504A. Google search tells me they are 1.8 degrees, and my measuring the belts is 2mm belts. So my config should be :
rotation_distance: 80 # 80 steps per mm - 1.8 deg - 1/16 microstepping
full_steps_per_rotation: 200 # 200 for 1.8 deg, 400 for .9 degrees
I found the comments in a couple of the configs on the GIT examples.
However, when I home and move the Z-axis (remember it’s a DELTA) down 100mm, and I measure, it only moves about 40mm down. I try and change either setting until I get the error that the stepper cant move in that way, and Klipper crashes. When I check the location with an M114, it says this:
Send: G28
Recv: ok
[…]
Send: M114
Recv: X:0.000 Y:-0.000 Z:285.000 E:0.000
Recv: ok
Send: G91
Recv: ok
[…]
Send: G0 Z-100 F200
Recv: ok
[…]
Send: M114
Recv: X:0.000 Y:-0.000 Z:185.000 E:0.000
Recv: ok
And it thinks it moved 100mm, but IRL only moved 40mm. So with this, nothing works. Bed leveling delta calibration crashes into the bed when it leaves the center. Probing does work to find a single center point, staying accurate on repeat probes. I print on this machine all the time with Marlin, and it was very dialed in and made very precise and beautiful prints. I need some help in why it thinks its geometry is so far off.
Here is my config:
[mcu]
serial: /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
restart_method: arduino
[printer]
kinematics: delta
max_velocity: 300
max_accel: 9000
max_z_velocity: 100
delta_radius: 135
print_radius: 120
minimum_z_position=-5
[delta_calibrate]
radius: 100
horizontal_move_z: 5
Speed: 100
[bed_mesh]
speed: 300
horizontal_move_z: 5
mesh_radius: 120
mesh_origin: 0, 0
round_probe_count: 5
[stepper_a]
X_STEP_PIN 54 = PF0
step_pin: PF0
X_DIR_PIN 55 = PF1
dir_pin: !PF1
X_ENABLE_PIN 38 = PD7
enable_pin: !PD7
X_MAX_PIN 2 = PE4
endstop_pin: ^PE4
homing_speed: 300
arm_length: 267
microsteps: 16
position_endstop: 285
rotation_distance: 80 # 80 steps per mm - 1.8 deg - 1/16 microstepping
full_steps_per_rotation: 200 # 200 for 1.8 deg, 400 for .9 degrees
[stepper_b]
Y_STEP_PIN 60 = PF6
step_pin: PF6
Y_DIR_PIN 61= PF7
dir_pin: !PF7
Y_ENABLE_PIN 56 = PF2
enable_pin: !PF2
Y_MAX_PIN 15 = PJ0
endstop_pin: ^PJ0
microsteps: 16
position_endstop: 285
rotation_distance: 80 # 80 steps per mm - 1.8 deg - 1/16 microstepping
full_steps_per_rotation: 200 # 200 for 1.8 deg, 400 for .9 degrees
[stepper_c]
Z_STEP_PIN 46 = PL3
step_pin: PL3
Z_DIR_PIN 48 = PL1
dir_pin: !PL1
Z_ENABLE_PIN 62 = PK0
enable_pin: !PK0
Z_MAX_PIN 19 = PD2
endstop_pin: ^PD2
microsteps: 16
position_endstop: 285
rotation_distance: 80 # 80 steps per mm - 1.8 deg - 1/16 microstepping
full_steps_per_rotation: 200 # 200 for 1.8 deg, 400 for .9 degrees
[probe]
Z_MIN_PIN 18 = PD3
pin: !PD3
x_offset: 0
y_offset: 0
#z_offset: 0
speed: 50.0
samples: 5
samples_result: average
sample_retract_dist: 3
samples_tolerance: .100
samples_tolerance_retries: 5
[extruder]
#define E0_STEP_PIN 26 = PA4
step_pin: PA4
#define E0_DIR_PIN 28 = PA6
dir_pin: PA6
#define E0_ENABLE_PIN 24 = PA2
enable_pin: !PA2
microsteps: 16
rotation_distance: 33.500
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PB4
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PK5
min_temp: 5
max_temp: 290
max_extrude_only_distance: 110.0
[heater_bed]
heater_pin: PH5 #Marlin D8
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PK6
min_temp: 5
max_temp: 130
[fan]
pin: PH6 #Marlin D9
######################################################################
“RepRapDiscount 128x64 Full Graphic Smart Controller” type displays
######################################################################
#define LCD_PINS_RS 49 // CS chip select /SS chip slave select
#define LCD_PINS_ENABLE 51 // SID (MOSI)
#define LCD_PINS_D4 52 // SCK (CLK) clock
“RepRapDiscount 2004 Smart Controller” type displays
[display]
lcd_type: hd44780
rs_pin: PH1
e_pin: PH0
d4_pin: PA1
d5_pin: PA3
d6_pin: PA5
d7_pin: PA7
encoder_pins: ^PC6, ^PC4
click_pin: ^!PC2
kill_pin: ^!PG0
[output_pin beeper]
#define BEEPER_PIN 37 = PC0
pin: PC0
Any help is greatly appreciated. As this is a delta, it has always struggled with the controller not being fast enough during prints. I am anxious to use Klipper and bring this old machine into the future a little.
Thank you slight_smile: