본문 바로가기
3D프린팅

[3D프린터] Gcode와 호스트 소프트웨어에 대해 알아보기

by YJHTPII 2022. 5. 23.
반응형

https://m.post.naver.com/viewer/postView.naver?volumeNo=17165532&memberNo=25379965 

 

[3D프린터] Gcode와 호스트 소프트웨어에 대해 알아보기

[BY 한빛미디어] 모든 전자제품이 다 그렇듯이, 3D 프린터 역시 그에 맞는 제어 소프트웨어를 사용해야 ...

m.post.naver.com

 

 

 

모든 전자제품이 다 그렇듯이, 3D 프린터 역시 그에 맞는 제어 소프트웨어를 사용해야 비로소 올바르게 작동이 됩니다.

3D 프린터를 제어하기 위한 PC 유틸리티를 프론트엔드(Frontend) 또는 호스트 소프트 웨어(Host software)라고 하는데요. 호스트 소프트웨어는 3D 프린터를 작동시키기 위한 명령어의 집합인 Gcode를 전송하여 3D 프린터를 작동시키는 역할을 합니다. 이를테면 모터를 구동시키거나, 핫엔드를 가열하고, 헤드의 이동 속도를 조절하는 등 3D 프린터의 작동에 필요한 모든 명령은 Gcode를 통해 입력됩니다.

호스트 소프트웨어

호스트 소프트웨어의 사용법을 살펴보기에 앞서, 주로 사용되는 몇 가지 호스트 소프트 웨어에 대해 살펴보려고 합니다.

먼저 프린트런(Printrun)은 Gcode 전송과 프린터 조작을 주 기능으로 하는 도구 패키지입니다. 프린트런의 인터페이스를 시각화한 프론터페이스(Pronterface)는 3D 프린터의 주요 기능을 작동시키고 모니터링할 수 있는 유용한 도구죠.

Repetier-Host도 많이 사용하는 소프트웨어입니다. 이 프로그램은 강력한 기능을 제공하는 호스트 소프트웨어로서 프린터를 다양하게 조작할 뿐만 아니라 Cura, Slic3r 등의 외부 슬 라이서 엔진을 사용해 Gcode를 생성하고 출력하는 기능을 갖추고 있습니다.

이번에는 가장 널리 사용되는 프론터페이스를 통해 프린터와 컴퓨터를 연결하고 조작하는 방법을 간단히 살펴보겠습니다. 아래 그림을 참조해 주세요.

프린트런을 실행한 화면


A. 통신설정
3D 프린터를 컴퓨터와 USB로 연결한 다음 가장 먼저 할 일은 통신 포트(Port)와 통신 속도(Baudrate)를 설정하는 것입니다. [제어판] → [장치관리자] → [포트]에서 현재 프린터의 제어 보드가 연결되어 있는 COM 포트의 번호를 확인 할 수 있습니다. 통신 속도는 펌웨어에 지정된 값과 같아야 하고(기본값은 250000이다), 두 가지 항목을 모두 맞게 설정한 뒤 <Connect> 버튼을 누르면 연결이 완료됩니다!

B. 이송 제어
이 영역은 프린터 각 축의 이송대를 자유롭게 이송시킬 수 있는 콘솔입니다. 각 축을 0.1, 1, 10, 100mm 단위로 움직여 볼 수 있는데요. 움직이기 전에는 먼저 제어 콘솔의 네 꼭지점에 있는 집이 그려진 <Autohoming> 버튼을 눌러 호밍을 해야 합니다.

C. 온도 제어
핫엔드와 히팅 베드의 온도를 조절할 수 있습니다. 온도 설정 후 <Set> 버튼 을 누르면 목표 온도가 지정되어 가열이 시작되고, 반대로 <Off>를 누르면 가열을 중지할 수 있습니다.

D. 익스트루더 제어
익스트루더의 압출 길이와 속도를 조절할 수 있습니다. 물론, 노즐이 가열되어 있어야 압출이 시작됩니다.

