Klipper3d / klipper

Klipper is a 3d-printer firmware
GNU General Public License v3.0
9.11k stars 5.22k forks source link

SKR 1.4 with TMC2209 and BLTouch #2772

Closed Xenomorphdelombre closed 4 years ago

Xenomorphdelombre commented 4 years ago

Hi, swtched from the Ender 3 board to SKR 1.4 with TMC2209 and BLTouch.

I managed to get the printer back on, xyz move but the BLTouch does not work and I don't have temp nor can I heat the bed or the extruder.

Attached is Klippy.log

klippy.log

Xenomorphdelombre commented 4 years ago
# This file contains common pin mappings for the BIGTREETECH SKR V1.4
# board. To use this config, the firmware should be compiled for the
# LPC1768.

# See the example.cfg file for a description of available parameters.<

[stepper_x]
step_pin: P2.2
dir_pin: !P2.6
enable_pin: !P2.1
step_distance: .0125
endstop_pin: P1.29
position_min: 3
position_endstop: 3
position_max: 255
homing_speed: 100

[tmc2208 stepper_x]
uart_pin: P1.10
microsteps: 16
run_current: 0.800
hold_current: 0.500
stealthchop_threshold: 250

[stepper_y]
step_pin: P0.19
dir_pin: !P0.20
enable_pin: !P2.8
step_distance: .0125
endstop_pin: P1.28
position_min: 0
position_endstop: 0
position_max: 235
homing_speed: 100

[tmc2208 stepper_y]
uart_pin: P1.9
microsteps: 16
run_current: 0.800
hold_current: 0.500
stealthchop_threshold: 250

[stepper_z]
step_pin: P0.22
dir_pin: P2.11
enable_pin: !P0.21
step_distance: .0025
endstop_pin: probe:z_virtual_endstop
position_min: -5
position_max: 250

[tmc2208 stepper_z]
uart_pin: P1.8
microsteps: 16
run_current: 0.650
hold_current: 0.450
stealthchop_threshold: 30

# This is the part cooling fan that plugs right in to the fan output marked 'FAN'
[fan]
pin: P2.3

# Ender 3 stock heater fan wires into the second extruder heater output marked 'HE1'
[heater_fan e0_fan]
pin: P2.4
heater: extruder
heater_temp: 50.0
fan_speed: 1.0

# Ender 3 stock heater bed
[heater_bed]
heater_pin: P2.5
sensor_type: EPCOS 100K B57560G104F
sensor_pin: P0.25
control: pid
pid_Kp: 54.027
pid_Ki: 0.770
pid_Kd: 948.182
min_temp: 0
max_temp: 130

[extruder]
max_extrude_only_distance: 100.0
step_pin: P2.13
dir_pin: !P0.11
enable_pin: !P2.12
pressure_advance: 0.065
pressure_advance_smooth_time: 0.010
# Tune your Esteps just like in marlin except when you get a % under/over extrusion
step_distance: 0.00712
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: P2.7
sensor_type: EPCOS 100K B57560G104F
sensor_pin: P0.24
control: pid
pid_kp = 26.194
pid_ki = 1.679
pid_kd = 102.158
min_temp: 0
max_temp: 250

[tmc2208 extruder]
uart_pin: P1.4
microsteps: 16
run_current: 0.800
hold_current: 0.500
stealthchop_threshold: 5

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

