Marlin: [BUG] SKR v1.3 (๋˜๋Š” ๊ธฐํƒ€ LPC1768) : bltouch์— ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค๋Š” ์„œ๋ณด ์‹ ํ˜ธ ๋ฌธ์ œ

์— ๋งŒ๋“  2019๋…„ 12์›” 09์ผ  ยท  72์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: MarlinFirmware/Marlin

๋ฒ„๊ทธ ์„ค๋ช…

์ตœ๊ทผ์— 3D ํ”„๋ฆฐํ„ฐ๋ฅผ Bigtreetech SKR v1.3์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ–ˆ์Šต๋‹ˆ๋‹ค. ์•ˆํƒ€๊น๊ฒŒ๋„ bltouch ํด๋ก  (์ด์ „ ๋ฒ„์ „์˜ triaglelab 3d touch)์— ๋ฌธ์ œ๊ฐ€์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
G28 ๋˜๋Š” G29๋ณด๋‹ค ๋ธ” ํ„ฐ์น˜๊ฐ€ ํŠธ๋ฆฌ๊ฑฐ๋˜์ง€ ์•Š๊ณ  ํ”„๋ฆฐํŠธ ํ—ค๋“œ๊ฐ€ ๊ณ„์†ํ•ด์„œ ์นจ๋Œ€๋กœ ๋‚ด๋ ค๊ฐ‘๋‹ˆ๋‹ค.
์ฒ˜์Œ์—๋Š” ์ธํ„ฐ๋„ท์—์„œ ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์œผ๋ ค๊ณ ํ–ˆ์ง€๋งŒ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ SKR v1.3์— 5V ๊ณต๊ธ‰์ด ๋ถˆ๋Ÿ‰ํ•˜๋‹ค๋Š” ํฌ๋Ÿผ ๊ธฐ์‚ฌ ๋งŒ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ ์ถ”๊ฐ€ ์ปคํŒจ์‹œํ„ฐ ๋˜๋Š” ์™ธ๋ถ€ 5V ์ „์›์ด ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋‘˜ ๋‹ค ์‹œ๋„ํ–ˆ์ง€๋งŒ ์•„๋ฌด๊ฒƒ๋„ ๋„์›€์ด๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค! 5V ์ „์›์€ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ ์—ˆ์Šต๋‹ˆ๋‹ค!
์ง์ ‘ ์กฐ์‚ฌ๋ฅผํ–ˆ๊ณ  ์˜ค์‹ค๋กœ์Šค์ฝ”ํ”„์˜ ๋„์›€์œผ๋กœ ์‹ค์ œ ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.
์„œ๋ณด ์ถœ๋ ฅ์—์„œ โ€‹โ€‹์ž˜๋ชป๋œ ์‹ ํ˜ธ๋ฅผ ์ƒ์„ฑ ํ•  ์ˆ˜์žˆ๋Š” LPC1768 (๋ฐ ๊ธฐํƒ€)์˜ HAL์— ๋ฌธ์ œ๊ฐ€์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์„œ๋ณด ํŽ„์Šค๊ฐ€ 1472ยตs (M280 P0 S90; ๋ณด๊ด€ ๋œ bltouch ํ•€)์—์„œ 647ยตs (M280 P0 S10; ๋ฐฐ์น˜ ๋œ ํ•€)๋กœ ๋ณ€๊ฒฝ๋˜์–ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ ๋•Œ๋•Œ๋กœ ํŽ„์Šค๋Š” ๋Œ€์‹  20650ยตs ๊ธธ์ด์ž…๋‹ˆ๋‹ค.
์ด ๊ธด ํŽ„์Šค๋Š” bltouch (๋ณต์ œ)๋ฅผ ํ˜ผ๋™ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๋ฉฐ ํ•€์ด ๋ฐฐ์น˜๋˜์–ด ์žˆ์–ด๋„ ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์—์„œ ์„ผ์„œ๋Š” ์นจ๋Œ€์— ๋‹ฟ์„ ๋•Œ ์—”๋“œ ์Šคํ†ฑ์„ ํŠธ๋ฆฌ๊ฑฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์„œ๋ณด ํ•€์ด 647ยตs ์ด์ƒ 1472ยตs ๋ฏธ๋งŒ์ธ ์ž‘์€ ์ฐฝ์—์„œ ๋ฐ”๋กœ "M280 P0 S10"๋ช…๋ น์ด ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ์ด๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ด ์‚ฌ์ดํด์˜ ํ•˜๊ฐ• ์—์ง€๋Š” ์ด๋ฏธ ๋๋‚ฌ๊ณ  ๋‹ค์Œ 20ms ์‚ฌ์ดํด๊นŒ์ง€ ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค (๊ทธ๋ƒฅ ์ถ”์ธก, ์ฆ๊ฑฐ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค ...).
ํ•˜์ง€๋งŒ ์ €์—๊ฒŒ ์ ํ•ฉํ•œ ๋น ๋ฅด๊ณ  ๋”๋Ÿฌ์šด ์†”๋ฃจ์…˜์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค.

