1 / 15
SK-Tank CF BMG Dual 5015s Mount — image 1
1 / 15

SK-Tank CF BMG Dual 5015s Mount

Order a print of this model

We calculate the final price from your selected file. You review and accept it before payment.

Saved on this device.

This is a replacement SecKit SK-Tank mount for a BMG and CF gantry, with dual 5015 radial/blower fans for part…

Rating
5 / 5
Likes
7
Downloads
43
Makes
0
Views
1,681
Reviews
1

Updated at source:

Model information

License
Creative Commons — Attribution

This is a replacement SecKit SK-Tank mount for a BMG and CF gantry, with dual 5015 radial/blower fans for part cooling, and a ducted axial 30mm (3010, 3015, or 3020) fan for hotend cooling. The same mount supports the Dragon HF, E3D V6, and E3D Volcano using different friction-fit air ducts for part cooling.

EDIT 2022-02-25: Added support for BLTouch. There are two mounts - one for Volcano, and one for V6 and Dragon HF. I recommend printing these in the default orientation for strength. The Volcano one can be printed without supports, but the V6/Dragon one will probably need supports (build plate only).

EDIT 2022-04-07: Added a mount for the Euclid Z probe toolboard. I recommend putting the dock in the back right corner of the Tank, with this mount going on the +X side of the back of the extruder plate. That way homing X and Y will go away from the dock, minimizing any chance of collision. My dock design is posted separately as it is not dependent on this toolboard mount or even this extruder setup.

In future, I plan to add support for the stock aluminum gantry... the hole pattern is a bit different so this one only works on the CF gantry.

Assembly instructions:

  • Print the parts. The default orientation should be OK, but adjust as needed.
  • Tap the hotend fan holes in the back of the extruder plate for M3, or your preference. The holes as designed are intentionally a bit small for M3, so they tap easily. If you don't plan to tap them you may want to drill them with a 3mm bit to accept an M3 screw.
  • Install the hotend fan.
  • If using an inductive probe, install the inductive probe (height is not important yet, just put it about halfway) into the L-shaped inductive probe mount, with the L pointing up.
  • If using a BLTouch, install the BLTouch into the appropriate mount, with the wires facing away from the mount. The mounting point for the BLTouch is at the top of the mount, with the BLTouch hanging down facing the mount. The slot should allow a bit of vertical adjustment.
  • Install the probe mount to the extruder plate using two short M3 screws.
  • Remove the 4020 duct, BMG and hotend, if installed.
  • Sandwich the extruder plate between the extruder stepper and the BMG, and start the three long M3 screws. Do not tighten fully just yet.
  • (Dragon HF only) Rotate the hotend so that the heat block points towards the front. This is to prevent radiant heat from deforming the hotend fan duct.
  • If necessary, reverse the heater and thermistor so that the wires will exit to the left.
  • Tighten the three long M3 screws to firmly attach the BMG to the stepper motor and lock the hotend in place.
  • Pass the heater and thermistor wires through the rounded pass-through hole in the extruder plate.
  • Trim and/or file the inside of the fan duct attachment sockets, so that they are smooth and free of obstructions.
  • Trim and/or file the fan ducts the same way. You may want to test fit them during the process to ensure they will go all the way in and fit snugly.
  • Install the extruder assembly to the four existing M3 standoffs.
  • On each of the 5015 fans:
    • File down the top screw channel so there is room to accommodate a nut between the screw channel and the body of the BMG. The side that needs to be filed is different per fan; file one side on one fan, and the other side on the other fan.
    • File down the little nub at the bottom of the +Y side of the fan, to allow it to seat fully.
  • Test fit the 5015 fans. Make any necessary adjustments, then install the fans, placing a nut toward the inside, between the fan and the BMG. Run the wire for the left fan through the same opening as the other wires. Run the right one around the right side of the fan, then up along the stepper motor inside the standoffs.
  • Insert the fan ducts until snug, then tighten them down at the top.
  • Connect the wiring.
  • Adjust the firmware configuration to reflect the new probe X and Y offsets:
    • Inductive probe: X -22.2 mm, Y +32.3 mm
    • BLTouch: X -29.2 mm, Y +36.0 mm
  • Accordingly you should also adjust your bed mesh and z tilt coordinates. I have pasted my current Klipper config below for reference.
  • Calibrate the probe Z offset.
  • Adjust fan speeds in your slicer.
  • You're done!

