얕고 넓게

[3DP] KP3S Marlin 2.1.2.5 본문

IT/3D Printer, CNC

[3DP] KP3S Marlin 2.1.2.5

블랙오닉스 2025. 3. 26. 23:18

2025.03.26

KP3S에 Laser 추가를 위해 Marlin 으로 빌드했었다.

자세한 내용을 정리하지 않아서 정리해 본다.

KP3S Marlin Firmware로 검색하면 Kingroon 자료가 나온다.

https://kingroon.com/blogs/3d-print-101/how-to-set-up-marlin-firmware-for-the-kingroon-kp3s-3d-printer?srsltid=AfmBOor7WjynTDvjk90pEfVgjc6WIW6P_XZj_VOuGoex-AMm_SdzZD0Z

 

How to Set Up Kingroon KP3S Marlin Firmware

Marlin is one of the best and most powerful 3D printer firmware. It is also available for the Kingroon KP3S 3D printer. Today we will show you how to build Marlin firmware for your KP3S and set it up.* Before that, we must remind you that the Marlin is a t

kingroon.com

전에 LCD가 90도 회전되는 문제를 해결하지 못했는데 원래 안되는 것 같다.

그래서 LCD 마운트를 사용하는 것 같다.

https://www.thingiverse.com/thing:4578390

 

Kingroon KP3S Marlin lcd mount + TFT35 by nehiLo

Another information you can check in https://cutt.ly/5LHo4yC

www.thingiverse.com

 

Marlin 최신 버전으로 다운받아 지난 번 처럼 Configuration만 바꾸려고 했는데 설정값이 검색하는 곳 마다 다 다르다.

그냥 기본 설정으로 해본다.

1. Github에서 Marlin 다운받고 release 에서  Configuration 파일을 다운 받는다.

https://github.com/bdwilson/KP3S 

 

GitHub - bdwilson/KP3S: KP3S 3d Printer Configuration Information

KP3S 3d Printer Configuration Information. Contribute to bdwilson/KP3S development by creating an account on GitHub.

github.com

2. Configuration 파일을 Marlin 에 덮어 쓴다.

 

이렇게 하려다 귀찮아서 일단 release 디렉토리의 robin-nano.bin으로 펌웨어를 바꾸고 해본다.


2025.03.27

release/no_bltouch/robin-nano.bin으로 바꿨는데 문제가 있다.

1. Z축이 아래로 내려가지 않는다.

2. FAN 을 켜면 고주파 소리가 나고 돌지 않는다.

robin_nano_cfg.txt와 configuration.h를 비교

robin_nano_cfg.txt configuration.h
# 配置限位开关的接入信号.
>X_MIN_ENDSTOP_INVERTING 1            # X_MIN限位开关常开/常闭选择
>Y_MIN_ENDSTOP_INVERTING 1            # Y_MIN限位开关常开/常闭选择
>Z_MIN_ENDSTOP_INVERTING 1            # Z_MIN限位开关常开/常闭选择
#define X_MIN_ENDSTOP_INVERTING true  // Set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING true  // Set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
>DEFAULT_X_STEPS_PER_UNIT     160     #X轴默认脉冲 (steps/mm)
>DEFAULT_Y_STEPS_PER_UNIT     160     #Y轴默认脉冲 (steps/mm)
>DEFAULT_Z_STEPS_PER_UNIT     800     #Z轴默认脉冲 (steps/mm)
>DEFAULT_E0_STEPS_PER_UNIT    768     #E轴默认脉冲 (steps/mm)
>DEFAULT_E1_STEPS_PER_UNIT    90      #E轴默认脉冲 (steps/mm)
#define DEFAULT_AXIS_STEPS_PER_UNIT   { 160, 160, 800, 848 }

 

 

#define Z_MIN_ENDSTOP_INVERTING true

FAN은 PWM으로 조절되고  D1 이다. 100% 미만은 스위칭 소음이 있다.

FAN 자체가 돌지 않는 문제가 있었다.


2025.03.28

전에 Laser 테스트한 configuration을 지운 것 같다.

