이 튜토리얼에서는 3D 프린터 없이 최소한의 부품만으로 가장 단순한 CNC 머신을 만드는 방법을 보여드리겠습니다. 맞습니다. 최근 프로젝트들에서 3D 프린터를 주로 사용해왔는데, 프로토타이핑에 매우 유용하기 때문입니다. 원하는 형태를 쉽게 만들 수 있으니까요. 하지만 모든 사람이 3D 프린터를 가지고 있는 것은 아니므로, 3D 프린터나 다른 CNC 머신 없이도 무언가를 만들 수 있음을 보여주고 싶었습니다.
아래 영상을 시청하거나 작성된 튜토리얼을 읽어보세요.
개요
이 CNC 머신을 단일 전동 공구인 드릴과 몇 가지 수공구만으로 만드는 방법을 보여드리겠습니다. 사용된 재료는 8mm MDF 보드로, 실제로 꽤 강하고 3D 프린팅된 PLA 소재보다 더 견고할 수 있으며 동시에 작업하기 쉽습니다.
이 영상에서는 이 CNC 머신을 레이저 각인기로 사용하고, 향후 영상에서는 펜 플로터로 작동하도록 만들 계획입니다.
이런 구조의 머신은 높은 강성을 제공하지 못하므로 CNC 라우터나 밀링 머신으로는 사용할 수 없습니다. 하지만 더 강력한 레이저를 장착하면 이 MDF 보드나 다른 종류의 목재를 꽤 좋은 정밀도로 절단할 수 있습니다.
작업 영역은 390 x 360mm로 상당히 넓으며, 이 레이저 각인기가 만들어내는 디테일 수준은 꽤 인상적입니다. 솔직히 각인 결과가 얼마나 좋은지 놀랐습니다.
이 CNC 머신의 두뇌는 아두이노 우노 보드와 CNC 쉴드의 조합입니다. 도면이나 이미지를 레이저 각인용으로 준비하고, G-코드를 생성하며, 무료 오픈소스 프로그램을 사용해 머신을 제어하는 방법은 뒤에서 자세히 설명하겠습니다.
DIY CNC 레이저 각인기 3D 모델
SOLIDWORKS for Makers를 사용해 머신을 설계했습니다. 이 CNC 머신의 두 주요 구성 요소는 MGN15H 리니어 레일과 해당 슬라이딩 블록입니다.
두 축의 블록을 구동하기 위해 NEMA 17 스테퍼 모터 두 개와 적절한 GT2 풀리 및 타이밍 벨트를 사용합니다. 모든 것을 연결하기 위해 8mm MDF 보드를 사용하고, 머신 홈밍을 위해 마이크로 리미트 스위치 두 개를 사용합니다.
이것이 최소한의 부품으로 만든 CNC 머신의 전부입니다.
3D 모델은 여기서 다운로드할 수 있습니다:
Thangs에서 이 3D 모델을 찾고 다운로드하거나 브라우저에서 탐색할 수 있습니다:
Thangs에서 어셈블리 3D 모델 다운로드.
이 튜토리얼을 지원해준 Thangs에 감사드립니다.
중앙 마운팅 플레이트 도면:
참고: 아두이노 CNC 폼 커팅 머신
머신 조립하기
자, 이제 머신 제작을 시작해보겠습니다. 이 DIY CNC 머신 조립에 필요한 구성품 목록입니다. 전자 부품 목록은 아래 회로도 섹션에서 확인할 수 있습니다.
MGN15H 리니어 레일 ………………………… 아마존 / 뱅굿 / 알리익스프레스
스테퍼 모터 – NEMA 17 ………….…
GT2 벨트 + 치형 풀리…………………… 아마존 /
GT2 아이들러 풀리 …………………………… 아마존 / 뱅굿 / 알리익스프레스
스페이서 너트 …………………………….. / 뱅굿 / 알리익스프레스
볼트 및 너트 세트 …………………………… 아마존 / 뱅굿 / 알리익스프레스 또는 지역 철물점 + 플랫 헤드 나사 3x16mm
사용할 8mm MDF 보드입니다. 3D 모델에서 가져온 도면에 따라 조각들을 크기에 맞게 자르겠습니다.
관련: 자동 공구 교환 기능이 있는 DIY 펜 플로터 | CNC 드로잉 머신
이를 위해 가장 단순한 방법인 연필로 자를 위치를 표시하고 손톱으로 자르는 방법을 사용했습니다.
물론 모든 조각을 손으로 자르는 데는 약간의 노력이 필요하지만, 이 방법으로도 꽤 깔끔하고 깨끗하게 조각을 얻을 수 있습니다.
모든 조각을 크기에 맞게 자른 후, 구멍 뚫기 작업으로 넘어갔습니다. 구멍을 정확하게 뚫는 것이 조각을 자르는 것보다 실제로 더 중요합니다. 구멍 위치는 리니어 레일과 스테퍼 모터처럼 정확하고 고정된 치수를 가진 다른 부품들과 맞아야 하므로 매우 정밀해야 합니다.
Y축과 스테퍼 모터가 장착되는 중앙 플레이트에는 구멍이 많습니다. 이를 정확히 뚫기 위해 해당 부품의 실물 크기 도면을 출력했습니다.
일반 프린터는 누구나 쉽게 접근할 수 있으므로, 이 프로젝트를 위해 프린터를 사용하는 것은 부정행위가 아니라고 생각했습니다. 이렇게 하면 부품과 도면을 겹쳐놓고 구멍 위치를 표시할 수 있습니다. 그런 다음 구멍을 뚫을 수 있는데, 그렇다고 100% 정확해지는 것은 아닙니다. 여전히 손으로 하는 작업이므로 매우 집중하고 인내심을 가지고 정확하게 뚫어야 합니다.
3mm와 5mm 드릴 비트, 그리고 스테퍼 모터 장착을 위한 개구부를 만들 25mm 드릴 비트가 필요합니다.
다음으로, X축 레일이 고정될 머신 베이스를 조립했습니다. 레일 지지 부품이 고정될 위치를 표시하고 베이스 부품에 두 개의 구멍, 지지 부품에 한 개의 구멍을 뚫었습니다.
첫 번째 3mm 나사와 목공 본드로 이 두 부품을 고정했습니다. 첫 번째 나사를 고정한 후 직각도를 확인하고, 2mm 드릴로 지지 부품의 두 번째 구멍을 미리 뚫었습니다.
비슷한 방식으로 더 나은 지지를 위해 두 개의 브라켓을 추가했습니다.
솔직히 이 MDF 부품 조립 방법은 그리 좋지 않습니다. 모든 작업을 손으로 하고 MDF 보드가 8mm로 얇아 이 과정을 더욱 복잡하게 만들기 때문에 직각을 맞추기가 정말 어렵습니다. 철물점에서 쉽게 구할 수 있는 금속 브라켓을 사용하는 것이 더 쉽고 나은 방법일 수 있습니다.
그럼에도 불구하고 양쪽 측면이 준비되면 X축 레일을 설치했습니다.
이 MGN15H 레일은 슬라이딩 블록 내부에 볼이나 롤러가 있어 매우 부드럽고 유격이 없는 움직임을 제공합니다.
설치 전에 잘 청소하고 그리스를 잘 발라주어야 합니다. 양쪽에 M3 볼트 두 개씩으로 리니어 레일을 고정했습니다.
다음으로, X축 슬라이딩 블록 위에 Y축을 설치해야 합니다. 이를 위해 중앙 플레이트를 사용합니다.
또한, 스테퍼 모터 중 하나에는 적절한 장착 높이를 위해 스페이서 너트를 사용했습니다. 아마도 이 스테퍼를 플레이트 아래쪽에 장착했더라면 스페이서 너트가 필요 없었을 것입니다.
X축 구동을 위해 스테퍼 샤프트 근처에 두 개의 GT2 아이들러 풀리를 설치해 벨트와 스테퍼 풀리 사이에 적절한 텐션을 만들었습니다.
이들을 고정하기 위해 M5 볼트와 너트가 필요합니다. Y축의 경우 레일 반대쪽에 아이들러 풀리 하나만 필요합니다. 이 축의 벨트는 루프 형태로 설치되기 때문입니다.
자, 이제 X축과 Y축 레일을 연결하는 단계입니다. 네 개의 M3 볼트로 연결합니다. 이 연결은 전체 머신의 정밀도를 좌우하므로 매우 정밀해야 합니다.
직각 자를 사용해 두 축이 서로 수직인지 확인하고, 그렇지 않다면 적절히 조정해야 합니다.
다음으로, Y축 슬라이딩 블록에 장착되어 엔드 이펙터(이 경우 레이저 모듈)를 고정하는 부품들을 설치합니다. 앞서 설명한 방법으로 이 부품들을 조립하고 네 개의 M3 볼트로 슬라이딩 블록에 고정했습니다.
이제 레이저 모듈을 두 개의 M3 볼트로 고정할 수 있습니다.
GT2 벨트 설치를 진행했습니다. 필요한 길이를 측정하고 벨트를 크기에 맞게 잘랐습니다.
벨트를 슬라이딩 블록에 고정하기 위해 두 개의 M5 볼트와 케이블 타이를 사용했습니다.
벨트의 첫 번째 면을 M5 볼트에 케이블 타이로 고정하고, 반대쪽에서 벨트를 팽팽하게 당겨 두 번째 볼트에 케이블 타이로 고정했습니다.
X축의 경우 벨트가 세 개의 풀리를 통과하면서 스테퍼 모터 풀리와의 그립 또는 텐션을 제공하는 방식으로 양쪽에서 일직선으로 팽팽하게 당겨집니다.
벨트 양쪽을 단일 볼트와 정사각형 MDF 조각으로 고정했습니다.
이제 CNC 머신이 거의 완성되었습니다. 몇 가지 작업만 더 남았습니다.
바닥면에 가구 패드를 붙여 머신이 더 단단히 고정되도록 했습니다.
Y축용 마이크로 리미트 스위치를 설치했습니다. 이를 위해 두 개의 M2 볼트가 필요합니다.
X축 리미트 스위치의 경우 중앙 플레이트에 구멍을 뚫는 것을 잊어버려 현장에서 표시하고 뚫었습니다.
좀 빡빡했지만 결국 잘 장착되었습니다.
전자 부품 연결하기
기계적 부분이 완료되었으므로 전자 부품 연결로 넘어가겠습니다. 앞서 언급했듯 아두이노 우노 보드와 CNC 쉴드, 두 개의 DRV8825 또는 A4988 스테퍼 드라이버를 사용합니다.
아두이노 보드를 머신 측면에 고정하기 위해 아두이노 구멍 두 개를 표시하고 3mm 드릴로 뚫었습니다. 측면 패널과 아두이노 보드 사이에 5mm 스페이서 너트를 사용했습니다.
CNC 쉴드는 단순히 아두이노 보드 위에 장착됩니다. 각 드라이버에 3개의 점퍼를 꽂아 최고 스테퍼 해상도를 선택했습니다.
여기서 이 세 개의 점퍼는 제거해야 합니다. 이전 프로젝트에서 사용했던 것입니다.
제공된 케이블로 스테퍼 모터들을 연결하고, 리미트 스위치 연결을 위해 두 선 연결이 필요합니다.
선 한쪽 끝을 엔드스톱에 직접 납땜하고, 다른 쪽에는 암 핀 헤더를 납땜해 CNC 쉴드에 쉽게 연결할 수 있게 했습니다.
레이저 모듈 연결을 위해서는 GND, 12V, PWM 제어용 신호선 등 3개의 선이 필요합니다. 이 선들은 머신의 가장 먼 지점까지 도달할 수 있을 만큼 충분히 길어야 합니다.
한쪽에는 레이저 모듈에 연결되는 3핀 커넥터가 있고, 다른 쪽에는 CNC 쉴드의 파워 서플라이 커넥터에 연결될 GND와 12V 선, 그리고 Z+ 또는 Z- 엔드스톱 핀에 연결되어야 하는 신호선이 있습니다.
DIY CNC 레이저 각인기 회로도
모든 것을 연결하는 방법에 대한 회로도입니다.
이 프로젝트에 필요한 구성품은 아래 링크에서 구할 수 있습니다:
스테퍼 모터 – NEMA 17………………
DRV8825 스테퍼 드라이버……….……..…
아두이노 CNC 쉴드 ………………………. 아마존 / 뱅굿 / 알리익스프레스
아두이노 우노………………………………..…
리미트 스위치 …………………………………. 아마존 / 뱅굿 / 알리익스프레스
DC 파워 서플라이 …………………………. 아마존 / 뱅굿 / 알리익스프레스
레이저 모듈 ………………………………. 아마존 / 뱅굿 / 알리익스프레스
레이저 안전 고글 …………………….. 아마존 / 뱅굿 / 알리익스프레스
아두이노 우노 보드와 CNC 쉴드, 두 개의 DRV8825 또는 A4988 스테퍼 드라이버를 사용합니다. 머신 홈밍을 위한 두 개의 마이크로 리미트 스위치와 PWM 제어 가능한 12V 레이저 모듈이 있습니다. 전원 공급을 위해 최소 3암페어 정격의 12V 파워 서플라이가 필요합니다.
펌웨어 및 제어 소프트웨어
머신 조립이 완료되었습니다. 이제 생명을 불어넣어 진짜 CNC 머신으로 만들 차례입니다. 이를 위해 CNC 머신의 모션을 제어하기 위한 펌웨어를 아두이노에 설치해야 합니다.
DIY CNC 머신에서 가장 인기 있는 선택은 오픈소스 GRBL 펌웨어입니다. GRBL 펌웨어 외에도 G-코드를 전송하고 머신에 무엇을 할지 지시할 제어 소프트웨어가 필요합니다. 여기서는 LaserGRBL 컨트롤러를 사용합니다. 이 소프트웨어는 GRBL 펌웨어로 레이저 각인기를 제어하기 위해 특별히 제작되었으며, 오픈소스임에도 불구하고 그 목적에 정말 놀라운 컨트롤러라고 말씀드릴 수 있습니다.
LaserGRBL에서는 GRBL 펌웨어를 아두이노에 직접 플래시/업로드할 수 있는 옵션이 있어 수동으로 할 필요가 없습니다. X와 Y 홈밍만 있는 2축 머신용으로 바로 사용 가능한 버전도 선택할 수 있습니다. 바로 우리가 필요한 것입니다.
아두이노에 GRBL 펌웨어를 플래시한 후, 컨트롤러와 머신을 연결하고 GRBL 설정 창을 열어 우리 머신에 맞게 몇 가지 파라미터를 조정할 수 있습니다.
가장 먼저 조정해야 할 것은 X축과 Y축의 이동 해상도 또는 steps/mm 값입니다. 이 값은 1mm 이동하기 위해 모터가 몇 스텝을 밟아야 하는지 나타냅니다. 이는 사용하는 스테퍼 모터 유형, 선택된 스텝 해상도, 모션 전달 방식(이 경우 GT2 벨트와 풀리)에 따라 달라집니다.
우리 머신의 이 값들을 계산하는 방법은 다음과 같습니다. 기본값은 보통 250 steps/mm입니다. JOG 명령으로 머신을 이동시켜 테스트할 수 있습니다. 예를 들어 20mm를 이동시키고 실제로 얼마나 이동했는지 관찰합니다.
제 경우 Y축 20mm JOG 시 실제 이동 거리는 31mm였습니다.
따라서 20/31 = 0.645이고, 이 값에 250을 곱하면 161.29가 나옵니다. 이것이 우리 머신에 설정해야 할 steps/mm 값입니다.
이제 업데이트된 값으로 머신을 이동시키면 정확한 거리를 이동해야 합니다. 결과가 마음에 들지 않으면 사각형을 그려서 측정하며 값을 미세 조정할 수 있습니다. 최종적으로 160 steps/mm 값을 사용했습니다.
그 외에도 조정해야 할 중요한 파라미터들이 있습니다. 예를 들어, 실제 리미트 스위치인 하드 리미트 활성화, 작업 영역을 정의하는 소프트 리미트, 리미트 스위치가 머신의 어디에 위치하는지 정의하는 홈밍 방향 설정 등이 있습니다.
제가 설정한 파라미터 세트를 다운로드해 펌웨어에 바로 가져올 수 있습니다.
레이저 각인용 G-코드 생성
이 소프트웨어의 또 다른 장점은 내장된 G-코드 생성기입니다. 즉, 사진, 클립아트, 연필 드로잉 등을 소프트웨어에 직접 불러와 필요에 따라 각인용 G-코드를 생성할 수 있습니다. 래스터 이미지 도구는 라인 투 라인 트레이싱, 벡터화, 1비트 BW 디더링 등 다양한 옵션을 제공해 꽤 다재다능합니다.
물론 원한다면 Inkscape와 그 플러그인인 Inkscape-Lasertools 같은 다른 소프트웨어로 G-코드를 생성해 불러올 수도 있습니다. 이전 영상인 SCARA 로봇 레이저 각인기에서 이 방법을 사용한 G-코드 생성법을 이미 설명했으므로 자세한 내용은 그 영상을 참고하세요.
이제 LaserGRBL을 사용해 사진으로부터 레이저 각인용 G-코드를 생성하는 방법을 보여드리겠습니다. 여기 개 사진이 있는데, 소프트웨어로 열겠습니다.
밝기와 대비 옵션을 사용해 이미지를 원하는 대로 조정할 수 있습니다. 사진 변환 유형을 선택할 수 있는데, 라인 투 라인 트레이싱, 1비트 BW 디더링, 벡터 포맷 등이 있습니다. 이 사진에는 라인 투 라인 트레이싱을 사용하겠으며, 여기서는 라인 방향과 mm당 라인 수로 정의되는 각인 품질도 선택할 수 있습니다.
다음으로 각인 속도를 선택하고, 레이저 파워의 최소/최대 PWM 값을 설정하며, 각인 크기를 정합니다.
이제 소프트웨어가 이 각인용 G-코드를 생성합니다. 시작하기 전에 Frame 버튼을 사용해 각인이 이루어질 영역을 윤곽으로 표시해 작업물을 적절히 배치할 수 있습니다.
레이저의 자외선으로부터 눈을 보호하는 레이저 안전 고글을 반드시 착용해야 합니다. 매우 위험합니다.
머신을 올바르게 캘리브레이션했다면 꽤 좋은 각인 결과를 얻을 수 있습니다. 캘리브레이션을 위해 100%에서 10% 투명도까지의 사각형이 있는 이 이미지를 만들었습니다.
결과에 따라 각인 속도와 레이저 파워 PWM 값을 조정하세요.
캘리브레이션 이미지 다운로드:
이 튜토리얼은 여기까지입니다. 즐겁게 보셨고 새로운 것을 배우셨기를 바랍니다. 질문 있으시면 아래 댓글 섹션에 자유롭게 물어봐 주시고, 제 다른 아두이노 프로젝트들도 확인해보세요.