My Klipper config is below, for reference (only):

# This file contains common pin mappings for the 6 stepper motor
# "FLYmaker Fly-CDYv2" board from creative3dprinter.com. To
# use this config, the firmware should be compiled for the STM32F407
# with a "32KiB bootloader".
# see hardware details on https://github.com/FLYmaker/Fly-CDYv2

The "make flash" command does not work on the Fly-CDYv2. Instead,

after running "make", copy the generated "out/klipper.bin" file to a

file named "firmware.bin" on an SD card and then restart the Fly-CDYv2

with that SD card.

See docs/Config_Reference.md for a description of parameters.

This file can be used as a basline printer.cfg for the SK-Tank

################################################################################################################################################################

ATTENTION # You shall not use this file without checking and adopting the settings according to your actual built! (e.g. wiring, dimensions, extruder setup)

################################################################################################################################################################

Note: please check https://www.klipper3d.org/Config_Reference.html to get the full list of settings. Default settings and not set explicit in this cfg

########################################

basic settings

########################################

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

[printer] kinematics: corexy max_velocity: 300 max_accel: 5000 ;set to 7000 for resonance test max_z_velocity: 7 max_z_accel: 100

Note: Extruder settings have to be set in on the extruder in the Steppers & Stepper

Drivers section usig "max_extrude_only_velocity:" and "max_extrude_only_accel:" attributes

########################################

Steppers & Stepper Drivers

########################################

using TMC2208 configuration for TMC2225 steper drivers

lower belt stepper left back

usind X socket on Fly-CDYv2

[stepper_x] step_pin: PE5 dir_pin: !PC0 # for standard SK-Tank wiring you have to change the direction by adding "!" so the new pin will be "!PC0" enable_pin: !PC1 microsteps: 16 rotation_distance: 32 # Marlin/RRF reference: 200 steps / mm (rotation_distance = <full_steps_per_rotation> * <microsteps> / <steps_per_mm>) full_steps_per_rotation: 200 # 400 for a 0.9 stepper, 200 for 1.8 stepper endstop_pin: PC7 position_endstop: 0 position_min: -1 position_max: 350 homing_speed: 150 #150 #[tmc2208 stepper_x] #uart_pin: PC15 #interpolate: True #run_current: 0.800 #hold_current: 0.500

upper belt stepper right back

usind Y socket on Fly-CDYv2

[stepper_y] step_pin: PE4 dir_pin: !PC13 # for standard SK-Tank wiring you have to change the direction by adding "!" so the new pin will be "!PC13" enable_pin: !PC14 microsteps: 16 rotation_distance: 32 # Marlin/RRF reference: 200 steps / mm (rotation_distance = <full_steps_per_rotation> * <microsteps> / <steps_per_mm>) full_steps_per_rotation: 200 # 400 for a 0.9 stepper, 200 for 1.8 stepper endstop_pin: PD11 position_endstop: -3 position_min: -4 position_max: 324 homing_speed: 150 #150 #[tmc2208 stepper_y] #uart_pin: PA8 #interpolate: True #run_current: 0.800 #hold_current: 0.500

Z stepper front left

usind ZA socket on Fly-CDYv2 - ZB socket need to be jumpered when not used (connect 2B<>2A and 1A<>1B pin in socket)

[stepper_z] step_pin: PE3 dir_pin: PB7 enable_pin: !PB8 microsteps: 16 rotation_distance: 32 # Marlin/RRF reference: 2000 steps / mm (rotation_distance = <full_steps_per_rotation> * <microsteps> / <steps_per_mm> * <gear_ratio>) full_steps_per_rotation: 200 # for a 1.8 stepper gear_ratio: 20:1 # to match z stepper 20:1 gearbox NEMA8 #endstop_pin: PB10 # use optical endstop for Z endstop endstop_pin: probe:z_virtual_endstop # use BL-Touch or inductive probe for Z endstop #position_endstop: 2.5 # disable when using BL-Touch or inductive probe for Z endstop position_min: -6 position_max: 400 homing_retract_dist: 2 # added to lift the nozzle 2mm after homing vs. endstop [tmc2208 stepper_z] uart_pin: PB6 interpolate: True run_current: 0.500 hold_current: 0.400

