์ต๊ทผ์ 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์์ ์์ ํด์ผํฉ๋๋ค. ๋ํ์ด ๋ฌธ์ ๊ฐ ๋ค๋ฅธ ์ปจํธ๋กค๋ฌ์์๋ ๋ฐ์ํ ์ ์๋์ง ํ์ธํด์ผํฉ๋๋ค.
์์๋๋ ๋์ : [
ํ์ค ํญ์ด 1472ยตs ์ธ ์ ํธ์์ 647ยตs๋ก ๊น๋ํ ์ ํ.
์ค์ ํ๋ : [์ค์ ๋ก ์ผ์ด๋๋ ์ผ]
๋ช
๋ น ํ ์ฒซ ๋ฒ์งธ ์ฌ์ดํด์์ 20ms ์ด์์ ํ์ค ํญ์ ๋ณผ ์ ์์ต๋๋ค.
๋์ "M280 P0 S180"๋ฐ "M280 P0 S0"์ ์ฌ์ฉํ๋ฉด ๋ ๋ง์ด ๋ณผ ์ ์์ต๋๋ค. (๋ ํฐ ์ฐจ์ด-> ๋ฌธ์ ์ ๋ํ ๋ ํฐ ์ฐฝ)
์ ํ 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๊ฐ ์ ๊ณต ํ ๋ฌธ์ ๋ฅผ ์ค๋ช ํ๋ ์ธ๋ถ ์์ค๊ณผ ํ์ค๊ฐ ๋ฌธ์ ์ ๊ทผ๋ณธ ์์ธ์์ ์ ์ฆํ๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ํด ์ ๋ง ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
์ฃ์กํฉ๋๋ค. ์ค์ฝํ ์คํฌ๋ฆฐ ์ท์ ์ฆ์ ์ ๊ณตํ์ง ์์์ต๋๋ค. ๋ด๊ฐ ๋ช ๊ฐ์ง๋ฅผ ๋ง๋ค์์ง ๋ง ๋ญ๊ฐ ์๋ชป๋์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋๋ ์ค์ฝํ๋ฅผ ๋๋ ค ์ค ๋๊น์ง ๊นจ๋ซ์ง ๋ชปํ์ต๋๋ค (๋ด ๊ฒ์ด ์๋๋๋ค).
๊ทธ๋ฌ๋ ์ด์ ๋๋ ์๋ก์ด ๊ฒ์ ๋ง๋ค์์ต๋๋ค.
๊ทธ๋ฆผ์์ 1472ยตs์์ 544ยต ๋ก์ ์ ํ์ ๋ณผ ์ ์์ง๋ง
ํ์ค๋ 20544ยตs์ ๋๋ค.
๋ํ ์ค์ ์๋ณด๋ฅผ ์ฌ์ฉํด ๋ณด์๊ณ ์ฌ๊ธฐ ์์ด ๋ฌธ์ ๊ฐ 3dtouch ๋๋ ๋ค๋ฅธ ๋ณต์ ํ์๋ง ๊ตญํ๋์ง ์๋๋ค๋ ์ฆ๊ฑฐ๊ฐ ์์ต๋๋ค.
์๋ณด๋ 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 ๊ฐ์ ํ๋ก๋ธ ๋ฐ๋ณต์ฑ ํ
์คํธ๋ฅผ ๋ ๋ฒ ์ํํ์ต๋๋ค.
ํด๋ก 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
@Matheusschmitz the SKR mini๋ ๋ค๋ฅธ ํ๋ซํผ์ ์ฌ์ฉ
๊ทธ๋๋ ๋ฌธ์ ๊ฐ ์์ผ๋ฉด Discord์ ๊ฐ์ ์ง์ ์ฅ์ ์ค ํ๊ณณ์์์์ํ์ญ์์ค. ์ด ํน์ ๋ฌธ์ ๋ LPC176x ๋ณด๋์ ๊ณ์ ์ด์ ์ ๋ง์ถฐ์ผํฉ๋๋ค.
SKR1.3 ๋ฐ BLTouch ํด๋ก ์์๋์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ ๋ 1:54 ๋งํฌ ๋ถ๊ทผ์ ๋น๋์ค๋ก ์บก์ฒํ์ต๋๋ค.
https://www.youtube.com/watch?v=wF0Mia49ECI&t=114s
(๋์์์ 1080p YouTube์์ ์ฒ๋ฆฌํด์ผํฉ๋๋ค)
๋ค์์ UBL ์ค์ ๋ฐ์ํ๋ ์ผ์ ๋ณด์ฌ์ฃผ๋ ์ด๋ฏธ์ง์
๋๋ค.
๋ค๋ฅธ ์ฌ๋๋ค๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋์์ด ๋ ์์๋ ๋ค์ํ ์ค์ ์ ์๋ํ์ง๋ง ๋์์ด๋์ง ์์์ต๋๋ค.
๋๋ ์ต์ bugfix-2.0.x ๋ธ๋์น์ ์์ต๋๋ค.
๋ด ์ชฝ์์๋ ๊ฐ์ ๋ฌธ์ ์
๋๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ๋ ํ
์คํธํ๊ฒ ์ต๋๋ค.
์ด ๋ฌธ์ ๋ ์ง๋ 30 ์ผ ๋์ ํ๋์ด ์์์ต๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํ์ฑ ์ํ๋ก ์ ์งํ๋ ค๋ฉด ๋ต์ฅ์ ์ถ๊ฐํ์ธ์. ๊ทธ๋ ์ง ์์ผ๋ฉด 7 ์ผ ์ด๋ด์ ์๋์ผ๋ก ์ข ๋ฃ๋ฉ๋๋ค.
๋๋ ์ด๊ฒ์ด ์๊ตฌ์ ์ธ ํด๊ฒฐ์ฑ ์ ์ฐพ์ ์์์ ๋๊น์ง ์ด๋ ค์๋ ๊ฐ์น๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
๊ทธ ๊ฐ์ ์ ๋์ํฉ๋๋ค
์ด ๋ฌธ์ ๋ ์ง๋ 30 ์ผ ๋์ ํ๋์ด ์์์ต๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํ์ฑ ์ํ๋ก ์ ์งํ๋ ค๋ฉด ๋ต์ฅ์ ์ถ๊ฐํ์ธ์. ๊ทธ๋ ์ง ์์ผ๋ฉด 7 ์ผ ์ด๋ด์ ์๋์ผ๋ก ์ข ๋ฃ๋ฉ๋๋ค.
์ด ๋ฌธ์ ๋ ๊ณ์ ์ด๋ ค ์์ด์ผํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด๊ฒ์ ํ๋ก๋ธ ํ๋์จ์ด์ ์ฑ ์์ด ์๋๋๋ค. ๋ณด๋์์ ์์ฑ๋๋ ์ ํธ๊ฐ ์ฌ๋ฐ๋ฅด์ง ์์ผ๋ฉฐ ์ค์ค๋ก์ค์ฝํ๋ฅผ ์ฌ์ฉํ์ฌ ํ์ธ๋์์ต๋๋ค. ๊ทธ๊ฒ์ ์์ ๋์ด์ผํฉ๋๋ค.
๋ํ SKR Mini E3 ๋ณด๋์์ ์ ์ฌํ ๋ฌธ์ ๋ฅผ ์ผ์ผํค๋ ๋ชจ๋ ํ์ด๋จธ ์ถฉ๋์ ๋๋ฒ๊น ํ ๋๋ณด๊ณ ๋ ๋์์ด ์ ํ BLTouch ํ๋์จ์ด์ ๋งค์ฐ ์ ์ฌํ๋ค๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค. ์๋ชป๋ ํ์ค ๊ธธ์ด๋ก ์ธํด BLTouch๋ ๋จ์ํ ์์ ์ดํ๊ณ ์๋ ์ผ์ ์์ด ๋ฒ๋ฆฌ๊ณ ์ค๋ฅ๋ฅผ ์ผ์ผ์ผฐ์ต๋๋ค.
@mlehnhoff , ๋ฌธ์ ๋ฅผ ๋ณด์ฌ์ฃผ๋ ์ค์ค๋ก์ค์ฝํ์์์ด ๋ฌธ์ ์ ์ฒจ๋ถ ํ ์์๋ ์ด๋ฏธ์ง๋ฅผ ์บก์ฒ ํ์ต๋๊น?
ํ์ฌ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ ํ ์๋ฃจ์ ์ผ๋ก ๋ง์์ ๋ค์ง ์๋๋ค๊ณ ์๊ฐํ์ง๋ง mlehnhoff๊ฐ ์ ๊ณต ํ ๋ฌธ์ ๋ฅผ ์ค๋ช ํ๋ ์ธ๋ถ ์์ค๊ณผ ํ์ค๊ฐ ๋ฌธ์ ์ ๊ทผ๋ณธ ์์ธ์์ ์ ์ฆํ๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ํด ์ ๋ง ๊ฐ์ฌ๋๋ฆฝ๋๋ค.