E. 온도 그래프
노즐 및 히팅 베드의 목표 온도, 현재 온도를 확인할 수 있는 그래프입니다. 클릭하여 확대해 볼 수 있습니다.

F. 현재 출력 레이어 단면
Gcode 파일을 업로드한 다음 출력 중일 경우, 현재 출력 레이어의 단면과 경로를 보여주는 창이입니다. 완전한 세팅이 끝난 뒤에는 프론터페이스를 실행할 필요가 없으므로 자주 볼 일은 없습니다. ^^;

G. 통신 창
현재 프린터에서 내보내는 메시지를 확인하거나 Gcode 명령을 하단의 창에 입력하여 전송할 수 있습니다.


먼저 USB-B 타입 케이블을 이용해 3D 프린터의 아두이노 메가 보드와 연결합니다. 통신 설정 부분의 <Port> 버튼을 눌러 아두이노를 검색하고, 우측의 리스트를 펼쳐 올바른 COM 포트를 선택한 다음, <Connect> 버튼을 누르면 3D 프린터와 연결됩니다. 올바르게 펌웨어가 업로드된 상태의 프린터와 연결되면 통신 창에 “Connecting…. Printer is now online” 이라는 메시지와 함께 현재 프린터 상태가 출력됩니다. Gcode 명령을 프린터에 전송하려면 통신 창 하단에 Gcode를 입력하고 키보드의 [Enter] 키를 누르거나 <Send> 버튼을 클릭하면 됩니다.


Gcode 다루기

물론 대부분의 호스트 소프트웨어에서 기본적인 기능 콘솔로 시각화되어 있으므로 프린터를 조작할 때 Gcode를 하나하나 입력할 필요는 없습니다. 다만, 그중에서도 자주 쓰이는 Gcode 몇 가지를 미리 익혀 두면 3D 프린터를 좀 더 능숙하게 다룰 수 있겠지요?

위 표는 주로 쓰이는 Gcode를 정리한 것이다. 각 코드의 nnn에는 입력하고자 하는 숫자를 대입하면 됩니다. 단 좌표와 같은 값에는 소수를 포함해도 되지만, 대부분의 값은 정수로 입력하는 것이 좋습니다.

이외에 더 많은 Gcode에 대한 설명을 원한다면 렙랩 위키를 참조해 주세요. 아래는 이에 대한 예시를 정리한 것입니다.


G1, G1 Xnnn Ynnn Znnn Ennn Fnnn
입력 좌표로 F의 속도로 E만큼 압출하면서 이동합니다. X, Y, Z의 세 축 전부가 아닌 한 축만 입력하면 그 축만 움직입니다. E는 입력하지 않으면 압출 없이 움직이고, F는 입력하지 않으면 Marlin 설정 기본 속도로 움직입니다.

G4, G4 Pnnn
입력 시간만큼 대기합니다. 단위는 ms(밀리초)이며, Marlin의 경우 P를 S로 바꾸면 초 단위로 대기가 가능합니다.

G28
호밍을 시작합니다.

G92, G92 Xnnn Ynnn Znnn Ennn
현재 좌표를 입력한 좌표로 인식합니다.

M17/M18
각각 모든 스텝 모터의 전원을 On/Off하는 명령어 입니다.

M104, M104 Snnn
핫엔드의 온도를 설정합니다.

M105
현재 핫엔드의 온도를 통신 창에 출력합니다.

M106, M106 Snnn
쿨링 팬을 작동합니다. 0~255 사이 값을 입력하여 세기를 조절할 수 있습니다.

M107
쿨링 팬의 작동을 멈춥니다.

M112
현재 진행 중인 모든 명령을 중지하며 긴급 정지합니다. RAMPS의 Reset 버튼을 눌러야 다시 작동을 시작합니다.

M114
현재 헤드의 좌표를 통신창에 출력합니다.

M140, M140 Snnn
히팅 베드의 온도를 설정합니다.

 
반응형

댓글