Z1 stepper front right

usind E1 socket on Fly-CDYv2

[stepper_z1] step_pin: PE1 dir_pin: !PD3 # direction inverted since SK-Tank setup is using flipped stepper orientation for Z1 enable_pin: !PD4 microsteps: 16 rotation_distance: 32 # Marlin/RRF reference: 2000 steps / mm (rotation_distance = <full_steps_per_rotation> * <microsteps> / <steps_per_mm> * <gear_ratio>) full_steps_per_rotation: 200 # for a 1.8 stepper gear_ratio: 20:1 # to match z stepper 20:1 gearbox NEMA8 [tmc2208 stepper_z1] uart_pin: PD1 interpolate: True run_current: 0.500 hold_current: 0.400

Z2 stepper back center

usind E2 socket on Fly-CDYv2

[stepper_z2] step_pin: PE0 dir_pin: PA15 enable_pin: !PD0 microsteps: 16 rotation_distance: 32 # Marlin/RRF reference: 2000 steps / mm (rotation_distance = <full_steps_per_rotation> * <microsteps> / <steps_per_mm> * <gear_ratio>) full_steps_per_rotation: 200 # for a 1.8 stepper gear_ratio: 20:1 # to match z stepper 20:1 gearbox NEMA8 [tmc2208 stepper_z2] uart_pin: PE9 interpolate: True run_current: 0.500 hold_current: 0.400

extruder stepper

usind E0 socket on Fly-CDYv2

[extruder] step_pin: PE2 dir_pin: !PD6 enable_pin: !PD7 microsteps: 16 # values set for Biqu H2 #rotation_distance: 3.45 # Biqu H2. Marlin/RRF reference: 1900 steps / mm (rotation_distance = <full_steps_per_rotation> * <microsteps> / <steps_per_mm> * <gear_ratio>) # values set for Flex3Drive G5 Flex Extruder rotation_distance: 7.71 # Triangle Lab BMG clone full_steps_per_rotation: 200 # for a 1.8 stepper #gear_ratio: 19:16 # values set for Flex3Drive G5 Flex Extruder nozzle_diameter: 0.400 filament_diameter: 1.750 #max_extrude_only_velocity: 40 # values set for Flex3Drive G5 Flex Extruder max_extrude_only_distance: 100.0 #max_extrude_only_accel: 60 # values set for Flex3Drive G5 Flex Extruder pressure_advance: 0.04 heater_pin: PD12 # T0 sensor_pin: PA3 # T0 Temp

Thermistor - Biqu H2

#sensor_type: NTC 100K beta 3950 #control: pid #pid_Kp: 13.385 # to be adjusted by running PID_CALIBRATE HEATER=extruder TARGET=205 #pid_Ki: 0.386 # to be adjusted by running PID_CALIBRATE HEATER=extruder TARGET=205 #pid_Kd: 115.950 # to be adjusted by running PID_CALIBRATE HEATER=extruder TARGET=205

#Thermistor - Triangle Lab Dragon HF sensor_type: NTC 100K beta 3950 # basic Thermistor, type to be verified by Ernest control: pid # changed to "watermark" and comment/delet the PID seetings below if you have issues with the SSR (like some SSR dont like PID control) pid_Kp: 23.242 # to be adjusted by running PID_CALIBRATE HEATER=extruder TARGET=220 pid_Ki: 1.476 # to be adjusted by running PID_CALIBRATE HEATER=extruder TARGET=220 pid_Kd: 91.516 # to be adjusted by running PID_CALIBRATE HEATER=extruder TARGET=220

min_extrude_temp: 170 min_temp: 0 max_temp: 260 [tmc2208 extruder] uart_pin: PD5 interpolate: True run_current: 0.800 hold_current: 0.300

