데이터 업로드 방법
데이터 전송 방식
데이터 전송 방식으로 컴퓨터가 직접 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프린터에 대해 조금 더 자세히 알려드리고 싶은 마음에 포스팅을 작성하고 있으니 넓은 마음으로 포스팅을 읽어주셨으면 합니다.
이번 포스팅은 여기서 마무리 하고 다음 포스팅에서는 장비 출력 설정에 대해 알아보도록 하겠습니다.
오늘 하루도 행복한 하루 되세요.^^
'3D프린터와 아두이노 > 3D프린터' 카테고리의 다른 글
3D프린터 출력을 위한 사전 준비 및 출력 조건 최종 확인 (15) | 2020.07.19 |
---|---|
3D프린터 장비 출력 설정 (21) | 2020.07.17 |
3D프린터 모델 슬라이싱하기 (10) | 2020.07.15 |
3D프린터 출력 보조물 (서포트) 설정하기 (8) | 2020.07.14 |
3D스캐너 대상물 스캔 (14) | 2020.07.13 |