아두이노용 CNC를 만들기 위해서 전체적인 프레임은 3D 프린터 출력물로 만들어 보았습니다.
아두이노용 CNC의 펜 홀더 부분을 수작업으로 만들어 보았습니다.
CNC의 하드웨어 부분이 어느 정도 완성이 되었으니 다음은 소프트웨어를 작성해야 합니다.
먼저 CNC를 제어하기 하기 위해서는 GRBL이라는 라이브러리를 사용해야 합니다. 그런데 GRBL라이브러리는 서보 모터만 제어되는 라이브러리인 것 같은데 제 경우 펜 홀더 부분을 스텝모터를 사용하였습니다. 검색을 해 보니 기존 GRBL 라이브러리를 수정하여 서보와 스텝모터를 모두 사용할 수 있게 수정해 놓은 라이브러리를 github에서 발견하여 아래 라이브러리를 다운로드 후 설치하였습니다.
위 라이브러리를 설치 후 아두이노 IDE를 실행하여 grbl 예제 중 grblUpload 예제를 불러옵니다.
예제를 불러왔으면 아두이노 우노 보드를 연결 후 업로드를 합니다. 이로써 아두이노는 수신된 GRBL 명령어를 해석하여 CNC Shield로 제어 명령어를 보낼 수 있습니다. 다음은 GRBL 명령어를 쉽게 아두이노로 보낼 수 있는 프로그램인 Universal Gcode Sender라는 프로그램을 다운로드합니다. 아래 사이트에 접속하여 위쪽의 다운로드 메뉴에서 받을 수 있습니다.
다운로드한 파일을 압축 해제 후win64-ugs-platform-app-2.0.14/ugsplatform-win/bin/ugsplatform.exe을 실행시킵니다.
저도 처음 사용해 보는 거라 아래 설정 정도만 사용해 보았습니다.
붉은색 동그라미 부분이 오른쪽에 설정된 COM 포트를 연결하는 아이콘입니다.
위 이미지 메뉴 오른쪽의 OPEN 아이콘을 클릭하여 미리 변경해 놓은 테스트용 G-CODE 파일을 불러왔습니다.
중앙에 불러온 파일의 G-CODE를 보여주고 오른쪽에 CNC가 이동될 패스를 보여줍니다.
해당 COM 포트를 연결하면 메뉴가 아래와 같이 바뀌는데 가운데 PLAY 버튼을 누르면 불러온 G-CODE 파일의 명령어를 아두이노로 전송하고 CNC Shield가 동작됩니다.
만약 이미지가 제대로 그려지지 않는다면 아래 세팅을 수정하여 좀 더 정확성을 높일 수 있습니다.
Menu -> Machine -> Setup wizard를 실행합니다.
실행하면 아래와 같은 화면이 나오는데 아두이노의 포트를 선택 후 연결합니다.
아두이노와 연결이 되면 연결된 Grbl 버전이 표시됩니다.
아래 Next 버튼을 눌러 4번 스텝(Step calibration)으로 이동합니다.
4번 Step calibration 메뉴가 나옵니다.
이 스텝에서는 아래 Move/Measure/Calibrate 항목의 보정정값을 설정하여 실제 CNC의 X, Y, Z가 정확하게 움직일 수 있도록 설정하는 화면입니다.
예를 들어 X축을 보정한다고 하면 왼쪽 Move의 X+ 나 X- 버튼을 클릭하여 1mm 단위로 이동시킵니다. 그러면 CNC도 동작이 되는데 Measure 항목에 실제 CNC의 펜이 얼마나 움직였는지를 측정한 mm값을 적어 줍니다. 그러면 Calbrate에 보정값이 계산되어 표시되는데 이 값을 아래 붉은색 사각형에 적어주고 옆의 업데이트 버튼을 눌러 보정값을 적용합니다.
같은 방법으로 X, Y, Z 축(스텝모터를 사용한 경우에는 생략)을 보정합니다.
변환된 G-CODE를 다시 불러와서 재실행한 후 좀 더 자연스럽게 동작되는지를 확인해 봅니다.
이걸로 우선 아두이노 CNC 1차 버전을 완성하였습니다. 2차 버전에서는 1차 버전에서의 문제점 및 보완해야 할 부분들을 정리 후 좀 더 완성도 높은 CNC를 만들어 봐야겠습니다.
'Hardware > Arduino ( AVR )' 카테고리의 다른 글
V-USB와 C#용 LibUsbDotNet을 사용한 USB 테스트 (2) | 2023.06.24 |
---|---|
AVR을 사용한 TransistorTester PCB 제작 (2) | 2023.04.23 |
아두이노 CNC용 펜 홀더(Pen Holder) 제작하기 (0) | 2023.04.09 |
JLCPCB에서 3D 프린팅 주문해 보기 (아두이노 CNC 프레임 제작) (0) | 2023.03.29 |
JLCPCB - Castellations (feat. SMDuino) (0) | 2023.01.16 |
댓글