diff --git a/Marlin/src/HAL/HAL_LPC1768/Servo.h b/Marlin/src/HAL/HAL_LPC1768/Servo.h
index 1bbf84c73..97a7bcb54 100644
--- a/Marlin/src/HAL/HAL_LPC1768/Servo.h
+++ b/Marlin/src/HAL/HAL_LPC1768/Servo.h
@@ -58,6 +58,12 @@ class libServo: public Servo {
     static_assert(COUNT(servo_delay) == NUM_SERVOS, "SERVO_DELAY must be an array NUM_SERVOS long.");

     if (attach(servo_info[servoIndex].Pin.nbr) >= 0) {    // try to reattach
+      /* workaround for too long pulse on the servo pin */
+      if ( (servoIndex == 0) && ( extDigitalRead(SERVO0_PIN) == 1 ) ) {
+        safe_delay(3);
+      }
       write(value);
       safe_delay(servo_delay[servoIndex]); // delay to allow servo to reach position
       #if ENABLED(DEACTIVATE_SERVOS_AFTER_MOVE)

๋‹จ์ˆœํžˆ ์„œ๋ณด ํ•€์˜ ํ˜„์žฌ ์ƒํƒœ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋†’์œผ๋ฉด ์‹ ํ˜ธ ๋ณ€ํ™”๊ฐ€ 3ms ์ง€์—ฐ๋ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒํ•˜๋ฉด ์„œ๋ณด ํŽ„์Šค๊ฐ€ 2.4ms๋ณด๋‹ค ๊ธธ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ ์šฉ๋  ๋•Œ ํ•€์ด ํ™•์‹คํžˆ ๋‚ฎ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์€ ๋น ๋ฅด๊ณ  ๋”๋Ÿฌ์šด ํ•ดํ‚น ์ผ ๋ฟ์ด๋ฉฐ HAL์—์„œ ์ˆ˜์ •ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ์ด ๋ฌธ์ œ๊ฐ€ ๋‹ค๋ฅธ ์ปจํŠธ๋กค๋Ÿฌ์—์„œ๋„ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๋‚ด ๊ตฌ์„ฑ

Marlin_Configuration.zip

์žฌํ˜„ ๋‹จ๊ณ„

  1. ์„œ๋ณด๊ฐ€ ๊ตฌ์„ฑ๋œ SKR v1.3 ๋ณด๋“œ (๋˜๋Š” ๋‹ค๋ฅธ LPC1768)๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค (#define NUM_SERVOS 1).
  2. M280 P0 S90 ๋ณด๋‚ด๊ธฐ
  3. M280 P0 S10 ๋ณด๋‚ด๊ธฐ
  4. ์„œ๋ณด ์‹ ํ˜ธ ํ™•์ธ (SKR v1.3 : ํ•€ P2_00)

์˜ˆ์ƒ๋˜๋Š” ๋™์ž‘ : [
ํŽ„์Šค ํญ์ด 1472ยตs ์ธ ์‹ ํ˜ธ์—์„œ 647ยตs๋กœ ๊น”๋”ํ•œ ์ „ํ™˜.

์‹ค์ œ ํ–‰๋™ : [์‹ค์ œ๋กœ ์ผ์–ด๋‚˜๋Š” ์ผ]
๋ช…๋ น ํ›„ ์ฒซ ๋ฒˆ์งธ ์‚ฌ์ดํด์—์„œ 20ms ์ด์ƒ์˜ ํŽ„์Šค ํญ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ถ”๊ฐ€ ์ •๋ณด

๋Œ€์‹  "M280 P0 S180"๋ฐ "M280 P0 S0"์„ ์‚ฌ์šฉํ•˜๋ฉด ๋” ๋งŽ์ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (๋” ํฐ ์ฐจ์ด-> ๋ฌธ์ œ์— ๋Œ€ํ•œ ๋” ํฐ ์ฐฝ)

LPC176x Confirmed ! BLTouch

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ด๊ฒƒ์€ ํ”„๋กœ๋ธŒ ํ•˜๋“œ์›จ์–ด์˜ ์ฑ…์ž„์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋ณด๋“œ์—์„œ ์ƒ์„ฑ๋˜๋Š” ์‹ ํ˜ธ๊ฐ€ ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์œผ๋ฉฐ ์˜ค์‹ค๋กœ์Šค์ฝ”ํ”„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ™•์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ์ˆ˜์ •๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ SKR Mini E3 ๋ณด๋“œ์—์„œ ์œ ์‚ฌํ•œ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค๋Š” ๋ชจ๋“  ํƒ€์ด๋จธ ์ถฉ๋Œ์„ ๋””๋ฒ„๊น… ํ•  ๋•Œ๋ณด๊ณ  ๋œ ๋™์ž‘์ด ์ •ํ’ˆ BLTouch ํ•˜๋“œ์›จ์–ด์™€ ๋งค์šฐ ์œ ์‚ฌํ•˜๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž˜๋ชป๋œ ํŽ„์Šค ๊ธธ์ด๋กœ ์ธํ•ด BLTouch๋Š” ๋‹จ์ˆœํžˆ ์ž์‹ ์ดํ•˜๊ณ ์žˆ๋Š” ์ผ์„ ์žŠ์–ด ๋ฒ„๋ฆฌ๊ณ  ์˜ค๋ฅ˜๋ฅผ ์ผ์œผ์ผฐ์Šต๋‹ˆ๋‹ค.

@mlehnhoff , ๋ฌธ์ œ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ์˜ค์‹ค๋กœ์Šค์ฝ”ํ”„์—์„œ์ด ๋ฌธ์ œ์— ์ฒจ๋ถ€ ํ•  ์ˆ˜์žˆ๋Š” ์ด๋ฏธ์ง€๋ฅผ ์บก์ฒ˜ ํ–ˆ์Šต๋‹ˆ๊นŒ?

ํ˜„์žฌ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์™„์ „ํ•œ ์†”๋ฃจ์…˜์œผ๋กœ ๋งˆ์Œ์— ๋“ค์ง€ ์•Š๋Š”๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ mlehnhoff๊ฐ€ ์ œ๊ณต ํ•œ ๋ฌธ์ œ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ์„ธ๋ถ€ ์ˆ˜์ค€๊ณผ ํŽ„์Šค๊ฐ€ ๋ฌธ์ œ์˜ ๊ทผ๋ณธ ์›์ธ์ž„์„ ์ž…์ฆํ•˜๋Š” ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ •๋ง ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

๋ชจ๋“  72 ๋Œ“๊ธ€

์ •ํ’ˆ BLTouch๋ฅผ ์‚ฌ์šฉํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์ •ํ’ˆ BLTouch๋ฅผ ์‚ฌ์šฉํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋˜ํ•œ Configuration_adv.h ์—์„œ BLTouch ์„ค์ •์„ ์กฐ์ • ํ•ด ๋ณด์•˜์Šต๋‹ˆ๊นŒ? : BLTOUCH_DELAY , BLTOUCH_FORCE_SW_MODE , BLTOUCH_FORCE_MODE_SET ๋“ฑ๊ณผ ๊ฐ™์€ ์„ค์ •์„ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•„, ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์–ธ๊ธ‰ํ•˜๋Š” ๊ฒƒ์„ ์žŠ์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์ด์ „์— BLTOUCH_DELAY , BLTOUCH_FORCE_SW_MODE ๋ฐ ์‹ฌ์ง€์–ด DELAY_BEFORE_PROBING ๋‹ค๋ฅธ ์กฐํ•ฉ์„ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. ์„ฑ๊ณตํ•˜์ง€ ์•Š๊ณ .
์ด์ œ ๋ฌธ์ œ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•Œ๊ฒŒ ๋˜์—ˆ์œผ๋‹ˆ ๋” ๊ธด ์ง€์—ฐ์ด ๋„์›€์ด๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ด ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค. bltouch๋ฅผ์ด ์˜ค๋ฅ˜ ์ƒํƒœ๋กœ ๋งŒ๋“œ๋Š” ์ž˜๋ชป๋œ 20ms ํŽ„์Šค๋Š” ๋นŒ๋“œ ํ”Œ๋ ˆ์ดํŠธ๋ฅผ ํ„ฐ์น˜ํ•˜๊ธฐ ๋ช‡ ์ดˆ ์ „์— ์ด๋ฏธ ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
BLTOUCH_FORCE_MODE_SET ์€์ด ์ด์ „ ๋ฒ„์ „์˜ bltouch clone์—์„œ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. "์Šค๋งˆํŠธ ํ•œ"๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์•„๋‹ˆ์š”, ์ •ํ’ˆ BLTouch์— ์•ก์„ธ์Šค ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‚˜์™€ ๋‚ด ์ด์ „ ํด๋ก ์—๊ฒŒ๋Š” ์œ„์—์„œ ์–ธ๊ธ‰ ํ•œ ํ•ดํ‚น์ด ์ž˜ ์ž‘๋™ํ•˜๋ฏ€๋กœ ๊ฐœ์ธ์ ์œผ๋กœ์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ ์ ˆํ•œ ์ˆ˜์ •์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‚˜๋Š” ์‹ค์ œ ์„œ๋ณด์กฐ์ฐจ๋„ ์งง์€ ํ”๋“ค๋ฆผ์ด๋‚˜ ๋‹ค๋ฅธ ์ด์ƒํ•œ ํ–‰๋™ ์œผ๋กœ์ด ํŽ„์Šค์— ๋ฐ˜์‘ ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ธฐ ๋•Œ๋ฌธ์—์ด ๋ฌธ์ œ๋Š” ์–ด์จŒ๋“  ์ˆ˜์ •๋˜์–ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์™€, @mlehnhoff , ํŒจ์น˜๊ฐ€ ๋‚ด ๊ณ ํ†ต์„ ๋œ์–ด์ค๋‹ˆ๋‹ค. SKR v1.3 + (์ด์ „ ๋ฒ„์ „์— ๋Œ€ํ•ด ํ™•์‹คํ•˜์ง€ ์•Š์Œ) triaglelab 3d touch-๋™์ผํ•œ ๋ฌธ์ œ. ๋‚ด ์ž์‹ ์˜ 8/10 ์ž‘์—… ์กฐ๊ฑด : BLTOUCH_FORCE_SW_MODE + BLTOUCH_DELAY 1000.ํ•˜์ง€๋งŒ ํŒจ์น˜๋Š” SW_MODE ๋ฐ DELAY์—†์ด 10/10 ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. Tnx!

๋ฆฌ์•” (๋™์ผํ•œ MCU)์—์„œ ์„œ๋ณด ๊ธฐ๋ฐ˜ ํ„ฐ์น˜ ํ”„๋กœ๋ธŒ๋ฅผ ํ…Œ์ŠคํŠธํ–ˆ๋Š”๋ฐ ๋ฌธ์ œ๊ฐ€ ์—†์—ˆ์ง€๋งŒ ์ด๋™ ํ›„ ๋น„ํ™œ์„ฑํ™” ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ทธ๊ฒƒ์—†์ด ์‹œ๋„ํ•˜์ง€ ์•Š์•˜๊ณ , juse๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์„ ๋•Œ ์„œ๋ณด๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๋…ผ๋ฆฌ๋ฅผ ์ดํ•ดํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์†Œ์ˆ˜์˜ ์ •ํ’ˆ BLTouches๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ ๋ชจ๋‘ LPC1768 ์ธ SKR 1.3์—์„œ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์—ฌ๊ธฐ์—์„œ ์ด์„ ๋›ฐ์–ด ๋„˜์œผ๋ฉด ํ•˜๋“œ์›จ์–ด ๋ฌธ์ œ (์™€์ด์–ด, ๋…ธ์ด์ฆˆ ์—ฐ๊ฒฐ) ๋˜๋Š” ์‚ฌ์šฉ์ž ๊ตฌ์„ฑ ๋ฌธ์ œ ์ผ ๊ฐ€๋Šฅ์„ฑ์ด ๊ฐ€์žฅ ๋†’์Šต๋‹ˆ๊นŒ?

๋Œ€๋ถ€๋ถ„์˜ ์ถ”๊ฐ€ BLTouch ์ฝ”๋“œ / ๊ตฌ์„ฑ ์˜ต์…˜์— ๋Œ€ํ•œ ๋™์ผํ•œ ์ด์œ ๋Š” BLTouch ๋ณต์ œ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

3DTouch! = BLTouch๋ฅผ ๋ช…์‹ฌํ•˜์‹ญ์‹œ์˜ค. ์ด ์‚ฌ๋ณธ๊ณผ ๊ด€๋ จ๋œ ๋งŽ์€ ๋‹ซํžŒ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ํ•˜๋“œ์›จ์–ด ๋ฌธ์ œ๋ผ๊ณ  ๋ถ€๋ฅผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋„ค, ์ด์ œ 3dtouch (๋ฐ ๊ธฐํƒ€)๋Š” BLtouch๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

์ €์—๊ฒŒ ๊ฐ€์žฅ ํฐ ์งˆ๋ฌธ์€ ๋ง๋ฆฐ์ด ํด๋ก ์„ ์ง€์›ํ•˜๋Š” ๊ฒƒ์ด ๋ฌด์—‡์ด๋“  ์•„๋‹ˆ๋ฉด ์ •ํ’ˆ์—๋งŒ ๊ด€์‹ฌ์ด ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์ž…๋‹ˆ๋‹ค.

์•ฝ๊ฐ„์˜ ๊ฐœ์ธ์ ์ธ ์ƒ๊ฐ์„ํ•˜๋ฉด์„œ ๋‚˜๋Š” ์ฒญ์ƒˆ์น˜๊ฐ€ ํด๋ก ์„ ์ง€์›ํ•ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š๋Š”๋‹ค

ํ•˜์ง€๋งŒ ๋‚ด๊ฐ€ ํ‹€๋ ธ์„ ์ˆ˜๋„ ์žˆ์–ด์š”, ์ƒ๊ฐ?

XXtouch์˜ ์ด๋ฆ„์ด ๋ฌด์—‡์ด๋“  ๋‚ด 2 ์„ผํŠธ. ์ด๋“ค ์ค‘ ํ•˜๋‚˜๋Š” SERVOS ํ•€ (BLtouch ํŠน์ˆ˜ ํ•€์ด ์•„๋‹˜)์— ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. SERVOS๋Š” ์„œ๋ณด์ฒ˜๋Ÿผ ์ž‘๋™ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋‚˜๋Š” ์‹ค์ œ ์„œ๋ณด์กฐ์ฐจ๋„ ์งง์€ ํ”๋“ค๋ฆผ์ด๋‚˜ ๋‹ค๋ฅธ ์ด์ƒํ•œ ํ–‰๋™ ์œผ๋กœ์ด ํŽ„์Šค์— ๋ฐ˜์‘ ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ธฐ ๋•Œ๋ฌธ์—์ด ๋ฌธ์ œ๋Š” ์–ด์จŒ๋“  ์ˆ˜์ •๋˜์–ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.
( @mlehnhoff ๋Œ“๊ธ€์—์„œ)

์ด๊ฒƒ์€ ํ”„๋กœ๋ธŒ ํ•˜๋“œ์›จ์–ด์˜ ์ฑ…์ž„์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋ณด๋“œ์—์„œ ์ƒ์„ฑ๋˜๋Š” ์‹ ํ˜ธ๊ฐ€ ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์œผ๋ฉฐ ์˜ค์‹ค๋กœ์Šค์ฝ”ํ”„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ™•์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ์ˆ˜์ •๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ SKR Mini E3 ๋ณด๋“œ์—์„œ ์œ ์‚ฌํ•œ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค๋Š” ๋ชจ๋“  ํƒ€์ด๋จธ ์ถฉ๋Œ์„ ๋””๋ฒ„๊น… ํ•  ๋•Œ๋ณด๊ณ  ๋œ ๋™์ž‘์ด ์ •ํ’ˆ BLTouch ํ•˜๋“œ์›จ์–ด์™€ ๋งค์šฐ ์œ ์‚ฌํ•˜๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž˜๋ชป๋œ ํŽ„์Šค ๊ธธ์ด๋กœ ์ธํ•ด BLTouch๋Š” ๋‹จ์ˆœํžˆ ์ž์‹ ์ดํ•˜๊ณ ์žˆ๋Š” ์ผ์„ ์žŠ์–ด ๋ฒ„๋ฆฌ๊ณ  ์˜ค๋ฅ˜๋ฅผ ์ผ์œผ์ผฐ์Šต๋‹ˆ๋‹ค.

@mlehnhoff , ๋ฌธ์ œ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ์˜ค์‹ค๋กœ์Šค์ฝ”ํ”„์—์„œ์ด ๋ฌธ์ œ์— ์ฒจ๋ถ€ ํ•  ์ˆ˜์žˆ๋Š” ์ด๋ฏธ์ง€๋ฅผ ์บก์ฒ˜ ํ–ˆ์Šต๋‹ˆ๊นŒ?

ํ˜„์žฌ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์™„์ „ํ•œ ์†”๋ฃจ์…˜์œผ๋กœ ๋งˆ์Œ์— ๋“ค์ง€ ์•Š๋Š”๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ mlehnhoff๊ฐ€ ์ œ๊ณต ํ•œ ๋ฌธ์ œ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ์„ธ๋ถ€ ์ˆ˜์ค€๊ณผ ํŽ„์Šค๊ฐ€ ๋ฌธ์ œ์˜ ๊ทผ๋ณธ ์›์ธ์ž„์„ ์ž…์ฆํ•˜๋Š” ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ •๋ง ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์Šค์ฝ”ํ”„ ์Šคํฌ๋ฆฐ ์ƒท์„ ์ฆ‰์‹œ ์ œ๊ณตํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ๋ช‡ ๊ฐ€์ง€๋ฅผ ๋งŒ๋“ค์—ˆ์ง€ ๋งŒ ๋ญ”๊ฐ€ ์ž˜๋ชป๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‚˜๋Š” ์Šค์ฝ”ํ”„๋ฅผ ๋Œ๋ ค ์ค„ ๋•Œ๊นŒ์ง€ ๊นจ๋‹ซ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค (๋‚ด ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค).
๊ทธ๋Ÿฌ๋‚˜ ์ด์ œ ๋‚˜๋Š” ์ƒˆ๋กœ์šด ๊ฒƒ์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
scope_0
๊ทธ๋ฆผ์—์„œ 1472ยตs์—์„œ 544ยต ๋กœ์˜ ์ „ํ™˜์„ ๋ณผ ์ˆ˜ ์žˆ์ง€๋งŒ

ํŽ„์Šค๋Š” 20544ยตs์ž…๋‹ˆ๋‹ค.

๋˜ํ•œ ์‹ค์ œ ์„œ๋ณด๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์•˜๊ณ  ์—ฌ๊ธฐ ์—์ด ๋ฌธ์ œ๊ฐ€ 3dtouch ๋˜๋Š” ๋‹ค๋ฅธ ๋ณต์ œํ’ˆ์—๋งŒ ๊ตญํ•œ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ฆ๊ฑฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

IMG_4677.zip

์„œ๋ณด๋Š” 90 ยฐ (๊ฐ€์šด๋ฐ ๋ ˆ๋ฒ„)์—์„œ 0 ยฐ (๋ ˆ๋ฒ„ ์•„๋ž˜๋กœ)๋กœ ํšŒ์ „ํ•ด์•ผํ•˜์ง€๋งŒ, ์ž˜๋ชป๋œ ํŽ„์Šค๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์‹ค์ œ๋กœ๋Š” ์ฒ˜์Œ์— ํ„ด ๋‹ค์šด๋˜๊ธฐ ์ „์— ํ„ด ๋‹ค์šด๋ฉ๋‹ˆ๋‹ค.

๊ทธ๊ฑด ๊ทธ๋ ‡๊ณ , ์ •ํ’ˆ bltouch (ํด๋ž˜์‹ v1.0, v1.2, v1.3, ์Šค๋งˆํŠธ v1.0, v2.0, v2.2, v3.0, v3.1)์—๋Š” ์ตœ์†Œ 8 ๊ฐ€์ง€ ๋ฒ„์ „์ด ์žˆ์œผ๋ฉฐ ๋ชจ๋‘๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค ;-)

๋‹ค์Œ์€ ๋˜ ๋‹ค๋ฅธ ํžŒํŠธ์ž…๋‹ˆ๋‹ค. M280 ๋ช…๋ น์„ ์ˆ˜๋™์œผ๋กœ ๋ณด๋‚ผ ๋•Œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์€ ๊ฑฐ์˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” (๋น„๋””์˜ค์— ์‚ฌ์šฉ ๋œ) ์„œ๋ณด๋ฅผ ํ† ๊ธ€ํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ๊ฐ€๋Šฅ์„ฑ์„ ํฌ๊ฒŒ ๋†’์˜€์Šต๋‹ˆ๋‹ค.
servo_toggle.gcode.txt

์ด๊ฒƒ์ด ๋‚ด BLTouch์—์„œ๋ณด๊ณ ์žˆ๋Š” ๋ฌธ์ œ์™€ ๊ด€๋ จ์ด ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.
USB๋ฅผ ํ†ตํ•ด Re-ARM์— ์ „์›์„ ๊ณต๊ธ‰ํ•˜๊ณ  M80 ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 12V ์ „์› ๊ณต๊ธ‰ ์žฅ์น˜๋ฅผ ์ผญ๋‹ˆ๋‹ค. BLTouch์— ์ „์›์„ ๊ณต๊ธ‰ํ•˜๋Š” 12V ์ „์› ๊ณต๊ธ‰ ์žฅ์น˜์— 5V ๋ฒ… ์ปจ๋ฒ„ํ„ฐ๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ 12V ์ „์› ๊ณต๊ธ‰์ด ์‹œ์ž‘๋  ๋•Œ๊นŒ์ง€ BLTouch์— ์ „์›์ด ๊ณต๊ธ‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๋ณด๋“œ์˜ ์ „์›์ด ์ผœ์ง€๋ฉด BLTouch๊ฐ€ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ๊นœ๋ฐ•์ž…๋‹ˆ๋‹ค. BLTouch๊ฐ€ ์ „์›์ด ์ผœ์ง€ ๊ธฐ ์ „์— ์‹ ํ˜ธ๋ฅผ ๋ฐ›์œผ๋ฉด ์ด๋Š” ๋ถ„๋ช…ํžˆ ๋‹ค์†Œ ์ •์ƒ์ด๋ฏ€๋กœ ๊ฑฑ์ •ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ M280 P0 S160 ๋กœ ์žฌ์„ค์ •ํ•˜๋ ค๋Š” ์‹œ๋„๋Š” ์ „ํ˜€ ํšจ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ํ•€์ด ๋ฐฐ์น˜ ๋œ ๊ฒฝ์šฐ์—๋„ ํ•€์„ ํ›„ํ‡ด์‹œํ‚ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ M280 P0 S60 ์„ฑ๊ณต์ ์œผ๋กœ SW ๋ชจ๋“œ๋กœ ์ „ํ™˜๋˜๊ณ  ๊นœ๋ฐ•์ž„์„ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค.
๊นœ๋ฐ•์ด๋Š” ๊ฒƒ๊ณผ S160 ๊ฐ€ ๋ฌด์‹œ๋˜๋Š” ๊ฒƒ ์™ธ์—๋Š” BLTouch๊ฐ€ ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊นœ๋ฐ•์ด๋Š” ๊ฒฝ์šฐ์—๋„ ์ œ๋Œ€๋กœ ๋ฐฐํฌ, ๋ณด๊ด€ ๋ฐ ํ”„๋กœ๋ธŒ-ํ’€ ๋ฒ ๋“œ ํ”„๋กœ๋ธŒ๋ฅผ ์ˆ˜ํ–‰ ํ•œ ์ ์ด ์žˆ์œผ๋ฉฐ ํ”„๋กœ๋ธŒ ์˜ค๋ฅ˜๋ฅผ ๋ณธ ์ ์ด ์—†์œผ๋ฉฐ ๋ฐ˜๋ณต์„ฑ์ด ๋›ฐ์–ด๋‚ฉ๋‹ˆ๋‹ค.
์ด๊ฒƒ์€ ํด๋ก ์ด ์•„๋‹Œ ์ •ํ’ˆ V3.1 BLTouch์ž…๋‹ˆ๋‹ค.

์ €๋ ดํ•œ ๋ฏธ๋‹ˆ DSO์™€ ํฐ CRT ์˜ค์‹ค๋กœ์Šค์ฝ”ํ”„๋กœ ํŽ„์Šค๋ฅผ ํ™•์ธํ–ˆ๋Š”๋ฐ ํŽ„์Šค ๊ธธ์ด๊ฐ€ ๊ดœ์ฐฎ์•„ ๋ณด์ธ๋‹ค๋Š” ๊ฒƒ์„ ์žŠ์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์žฌ์„ค์ •์„ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๊ฐ’์„ ์ฐพ์ง€ ์•Š๊ณ  ๋‹ค๋ฅธ S ๊ฐ’ (155์—์„œ 165๊นŒ์ง€)์„ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค.

LPC ์šฉ ์„œ๋ณด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹์„ ์ฐพ์ง€๋Š” ์•Š์•˜์ง€๋งŒ :
์„œ๋ณด ์‹ ํ˜ธ๋Š” PWM์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด STM32 ํ•˜๋“œ์›จ์–ด ํƒ€์ด๋จธ๋กœ ์‹คํ˜„ ๋  ๊ฒฝ์šฐ์ด ์˜ค๋ฅ˜๋Š” ๋น„๊ต ๋ ˆ์ง€์Šคํ„ฐ์˜ ์‚ฌ์ „๋กœ๋“œ ๋ ˆ์ง€์Šคํ„ฐ์— ์ƒˆ ๊ฐ’์„ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋Œ€์‹  ์นด์šดํ„ฐ ๋น„๊ต ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์ง์ ‘ ์—…๋ฐ์ดํŠธํ•จ์œผ๋กœ์จ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์นด์šดํ„ฐ๊ฐ€ ๋‚ฎ์€ ๊ฐ’๊ณผ ๋†’์€ ๊ฐ’ ์‚ฌ์ด์—์žˆ๋Š” ๋™์•ˆ ๋น„๊ต ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ๋†’์€ ๊ฐ’์—์„œ ๋‚ฎ์€ ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋ฉด (๋™์ผ) ๋น„๊ต๋ฅผ ๊ฑด๋„ˆ ๋›ฐ๊ณ  ์นด์šดํ„ฐ ์˜ค๋ฒ„๋Ÿฐ์ด ๋ฐœ์ƒํ•˜์—ฌ ์ƒˆ ๊ฐ’์— ๋„๋‹ฌ ํ•  ๋•Œ๊นŒ์ง€ ํ•€์ด ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. . ์‚ฌ์ „๋กœ๋“œ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์นด์šดํ„ฐ๊ฐ€ ์˜ค๋ฒ„๋Ÿฐ๋˜๊ฑฐ๋‚˜ (์ด์ „) ๋น„๊ต ๊ฐ’์ด ์ผ์น˜ ํ•  ๋•Œ ๋น„๊ต ๋ ˆ์ง€์Šคํ„ฐ๊ฐ€ ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ํฐ ํŽ„์Šค์˜ ์œ„ํ—˜์ด ์—†์œผ๋ฉฐ ์ตœ๋Œ€ ์•ฝ 1 PWM์ฃผ๊ธฐ (20ms)์˜ ์ง€์—ฐ ๋งŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
ํŽธ์ง‘ : ์˜ค๋ฅ˜ ๊ฐ€๋Šฅ์„ฑ์€ 1ms ๋’ค๋กœ ๊ฑด๋„ˆ ๋›ฐ๋Š” ๋‹น 5 %์ž…๋‹ˆ๋‹ค.
์—ฌ๊ธฐ์— ๋น„์Šทํ•œ ๊ฒƒ์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ด๋Š” lpc ํ”„๋ ˆ์ž„ ์›Œํฌ๊ฐ€ ํ•˜๋“œ์›จ์–ด pwm์„ ๋ž˜์นญ ๋ชจ๋“œ (ํŽ„์Šค ํญ ๋ ˆ์ง€์Šคํ„ฐ๊ฐ€ ๊ฐ ๊ธฐ๊ฐ„์— ์„€๋„ ์ž‰๋˜๊ณ  ๋ž˜์นญ๋˜๋Š” ๊ฒฝ์šฐ)์—์„œ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋‹จ์ˆœ ๋ชจ๋“œ ๋น„ํŠธ๋กœ์ด๋ฅผ ์ˆ˜ํ–‰ ํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์•ˆ์ •์ ์œผ๋กœ ์ž‘๋™ํ•˜๋„๋กํ•˜๋ ค๋ฉด ๊ฐ€๋Šฅํ•œ 1์ฃผ๊ธฐ ๊ธ€๋ฆฌ์น˜ ๋˜๋Š” ์ „ํ˜€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š” ์ž„์˜์˜ ํŽ„์Šค ํญ (๊ทธ๋Ÿฌ๋‚˜ ์—…๋ฐ์ดํŠธ ๋นˆ๋„์— ๋”ฐ๋ผ ๋งค์šฐ ์ž์ฃผ) ์ค‘์—์„œ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ๋” ๋งŽ์€ ์—ฐ๊ตฌ๋ฅผ ํ•  ์ˆ˜๋Š” ์žˆ์ง€๋งŒ, ์ •๋ง ๋ณต์žกํ•œ ์ฃผ๋ณ€ ์žฅ์น˜๋Š” ์•„๋‹™๋‹ˆ๋‹ค. ์ €๋Š” ๊ทธ ๊ฒฐํ•จ์— ์˜ค๋žœ ์‹œ๊ฐ„์„ ๋‚ญ๋น„ํ–ˆ๊ณ  ๊ฒฐ๊ตญ ๋‹ค๋ฅธ ๊ฒƒ๋“ค์€์ฃผ์˜๊ฐ€ ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค.

@mlehnhoff @kockockockoc ํŒจ์น˜๋ฅผ ์–ด๋–ป๊ฒŒ ์ ์šฉ ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

@mlehnhoff @kockockockoc ํŒจ์น˜๋ฅผ ์–ด๋–ป๊ฒŒ ์ ์šฉ ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

์†”์งํžˆ ๋งํ•ด์„œ, ์ €๋Š” git์„ ์ฒ˜์Œ ์ ‘ํ–ˆ๊ณ  "git diff"๋ฅผ ํ†ตํ•ด์ด ํŒจ์น˜๋ฅผ ๋งŒ๋“ค ์ˆ˜์žˆ์–ด์„œ ๊ธฐ์ฉ๋‹ˆ๋‹ค. ์ด ํŒจ์น˜๋ฅผ ๋‹ค์‹œ ์ ์šฉํ•˜๋ ค๋ฉด ๋‹ค๋ฅธ git ๋ช…๋ น์ด ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. @kockockockoc ์ด ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ...
๊ทธ๋Ÿฌ๋‚˜์ด ์•„์ฃผ ์ž‘์€ ์ฝ”๋“œ ์กฐ๊ฐ์˜ ๊ฒฝ์šฐ ์†์œผ๋กœ๋„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ‘œ์‹œ๋œ ์œ„์น˜์˜ "Marlin / src / HAL / HAL_LPC1768 / Servo.h"ํŒŒ์ผ (๋ฌผ๋ก  "+"์ œ์™ธ)์— "+"๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋„ค ์ค„์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ๋งŒ ํผ ์‰ฝ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”, ์ €๋Š” Bigtreetech SKR v1.3๊ณผ 3D Touch์™€ ๊ฐ™์€ ๋ณด๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ 3D Touch๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Arduino Mega์—์„œ ์ผ๋ถ€ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 3dTouch๋ฅผ ํ…Œ์ŠคํŠธํ–ˆ์œผ๋ฉฐ ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‚ด๊ฐ€ ์ฐพ์€ ์ œ์•ˆ๊ณผ @mlehnhoff ํŒจ์น˜๋ฅผ ์‹œ๋„ํ–ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค = 3D ํ„ฐ์น˜๊ฐ€ ๋ฉˆ
์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ฌด์—‡์„ํ•ด์•ผํ•˜๋Š”์ง€ ๋ชจ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์ •๋ง ๊ฑฑ์ •๋ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ์ œ์•ˆ์ด๋ผ๋„ ์ข‹์Šต๋‹ˆ๋‹ค.

์ด ๋ฒ„๊ทธ๊ฐ€ ๋‚ด๊ฐ€ ์—ฌ๊ธฐ์—๋ณด๊ณ  ํ•œ ๊ฒƒ๊ณผ ๋™์ผํ•œ ๊ฒƒ์œผ๋กœ ์˜์‹ฌ๋ฉ๋‹ˆ๋‹ค : https://github.com/MarlinFirmware/Marlin/issues/15370

๋‚˜๋Š” ์—ฌ์ „ํžˆ ๋ฌธ์ œ์—†์ด 6/22/19๋ถ€ํ„ฐ bugfix ์ปค๋ฐ‹์„ ์‹คํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜ ์ตœ์‹  ๋ฒ„๊ทธ ์ˆ˜์ • ์ปค๋ฐ‹์„ ์‹œ๋„ํ–ˆ์ง€๋งŒ ์„œ๋ณด ๋ฌธ์ œ๊ฐ€ ์—ฌ์ „ํžˆ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

@ Reywas62 ๋ฐ ๋ชจ๋“  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜์žˆ๋Š” http://fightpc.blogspot.com/2019/08/testing-skr-13-board-with-marlin-20x.html ๊ธฐ์‚ฌ๋ฅผ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. ๋ถ„๋ช…ํžˆ ์ผ๋ถ€ SKR ๋ณด๋“œ๋Š” ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š” ๋ฐ ์ƒ๋‹นํ•œ ์–‘์˜ ์ „๋ฅ˜๊ฐ€ ํ•„์š”ํ•œ ๋‚ฎ์€ ์ž„ํ”ผ๋˜์Šค (์•ฝ 200 ์˜ด)์˜ ์ถœ๋ ฅ ์‹ ํ˜ธ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (์•„๋‘ ์ด๋…ธ ๋ณด๋“œ์—์„œ๋Š” ๋ฐœ์ƒํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ 3D ํ„ฐ์น˜ ํ”„๋กœ๋ธŒ๊ฐ€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š” ์ด์œ ์ž…๋‹ˆ๋‹ค.) Arduino์—์„œ) ๋”ฐ๋ผ์„œ ๋ถ„๋ช…ํžˆ ํŽŒ์›จ์–ด์™€ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค.

๋‚ด ๋ณด๋“œ๊ฐ€ Marlin bugfix 2.0.x (6/22/19)์˜ ์ด์ „ ์ปค๋ฐ‹์œผ๋กœ ์ž˜ ์ž‘๋™ํ•œ๋‹ค๋Š” ์ ์„ ์ œ์™ธํ•˜๊ณ ๋Š” ๊ทธ ์„ค๋ช…์„ ์‚ฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

mlehnhoff ์˜ "quick an dirty"์†”๋ฃจ์…˜์ด ์ž‘๋™ํ•˜๊ณ  ์žˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. BLTouch ํด๋ก ์œผ๋กœ 9x9 UBL-Mesh๋ฅผ ํ”„๋กœ๋น™ํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”์‰ฌ ์ƒ์„ฑ์„ ์‹คํ–‰ํ•  ๋•Œ ์ผ๋ฐ˜์ ์œผ๋กœ 81 ํฌ์ธํŠธ ๋ฉ”์‰ฌ์˜ 1 ๋˜๋Š” 2 ํฌ์ธํŠธ๊ฐ€ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ "์ˆ˜์ •"์œผ๋กœ ๋ชจ๋“  ๊ฒƒ์ด ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ์ด ์†”๋ฃจ์…˜์„ ๊ณ„์† ์‚ฌ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚ด ๊ฒฝ์šฐ์—๋Š” ํ‘ธ์‹œ ํ•€์ด ๋ฐฐ์น˜๋˜์–ด ์„ผ์„œ๊ฐ€ ํŠธ๋ฆฌ๊ฑฐ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๊ธด ์„œ๋ณด ํŽ„์Šค์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

3D Touch ๊ด€๋ จ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” SKR 1.3 ์„œ๋ณด ํ•€์˜ ๋‚ฎ์€ ์ „๋ฅ˜์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ํšŒ๋กœ๋ฅผ ๋งŒ๋“ค๊ณ  ์„ฑ๊ณต์ ์œผ๋กœ ํ…Œ์ŠคํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ M43์„ ์‹คํ–‰ ํ•œ ํ›„์ด ์ •๋ณด๋ฅผ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.
๋ณด๋‚ด๊ธฐ : M43 S
์„œ๋ณด ํ”„๋กœ๋ธŒ ํ…Œ์ŠคํŠธ
. ์ธ๋ฑ์Šค ์‚ฌ์šฉ : 0, ์ „๊ฐœ ๊ฐ๋„ : 10, ์ ์žฌ ๊ฐ๋„ : 90
. ํ”„๋กœ๋ธŒ Z_MIN_PIN : 57
. Z_MIN_ENDSTOP_INVERTING : false
. BLTOUCH ํ™•์ธ
= BLTouch Classic 1.2, 1.3, Smart 1.0, 2.0, 2.2, 3.0, 3.1 ๊ฐ์ง€ ๋จ.
* 30 ์ดˆ ์ด๋‚ด์— ํ”„๋กœ๋ธŒ๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜์‹ญ์‹œ์˜ค *
. ํŽ„์Šค ํญ (+/- 4ms) : 10
= BLTouch pre V3.1 (๋˜๋Š” ํ˜ธํ™˜ ๊ฐ€๋Šฅ) ๊ฐ์ง€ ๋จ

์—ฌ๊ธฐ์—์„œ ์„ค์ •์„ ์‹คํ—˜ ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.ํ•˜์ง€๋งŒ SG90๊ณผ MG90 ์„œ๋ณด ๋ชจํ„ฐ๊ฐ€ ๋ชจ๋‘ ๋น„ํ™œ์„ฑํ™” ์ƒํƒœ์—์„œ ๊ฐ„ํ—์ ์œผ๋กœ ๋‹ค์‹œ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. Z-Probe ์Šค์œ„์น˜๋ฅผ ์žก๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์นจ๋Œ€์— ์ถฉ๋Œ ํ•  ๋•Œ ๊ธฐ๊ณ„๊ฐ€ ์ฃฝ์Šต๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰ ์ถฉ๋Œ์€ Creality CR10 S5์˜ ํœ  ๋งˆ์šดํŠธ๋ฅผ ํ•ฉ์นœ ๊ฒƒ์ž…๋‹ˆ๋‹ค. > _

๊ธฐํšŒ๊ฐ€ ์ƒ๊ธฐ๋ฉด ํšŒ๋กœ๋ฅผ ์‹œ๋„ํ•ด๋ณด๊ณ  ๋ถ„๋ฅ˜๋˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ํŽŒ์›จ์–ด ํ•ดํ‚น์„ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. :)

ํŽŒ์›จ์–ด ํ•ดํ‚น์„ ์‹œ๋„ํ•œ ํ›„, ๋‚˜์—๊ฒŒ๋Š” ์•„๋ฌด๋Ÿฐ ๋ณ€ํ™”๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค (ํ•ต์ด ๋ฐ˜๋“œ์‹œ ์„œ๋ณด ์ด๋™์ด ์•„๋‹ˆ๋ผ bl-touch ํด๋ก ์„ ์ˆ˜์ •ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด๊ฐ€ ์ƒ๊ฐํ–ˆ๋“ฏ์ด). ์„œ๋ณด๋Š” ์ด๋™์„ ์™„๋ฃŒ ํ•œ ํ›„์—๋„ ๋•Œ๋•Œ๋กœ ๋” ๋’ค๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๊ฒƒ์„ ๊ณ ๋ คํ•˜์—ฌ ๋‚˜๋Š” ํ•ดํ‚น์„ ํ’€๊ณ  ๋ง๋ฆฐ์—๊ฒŒ ์„œ๋ณด๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜์ง€ ๋ง๋ผ๊ณ  ๋งํ–ˆ๊ณ  ๋’ค๋กœ ์ด๋™ ๋ฌธ์ œ๊ฐ€ ์‚ฌ๋ผ์ง„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์„œ๋ณด๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ฉด ๋‚ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋‹คํ–‰ํžˆ ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” MG90์€ ๋‚ด๊ฐ€ ์„ ํƒํ•œ ๊ฐ๋„์—์„œ ์ง„๋™ / ํ”๋“ค๋ฆผ์„ ํ‘œ์‹œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. :)

ํ…Œ์ŠคํŠธ ํ•  gcode์— ๋Œ€ํ•ด mlehnhoff์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๋งค๋ฒˆ ์‹คํ–‰ํ•  ๋•Œ๋งˆ๋‹ค ์„œ๋ณด๊ฐ€ 3 ~ 4 ๋ฒˆ ์žฌ์ƒ๋˜๊ณ , Marlin์—๊ฒŒ ์„œ๋ณด๋ฅผ ๊ณ„์† ํ™œ์„ฑํ™”ํ•˜๋ผ๊ณ  ๋งํ–ˆ์„ ๋•Œ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ 3 ๋ฒˆ ์—ฐ์†์œผ๋กœ ์ž˜ ์‹คํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ € ์ „๋ฅ˜๋ณด๊ณ ๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ํžˆํ„ฐ๋ฅผ ์ผœ๊ณ  PSU๋ฅผ ๋ถ€ํ•˜ ์ƒํƒœ๋กœ ๋งŒ๋“œ๋Š” ํ…Œ์ŠคํŠธ๋„ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. :)

