티스토리 뷰

3D 프린터

Klipper : Ender 5 with SKR Mini e3 V2.0

파란크리스마스 2022. 3. 4. 21:37
728x90

출처

Fluidd 다운로드

다운로드 사이트 : https://github.com/fluidd-core/fluidd/releases

이미지 복원

Etcher에서 [Flash from file] 메뉴 선택
Fluidd 이미지 파일 선택
Etcher에서 [Select target] 메뉴 선택
SD메모리 선택
Etcher에서 [Flash] 메뉴를 선택해서 이미지 복원 시작

wifi 설정

boot드라이버 fluiddpi-wpa-supplicant.txt 파일 수정

3D 프린터용 펌웨어 빌드

펌웨어 설정

해당 3D 프린터 보드용 펌웨어 제작을 위해서 설정화면을 아래와 같이 실행하고 설정합니다.

pi@fluiddpi:~ $ cd ~/klipper
pi@fluiddpi:~/klipper $ make menuconfig

Sample 파일을 참조

SKR Mini E3 2.0 용 Sample 파일을 참조해서 펌웨어 컴파일 정보를 확인 할 수 있습니다.

SKR Mini E3 2.0 용 펌웨어 설정

빌드

Configuration saved to '/home/pi/klipper/.config'
pi@fluiddpi:~/klipper$ make
  Creating symbolic link out/board
  Building out/autoconf.h
  Compiling out/src/sched.o
 
... 생략 ...
 
  Building out/compile_time_request.o
Version: v0.10.0-283-g4a8aece6
  Preprocessing out/src/generic/armcm_link.ld
  Linking out/klipper.elf
  Creating hex file out/klipper.bin
pi@fluiddpi:~/klipper$

포트 포워딩 했을 경우 외부에서 접속 가능 하도록 설정

API 서버 접속 불가 확인
나의 IP 확인

API 서버를 외부에서 접근 가능하도록 설정

klipper_config/moonraker.conf 편집

pi@fluiddpi:~ $ cd klipper_config/
pi@fluiddpi:~/klipper_config $ vi moonraker.conf

cors_domains 항목에 trusted_clients 항목에 내IP 추가

[authorization]

trusted_clients:
  222.229.97.226/32
  10.0.0.0/8
  127.0.0.0/8
  169.254.0.0/16
  172.16.0.0/12
  192.168.0.0/16
  FE80::/10
  ::1/128

Klipper 재실행

pi@fluiddpi:~/klipper_config $ sudo systemctl restart klipper.service

API 서버 설정

MJPG-streamer 서비스

MJPG-streamer 서비스 파일

pi@fluiddpi:~$ vi /etc/systemd/system/webcamd.service

MJPG-streamer 서비스 상태 확인