########################################

BED HEATERS & FANS

########################################

[heater_bed] heater_pin: PB0 # BED sensor_pin: PB1 # B-TEMP sensor_type: NTC 100K beta 3950 # basic Thermistor, type to be verified by Ernest control: pid # changed to "watermark" and comment/delet the PID seetings below if you have issues with the SSR (like some SSR dont like PID control) pid_Kp: 53.190 # to be adjusted by running PID_CALIBRATE HEATER=heater_bed TARGET=60 pid_Ki: 2.955 # to be adjusted by running PID_CALIBRATE HEATER=heater_bed TARGET=60 pid_Kd: 239.354 # to be adjusted by running PID_CALIBRATE HEATER=heater_bed TARGET=60 min_temp: 0 max_temp: 100

[fan] pin: PA0 # FAN0 used as print cooling fan

[heater_fan FAN1] pin: PA2 # FAN1 used as hotend cooling fan heater: extruder heater_temp: 50.0

#[controller_fan FAN2]

this will allow you to connect to driver cooling fan to FAN2 instead of VCC (permanent power) so its only cooling if the stepper drivers are active

#pin: PA2 # FAN2 used as controller cooling fan

########################################

Inductive sensor

########################################

#[probe] #pin: PB10 ##x_offset: -22.0 # BMG/Dragon stock ##y_offset: 16.0 # BMG/Dragon stock #x_offset: -22.2 # BMG/Dragon dual 5015s #y_offset: 32.3 # BMG/Dragon dual 5015s ##x_offset: -27.4 # BMG/Dragon Berd-Air ##y_offset: 14.9 # BMG/Dragon Berd-Air #z_offset: 0.75 #speed: 7.5 # Speed (in mm/s) of the Z axis when probing. The default is 5mm/s. #samples: 1

########################################

BL-Touch

########################################

[bltouch] sensor_pin: ^PC2 control_pin: PE6 pin_move_time: 0.4 stow_on_each_sample: True probe_with_touch_mode: True #Needed for BLTouch V3.0 / V3.1 x_offset: -29.2 y_offset: 36 z_offset: 3.25 speed: 5 samples: 1 sample_retract_dist: 2 samples_result: average

[safe_z_home] home_xy_position: 204.2,139 # Nozzle coordinates that will put the probe in the center of the bed speed: 150 z_hop: 10 # Move up 10mm z_hop_speed: 7.5

[bed_mesh] speed: 150 horizontal_move_z: 6 mesh_min: 35,51 #Probe coordinates mesh_max: 310,341 #Probe coordinates probe_count: 7,7 algorithm: bicubic bicubic_tension: 0.2 move_check_distance: 5 split_delta_z: .025 fade_start: 1 fade_end: 10 #fade_target: 0

[z_tilt] #Positions of the bed mounts, in nozzle coordinates. Shouldn't need to change these once set up. z_positions: 6, 6 344, 6 175, 325 #Positions to measure, in nozzle coordinates - i.e. make sure the probe is above the bed when the nozzle is at these positions points: 39.2, 0 350, 0 204.2, 304 speed: 150 horizontal_move_z: 10 retries: 2 retry_tolerance: 0.1

[force_move] enable_force_move: True # Set to true to enable FORCE_MOVE and SET_KINEMATIC_POSITION

########################################

Input Shaping

######################################## [mcu rpi] serial: /tmp/klipper_host_mcu

[adxl345] cs_pin: rpi:None

[resonance_tester] accel_chip: adxl345 probe_points: 175,175,20 # an example

[input_shaper]

Biqu H2

#shaper_freq_x: 74.0 #shaper_type_x: mzv #shaper_freq_y: 82.4 #shaper_type_y: 2hump_ei

BMG/Dragon HF - Aluminum gantry

#shaper_freq_x: 61.6 #shaper_type_x: mzv #shaper_freq_y: 46.4 #shaper_type_y: mzv

BMG/Dragon HF - CF gantry - stock

#shaper_freq_x: 60.0 #shaper_type_x: zv #shaper_freq_y: 52.0 #shaper_type_y: zv

BMG/Dragon HF - CF gantry - dual 5015s

