OctoPrint - 필라멘트 쉽게 바꾸기

필라멘트를 하나둘씩 하다보니 벌써 7개나 가지게 되었습니다. 가끔 딸아이 장난감도 뽑고 하다보니, 색을 맞추기 위해 필라멘트를 바꾸곤 합니다. 그때마다 노즐 온도 올리고, 필라멘트 뽑고 다시 넣고 하는 과정이 귀찮더라구요.

이번 포스트에서는 아주 조금 더 덜 귀찮게 필라멘트를 교체하는 방법을 소개하고자 합니다.

OctoPrint > 설정 > Plugin Manager > Get More... 에서 Custom Control Editor를 설치합니다.

Custom Control Editor는 OctoPrint 메인화면 > Control 페이지에 프린터를 제어할 수 있는 버튼을 추가할 수 있는 플러그인입니다. 빨간 사각형이 해당 플러그인으로 추가한 버튼입니다.


OctoPrint를 재시작합니다.

위 플러그인을 설치하고 실행을 하려면 반드시 OctoPrint 기능을 재시작해야 합니다. 재시작 방법은 설치방법마다 다르기 때문에 여기서 다루진 않겠습니다. 제 경우에는 그냥 라즈베리파이를 껏다가 다시 켰습니다.

컨트롤을 추가합니다.

OctoPrint의 설정창에 가면 PLUGINS 밑에 Custom Control Editor를 누릅니다.


그러면 저런 녹색 사각형에 있는데, 우클릭해서 "Create Container"를 누룹니다.
Name에는 원하시는 것을 써주시고, 저는 버튼을 가로로 배치하기 위해 Layout을 Horizontal로 했습니다. "Make Collapsed"를 체크하시면 Control 화면에 들어갔을 때 버튼들이 바로 보이지 않고 제목을 눌러야 표시됩니다.


만들어진 Container에서 우클릭을 해, Create Command > Command를 선택합니다. 여기서 버튼을 추가하는 겁니다.



그렇게 뜬 창에서 버튼에 들어갈 속성을 입력합니다. Name은 버튼에 표시될 이름을 적습니다. Commands는 버튼을 눌렀을 때 프린터에 보낼 명령을 입력합니다. 내용은 아래와 같습니다.
M104 S195
M109 S195
M117 Filament Out!

G91
G1 E-200 F1500
G1 E-200 F1500
G1 E-50 F1500
G90

G4 P0

M300 S2500 P500
M300 S2000 P500
3D 프린터는 G-Code라고 불리는 것으로 제어됩니다. 이는 원래 CNC 머신을 제어하기 위한 용도였다고 합니다. 근데 그 구조가 비슷해 3D 프린터에서도 사용하고 있습니다. 그래서 3D 프린터의 노즐 부분을 스핀들모터로 변경해서 CNC로 만드는 프로젝트들도 있습니다.

여기서 사용한 코드에 대한 정보는 RepRap Wiki에서 보실 수 있습니다.

그래도 간략하게 소개하겠습니다.
  • M104: 노즐 온도 설정
  • M109: 노즐 및 베드 온도가 목표치에 달성될 때까지 대기
  • M117: 프린터 LCD에 메시지 출력
  • G91: 다음에 나오는 위치를 상대좌표로 인식
  • G90: 다음에 나오는 위치를 절대좌표로 인식
  • G1: 지정된 위치만큼 이동(E는 익스트루더, F는 속도. 단위는 mm/min)
  • G4: 버퍼링된 커맨드가 모두 완료될 때 까지 대기
  • M300: 비프음 출력(삐~ 하는 기계음. S는 주파수, P는 길이)
저 위의 코드는 
노즐 온도를 195도까지 올리고, 필라멘트를 450mm 뒤로 이동시켜라. 완료가 되면 소리로 알려줘.
란 뜻입니다. G1 코드를 3개로 나눈 이유는 한번에 너무 긴 길이를 이동시키면 명령을 받아드리지 않아서 나누었습니다. 저부분의 길이는 보우덴의 길이를 확인하셔서 수정하시기 바랍니다. 



다음은 새 필라멘트를 넣는 부분입니다. 손으로 밀어넣으실 분들은 사실 필요없습니다.

빼는 것과 마찬가지로 새 Command를 생성하시고 Name은 마음대로, 코드는 아래와 같이 입력합니다.
M117 Filament In!
G91
G1 E200 F1500
G1 E200 F1500
G1 E90 F300
G90

G4 P0

M300 S2000 P500
M300 S2000 P500

M104 S0
G92 E0

M117 Filament Change Done!
여기에 들어간 G-Code는 대부분 위와 비슷합니다.
  • G92: 현재 위치를 지정한 위치로 인식
해석하자면 다음과 같습니다.
필라멘트를 490mm 이동하고 다 끝나면 소리를 내라. 그리고 현재 필라멘트의 위치를 0으로 설정해라. 
이렇게까지 하시고 Save를 누르면, Control 창에서 아래와 같이 나타날 것입니다.



저는 필라멘트를 교체해야 하는 상황이 되면 아래와 같이 합니다.

1. Old Out을 누른다.
2. 삐~ 소리가 나면 새 필라멘트를 보우덴입구까지 끼운다.
3. New In을 누른다.

사실 노즐 온도 올라가기를 기다리는게 귀찮아서, 눌러놓고 화장실 다녀왔다 물 한잔 마시고 오면 필라멘트가 빠져있어서 사용하는 방법입니다.

댓글

  1. CNC GCODE는 어떻게 사용하나요?

    답글삭제
    답글
    1. 제가 게으른 탓에 댓글을 늦게 봤네요. 죄송합니다.
      아직 저도 3D 프린터만 다뤄봐서 CNC에서 사용하는 GCode에 대해서는 잘 모르겠습니다. 다만, 3D 프린터에서 GCode를 어떻게 사용하는지를 물으신다면 저는 터미널창을 이용합니다.
      3D 프린터가 대기상태일 때, Terminal창에서 GCode를 입력하시면 그에 따라 모터가 움직이시는걸 보실 수 있습니다.
      다만 이때, 코드를 잘못 입력하셔서 모터가 갈 수 있는 범위를 넘어서는 경우 기기에 손상이 갈 수 있습니다.

      삭제

댓글 쓰기

이 블로그의 인기 게시물

템플러 무선충전기 LED 제거기

CR-10 업그레이드 하기