다시 정리

#define SERIAL_PORT 3
#define BAUDRATE 115200
#define SERIAL_PORT_2 1
#define X_DRIVER_TYPE  A4988
#define USE_XMIN_PLUG
#define USE_YMIN_PLUG
#define USE_ZMIN_PLUG
#define X_MIN_ENDSTOP_INVERTING true  // Set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING true  // Set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING true
#define DEFAULT_AXIS_STEPS_PER_UNIT   { 160, 160, 800, 848 }
#define INVERT_X_DIR false
#define INVERT_Y_DIR false
#define INVERT_Z_DIR true
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1
#define MKS_ROBIN_TFT24
#define TFT_COLOR_UI

//
// M42 - Set pin states
//
#define DIRECT_PIN_CONTROL
//
// M43 - display pin status, toggle pins, watch pins, watch endstops & toggle LED, test servo probe
//
#define PINS_DEBUGGING
 #define SPINDLE_LASER_PWM_PIN  E1_STEP_PIN
#define LASER_FEATURE

Spindle/Laser 둘중 하나만 켜야 된다.


Pronterface 에서 디버그 핀 결과

>>> M43
SENDING:M43
PIN: PA0  (A0)   M42 P0           HEATER_BED_PIN                         protected
PIN: PA1  (A1)   M42 P1           E1_DIR_PIN                             Input  = 1
PIN: PA2  (A2)   M42 P2           <unused/unknown>                       Input  = 1
PIN: PA3  (A3)   M42 P3           E1_ENABLE_PIN                          Input  = 1
PIN: PA4  (A4)   M42 P4           <unused/unknown>                       Input  = 1
PIN: PA5  (A5)   M42 P5           <unused/unknown>                       Input  = 1
PIN: PA6  (A6)   M42 P6           E1_STEP_PIN
.                                 SPINDLE_LASER_PWM_PIN
PIN: PA7  (A7)   M42 P7           TOUCH_CS_PIN                           Output = 1
PIN: PA8         M42 P8           SERVO0_PIN                             Input  = 1
PIN: PA9         M42 P9           <unused/unknown>
PIN: PA10        M42 P10          <unused/unknown>                       Input  = 1
PIN: PA11        M42 P11          Z_MIN_PIN                              protected
.                                 Z_STOP_PIN                             protected
PIN: PA12        M42 P12          Y_MIN_PIN                              protected
.                                 Y_STOP_PIN                             protected
PIN: PA13        M42 P13          <unused/unknown>                       Input  = 1
PIN: PA14        M42 P14          <unused/unknown>                       Input  = 0
PIN: PA15        M42 P15          X_MIN_PIN                              protected
.                                 X_STOP_PIN                             protected
PIN: PB0  (A8)   M42 P16          FAN1_PIN                               protected
PIN: PB1  (A9)   M42 P17          FAN_PIN                                protected
PIN: PB2         M42 P18          <unused/unknown>                       Input  = 1
PIN: PB3         M42 P19          E0_ENABLE_PIN                          protected
PIN: PB4         M42 P20          Z_DIR_PIN                              protected
PIN: PB5         M42 P21          Z_STEP_PIN                             protected
PIN: PB6         M42 P22          <unused/unknown>                       Input  = 1
PIN: PB7         M42 P23          <unused/unknown>                       Input  = 1
PIN: PB8         M42 P24          Z_ENABLE_PIN                           protected
PIN: PB9         M42 P25          Y_DIR_PIN                              protected
PIN: PB10        M42 P26          <unused/unknown>
PIN: PB11        M42 P27          <unused/unknown>                       Input  = 1
PIN: PB12        M42 P28          SPI_FLASH_CS_PIN                       Input  = 1
PIN: PB13        M42 P29          TOUCH_SCK_PIN
PIN: PB14        M42 P30          TOUCH_MISO_PIN
PIN: PB15        M42 P31          TOUCH_MOSI_PIN
PIN: PC0  (A10)  M42 P32          <unused/unknown>   Analog in =     0   Input  = 0
PIN: PC1  (A11)  M42 P33          <unused/unknown>   Analog in =     0   Input  = 0
PIN: PC2  (A12)  M42 P34          <unused/unknown>                       Input  = 1
PIN: PC3  (A13)  M42 P35          HEATER_0_PIN                           protected
PIN: PC4  (A14)  M42 P36          <unused/unknown>                       Input  = 1
PIN: PC5  (A15)  M42 P37          BEEPER_PIN                             Output = 0
PIN: PC6         M42 P38          TFT_RESET_PIN                          Output = 1
PIN: PC7         M42 P39          <unused/unknown>                       Input  = 1
PIN: PC8         M42 P40          <unused/unknown>                       Input  = 1
PIN: PC9         M42 P41          <unused/unknown>                       Input  = 1
PIN: PC10        M42 P42          <unused/unknown>                       Input  = 1
PIN: PC11        M42 P43          <unused/unknown>                       Input  = 1
PIN: PC12        M42 P44          <unused/unknown>                       Input  = 1
PIN: PC13        M42 P45          <unused/unknown>                       Input  = 1
PIN: PC14        M42 P46          <unused/unknown>                       Input  = 1
PIN: PC15        M42 P47          <unused/unknown>                       Input  = 1
PIN: PD0         M42 P48          <unused/unknown>
PIN: PD1         M42 P49          <unused/unknown>
PIN: PD2         M42 P50          <unused/unknown>                       Input  = 1
PIN: PD3         M42 P51          E0_DIR_PIN                             protected
PIN: PD4         M42 P52          <unused/unknown>
PIN: PD5         M42 P53          <unused/unknown>
PIN: PD6         M42 P54          E0_STEP_PIN                            protected
PIN: PD7         M42 P55          TFT_CS_PIN
PIN: PD8         M42 P56          <unused/unknown>
PIN: PD9         M42 P57          <unused/unknown>
PIN: PD10        M42 P58          <unused/unknown>
PIN: PD11        M42 P59          <unused/unknown>
PIN: PD12        M42 P60          SD_DETECT_PIN                          Input  = 0
PIN: PD13        M42 P61          TFT_BACKLIGHT_PIN                      Output = 1
PIN: PD14        M42 P62          <unused/unknown>
PIN: PD15        M42 P63          <unused/unknown>
PIN: PE0         M42 P64          Y_STEP_PIN                             protected
PIN: PE1         M42 P65          Y_ENABLE_PIN                           protected
PIN: PE2         M42 P66          X_DIR_PIN                              protected
PIN: PE3         M42 P67          X_STEP_PIN                             protected
PIN: PE4         M42 P68          X_ENABLE_PIN                           protected
PIN: PE5         M42 P69          <unused/unknown>                       Input  = 1
PIN: PE6         M42 P70          <unused/unknown>                       Input  = 1
PIN: PE7         M42 P71          <unused/unknown>
PIN: PE8         M42 P72          <unused/unknown>
PIN: PE9         M42 P73          <unused/unknown>
PIN: PE10        M42 P74          <unused/unknown>
PIN: PE11        M42 P75          <unused/unknown>
PIN: PE12        M42 P76          <unused/unknown>
PIN: PE13        M42 P77          <unused/unknown>
PIN: PE14        M42 P78          <unused/unknown>
PIN: PE15        M42 P79          <unused/unknown>

2025.03.29

Laser를 위한 작업을 하면서 몇가지 수정.

2핀 커넥터를 PWM용과 24V 2개를 사용

PWM은 GND와 연결이 필요하여 DIR로 변경.

 

X X DIR GND

 #define SPINDLE_LASER_PWM_PIN  E1_DIR_PIN

'IT > 3D Printer, CNC' 카테고리의 다른 글

[3DP] KP3S Laser (2025.03.29)  (0) 2025.03.29
[3DP] KP3S 히트파이프 고장 수리  (0) 2025.03.28
[3DP] Marlin + ili9488  (0) 2025.03.24
[3DP] Ultimaker XY mechanism 비교  (0) 2025.03.24
[3DP] Sunhokey i4 수리  (0) 2025.02.01