shaper_freq_x: 66.2 shaper_type_x: mzv shaper_freq_y: 48.6 shaper_type_y: mzv

########################################

Filament Switch Sensor

########################################

[filament_switch_sensor my_sensor] pause_on_runout: True switch_pin: ^!PB11 # Z-Max pin

######################################################################

Fysetc Mini 12864Panel v2.1 (with neopixel backlight leds)

######################################################################

you can choose from samples https://github.com/KevinOConnor/klipper/blob/master/config/sample-lcd.cfg or configure your own https://www.klipper3d.org/Config_Reference.html#display-support

#[display] #lcd_type: uc1701 #cs_pin: EXP1_3 #a0_pin: EXP1_4 #rst_pin: EXP1_5 #contrast: 63 #encoder_pins: ^EXP2_5, ^EXP2_3 #click_pin: ^!EXP1_2

Some micro-controller boards may require an spi bus to be specified:

spi_bus: spi

Alternatively, some micro-controller boards may work with software spi:

#spi_software_miso_pin: EXP2_1 # on the Fly-CDYv2 this needs to be enabled #spi_software_mosi_pin: EXP2_6 # on the Fly-CDYv2 this needs to be enabled #spi_software_sclk_pin: EXP2_2 # on the Fly-CDYv2 this needs to be enabled

#[output_pin beeper]

pin: EXP1_1 # on the Fly-CDYv2 this pin in <NC> means its not connected. If you want to use teh beeper with this board you have to change the standard EXP1 wire or on the board connect the EXP1 NC pin another pin

#[neopixel fysetc_mini12864] #pin: EXP1_6 #chain_count: 3 #color_order: RGB #initial_RED: 0.4 #initial_GREEN: 0.4 #initial_BLUE: 0.4

Set RGB values on boot up for each Neopixel.

Index 1 = display, Index 2 and 3 = Knob

#[delayed_gcode setdisplayneopixel] #initial_duration: 1 #gcode:

SET_LED LED=fysetc_mini12864 RED=0.3 GREEN=0.3 BLUE=0.3 INDEX=1 TRANSMIT=0

SET_LED LED=fysetc_mini12864 RED=0.3 GREEN=0.3 BLUE=0.3 INDEX=2 TRANSMIT=0

SET_LED LED=fysetc_mini12864 RED=1 GREEN=1 BLUE=1 INDEX=3

########################################

EXP1 / EXP2 (display) pins

########################################

#[board_pins] #aliases:

# EXP1 header

EXP1_2=PA9, EXP1_4=PA10, EXP1_6=PE14, EXP1_8=PA14, EXP1_10=<5V>,

EXP1_1=<NC>, EXP1_3=PB2, EXP1_5=PE15, EXP1_7=PA13, EXP1_9=<GND>,

# EXP2 header

EXP2_2=PA5, EXP2_4=PA4, EXP2_6=PA7, EXP2_8=<RST>, EXP2_10=<NC>,

EXP2_1=PA6, EXP2_3=PD8, EXP2_5=PD9, EXP2_7=PE13, EXP2_9=<GND>

See the sample-lcd.cfg file for definitions of common LCD displays.

######################################################################

Plug pin locations

######################################################################

Some micro-controller boards and displays use inconsistent labeling

for the EXP1 and EXP2 headers. The following diagram shows the

correct location of pin 1 along with ground and power pins on the

EXP1 and EXP2 plugs:

EXP1: EXP2:

+-----------------+ +-----------------+

| o o o o 5V | | o o o o o |

| 1 o o o GND | | 1 o o o GND |

+------ ------+ +------ ------+

Some boards may have the cutout in the wrong location. If so, it may

be possible to carefully pry the plastic header off of the pins with

a small screwdriver, then correct the orientation and reapply the

plastic header.

########################################

NeoPixel

########################################

#[neopixel my_neopixel] #pin: PD15 # pin already set for Fly-CDYv2

The pin connected to the neopixel. This parameter must be

provided.

#chain_count:

The number of Neopixel chips that are "daisy chained" to the

provided pin. The default is 1 (which indicates only a single

Neopixel is connected to the pin).