์ค‘์š”ํ•œ์ง€ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ๋‚ด Servo ๊ฐ๋„๋Š” 172 (๋ฐฐ์น˜), 35 (Stowed)์ด๊ณ  ์„œ๋ณด๋ฅผ ๋งค๋ฒˆ ๊ฐ™์€ ์–‘๋งŒํผ ๋’ค๋กœ ์ด๋™์‹œํ‚ค๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์˜€์Šต๋‹ˆ๋‹ค. ์„œ๋ณด๊ฐ€ ์•ž์œผ๋กœ ์›€์ง์ด์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

ํŽŒ์›จ์–ด ํ•ดํ‚น์€ ๋‚ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ–ˆ์ง€๋งŒ ์„œ๋ณด๋ฅผ ํ™œ์„ฑํ™” ์ƒํƒœ๋กœ๋‘๋ฉด DarkAlaranth์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์„œ๋ณด๊ฐ€ ์˜ค์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์ˆ˜์ •์€ ์•„๋‹ˆ์ง€๋งŒ ์ˆ˜์šฉ ๊ฐ€๋Šฅํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

์•ฝ๊ฐ„์˜ ์ถ”๊ฐ€ ๋ฐฐ๊ฒฝ ์ง€์‹์€ ์ง€๋‚œ ๋ฉฐ์น  ๋™์•ˆ ์—ฌ๋Ÿฌ ํ”Œ๋žซํผ์—์„œ ์‹œ๋„ํ•ด ๋ณด์•˜๊ณ  AntLab BLtouch๋ฅผ ๋ชจ๋‘ ๋ง์น  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— 1/3์„ ์ฃผ๋ฌธํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ํ”Œ๋žซํผ์—์„œ ๊ด€์ฐฐ ํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
SKR Pro V1.1์ด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
SKR v1.3์ด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
RAMPS 1.4 ์ž‘๋™ํ•˜์ง€ ์•Š์Œ
SKR v1.4๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
RAMPS 1.6 ์ž‘๋™ํ•˜์ง€ ์•Š์Œ

