Skip to content

Instantly share code, notes, and snippets.

@t-nissie
Last active July 25, 2023 08:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save t-nissie/016d3d4c93b91c6c666c38aa6cf560d1 to your computer and use it in GitHub Desktop.
Save t-nissie/016d3d4c93b91c6c666c38aa6cf560d1 to your computer and use it in GitHub Desktop.
3DプリンターEasythreed X3にクリッパーをインストールした記録

3DプリンターEasythreed X3にKlipperをインストールした記録

3DプリンターEasyThreed X3の中古品にKlipperをインストールした記録。 X3のマザーボードのET4000+はRobin Liteの互換品と思われる。

この文章のオリジナルは https://gist.github.com/t-nissie/016d3d4c93b91c6c666c38aa6cf560d1 にある。

Klipper, Moonraker, Mainsailの詳細については解説していない。 それらについては https://gist.github.com/t-nissie/9256acaf29cc901fa1504d7ace79a2e3 が参考になるかもしれない。

firmwareの変更

https://github.com/makerbase-mks/Klipper-for-MKS-Boards/tree/main/MKS%20Robin%20Lite%20V1.1 にある バイナリをmksLite.binとしてSDカードにコピー、X3を再起動すると1分もせずfirmwareが書き換わる。 SDカードのmksLite.binがmksLite.CURにrenameされていれば書き換え成功。

印刷

テキトーなパラメーターのprinter.cfgは下記の通り。 Klipper, Moonraker, MainsailのインストールされたPCにUSBケーブルでX3を接続する。 接続が成功すればいつものMoonrakerの画面になる。 CuraのCustom FFF printerをRepRap flavorで設定してスライス。 ヒートベッドの昇温に時間がかかるので45℃程度にしておく。

印刷品質または感想

印刷品質があまりよくない。 オリジナルのfirmwareで印刷した時でもよくはなかった。 これが本来の印刷品質なのか、中古品のせいなのか、Curaの設定を詰めきれていないせいなのか。 写真をコメント欄にアップロードしておく。