pi@fluiddpi:~$ sudo systemctl status webcamd.service
[0m webcamd.service - the FluiddPI webcam daemon (based on OctoPi) with the user specified config
     Loaded: loaded (/etc/systemd/system/webcamd.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2022-03-05 03:53:52 GMT; 24min ago
    Process: 414 ExecStart=/usr/local/bin/webcamd (code=exited, status=0/SUCCESS)
   Main PID: 487 (mjpg_streamer)
      Tasks: 3 (limit: 1935)
        CPU: 3.236s
     CGroup: /system.slice/webcamd.service
             붴487 ./mjpg_streamer -o output_http.so -w ./www-mjpgstreamer -n -i input_uvc.so -r 640x480 -f 10 -d /dev/video0
 
Mar 05 03:53:52 fluiddpi mjpg_streamer[487]: MJPG-streamer [487]: Format............: JPEG
Mar 05 03:53:52 fluiddpi mjpg_streamer[487]: MJPG-streamer [487]: TV-Norm...........: DEFAULT
Mar 05 03:53:52 fluiddpi mjpg_streamer[487]: MJPG-streamer [487]: www-folder-path......: ./www-mjpgstreamer/
Mar 05 03:53:52 fluiddpi mjpg_streamer[487]: MJPG-streamer [487]: HTTP TCP port........: 8080
Mar 05 03:53:52 fluiddpi mjpg_streamer[487]: MJPG-streamer [487]: HTTP Listen Address..: (null)
Mar 05 03:53:52 fluiddpi systemd[1]: Started the FluiddPI webcam daemon (based on OctoPi) with the user specified config.
Mar 05 03:53:52 fluiddpi mjpg_streamer[487]: MJPG-streamer [487]: username:password....: disabled
Mar 05 03:53:52 fluiddpi mjpg_streamer[487]: MJPG-streamer [487]: commands.............: disabled
Mar 05 03:53:52 fluiddpi mjpg_streamer[487]: MJPG-streamer [487]: starting input plugin input_uvc.so
Mar 05 03:53:52 fluiddpi mjpg_streamer[487]: MJPG-streamer [487]: starting output plugin: output_http.so (ID: 00)

MJPG-streamer input_raspicam.so 빌드

input_raspicam.so 파일을 빌드하기 위해서 /opt/vc/include 디렉토리를 참조하는데 fluidd 배포판 이미지에는 누락되어 있어 수동으로 설치가 필요합니다.

pi@fluiddpi:~$ git clone https://github.com/raspberrypi/userland
pi@fluiddpi:~$ cd userland
pi@fluiddpi:~/userland$ ./buildme

MJPG-streamer 빌드

pi@raspberrypi:~$ sudo apt-get install cmake libjpeg9-dev imagemagick libv4l-dev libgphoto2-dev
pi@raspberrypi:~$ git clone https://github.com/jacksonliam/mjpg-streamer.git mjpg-streamer-raspi
pi@fluiddpi:~ $ cd mjpg-streamer-raspi/mjpg-streamer-experimental/
pi@fluiddpi:~/mjpg-streamer-raspi/mjpg-streamer-experimental$ cmake CMakeLists.txt
pi@raspberrypi:~/mjpg-streamer/mjpg-streamer-experimental$ make
pi@fluiddpi:~/mjpg-streamer-raspi/mjpg-streamer-experimental$ cp plugins/input_raspicam/input_raspicam.so ~/mjpg-streamer/

MJPG-streamer 설정 파일(webcam.txt) 수정

pi@fluiddpi:~$ vi ~/klipper_config/webcam.txt

input_raspicam.so 사용하기

camera="raspi"

MJPG-streamer 수동실행

pi@fluiddpi:~/mjpg-streamer-raspi/mjpg-streamer-experimental $ /usr/local/bin/webcamd
Starting up webcamDaemon...
 
--- Configuration: ----------------------------
cfg_file:      /home/pi/klipper_config/webcam.txt
camera:        raspi
usb options:   -r 640x480 -f 10
raspi options: -fps 10
http options:  -w ./www-mjpgstreamer -n
 
Explicitly USB device:
-----------------------------------------------
 
Found video devices:
/dev/video0
/dev/video10
/dev/video11
/dev/video12
/dev/video13
/dev/video14
/dev/video15
/dev/video16
/dev/video18
/dev/video20
/dev/video21
/dev/video22
/dev/video23
raspi
config file='/home/pi/klipper_config/webcam.txt':Start MJPG-streamer with video device: raspi
<13>Mar  8 14:02:03 pi: Starting Raspberry Pi camera
Checking for VL805 (Raspberry Pi 4)...
  - It seems that you don't have VL805 (Raspberry Pi 4).
    There should be no problems with USB (a.k.a. select() timeout)
Running ./mjpg_streamer -o output_http.so -w ./www-mjpgstreamer -n -i input_raspicam.so -fps 10
MJPG Streamer Version: git rev: 310b29f4a94c46652b20c4b7b6e5cf24e532af39
 i: fps.............: 10
 i: resolution........: 640 x 480
 i: camera parameters..............:
 
Sharpness 0, Contrast 0, Brightness 50
Saturation 0, ISO 0, Video Stabilisation No, Exposure compensation 0
Exposure Mode 'auto', AWB Mode 'auto', Image Effect 'none'
Metering Mode 'average', Colour Effect Enabled No with U = 128, V = 128
Rotation 0, hflip No, vflip No
ROI x 0.000000, y 0.000000, w 1.000000 h 1.000000
 o: www-folder-path......: ./www-mjpgstreamer/
 o: HTTP TCP port........: 8080
 o: HTTP Listen Address..: (null)
 o: username:password....: disabled
 o: commands.............: disabled
 i: Starting Camera
Encoder Buffer Size 81920
Done bring up all configured video device
 
Goodbye...

klipper_config/printer.cfg 파일 (Ender 5 with SKR Mini e3 V2.0 용)

알리에서 구입한 Micro Swiss Direct Drive Extruder for Creality Ender 5 클론 제품의 printer.cfg (지금까지 인터넷에서 찾아서 최적화 했음)

# This file contains common pin mappings for the BIGTREETECH SKR mini
# E3 v2.0. To use this config, the firmware should be compiled for the
# STM32F103 with a "28KiB bootloader" and USB communication. Also,
# select "Enable extra low-level configuration options" and configure
# "GPIO pins to set at micro-controller startup" to "!PA14".

# The "make flash" command does not work on the SKR mini E3. 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 SKR
# mini E3 with that SD card.

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

# [gcode_macro START_PRINT]
# 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}
#     # 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
# 
#     G92 E0 ;Reset Extruder
#     G1 Z2.0 F3000 ;Move Z Axis up
#     G1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position
#     G1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line
#     G1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little
#     G1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line
#     G92 E0 ;Reset Extruder
# 
#     # Move the nozzle near the bed
#     G1 Z5 F3000
#     # Move the nozzle very close to the bed
#     G1 Z0.15 F300
#     # Wait for bed to reach temperature
#     M190 S{BED_TEMP}
#     # Set and wait for nozzle to reach temperature
#     M109 S{EXTRUDER_TEMP}
# 
# [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 E-3 F300
#     # Raise nozzle by 10mm
#     G1 Z10 F3000
#     G90
#     # Disable steppers
#     M84
# 
# [virtual_sdcard]
# path: ~/gcode_files
# 
# [display_status]
# 
# [pause_resume]
# 
# [gcode_macro CANCEL_PRINT]
# description: Cancel the actual running print
# rename_existing: CANCEL_PRINT_BASE
# gcode:
#   TURN_OFF_HEATERS
#   CANCEL_PRINT_BASE

[stepper_x]
step_pin: PB13
dir_pin: !PB12
enable_pin: !PB14
microsteps: 16
rotation_distance: 40
endstop_pin: ^PC0
position_endstop: 220
position_max: 220
homing_speed: 50

[tmc2209 stepper_x]
uart_pin: PC11
tx_pin: PC10
uart_address: 0
run_current: 0.580
stealthchop_threshold: 999999

[stepper_y]
step_pin: PB10
dir_pin: !PB2
enable_pin: !PB11
microsteps: 16
rotation_distance: 40
endstop_pin: ^PC1
position_endstop: 220
position_max: 220
homing_speed: 50

[tmc2209 stepper_y]
uart_pin: PC11
tx_pin: PC10
uart_address: 2
run_current: 0.580
stealthchop_threshold: 999999

[stepper_z]
step_pin: PB0
dir_pin: !PC5
enable_pin: !PB1
microsteps: 16
rotation_distance: 8
endstop_pin: ^PC2
position_endstop: 0.0
position_max: 300

[tmc2209 stepper_z]
uart_pin: PC11
tx_pin: PC10
uart_address: 1
run_current: 0.580
stealthchop_threshold: 999999

[extruder]
max_extrude_only_distance: 100.0
step_pin: PB3
dir_pin: !PB4
enable_pin: !PD2
microsteps: 16
# rotation_distance: 33.500
# rotation_distance: 33.00934
rotation_distance: 24.395
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PC8
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PA0
control: pid
pid_Kp: 21.527
pid_Ki: 1.063
pid_Kd: 108.982
min_temp: 0
max_temp: 250

[tmc2209 extruder]
uart_pin: PC11
tx_pin: PC10
uart_address: 3
run_current: 0.650
stealthchop_threshold: 999999

[heater_bed]
heater_pin: PC9
sensor_type: ATC Semitec 104GT-2
sensor_pin: PC3
control: pid
pid_Kp: 54.027
pid_Ki: 0.770
pid_Kd: 948.182
min_temp: 0
max_temp: 130

[heater_fan nozzle_cooling_fan]
pin: PC7

[fan]
pin: PC6

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

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

[static_digital_output usb_pullup_enable]
pins: !PA14

[board_pins]
aliases:
    # EXP1 header
    EXP1_1=PB5,  EXP1_3=PA9,   EXP1_5=PA10, EXP1_7=PB8,  EXP1_9=,
    EXP1_2=PA15, EXP1_4=, EXP1_6=PB9,  EXP1_8=PB15, EXP1_10=<5V>

# See the sample-lcd.cfg file for definitions of common LCD displays.
댓글
300x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함