M119์—์„œ ์ฝ๊ธฐ ์ „์˜ ์ฆ์ƒ
endstop ์ƒํƒœ๋ณด๊ณ 
x_min : ํŠธ๋ฆฌ๊ฑฐ ๋จ
y_min : ํŠธ๋ฆฌ๊ฑฐ ๋จ
z_min : ํŠธ๋ฆฌ๊ฑฐ ๋จ

๋™์ผํ•œ ๊ฒฐ๊ณผ๋กœ ํ•€ ํŒŒ์ผ๋„ ์กฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์–‘ํ•œ ์ฒญ์ƒˆ์น˜ ๋นˆํ‹ฐ์ง€์˜ ์—ฌ๋Ÿฌ ๋น„๋””์˜ค์—์„œ ์‚ฌ์šฉํ•œ ํ”„๋กœ์„ธ์Šค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
https://www.youtube.com/watch?v=5cSzFCv7K4Q&t=14s
https://www.youtube.com/watch?v=R0HeFV9nKCM
https://www.youtube.com/watch?v=HR-zn4dv1fY&t=2s
https://www.youtube.com/watch?v=-4o6-8TgpNM

๋” ๋งŽ์€ ๋™์˜์ƒ์„ ๊ฒŒ์‹œ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋‚ด ์š”์ ์€ 3 ๊ฐœ์˜ ์ •ํ’ˆ BL ํ„ฐ์น˜๋กœ ์–ด๋–ค ๋™์˜์ƒ์—์„œ๋„ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ตฌ์„ฑ์ด ๋ณ€๊ฒฝ ๋˜์—ˆ์Šต๋‹ˆ๊นŒ? configuration_adv.h์—๋Š” ์ด์ œ BL ํ„ฐ์น˜ ์ „์› ์„ค์ •์ด ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