# printer.cfg for ET4000+ board in EasyThreeD X3
# Original file is https://github.com/makerbase-mks/Klipper-for-MKS-Boards/blob/main/MKS%20Robin%20Lite%20V1.1/generic-mks-robin-lite-v1.cfg
# This file contains common pin mappings for MKS Robin Lite V1.1
# boards. To use this config, the firmware should be compiled for the
# STM32F103RCT6. When running "make menuconfig", enable "extra low-level
# configuration setup", select the 28KiB bootloader, and serial (on
# USART1 PA10/PA9) communication.
# Note that the "make flash" command does not work with MKS Robin
# boards. After running "make", run the following command:
# ./scripts/update_mks_robin.py out/klipper.bin out/mksLite.bin
# Copy the file out/mksLite.bin to an SD card and then restart the
# printer with that SD card.
# See docs/Config_Reference.md for a description of parameters.
[stepper_x]
step_pin: PC6
dir_pin: !PB12
enable_pin: !PB10
microsteps: 32
rotation_distance: 10.5
endstop_pin: !PC13
position_min: -3
position_endstop: -3
position_max: 150
homing_speed: 50
[stepper_y]
step_pin: PB11
dir_pin: !PB2
enable_pin: !PB10
microsteps: 32
rotation_distance: 10.5
endstop_pin: !PC0
position_min: -3
position_endstop: -3
position_max: 150
homing_speed: 50
[stepper_z]
step_pin: PB1
dir_pin: PC5
enable_pin: !PB10
microsteps: 32
rotation_distance: 5.25
endstop_pin: !PC12 #Zmin, Zmax use PB9
position_endstop: 0.5
position_max: 150
[extruder]
step_pin: PC4
dir_pin: !PA5
enable_pin: !PA4
#microsteps: 32
#rotation_distance: 22
full_steps_per_rotation: 200
gear_ratio: 750:100
rotation_distance: 23.132
microsteps: 16
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PC9
sensor_type: ATC Semitec 104GT-2
sensor_pin: PA0
control: pid
pid_Kp: 14.669
pid_Ki: 0.572
pid_Kd: 94.068
min_temp: 0
max_temp: 250
[heater_bed]
heater_pin: PC8
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PA1
control: pid
pid_Kp: 325.10
pid_Ki: 63.35
pid_Kd: 417.10
min_temp: 0
max_temp: 130
[fan]
pin: PA8
[mcu]
serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
restart_method: command
[printer]
kinematics: cartesian
max_velocity: 80
max_accel: 2000
max_z_velocity: 25
max_z_accel: 100
[virtual_sdcard]
path: /home/takeshi/printer_data/gcodes
[pause_resume]
[gcode_macro CANCEL_PRINT]
rename_existing: BASE_CANCEL_PRINT
gcode:
TURN_OFF_HEATERS
CLEAR_PAUSE
SDCARD_RESET_FILE
BASE_CANCEL_PRINT
[gcode_macro PAUSE]
rename_existing: BASE_PAUSE
# change this if you need more or less extrusion
variable_extrude: 1.0
gcode:
##### read E from pause macro #####
{% set E = printer["gcode_macro PAUSE"].extrude|float %}
##### set park positon for x and y #####
# default is your max posion from your printer.cfg
{% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %}
{% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %}
##### calculate save lift position #####
{% set max_z = printer.toolhead.axis_maximum.z|float %}
{% set act_z = printer.toolhead.position.z|float %}
{% if act_z < (max_z - 2.0) %}
{% set z_safe = 2.0 %}
{% else %}
{% set z_safe = max_z - act_z %}
{% endif %}
##### end of definitions #####
SAVE_GCODE_STATE NAME=PAUSE_state
BASE_PAUSE
G91
G1 E-{E} F2100
G1 Z{z_safe} F900
G90
G1 X{x_park} Y{y_park} F6000
[gcode_macro RESUME]
rename_existing: BASE_RESUME
gcode:
##### read E from pause macro #####
{% set E = printer["gcode_macro PAUSE"].extrude|float %}
##### end of definitions #####
G91
G1 E{E} F2100
RESTORE_GCODE_STATE NAME=PAUSE_state
BASE_RESUME
[display_status]
########################################
# EXP1 (display) pins
########################################
[board_pins]
aliases:
# EXP1 header
EXP1_2=<5V>, EXP1_4=<RST>, EXP1_6=PB4, EXP1_8=PB5, EXP1_10=PB15,EXP1_12=<3V3>,EXP1_14=PD2,
EXP1_1=PC3, EXP1_3=PC2, EXP1_5=PB3, EXP1_7=PC1, EXP1_9=PB13,EXP1_11=<GND>,EXP1_13=PA11,
# Pins PB14, EXP1_10, EXP1_9 are also MISO, MOSI, SCK of bus "ssp2"
# See the MKS Lcd Config path file for definitions of common LCD displays.
#[include mks_robin_lite_lcd_12864.cfg]
#[include mks_robin_lite_mini_12864.cfg]
@t-nissie
Copy link
Author

IMG_20230725_150546
印刷している様子

@t-nissie
Copy link
Author

IMG_20230725_154655
マイクロサーボモーター用ホーン https://www.youmagine.com/designs/27-mm-horn-arm-for-sg90-micro-servo-and-compatibles を印刷。
左がKingroon KP3S Proで印刷したもの。
右が今回のEasyThreed X3+Klipperで印刷したもの。

@t-nissie
Copy link
Author

IMG_20230725_154718
マイクロサーボモーター用ホーン https://www.youmagine.com/designs/27-mm-horn-arm-for-sg90-micro-servo-and-compatibles を印刷。
ヒートベッドに密着する底面。
左がKingroon KP3S Proで印刷したもの。
右が今回のEasyThreed X3+Klipperで印刷したもの。-x側に溝ができる。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment