3D프린터와 아두이노/3D프린터

3D프린터 데이터 준비

메카럽 2020. 7. 16. 09:24

데이터 업로드 방법

데이터 전송 방식

데이터 전송 방식으로 컴퓨터가 직접 3D프린터에 연결되어 있는 경우가 있고, 이동식 저장소(SD카드, USB등)와 같은 보조 장치에 저장하여 직접 3D프린터에 데이터를 연결하는 방법이 있습니다. 대부분의 설계 프로그램들은 STL파일을 제공하므로 출력하고자 하는 파일을 STL파일 형식으로 저장하고 3D프린터 회사마다 지원하는 3D프린터 파일로 변환하는 프로그램들이 있어 각 프로그램에서 STL파일을 실행하고 3D프린터에 맞게 설정하면 3D프린터로 출력이 가능합니다.

 

3D프린터용 파일변환

3D프린팅은 CAD 시스템에서 모델링된 3차원 형상을 2차원 단면으로 분해, 적층하여 다시 3차원 형상을 얻게 되므로 3차원 제품 제작을 위해서는 슬라이싱에 의한 2차원 단면 데이터가 필요합니다. 데이터 생성 시에 페루프끼리 교차하지 않아야 하며 층 두께 사이에 평평한 면에 대한 보정이 함께 이뤄져야 하며 가변적인 층 두께에 의해 슬라이싱할 경우 두께에 따라 공정 인자가 달라져야 하기 때문에 대부분 고정된 두께로 슬라이싱 됩니다. 대부분의 3D프린터 프로그램에서는 STL형식으로 저장한 파일의 출력 모습을 슬라이싱 형태로 보여줍니다.

 

 

G코드 파일 업로드

G코드의 사용

G코드는 기계를 제어 구동시키는 명령 언어로 1950년대에 개발, 1960대 후반에 미국 전자산업협회에서 최초로 표준화한 공작기계제어용 코드 입니다. 표준화 이후 전 시계 CNC관련 기업들이 독립적으로 G코드를 자체 장비에 맞게 수정해가며 사용하고 있으며 3D프린터 제작사들은 회사 장비에만 적용되는 CAM파일을 사용하고, 해당 파일 구조를 공개하는 곳은 드물며 대부분 가공 파일은 NC가공 기계에서 사용하는 G코드와 유사하여 일부 G코드로 출력되는 경우도 있습니다.

 

G코드와 M코드의 종류

종 류 의 미
Gnnn 어떤 점으로 이동하라는 것과 같은 표준 G code명령
Mnnn RepRap에 의해 정의된 명령
Tnnn 도구 nnn선택
Snnn 파라미터 명령
Pnnn 파라미터 명령 / 밀리초 동안의 시간
Xnnn 이동을 위해 사용하는 X좌표
Ynnn 이동을 위해 사용하는 Y좌표
Znnn 이동을 위해 사용하는 Z좌표
Fnnn 1분당 Feedrate
Rnnn 파라미터
Ennn 압출형의 길이 mm
Nnnn 선 번호 / 통신 오류 시 재 전송 요청을 위해 사용
*nnn 체크섬 / 통신 오류를 체크하는데 사용

※ 종류의 'nnn'은 숫자

 

G코드

제어 장치의 기능을 동작하기 위한 준비를 함으로써 준비 기능이라 불립니다. 1회 유효지령과 연속 유효지령이 있는데 지시된 블록에서만 유효한 것을 1회 유효지령, 같은 그룹의 다른 G코드가 나올 때까지 유효한 것을 연속 유효지령이라고 합니다.

코드 기능 용도
G0 빠른 이동 지정된 좌표로 이동
G1 제어된 이동 지정된 좌표로 직선 이동하며 지정된 길이만큼 압출 이동
G4 드웰(Dwell) 정지 시간을 정해 두고 미리 정해 둔 시간만큼 지연
G10 헤드 오프셋 시스템 원점 좌표 설정
G17 X-Y 평면 설정 XY평면 선택(기본값)
G18 X-Z 평면 설정 XZ평면 선택(3D프린터에서는 구현되지 않음)
G19 Y-Z 평면 설정 YZ평면 선택(3D프린터에서는 구현되지 않음)
G20 Inch 단위 설정 사용 단위를 인치로 설정함
G21 mm 단위 설정 사용 단위를 밀리미터로 설정함
G28 원점으로 이동 X, Y, Z 축의 엔드스탑으로 이동
G90 절대 위치로 이동 좌표를 기계의 원점 기준으로 설정
G91 상대 위치로 이동 좌표를 마지막 위치 기준으로 원점 설정
G92 설정 위치 지정된 좌표로 현재 위치를 설정

 

M코드

기계를 제어, 조정해 주는 코드로 보조 기능이라 불리며 프로그램을 제어하거나 기계 보조 장치를 ON/OFF하는 역할을 합니다.

코드 기능 용도
M0 프로그램 정지 3D프린터 동작을 정지
M1 선택적 프로그램 정지 3D프린터 옵션 정지
M17 스테핑 모터 사용 스테핑 모터 활성화
M18 스테핑 모터 비사용 스테핑 모터 비활성화
M101 압출기 전원 ON 압출기 전원을 켜고 준비
M102 압출기 전원 ON(역) 압출기 전원을 켜고 준비(역방향)
M103 압출기 전원 OFF, 후퇴 압출기 전원을 끄고 후진
M104 압출기 온도 설정 압출기 온도를 지정된 온도로 설정
M106 냉각팬 ON 냉각팬 전원을 ON시켜 동작
M107 냉각팬 OFF 냉각팬 전원을 OFF시켜 동작 정지
M109 압출기 온도 설정 후 대기 압출기 온도를 설정하고 해당 온도에 도달하기를 기다림

 

G코드를 3D프린터에 업로드하는 방법

3D프린터가 SD-card를 지원한다면 SD-card에 저장된 G코드 파일을 읽어 오면 됩니다. 또한, 컴퓨터에서 USB, Serial Port를 통하여 전송 시 컴퓨터에서 사용하는 3D프린팅 프로그램이 필요합니다.

 

3D프린팅 프로그램 사용

보통 3D프린터에서 지원하는 프로그램을 사용하거나 오픈 소스 형식의 G코드 Sender프로그램을 사용합니다. 이 프로그램들을 이용해 수동으로 노즐/베드 등을 제어하고 G코드 파일을 프린터로 전달해 출력할 수 있게 됩니다.

 

G코드 Sender(호스트웨어) 프로그램

G코드 파일에 포함되어 있는 조형 정보를 이용해 3D프린터를 제어하는 기능을 제공하므로 G코드 Sender를 이용해 3D프린터 구동을 직접 제어할 수 있습니다.

 

STL 형식 파일을 G코드 파일로 변환할 때 추가되는 내용들

STL 형식으로 변환된 파일을 3D프린터가 인식 가능한 G코드 파일로 변화할 때는 3D프린터가 원료를 쌓기 위한 경로, 속도, 적층 두께, 쉘 두께, 내부 채움 비율이 추가되며 인쇄 속도, 압출 온도, 히팅베드 온도, 서포트 적용 유무와 유형, 플랫폼 적용 유무와 유형이 추가되어 3D프린터로 업로드 됩니다. 추가로 필라멘트 직경, 압출량 비율, 노즐 직경, 리플렉터 적용 유무와 범위, 트래이블 속도, 쿨링팬 가동 유무도 추가되어 3D프린터로 업로드 되어 모델을 출력하게 됩니다.

 

 

업로드 확인

STL파일을 G코드로 변환하여 저장하면 PC에서 메모장 프로그램을 실행해 코드를 확인해 볼 수 있습니다.

메모장을 통해 확인 한 G코드는 아래 그림과 같습니다.

이번 포스팅에서는 생소한 프로그램 언어를 위주로 작성되어 어렵게 느끼실 수 있겠지만 이런 방식으로 프로그램이 기계에게 명령을 전달한다고 알고 계시면 될 것 같습니다. 가공을 전문적으로 하시는 분들은 당연히 필요한 내용이겠지만 3D프린팅을 목적으로 하시는 유저분들은 기계언어에 대해 개념만 이해하시고 넘어가셔도 무방합니다. 3D프린터에 대해 조금 더 자세히 알려드리고 싶은 마음에 포스팅을 작성하고 있으니 넓은 마음으로 포스팅을 읽어주셨으면 합니다.

이번 포스팅은 여기서 마무리 하고 다음 포스팅에서는 장비 출력 설정에 대해 알아보도록 하겠습니다.

오늘 하루도 행복한 하루 되세요.^^

728x90