Z ์ถ• ์›์  ๋ณต๊ท€์‹œ๋ณด๊ณ  ์˜จ๋„๊ฐ€ ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๊นŒ?
๋‹ค์Œ์€ ๋””๋ฒ„๊ทธ์ž…๋‹ˆ๋‹ค.
์ „์†ก : G28 Z0
์ „์†ก : M114
์ „์†ก : M105
RECV : ์˜ค๋ฅ˜ : !! BLTouch ์˜ค๋ฅ˜๋กœ ์ธํ•ด STOP์ด ํ˜ธ์ถœ ๋จ-M999๋กœ ๋‹ค์‹œ ์‹œ์ž‘
[์˜ค๋ฅ˜] ์˜ค๋ฅ˜ : !! BLTouch ์˜ค๋ฅ˜๋กœ ์ธํ•ด STOP์ด ํ˜ธ์ถœ ๋จ-M999๋กœ ๋‹ค์‹œ ์‹œ์ž‘

RAMPS 1.6 / MEGA2560์˜ M119
z-min์— ๋Œ€ํ•ด ์˜ฌ๋ฐ”๋ฅธ ์ฝ๊ธฐ
ํ”„๋กœ๋น™์ด ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
Ender 3, SKR Mini E3 v1.2, ์ •ํ’ˆ BLTouch v3.1

V2์—์„œ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
skr1.3์˜ ๋ฐฐ์„ ์€ ์Šคํ†ก ๋ฐฉํ–ฅ๊ณผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. Marlin 2.0.1์˜ ๋ฆด๋ฆฌ์Šค ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค๋ฅธ BLTouch๋ฅผ ์‚ฌ์šฉํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์†์ƒ๋œ ํ”„๋กœ๋ธŒ๊ฐ€ ์•„๋‹Œ์ง€ ํ™•์ธํ•˜๋ ค๋ฉด?

์•„๋‡จ, ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ •์ƒ์ ์ธ BLTouch ๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์‹คํŒจ๋Š” ์•ฝ 200 ๊ฐœ ์ค‘ ํ•˜๋‚˜๋งŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

@mlehnhoff ์‹œ๊ฐ„์ด๋˜๋ฉด ๋‹ค์‹œ ํ…Œ์ŠคํŠธํ•˜์‹ญ์‹œ์˜ค

๋ฒ„๊ทธ ์ˆ˜์ • 2.0.x๊ฐ€ ๋งค์ผ ์—…๋ฐ์ดํŠธ๋˜๋ฏ€๋กœ 14 ์ผ ์ •๋„๋งˆ๋‹ค ๋‹ค์‹œ ํ…Œ์ŠคํŠธ ํ•ด์ฃผ์„ธ์š”.

์ตœ์‹  ๋ฒ„๊ทธ ์ˆ˜์ • ๋นŒ๋“œ ์žฌ ์ปดํŒŒ์ผ [2020.01.24.]
๊ฐ๊ฐ 150 ๊ฐœ์˜ ํ”„๋กœ๋ธŒ ๋ฐ˜๋ณต์„ฑ ํ…Œ์ŠคํŠธ๋ฅผ ๋‘ ๋ฒˆ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

  1. ๋ฒ ๋“œ ๊ฐ€์—ด OFF, ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ ๋จ, ํ‘œ์ค€ ํŽธ์ฐจ : 0.003928.
  2. ๋ฒ ๋“œ ํžˆํŒ… ON, ํ”„๋กœ๋น™ ์‹คํŒจ, 137์—์„œ ์‹คํŒจ.

ํด๋ก  BLTouch (3DTouch)์™€ ํ•จ๊ป˜ SKR1.1 ๋ณด๋“œ (LPC1768)์—์„œ bugfix 2.0.x๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์œ ์‚ฌํ•œ ๋™์ž‘์„ ๊ด€์ฐฐํ–ˆ์Šต๋‹ˆ๋‹ค.
๋‹ค๋ฅธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์‹œ๋„ํ–ˆ์ง€๋งŒ 25 ๊ฐœ์˜ ํ”„๋กœ๋ธŒ ํฌ์ธํŠธ ์ค‘ ์ ์–ด๋„ ํ•˜๋‚˜์˜ ํ”„๋กœ๋น™ ํฌ์ธํŠธ์— ๋Œ€ํ•ด ํ•€์ด ๋„ˆ๋ฌด ์ผ์ฐ ํ•ด์ œ๋ฉ๋‹ˆ๋‹ค (์˜ˆ : ์ฆ‰์‹œ ๋ฐฐ์น˜ ํ›„ ๋ณด๊ด€).

@mlehnhoff ์‹œ๊ฐ„์ด๋˜๋ฉด ๋‹ค์‹œ ํ…Œ์ŠคํŠธํ•˜์‹ญ์‹œ์˜ค

@boelle : ์•ž์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด @ p3p ๋ฌธ์ œ๋Š” ์‹ค์ œ๋กœ Marlin ์ž์ฒด๊ฐ€ ์•„๋‹ˆ๋ผ LPC ํ”„๋ ˆ์ž„ ์›Œํฌ์— ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์‹œ ํ…Œ์ŠคํŠธ ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋Š” PWM ๋ž˜์นญ ๋ชจ๋“œ๊ฐ€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ์„์„ ์ œ๊ฑฐํ•ด์•ผํ•œ๋‹ค๊ณ  ๋งํ–ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๊ฒƒ์ด ์ˆ˜์ •๋˜์ง€ ์•Š๋Š” ํ•œ ์•ˆ์ •์ ์œผ๋กœ ์ž‘๋™ํ•˜๋Š” bltouch๋ฅผ ์›ํ•˜๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ์€ ์ถ”์•…ํ•˜์ง€๋งŒ ์ž‘๋™ํ•˜๋Š” ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
ํ˜„์žฌ๋กœ์„œ๋Š” ์•ˆํƒ€๊น๊ฒŒ๋„ ์˜ค์‹ค๋กœ์Šค์ฝ”ํ”„์— ์•ก์„ธ์Šค ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด์ด ๋ฌธ์ œ๋ฅผ ๋””๋ฒ„๊น… ํ•  ๋•Œ P3P๋ฅผ ์ง€์›ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์ด์— ๋Œ€ํ•ด ๋” ์ž์„ธํžˆ ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด https://github.com/p3p/pio-framework-arduino-lpc176x/blob/master/system/lpc176x/HardwarePWM.h

์ด ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
Ender 3, SKR Mini E3 v1.2, ์ •ํ’ˆ BLTouch v3.1

SKR Mini E3 v1.2๋Š” LPC1768์ด ์•„๋‹Œ STM32 ๋งˆ์ดํฌ๋กœ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

PWM ๋ž˜์นญ ๋ฌธ์ œ๊ฐ€ ๋‹ค์Œ LPC176x ์ •์˜คํ‘œ์™€ ๊ด€๋ จ์ด ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.

3.13 PWM.1 : PWM1.1์˜ ๋“€ํ‹ฐ ์‚ฌ์ดํด์„ 100 %์—์„œ ์—…๋ฐ์ดํŠธ ํ•  ๋•Œ
์–ด๋–ค ๊ฒฝ์šฐ์—๋Š” ์ถœ๋ ฅ์ด ์ „์ฒด PWM ๊ธฐ๊ฐ„ ๋™์•ˆ ๋‚ฎ๊ฒŒ ์œ ์ง€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์—…๋ฐ์ดํŠธ๊ฐ€ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค
์†Œ๊ฐœ:
LPC176x PWM ์ฃผ๋ณ€ ์žฅ์น˜์—์„œ ๋‘ ๊ฐœ์˜ ์ผ์น˜ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹จ์ผ
์—์ง€ ์ œ์–ด PWM ์ถœ๋ ฅ. ํ•˜๋‚˜์˜ ์ผ์น˜ ๋ ˆ์ง€์Šคํ„ฐ (PWM1MR0)๊ฐ€ PWM์ฃผ๊ธฐ๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค.
์†๋„, ์ผ์น˜์‹œ ์นด์šดํŠธ๋ฅผ ์žฌ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์ผ์น˜ ๋ ˆ์ง€์Šคํ„ฐ๋Š” PWM ์—์ง€๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค.
์œ„์น˜. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ผ์น˜ ๋ ˆ์ง€์Šคํ„ฐ PWM1MR1์€ PWM1์˜ ์—์ง€ ์œ„์น˜๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค.
๋‹ค์ค‘ ๋‹จ์ผ ์—์ง€ ์ œ์–ด PWM ์ถœ๋ ฅ์€ ๋ชจ๋‘ ์‹œ์ž‘์‹œ ์ƒ์Šน ์—์ง€๋ฅผ ๊ฐ–์Šต๋‹ˆ๋‹ค.
PWM1MR0 ์ผ์น˜๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ๊ฐ PWM ์‚ฌ์ดํด.
๋ฌธ์ œ:
๋‹จ์ผ ์—์ง€ ๋ชจ๋“œ์—์„œ๋งŒ PWM1.1 (Pulse Width Modulator 1, ์ฑ„๋„
1 ์ถœ๋ ฅ)์ด 100 % (PWM1MR1 = PWM1MR0)์—์„œ ์—…๋ฐ์ดํŠธ ๋œ ๋‹ค์Œ PWM1.1์— ๋Œ€ํ•œ ์ถœ๋ ฅ
์›ํ•˜๋Š” ์ƒˆ๋กœ์šด ๋“€ํ‹ฐ ์‚ฌ์ดํด ์ด์ „์— ์ „์ฒด PWM ๊ธฐ๊ฐ„ ๋™์•ˆ ์˜ˆ๊ธฐ์น˜ ์•Š๊ฒŒ ๋‚ฎ๊ฒŒ ์œ ์ง€ ๋  ์ˆ˜ ์žˆ์Œ
์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” PWM1.1์˜ ์ถœ๋ ฅ์—๋งŒ ์˜ํ–ฅ์„์ค๋‹ˆ๋‹ค. ๊ธฐํƒ€ PWM ์ฑ„๋„
(PWM1.2 ~ PWM1.6)์€์ด ๋ฌธ์ œ์˜ ์˜ํ–ฅ์„๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• :
์‚ฌ์šฉ์ž๊ฐ€ PWM1MR1์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด๋กœ๋“œ ํ•  ์ˆ˜์žˆ๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์ˆ˜์ •์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
PWM1MR0 + 1 (์ตœ์†Œ 1)์€ PWM1.1์˜ ์ถœ๋ ฅ ์—…๋ฐ์ดํŠธ์—์„œ ์ง€์—ฐ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