#color_order: GRB

Set the pixel order required by the LED hardware. Options are GRB,

RGB, GRBW, or RGBW. The default is GRB.

#initial_RED: 0.0 #initial_GREEN: 0.0 #initial_BLUE: 0.0 #initial_WHITE: 0.0

Sets the initial LED color of the Neopixel. Each value should be

between 0.0 and 1.0. The WHITE option is only available on RGBW

LEDs. The default for each color is 0.

########################################

Menu

######################################## #[menu __main __seckit] #type: list #name: SecKit

#[menu __main __seckit __cheerup] #type: command #name: CheerUpForErnest #gcode:

SET_LED LED=fysetc_mini12864 RED=1 GREEN=0 BLUE=0 INDEX=1 TRANSMIT=0

SET_LED LED=fysetc_mini12864 RED=0 GREEN=1 BLUE=0 INDEX=2 TRANSMIT=0

SET_LED LED=fysetc_mini12864 RED=0 GREEN=0 BLUE=1 INDEX=3

#[menu __main __seckit __cheerdown] #type: command #name: CheerDown #gcode:

SET_LED LED=fysetc_mini12864 RED=0.3 GREEN=0.3 BLUE=0.3 INDEX=1 TRANSMIT=0

SET_LED LED=fysetc_mini12864 RED=0.3 GREEN=0.3 BLUE=0.3 INDEX=2 TRANSMIT=0

SET_LED LED=fysetc_mini12864 RED=1 GREEN=1 BLUE=1 INDEX=3

########################################

MACROS

########################################

[gcode_macro PAUSE] rename_existing: BASE_PAUSE default_parameter_X: 10 #edit to your park position default_parameter_Y: 10 #edit to your park position default_parameter_Z: 10 #edit to your park position default_parameter_E: 1 #edit to your retract length gcode: SAVE_GCODE_STATE NAME=PAUSE_state BASE_PAUSE

G91
G1 E-{E} F2100
G1 Z{Z}
G90
G1 X{X} Y{Y} F6000

[gcode_macro RESUME] rename_existing: BASE_RESUME default_parameter_E: 1 #edit to your retract length gcode: G91 G1 E{E} F2100 G90 RESTORE_GCODE_STATE NAME=PAUSE_state MOVE=1 BASE_RESUME

[gcode_macro CANCEL_PRINT] rename_existing: BASE_CANCEL_PRINT gcode: TURN_OFF_HEATERS CLEAR_PAUSE SDCARD_RESET_FILE BASE_CANCEL_PRINT

[gcode_macro G29] gcode: BED_MESH_CALIBRATE

######################################################################

Start Print and End Print

######################################################################

Replace the slicer's custom start and end g-code scripts with

START_PRINT and END_PRINT.

[gcode_macro START_PRINT] default_parameter_BED_TEMP: 60 default_parameter_EXTRUDER_TEMP: 210 gcode: {% set BED_TEMP = params.BED_TEMP|default(60)|float %} {% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(190)|float %} # Start bed heating M140 S{BED_TEMP} # Start bed extruder M104 S{EXTRUDER_TEMP} # Use absolute coordinates G90 # Reset the G-Code Z offset (adjust Z offset if needed) SET_GCODE_OFFSET Z=0.0 # Home the printer G28 # Adjust Z tilt for 2 Z axis Z_TILT_ADJUST

# Move the nozzle near the bed

G1 Z5 F3000

# Move the nozzle very close to the bed

G1 Z0.2 F300

# Wait for bed to reach temperature
M190 S{BED_TEMP}
# Set and wait for nozzle to reach temperature
M109 S{EXTRUDER_TEMP}
# Move to the middle of the bed
G1 X175 Y175 Z5 F3000

[gcode_macro END_PRINT] gcode: # Turn off bed, extruder, and fan M140 S0 M104 S0 M106 S0 # Move nozzle away from print while retracting G91 G1 X-2 Y-2 Z2 E-3 F300 # Raise nozzle by 10mm G1 Z10 F3000 # move nozzle to the middle back G90 G1 X175 Y324 F3000

Tags