[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100

###############################################
##  Probing/Mesh
###############################################

[bltouch]
sensor_pin: P0.10  # Pull-up (^ symbol) needed in open drain mode
control_pin: P2.0
# Some BLTouch V3 and many clones apparently require this, though mine didnt:
pin_up_touch_mode_reports_triggered: False
#flavor: genuine_smart_3.1
x_offset: -48
y_offset: -15
z_offset: 1.4
pin_move_time: 1

[bed_mesh]
speed: 250
horizontal_move_z: 8
mesh_min: 20,15
mesh_max: 205,215
probe_count: 3,3
fade_start: 1.0
mesh_pps: 2,2

[safe_z_home]
home_xy_position: 155,120
speed: 80.0
z_hop: 10.0
z_hop_speed: 10.0

[gcode_macro G29]
gcode:
    BED_MESH_CALIBRATE

[pause_resume]

[gcode_macro M600]
gcode:
    PAUSE
    CHANGE_FILAMENT_START

[gcode_macro CHANGE_FILAMENT_START]
gcode:
    SAVE_GCODE_STATE NAME=M600_state
    G91
    G1 E-.8 F2700
    G1 Z10
    G90
    G1 X50 Y0 F3000
    G91
    G1 E-5 F300

[gcode_macro CHANGE_FILAMENT_END]
gcode:
    G91
    RESTORE_GCODE_STATE NAME=M600_state
    RESUME

[respond]
default_type: echo

########################################
# Optional LCD configuration
########################################

# Ender 3 stock display plugs in to the EXP1 port
[display]
lcd_type: st7920
encoder_pins: ^P1.20, ^P1.18
click_pin: ^!P0.28
cs_pin: P1.22
sid_pin: P1.23
sclk_pin: P1.21

# This adds a screw tilt adjust command that probes certain points on the bed and recommends new bed screw positions (turn clockwise this much etc)
[screws_tilt_adjust]
screw1: 50,15
screw1_name: Front left screw
screw2: 50,235
screw2_name: Rear left screw
screw3: 245,15
screw3_name: Front right screw
screw4: 245,235
screw4_name: Rear right screw
horizontal_move_z: 10
speed: 250
screw_thread: CW-M3

[menu __main]
type = list
name = Main Menu
items =
    __tune
    __octoprint
    __sdcard
    __control
    __calibration
    __temp
    __filament
    __prepare

[menu __calibration]
type = list
name = Calibration
items = 
    __calibration_home_all_axes
    __calibration_bed_screws_adjust
    __calibration_bed_mesh_calibrate
    __calibration_screws_calculate
    __calibration_probe_calibrate
    __calibration_probe_accuracy
    __general_firmware_restart

[menu __calibration_accept]
type = command
name = Accept
gcode = ACCEPT

[menu __calibration_abort]
type = command
name = Abort
gcode = ABORT
action = back

[menu __calibration_screws_calculate]
type = command
name = Screw tilt calculate
gcode = 
    G28
    SCREWS_TILT_CALCULATE

[menu __calibration_bed_screws_adjust]
type = list
name = Adjust screws
enter_gcode = 
    G28
    BED_SCREWS_ADJUST
show_back = False
items = 
    __calibration_accept
    __calibration_bed_screws_adjust_adjusted
    __calibration_save_config
    __calibration_abort

[menu __calibration_probe_accuracy]
type = command
name = Test accuracy
gcode = 
    G28
    G1 X164 Y134 Z10 F6000
    PROBE_ACCURACY

[menu __calibration_save_config]
type = command
name = Save config
gcode = SAVE_CONFIG

[menu __general_firmware_restart]
type = command
name = Restart firmware
gcode = FIRMWARE_RESTART

[menu __calibration_home_all_axes]
type = command
name = Home XYZ
gcode = G28

[menu __calibration_bed_screws_adjust_adjusted]
type = command
name = Adjusted
gcode = ADJUSTED

[menu __calibration_probe_calibrate]
type = list
show_back = False
name = Adjust Z offset
enter_gcode = 
    G28
    G0 Z10 F6000
    PROBE_CALIBRATE
items = 
    __calibration__toolhead_zpos
    __calibration_probe_calibrate_testz_minus, __calibration_probe_calibrate_testz_plus
    __calibration_probe_calibrate_testz_minus_minus, __calibration_probe_calibrate_testz_plus_plus
    __calibration_probe_calibrate_testz_minus_1, __calibration_probe_calibrate_testz_plus_1
    __calibration_probe_calibrate_testz_minus_point_1, __calibration_probe_calibrate_testz_plus_point_1
    __calibration_accept
    __calibration_save_config
    __calibration_abort

[menu __calibration__toolhead_zpos]
type = item
width = 16
name = "Z = {0:.3f}"
cursor = \x20
parameter = toolhead.zpos

[menu __calibration_probe_calibrate_testz_minus]
cursor = \x20
type = command
width = 7
name = "   -"
gcode = TESTZ Z=-

[menu __calibration_probe_calibrate_testz_plus]
cursor = \x20
type = command
name = "   +"
width = 7
gcode = TESTZ Z=+

[menu __calibration_probe_calibrate_testz_minus_minus]
cursor = \x20
type = command
name = "   --"
width = 7
gcode = TESTZ Z=--

[menu __calibration_probe_calibrate_testz_plus_plus]
cursor = \x20
type = command
name = "   ++"
width = 7
gcode = TESTZ Z=++

[menu __calibration_probe_calibrate_testz_minus_1]
cursor = \x20
type = command
name = "  -1.0"
width = 7
gcode = TESTZ Z=-1

[menu __calibration_probe_calibrate_testz_plus_1]
cursor = \x20
type = command
name = "  +1.0"
width = 7
gcode = TESTZ Z=+1

[menu __calibration_probe_calibrate_testz_minus_point_1]
cursor = \x20
type = command
name = "  -0.1"
width = 7
gcode = TESTZ Z=-0.1

[menu __calibration_probe_calibrate_testz_plus_point_1]
cursor = \x20
type = command
name = "  +0.1"
width = 7
gcode = TESTZ Z=+0.1

[menu __calibration_bed_mesh_calibrate]
type = command
name = Generate bed mesh
width = 18
show_back = False
gcode = 
    G28
    BED_MESH_CALIBRATE
    SAVE_CONFIG+

#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#
davidja92 commented 4 years ago

Config looks right for the 1.4 I would change your tmc sections to 2209 since you are using that...if u activate temps do u feel them warming up even if they report 0? If you try to set heat and type status does any error pop out?

Xenomorphdelombre commented 4 years ago

I wil lchange the names for TMC2209, Set heat and type status?

When I try to heat up nothing happens

davidja92 commented 4 years ago

Did u ensure your thermistors are plugged in properly into you board? If you type status does it just return klipper ready?

Xenomorphdelombre commented 4 years ago

Yes I even tried other thermistor. Also plugged back old board, everything works. Status is Ready. I can move all axis

davidja92 commented 4 years ago

Did you fix header to tmc2209 save it and restart firmware?

Xenomorphdelombre commented 4 years ago

I tried to go back to Marlin and I got a MAXTEMP error on boot. Board is labeled as BigTreetech SKR 1.4 ARM Smoothieboard https://imgur.com/a/EZvnCHE

Yes I replaced with

[tmc2209 stepper_x]
uart_pin: P1.10
microsteps: 16
run_current: 0.800
hold_current: 0.500
stealthchop_threshold: 250

for all 4

davidja92 commented 4 years ago

I saw I klipper log you attempting to set temp but your temp reading reports 0 what’s ports do you have power for your extruder and heat bed? Power for heatbed at bed and extruder at he0 and thermsistor for hot bed at TB and for extruder a TH0? Doesn’t Looks like A klipper issue since I run same setup and have the same config

Xenomorphdelombre commented 4 years ago

Power in DC IN, Bed in HB, Hot end on HE0 and Hotend fan on HE1. Thermistor are in: Bed: TB and hotend on TH0

Xenomorphdelombre commented 4 years ago

Also BLtouch does a self test when power on but doesn't deploy when homing

davidja92 commented 4 years ago

Are you 1.4 or 1.4turbo?

Xenomorphdelombre commented 4 years ago

I believe it is a 1.4 the processor is LPC1768

davidja92 commented 4 years ago

Ok so visual of your board shows the nxp lpc1768 that would be non turbo

davidja92 commented 4 years ago

Do you have your power jumper on vdd not usb?

Xenomorphdelombre commented 4 years ago

Yes VDD

davidja92 commented 4 years ago

Sorry just to verify I have the red wires on the left and black on the right to power your bed and extruder?

davidja92 commented 4 years ago

And check your 2 fuses

Xenomorphdelombre commented 4 years ago

Sorry just to verify I have the red wires on the left and black on the right to power your bed and extruder?

Yes, Check both fuses, they are good

This ia an odd one eh? :(

davidja92 commented 4 years ago

Yeah you have exact same setup as me

davidja92 commented 4 years ago

Does your bed mossfet power up? Should have an always on led and when u send power it should turn on another

Xenomorphdelombre commented 4 years ago

the always on Red is there, but when I send heat nothing lights up. As if the pins are wrong

davidja92 commented 4 years ago

Do you have a spare mossfet to test ? Make sure it didn’t fail

davidja92 commented 4 years ago

Hopefully it isn’t a bad board :( try hitting the reset button on the board itself

davidja92 commented 4 years ago

When you went back to marlin the max temp error is cause by thermsistors broken it not plugged in

davidja92 commented 4 years ago

Also why you bed heat shows 0.... verify wires are not broken and you don’t have them screwed down too tight

Xenomorphdelombre commented 4 years ago

I don't have another mosfet. The thermistor still works fine on the original Creality board.

I haven'T try hitting reset... Let's see!

Xenomorphdelombre commented 4 years ago

Reset doesn't do anything.

I tried Marlin without the probe connected as well as with the Define disable bogus maxtemp error. I was getting the same error. It start to look like a bad board...

davidja92 commented 4 years ago

Join the klipper discord and post on the skr channel so we can get more people on this

Xenomorphdelombre commented 4 years ago

can you give me the link?

davidja92 commented 4 years ago

https://discordapp.com/invite/df9yTE2

Xenomorphdelombre commented 4 years ago

Oh when I try to heat the hotend, there is one of the mosfet light that light up and then looks like the printer crashed. I couldn't control anymore had to power cycle

davidja92 commented 4 years ago

You have an external mossfet on your hotend? External mossfet normally only for heatbed

davidja92 commented 4 years ago

When you lose connection go into the terminal of octopi to see what the errors are

Xenomorphdelombre commented 4 years ago

No external mosfet.

Neverming I understand what happened. This is the HE1 fan that started because of 'HE1' [heater_fan e0_fan] pin: P2.4 heater: extruder heater_temp: 50.0 fan_speed: 1.0

davidja92 commented 4 years ago

Ahh ok

davidja92 commented 4 years ago

Can you post up some nice pics of your board and how everything is plugged in so I can just comb through it

Xenomorphdelombre commented 4 years ago

https://imgur.com/a/L2chA5G

davidja92 commented 4 years ago

Everything looks right I don’t get it...make sure the screws for the power wires all the way right and the actual metal wires making contact?

davidja92 commented 4 years ago

Does the terminal report anything when u try to send heat to hot end or bed?

Xenomorphdelombre commented 4 years ago

I've got a bunch of these.

Send: M105
Recv: ok T:0
Send: M105
Recv: ok T:0
Send: M105
Recv: ok T:0
Send: M105
Recv: ok T:0
Send: M105
Recv: ok T:0
Send: M105
Recv: ok T:0
Send: M105
Recv: ok T:0
Send: M105
Recv: ok T:0
Send: M105
Recv: ok T:0
Send: M105
Recv: ok T:0
Send: M105
Recv: ok T:0
Send: M105
Recv: ok T:0
davidja92 commented 4 years ago

Check the 3 boxes to suppress all those messages

davidja92 commented 4 years ago

And send a m140 s50

davidja92 commented 4 years ago

And advise on what the terminal returns

Xenomorphdelombre commented 4 years ago

Send: M140 S50 Recv: ok

davidja92 commented 4 years ago

Put your hand on the bed is it getting warm?

Xenomorphdelombre commented 4 years ago

It is not, and the mosfet lef doesn't light up

davidja92 commented 4 years ago

Klipper will error out after a 20 second timeout since it doesn’t have thermsistor showing the bed heating so just try to see if u feel any heat before the 20 or so seconds

davidja92 commented 4 years ago

Verify your mossfet connection

davidja92 commented 4 years ago

Any heat to your extruder by chance?

Xenomorphdelombre commented 4 years ago

No both are equialy cold. I tried to heat the bed and checked with a multimeter and no voltage on either bed or hotend screws