100 % PWM ๋ชจ๋“œ์— ์„œ๋ณด ํ•€์„ ๋„ฃ์ง€ ์•Š์•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ ‡์ง€ ์•Š์„ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋‹ค์‹œ PWM 1.1์—์„œ SKR 1.3์˜ ์„œ๋ณด ํ•€์ธ P2_0์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์œ ์‚ฌํ•œ ๋ฌธ์ œ (์ •ํ’ˆ BL Touch 3.1 ๋ฐ SKR PRO 1.1 ์‚ฌ์šฉ)๋ฅผ ์กฐ์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค.
๋‚˜๋Š” # 16986์—์„œ ์ฐพ์€ ๊ฒƒ์„ ๋ฌธ์„œํ™”ํ–ˆ์ง€๋งŒ ๊ธฐ๋ณธ์ ์œผ๋กœ XY_PROBE_SPEED์™€ ๊ด€๋ จ์ด ์žˆ์Œ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. 10000์˜ ์ˆ˜์น˜๋Š” BL Touch ์‹ ํ˜ธ๊ฐ€ 15 ๊ฐœ์˜ ํ”„๋กœ๋น™ ํฌ์ธํŠธ (์ฒซ ๋ฒˆ์งธ Y ์ด๋™ ํ›„ ์ฒซ ๋ฒˆ์งธ์ด๊ธฐ๋„ ํ•จ)์—์„œ ํŽ„์Šค์—์„œ DC ๋ ˆ๋ฒจ๋กœ ๋ณ€๊ฒฝ๋˜๋„๋กํ•ฉ๋‹ˆ๋‹ค. 6000์ด๋ผ๋Š” ์ˆ˜์น˜๋Š” ๋ฌธ์ œ๋ฅผ ๋ณด์—ฌ์ฃผ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

SKR v1.3 ๋ฐ 3D Touch v2 (๋ฐ Pi 3B)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋‘ ๋Œ€์˜ Ender 3์—์„œ์ด ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ํ•œ ๋‹ฌ ์ด์ƒ ํ…Œ์ŠคํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์—๋Š” ํ”„๋กœ๋ธŒ๊ฐ€ ํŠธ๋ฆฌ๊ฑฐ๋˜์ง€ ์•Š๊ณ  (๊ทธ๋Ÿฌ๋‚˜ ์ฆ‰์‹œ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ๊นœ๋ฐ•์ž„) ABL์„ ์ˆ˜ํ–‰ ํ•  ๋•Œ (์ตœ์†Œํ•œ 3 ~ 5 ์žฅ์˜ ์ธ์‡„ ์ค‘ 1 ํšŒ) ๋…ธ์ฆ์ด ๊ธฐ๊ณ„์‹ Z ๋์ด ์•„๋‹ˆ๋ผ๋ฉด ์นจ๋Œ€์— ์ถฉ๋Œํ•˜๋Š” ๊ฒฝ์šฐ ํ•ญ์ƒ ์ •๊ธฐ์  ์ธ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. -๊ณ ์˜๋กœ ๋– ๋‚ฌ์–ด. ๊ทธ๋ฆฌ๊ณ  ๋‚˜๋Š” Marlin 2.0.x์—์„œ ํ”„๋กœ๋น™ / BL Touch ๊ตฌ์„ฑ์˜ ์ˆœ์—ด์„ ์ „๋ถ€๋Š” ์•„๋‹ˆ์ง€๋งŒ ๋Œ€๋ถ€๋ถ„ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค.
์ด ์ฃผ ๋™์•ˆ (M48 ๋ฐ ๋งŽ์€ ์‹ค์ œ ์ธ์‡„๋ฌผ ๋ชจ๋‘) ์ˆ˜๋งŽ์€ ํ”„๋กœ๋น™ ์ค‘์— ์‹คํŒจ๊ฐ€ ์—†์—ˆ์œผ๋ฏ€๋กœ์ด ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ์ œ ๊ฒฝ์šฐ์— ๋ถ„๋ช…ํ•œ ์„ฑ๊ณต์ด๋ผ๊ณ  ๊ฐ„์ฃผํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก  ๊ฒฐ๊ณผ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด ๋‚ด ๊ฒฐ๊ณผ๋ฅผ ์—…๋ฐ์ดํŠธ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๋˜ํ•œ XY ํ”„๋กœ๋ธŒ ์†๋„ (6-8-10000 mm / s ์‹œ๋„), Z ํ”„๋กœ๋ธŒ ์†๋„์™€ ๋…๋ฆฝ์ ์œผ๋กœ ์ž‘๋™ํ•˜๋ฉฐ ํ”„๋กœ๋น™ ์ค‘์— ํžˆํ„ฐ / ์Šคํ…Œํผ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜์ง€ ์•Š๋Š”์ง€ ํ…Œ์ŠคํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ Marlin์˜ ํ”„๋กœ๋น™ ์„ค์ •์€ ๋” ์ด์ƒ ์‹คํŒจ๋ฅผ ํ”ผํ•˜๋Š” ์š”์†Œ๊ฐ€ ์•„๋‹Œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค (ํ•˜์ง€๋งŒ ์—ฌ์ „ํžˆ ์ •๋ฐ€๋„์— ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ์ง€๋งŒ ์ ์–ด๋„ Z ์†๋„๋Š” ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค).
์œ ์ผํ•œ ๋ฌธ์ œ๋Š” LCD์˜ ๋ฐฑ๋ผ์ดํŠธ (5V)๊ฐ€ SKR์—์„œ 5V๋ฅผ ๋Œ์–ด์˜จ ๊ฒฝ์šฐ ํ”„๋กœ๋น™ ์ค‘์— ์ผ์‹œ์ ์œผ๋กœ ๊นœ๋ฐ•์ด๋ฉฐ ํ”„๋กœ๋ธŒ์˜ ์ „๋ฅ˜ ์†Œ๋น„๋กœ ์ธํ•œ ์ „์•• ๊ฐ•ํ•˜๋ฅผ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค (ํ•˜์ง€๋งŒ ๋‚ด ์Šค์ฝ”ํ”„๋กœ ๋ชจ๋“  ๊ฒƒ์„ ๊ฒฉ๋ฆฌํ•˜๊ณ  ํ”„๋กœ๋น™ํ•˜๊ณ  ์‹ถ์ง€ ์•Š์Œ). . ๋”ฐ๋ผ์„œ ํ”„๋กœ๋ธŒ ๊ทผ์ฒ˜์— ๋‘ ๊ฐœ์˜ GND ์™€์ด์–ด๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ 5V๋ฅผ Pi์— ์—ฐ๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค (์™ธ๋ถ€ 5V ์†Œ์Šค ์ผ ์ˆ˜๋„ ์žˆ์Œ). ํ•˜๋‚˜๋Š” SKR์— ์—ฐ๊ฒฐํ•˜๊ณ  ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” Pi์— ์—ฐ๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค (๊ฐ€๋‚œํ•œ ์‚ฌ๋žŒ์˜ ๋ณ„ ์ ‘์ง€ ์šฉ). .

๋ฟก๋ฟก
bugfix-2.0.x ๋ธŒ๋žœ์น˜ ๋ฅผ ํ…Œ์ŠคํŠธํ•˜์—ฌ ๊ทธ๊ฒƒ์ด ์–ด๋””์— ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

๋‚ด ์ •ํ’ˆ BLTouch์—์„œ ๊ณง ์ด๊ฒƒ์„ ํ…Œ์ŠคํŠธ ํ•  ๊ฒƒ์ด๋ฉฐ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

ํŽธ์ง‘ : ๋™์ผํ•œ ๋ณด๋“œ (STM32F103RC)๊ฐ€ ์•„๋‹ˆ์ง€๋งŒ ๋™์ผํ•œ ๋ฌธ์ œ! ํƒ€์ด๋ฐ ๋ฌธ์ œ์ธ์ง€ ๋‹ค๋ฅธ ๊ฒƒ์ธ์ง€ ์•Œ์•„ ๋‚ด๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค! ๊ทธ๋Ÿฌ๋‚˜ 91 UBL ๋ฉ”์‹œ๋ฅผ ์ˆ˜ํ–‰ ํ•  ๋•Œ ์—ฌ๊ธฐ์— ์„ค๋ช… ๋œ ๊ฒƒ๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ 1 ๊ฐœ ๋˜๋Š” 2 ๊ฐœ์˜ ์‹คํŒจํ•œ ํ”„๋กœ๋ธŒ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๊นŒ?

๊ธ€์Ž„, ๋‚ด ๋ณด๋“œ๊ฐ€ '๊ณต์œ '์„œ๋ณด ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค. ์‹œํ–‰ ์ฐฉ์˜ค ๋์— ์•„๋ž˜๋ฅผ ์ถ”๊ฐ€ํ–ˆ๋Š”๋ฐ safe_delay 6ms / us? ์ž‘๋™ ์ค‘์ž…๋‹ˆ๋‹ค! ๊ทธ๊ฒƒ์ด ์˜๋ฏธ๊ฐ€ ์žˆ๋‹ค๋ฉด ์„ผ์„œ๊ฐ€ ๋” ๋นจ๋ฆฌ ํŠธ๋ฆฌ๊ฑฐ๋˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๊นŒ? ๊ทธ๋ฆฌ๊ณ  ์ด์ œ ์„ผ์„œ ๊ณ ์žฅ์—†์ด ์ฒซ ๋ฒˆ์งธ ๋ฉ”์‹œ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๊นŒ? ์ฃผ์‹œํ•˜๊ณ  ๋” ๋งŽ์€ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜์ง€๋งŒ ์ฒ˜์Œ์—๋Š” ์œ ๋ง ํ•ด ๋ณด์ž…๋‹ˆ๋‹ค! ์ด๊ฒƒ์€ ์ •ํ’ˆ BLTouch๋กœ, ๊ฒฐํ•จ์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์—ฌ ๋‘ ๋ฒˆ์งธ๋ฅผ ์ฃผ๋ฌธํ–ˆ์Šต๋‹ˆ๋‹ค! BTT V2.0์œผ๋กœ ์ด๋™ํ•˜๊ณ  Marlin์ด์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๊ธฐ ๋•Œ๋ฌธ์—์ด ์„ค์ •์ด ์›๋ž˜ ์Šคํ†ก ๋ณด๋“œ์—์„œ ์ž˜ ์ž‘๋™ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ํ•˜๋“œ์›จ์–ด๋Š” ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด์ „์—๋Š” ๋ฌธ์ œ์—†์ด Klipper๋ฅผ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

if ( (servoIndex == 0) && ( extDigitalRead(SERVO0_PIN) == 1 ) ) { safe_delay(6); }

@ aslater3 ๋‚ด ๋ณด๋“œ (SKR Mini E3 v1.2)์— '๊ณต์œ '์„œ๋ณด ์ฝ”๋“œ๊ฐ€ ์žˆ๋Š”์ง€ ์–ด๋–ป๊ฒŒ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@boelle ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค ๋‹ค๋ฅธ ์ผ๋กœ ๊ฝค ๋ฐ”๋นด์Šต๋‹ˆ๋‹ค. ๋ฐฉ๊ธˆ ์ตœ์‹  bugfix-2.0.x (2.0.5.4 ์ธ ๊ฒƒ ๊ฐ™์Œ)๋ฅผ ํ…Œ์ŠคํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” ์—ฌ์ „ํžˆ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹pio-framework-arduino-lpc176x์—์„œ ์ˆ˜์ •๋˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ ์ด์ œ ์˜ค์‹ค๋กœ์Šค์ฝ”ํ”„์— ์•ก์„ธ์Šค ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋” ์ž์„ธํžˆ ์กฐ์‚ฌํ•˜๊ณ  ๊ฒฐ๊ตญ ๊ณ ์น  ์˜ํ–ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค ...

2.0.5.4 ( 2.0.x ) ๋ฐ bugfix-2.0.x ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๋‘ ๊ฐ€์ง€ ์ง€์ ์ž…๋‹ˆ๋‹ค. ์ตœ์‹  bugfix-2.0.x ์‹œ๋„ํ•˜๊ณ ์ด ๋ฌธ์ œ๊ฐ€ ๊ณ„์† ๋ฐœ์ƒํ•˜๋ฉด ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค.

2.0.5.4 ( 2.0.x ) ๋ฐ bugfix-2.0.x ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๋‘ ๊ฐ€์ง€ ์ง€์ ์ž…๋‹ˆ๋‹ค. ์ตœ์‹  bugfix-2.0.x ์‹œ๋„ํ•˜๊ณ ์ด ๋ฌธ์ œ๊ฐ€ ๊ณ„์† ๋ฐœ์ƒํ•˜๋ฉด ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค.

์˜ˆ, ์•Œ๊ณ  ์žˆ์œผ๋ฉฐ ์ตœ์‹  bugfix-2.0.x๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค! 2.0.5.4๋Š” LCD ๋ฉ”๋‰ด๊ฐ€ ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ๋ฟ์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์€ ์–ด์จŒ๋“  ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๋ฒ„๊ทธ๋Š” MarlinFw ์ฝ”๋“œ ๋‚ด๋ถ€๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— pio-framework-arduino-lpc176x ๋‚ด๋ถ€์— ์žˆ์Šต๋‹ˆ๋‹ค.

์ฝ”๋“œ์˜ ์–ด๋–ค ๋ถ€๋ถ„์ด ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค๋Š”์ง€๋Š” ์ž˜ ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค : HW-PWM์˜ ๋น„ํ™œ์„ฑํ™” ๋œ ๋ž˜์นญ.

๋ฌธ์ œ๋Š” ๋‹ค๋ฅธ ๋ฌธ์ œ์—†์ด ๋ž˜์นญ์„ ๋‹ค์‹œ ํ™œ์„ฑํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๋ž˜์นญ์ด ๋น„ํ™œ์„ฑํ™” ๋œ ์ด์œ ์ž…๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋‹ค๋ฅธ ํ”Œ๋žซํผ์—์„œ ๋น„์Šทํ•œ ๋ฌธ์ œ๋ฅผ ์กฐ์‚ฌํ•˜๊ณ  ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— @ p3p ์™€ ์ด์•ผ๊ธฐ๋ฅผ

2.0.5.4๋Š” LCD ๋ฉ”๋‰ด๊ฐ€ ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ๋ฟ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ์ตœ์‹  ๋ฒ„๊ทธ ์ˆ˜์ •์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. LCD์— bugfix-2.0.x ๋ฉ๋‹ˆ๋‹ค.

์ƒˆ ์ผ์น˜ ๊ฐ’์„ ์ด๋ฏธ ์ „๋‹ฌํ•œ ํ›„ ๋” ์งง์€ ๋“€ํ‹ฐ ์‚ฌ์ดํด์„ ์„ค์ •ํ•  ๋•Œ 1์ฃผ๊ธฐ ๊ฒฐํ•จ์„ ์•Œ๊ณ  ์žˆ์ง€๋งŒ ํ˜„์žฌ ๋ฌธ์ œ๋ฅผ ์™„ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ•˜๋“œ์›จ์–ด๋Š” pwm ์„€๋„์šฐ ๋ ˆ์ง€์Šคํ„ฐ๊ฐ€ ํ™œ์„ฑํ™” ๋œ ๊ฒฝ์šฐ ์ˆ˜ํ–‰ํ•ด์•ผํ•˜๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.

2.0.5.4๋Š” LCD ๋ฉ”๋‰ด๊ฐ€ ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ๋ฟ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ์ตœ์‹  ๋ฒ„๊ทธ ์ˆ˜์ •์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. LCD์— bugfix-2.0.x ๋ฉ๋‹ˆ๋‹ค.

์ข‹์•„, ๋‚ด ์ž˜๋ชป์ด์•ผ, ์‹ค์ˆ˜๋กœ bugfix-2.0.x ๋Œ€์‹  2.0.x ์ง€์ ์„ ๋ณต์ œํ–ˆ์Šต๋‹ˆ๋‹ค ... ์ด์ œ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค-> ์ฐจ์ด ์—†์Œ (๋ฌผ๋ก )

์ƒˆ ์ผ์น˜ ๊ฐ’์„ ์ด๋ฏธ ์ „๋‹ฌํ•œ ํ›„ ๋” ์งง์€ ๋“€ํ‹ฐ ์‚ฌ์ดํด์„ ์„ค์ •ํ•  ๋•Œ 1์ฃผ๊ธฐ ๊ฒฐํ•จ์„ ์•Œ๊ณ  ์žˆ์ง€๋งŒ ํ˜„์žฌ ๋ฌธ์ œ๋ฅผ ์™„ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ•˜๋“œ์›จ์–ด๋Š” pwm ์„€๋„์šฐ ๋ ˆ์ง€์Šคํ„ฐ๊ฐ€ ํ™œ์„ฑํ™” ๋œ ๊ฒฝ์šฐ ์ˆ˜ํ–‰ํ•ด์•ผํ•˜๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.

@ p3p ๋ž˜์นญ์„ ํ™œ์„ฑํ™”ํ–ˆ์„ ๋•Œ ์–ด๋–ค ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ๋ง์”€ํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

๋‚ด๊ฐ€ ๊ธฐ์–ตํ•˜๋Š” ๊ฒƒ (์ด๊ฒƒ์„ ๋””๋ฒ„๊น… ํ•œ ์ง€ ์˜ค๋ž˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค), ์„€๋„์šฐ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋ฉด ํŽ„์Šค ํญ์ด ์‚ฐ๋ฐœ์ ์œผ๋กœ ์ „ํ˜€ ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐ™์€ ๊ธฐ๊ฐ„์— ํŽ„์Šค ํญ์„ ๋‘ ๋ฒˆ ์ด์ƒ ์—…๋ฐ์ดํŠธํ•˜์—ฌ ๋ฐœ์ƒํ•œ ๊ฒƒ ๊ฐ™์•˜์ง€๋งŒ ํ™•์‹คํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๋ช…๋ น ๋œ ์„œ๋ณด ๊ฐ๋„๊ฐ€ ๋ณ€๊ฒฝ๋œ ํŽ„์Šค ํญ์œผ๋กœ ์ถœ๋ ฅ์— ํ‘œ์‹œ ๋˜๋ ค๋ฉด ์ตœ์†Œ 20ms๋ฅผ ์œ ์ง€ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
์žฅ์น˜ / ์„œ๋ณด์—์„œ ์ƒˆ ํŽ„์Šค ํญ์„ ์ธ์‹ ํ•  ์ˆ˜ ์žˆ๋„๋กํ•˜๋ ค๋ฉด ์—ฌ๋Ÿฌ ํŽ„์Šค๋ฅผ ์œ ์ง€ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ ์ตœ์†Œ 20ms ์ด๋‚ด์˜ ๊ฐ๋„ ๋ณ€๊ฒฝ์€ ๊ธˆ์ง€๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.
@sjasonsmith๊ฐ€ BL_Touch์— ๋Œ€ํ•ด ๋ฐœ๊ฒฌํ•˜๊ณ  https://github.com/MarlinFirmware/Marlin/issues/18598#issuecomment -657406598์—์„œ ์ง€์ ํ•œ ๊ฒƒ์—์„œ ์•ฝ 60ms๊ฐ€ ๋” ์ข‹์Šต๋‹ˆ๋‹ค.

์„€๋„์šฐ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ๋” ์ž์ฃผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ฒƒ์€ ์˜๋ฏธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋ ˆ์ง€์Šคํ„ฐ๋Š” ๊ฐ๋„ ๊ฐ’์ด ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ์ž์ฃผ ๊ธฐ๋ก๋˜์ง€ ์•Š์•„์•ผํ•ฉ๋‹ˆ๋‹ค. (์„€๋„์šฐ ๋ ˆ์ง€์Šคํ„ฐ์˜ ๊ทธ๋ฆผ์ž ๋ณ€์ˆ˜?)
๋„ˆ๋ฌด ๋นˆ๋ฒˆํ•œ ๋ณ€๊ฒฝ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋” ๋†’์€ ์ˆ˜์ค€์˜ ์„œ๋ณด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์ถ”๊ฐ€ ํŒจ์น˜๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด๋ฏธ SERVO_DELAY ์™€ ๋น„์Šทํ•œ ๊ฒƒ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๋ฐ, ์›๋ž˜๋Š” ์„œ๋ณด๊ฐ€ (๊ธฐ๊ณ„์ ์œผ๋กœ) ๋ชฉํ‘œ์— ๋„๋‹ฌํ•˜๊ธฐ ์ „์— ์„œ๋ณด ์‹ ํ˜ธ ์ข…๋ฃŒ๋ฅผ ๋ฐฉ์ง€ํ•ด์•ผํ–ˆ์Šต๋‹ˆ๋‹ค.

@AnHardt ๊ธฐ๊ฐ„๋งˆ๋‹ค ์„€๋„์šฐ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์€ ๋ฌด์˜๋ฏธ

@AnHardt ๊ธฐ๊ฐ„๋งˆ๋‹ค ์„€๋„์šฐ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์€ ๋ฌด์˜๋ฏธ

๋‚˜๋Š” ๋˜ํ•œ ์ด์œ ๋‚˜ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š”์ง€๋„ ๋ชจ๋ฆ…๋‹ˆ๋‹ค. ๋‹น์‹ ์ด ์šฐ๋ฆฌ๋ฅผ ๋งํ•œ๋‹ค๋ฉด ๊ทธ๋Ÿฌ๋‚˜ ์šฐ๋ฆฌ๊ฐ€ ๊ทธ๊ฒƒ์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ์‹œ๋„ํ•ด์•ผ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ :

static float last_servo_angle = 0.0f;
if (servo_angle != last_servo_angle) {
  set_servo(sevo_angle);
  last_servo_angle = servo_angle;
}

์ตœ์†Œํ•œ ๋™์ผํ•œ ๊ฐ’์œผ๋กœ ์„€๋„์šฐ ๋ ˆ์ง€์Šคํ„ฐ์— ์—ฌ๋Ÿฌ ๋ฒˆ ์“ฐ๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

์ •ํ™•ํžˆ ๊ธฐ์–ตํ•œ๋‹ค๋ฉด BL-Touch๊ฐ€ ๋‚˜ํƒ€๋‚˜๊ธฐ ์ „์— SERVO_PROBE ์ฝ”๋“œ๋ฅผ ๋งˆ์ง€๋ง‰์œผ๋กœ ํ„ฐ์น˜ํ–ˆ์„ ๋•Œ ๋™๊ธฐํ™”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ณด์™€ ์Šคํ…Œํผ๋ฅผ ๋™์‹œ์— ์›€์ง์ด๋Š” ๊ฒƒ์„ ์กฐ์‹ฌ์Šค๋Ÿฝ๊ฒŒ ํ”ผํ–ˆ์Šต๋‹ˆ๋‹ค.ํ•˜์ง€๋งŒ ์ €๋Š” ํ•ญ์ƒ DEACTIVATE_SERVOS_AFTER_MOVE ํ…Œ์ŠคํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. ์Šคํ…Œํผ๊ฐ€ ์›€์ง์ผ ๋•Œ ๋‚ด ์„œ๋ณด๊ฐ€ ํ”๋“ค๋ ค์„œ servo_angle์„ ์„ค์ • ํ•œ ํ›„ SERVO_DELAY (์ˆ˜๋ฐฑ ms) ์ผ์‹œ ์ค‘์ง€๋ฅผ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์— ๋น„ํ•ด ์ง€๊ธˆ ์ œ๊ฐ€ ์ œ์•ˆํ•˜๋Š” ํ›จ์”ฌ ์งง์€ ์ง€์—ฐ์€ ์„ฑ๋Šฅ๋ฉด์—์„œ ์Šน๋ฆฌ์ž…๋‹ˆ๋‹ค.

BL-Touch ์ฝ”๋“œ๊ฐ€ ์„œ๋ณด์™€ ์Šคํ…Œํผ๋ฅผ ๋™์‹œ์— ์›€์ง์ด๋ ค๊ณ ํ•˜๋ฉด ๊ณต์ฒ˜๋Ÿผ ๋Š๊ปด์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

BL-Touches๊ฐ€ ์ง€์†์ ์œผ๋กœ ์„œ๋ณด ์‹ ํ˜ธ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ๋ฅผ ์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— DEACTIVATE_SERVOS_AFTER_MOVE ๋Š” ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ธํ„ฐ๋ŸฝํŠธ ๊ตฌ๋™ ์„œ๋ณด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๊ฒฝ์šฐ ์ง€์—ฐ๋œ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ์น˜๋ช…์ ์ด๋˜์–ด ์„œ๋ณด ์‹ ํ˜ธ๋ฅผ ๋ง์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜๋“œ์›จ์–ด ๊ตฌ๋™ PWM์€ ๋‚ด์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณดํ†ต ์šฐ๋ฆฌ๋Š” ํ•˜๋‚˜์˜ ์„œ๋ณด ๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ผ์‹œ ์ •์ง€๊ฐ€์—†๋Š” set_servo(0); set_servo(180); set_servo(0); ๋Š” ์‹ค์ œ ์„œ ๋ณด๋‚˜ BL- ํ„ฐ์น˜์—์„œ ์ „ํ˜€ ๋ฐ˜์‘์„ ์ผ์œผํ‚ค์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๋‹ค.

์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ๋‚ด ์ƒ๊ฐ์€ ํ•˜๋“œ์›จ์–ด PWM์— ์ดˆ์ ์„ ๋งž์ถ”๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ๋กœ์„œ๋Š” ํƒ€์ด๋จธ ๋น„๊ต ๋ ˆ์ง€์Šคํ„ฐ๊ฐ€ ๊ฐ€๋”์”ฉ ์—…๋ฐ์ดํŠธ๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ๋‚ด ์ƒ๊ฐ์€ ํ•˜๋“œ์›จ์–ด PWM์— ์ดˆ์ ์„ ๋งž์ถ”๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ๋กœ์„œ๋Š” ํƒ€์ด๋จธ ๋น„๊ต ๋ ˆ์ง€์Šคํ„ฐ๊ฐ€ ๊ฐ€๋”์”ฉ ์—…๋ฐ์ดํŠธ๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” ํ•˜๋“œ์›จ์–ด PWM๊ณผ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ท€ํ•˜๊ฐ€ ๋งํ•œ ๋ชจ๋“  ๊ฒƒ์— ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ์—„์ฒญ๋‚œ ์–‘์˜ ์—…๋ฐ์ดํŠธ๋ฅผ ์ˆ˜ํ–‰ ํ•  ๋•Œ๋„ ํ•˜๋“œ์›จ์–ด๊ฐ€ ์•ˆ์ •์ ์œผ๋กœ ์ž‘๋™ํ•˜๋„๋ก ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•๊ณผ ๊ฐ™์ด ํ”„๋ ˆ์ž„ ์›Œํฌ ์ˆ˜์ค€์—์„œ ๋ฌธ์ œ๋ฅผ ์ƒ๊ฐํ•˜๊ณ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค (Marlin ) ๊ฐ™์€ ๊ธฐ๊ฐ„์—. ํด๋ผ์ด์–ธํŠธ๋Š” ์ฒซ ๋ฒˆ์งธ ์—…๋ฐ์ดํŠธ๊ฐ€ ์•„๋‹Œ ๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ๊ฐ€ ์ ์šฉ๋  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•˜๋ฉฐ ๊ธฐ๊ฐ„์ด ๋๋‚˜๊ธฐ ์ „์— ํ›„์† ์—…๋ฐ์ดํŠธ๊ฐ€ ์—†์„ ๊ฒƒ์ž„์„ ์•Œ ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ƒˆ๋กœ์šด ํ•ด๊ฒฐ์ฑ…์ด ๋– ์˜ค๋ฅด๋Š” ์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๋ฌธ์ œ๋ฅผ ๋‹ค์‹œ ์‚ดํŽด ๋ด์•ผํ•˜๊ณ , ๊ทธ ์ง„๋‹จ์ด ์‹ค์ œ๋กœ ์˜ณ๊ณ  ๋‚˜๋Š” ๋‹จ์ง€ ์–ด๋ฆฌ์„์€ ๊ฒƒ์ด ์•„๋‹ˆ์—ˆ๋‹ค.

๋‚˜๋Š” ์‹œ๋„ ํ•  ๊ฒƒ์ด๋‹ค
์งง์€ ์ง€์† ์œ„์น˜๋ฅผ ์ƒ๋žต ํ•  ์ˆ˜์žˆ๋Š” ๊ฒฝ์šฐ :

servo_update(angle) only updates a volatile variable lets say inter_angle.

an interrupt, either overflow or compare could be:
{  
  static uint32_t counter = 0;
  static uint16_t last_inter_angle = 0;
  if (counter++ > 3) { // if counter should overflow there is a small risk of delaying another 3*20 ms. Every ~55min if 16 bit.
    if (inter_angle != last_inter_angle) { // if counter above 3 the update will be immediate when inter_angle changed.
      update_shadow_compare_register(inter_angle);
      counter = 0;
      last_inter_angle = inter_angle;
    }
  }
}

์•ฝ 20ms๋งˆ๋‹ค ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
์ตœ์†Œ 3 * 20ms ๋™์•ˆ ์ถœ๋ ฅ ํŽ„์Šค ๊ธธ์ด๋ฅผ ์ผ์ •ํ•˜๊ฒŒ ์œ ์ง€ ํ•œ ๋‹ค์Œ ์ตœ์‹  ๋ช…๋ น ๋œ ๊ฐ๋„ ๋งŒ ์ž…๋ ฅํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‹ค์Œ์— ์–ด๋–ค ๊ฐ๋„๊ฐ€ ์˜ฌ์ง€ ๋˜๋Š” ์—…๋ฐ์ดํŠธ๊ฐ€ ์ „ํ˜€ ๋’ค๋”ฐ๋ฅผ ์ง€ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ๊ฒƒ์€ ์‹œ์ž‘ํ•ด์•ผ ํ•  ๋•Œ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์†ก์‹  ํŽ„์Šค๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ๊ณ  ์„€๋„์šฐ ๋ ˆ์ง€์Šคํ„ฐ๊ฐ€ ์ž์ฃผ ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์Œ์„ ๋ณด์ฆํ•ฉ๋‹ˆ๋‹ค.

์ ์–ด๋„ ๊ทธ ์‹œ๊ฐ„ ๋™์•ˆ ๋ชจ๋“  ์—…๋ฐ์ดํŠธ๊ฐ€ ์ˆ˜ํ–‰๋˜๋„๋ก ๋ณด์žฅํ•˜๋ ค๋ฉด ํœ˜๋ฐœ์„ฑ ๋ณ€์ˆ˜๋ฅผ ๋Œ€๊ธฐ์—ด๋กœ ๊ต์ฒดํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

RC ๋น„ํ–‰์—์„œ๋Š” ์ค‘๊ฐ„ ์œ„์น˜๊ฐ€ ์ƒ๋žต ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. BL-Touch์˜ ๊ฒฝ์šฐ ๋ณด๊ด€, ๋ฐฐ์น˜, ์žฌ์„ค์ •, ๋ณ€๊ฒฝ _ ๋ชจ๋“œ ๋“ฑ์ด ๋ชจ๋‘ ๋˜‘๊ฐ™์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ƒ๋žต ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋ชจ๋“  ๋ช…๋ น์€ ์ธ์‹ ํ•  ์ˆ˜์žˆ์„๋งŒํผ ์˜ค๋ž˜ ์œ ์ง€๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๋ฒ”์šฉ ์„œ๋ณด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•œ ๋ฒ”์šฉ ์†”๋ฃจ์…˜์€ ์—†์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ BL-Touch์˜ ๊ฒฝ์šฐ ๋ชจ๋“  ๋ช…๋ น์ด ์Šคํ…Œํผ ์ด๋™๊ณผ ๋™๊ธฐํ™”๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ๋ธŒ๋ฅผ ์œ„ํ•ด ๋‚ด๋ ค๊ฐ€๋Š” ๋™์•ˆ ํ”„๋กœ๋ธŒ๋ฅผ ํ›„ํ‡ดํ•˜๋Š” ๊ฒƒ์€ ์ƒ๋žตํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. :-)
๊ทธ๋ž˜์„œ ๋‚ด ๊ด€์ ์—์„œ Marlin์€ ๊ฐ๋„๋ฅผ ์ž์ฃผ ์—…๋ฐ์ดํŠธํ•˜์ง€ ์•Š์„ ์ฑ…์ž„์ด ์žˆ์Šต๋‹ˆ๋‹ค.


ํŽธ์ง‘ํ•˜๋‹ค:
๋น„๊ต ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ์„€๋„์šฐ ๋น„๊ต ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ฐ ์ ํ•ฉํ•œ ๊ฒƒ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ธํ„ฐ๋ŸฝํŠธ๋Š” ๋” ๋†’์€ ์šฐ์„  ์ˆœ์œ„์˜ ์ธํ„ฐ๋ŸฝํŠธ์— ์˜ํ•ด ์•ฝ 17ms ์ง€์—ฐ ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์˜ค๋ฒ„ํ”Œ๋กœ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ๋น„๊ต ๋ ˆ์ง€์Šคํ„ฐ์— ๋Œ€ํ•œ ๋ณต์‚ฌ๋ฅผ ์œ„ํ•ด ์—…๋ฐ์ดํŠธ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์ค€๋น„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์นด์šดํ„ฐ๊ฐ€ 3 ์ด์ƒ์ด๋ฉด ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์ค‘์ง€ ํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. inter_angle์ด ์—…๋ฐ์ดํŠธ๋˜๋ฉด ๋‹ค์‹œ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

SKR mini 1.1์—์„œ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‚ด๊ฐ€ ์–ด๋–ค ์œ„์น˜์— ๋‘๋“  ์„œ๋ณด๋Š” ํ•ญ์ƒ ๊ฐ™์€ ์ง€์ ์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

https://www.youtube.com/watch?v=HVyaKdpJsP0

1
2

@Matheusschmitz the SKR mini๋Š” ๋‹ค๋ฅธ ํ”Œ๋žซํผ์„ ์‚ฌ์šฉ

๊ทธ๋ž˜๋„ ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉด Discord์™€ ๊ฐ™์€ ์ง€์› ์žฅ์†Œ ์ค‘ ํ•œ๊ณณ์—์„œ์ƒ์˜ํ•˜์‹ญ์‹œ์˜ค. ์ด ํŠน์ • ๋ฌธ์ œ๋Š” LPC176x ๋ณด๋“œ์— ๊ณ„์† ์ดˆ์ ์„ ๋งž์ถฐ์•ผํ•ฉ๋‹ˆ๋‹ค.

SKR1.3 ๋ฐ BLTouch ํด๋ก ์—์„œ๋„์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
์ €๋Š” 1:54 ๋งˆํฌ ๋ถ€๊ทผ์— ๋น„๋””์˜ค๋กœ ์บก์ฒ˜ํ–ˆ์Šต๋‹ˆ๋‹ค.
https://www.youtube.com/watch?v=wF0Mia49ECI&t=114s
(๋™์˜์ƒ์€ 1080p YouTube์—์„œ ์ฒ˜๋ฆฌํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค)

๋‹ค์Œ์€ UBL ์ค‘์— ๋ฐœ์ƒํ•˜๋Š” ์ผ์„ ๋ณด์—ฌ์ฃผ๋Š” ์ด๋ฏธ์ง€์ž…๋‹ˆ๋‹ค.
more points

๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋„์›€์ด ๋  ์ˆ˜์žˆ๋Š” ๋‹ค์–‘ํ•œ ์„ค์ •์„ ์‹œ๋„ํ–ˆ์ง€๋งŒ ๋„์›€์ด๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
๋‚˜๋Š” ์ตœ์‹  bugfix-2.0.x ๋ธŒ๋žœ์น˜์— ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚ด ์ชฝ์—์„œ๋„ ๊ฐ™์€ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•๋„ ํ…Œ์ŠคํŠธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” ์ง€๋‚œ 30 ์ผ ๋™์•ˆ ํ™œ๋™์ด ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ™œ์„ฑ ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๋ ค๋ฉด ๋‹ต์žฅ์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด 7 ์ผ ์ด๋‚ด์— ์ž๋™์œผ๋กœ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ด๊ฒƒ์ด ์˜๊ตฌ์  ์ธ ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์„ ์ˆ˜์žˆ์„ ๋•Œ๊นŒ์ง€ ์—ด๋ ค์žˆ๋Š” ๊ฐ€์น˜๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๊ทธ ๊ฐ์ •์— ๋™์˜ํ•ฉ๋‹ˆ๋‹ค

์ด ๋ฌธ์ œ๋Š” ์ง€๋‚œ 30 ์ผ ๋™์•ˆ ํ™œ๋™์ด ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ™œ์„ฑ ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๋ ค๋ฉด ๋‹ต์žฅ์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด 7 ์ผ ์ด๋‚ด์— ์ž๋™์œผ๋กœ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” ๊ณ„์† ์—ด๋ ค ์žˆ์–ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
5 / 5 - 1 ๋“ฑ๊ธ‰