2024. 9. 6. 00:25ㆍ보고서
※ 2020년 7월 17일에 작성된 글입니다.
사용하지 않는 DVD 드라이브(ODD)로 소형 3D 프린터를 만들어 봤습니다.
이번 만들기는 할 말이 많아서 총 4부로 나누어 글을 작성했습니다.
1부 - 제작 동기, 참고 자료 조사, 필요한 부품과 재료 정리, 부품과 재료 준비
2부 - 설계
3부 - 부품 제작과 조립
4부 - 전체 조립, 작동 시험, 제작 후기
▉ 전체 조립
골격 구조물에 부품을 조립하고 전선 등을 연결했습니다.
▋ Z축 슬라이더 조립
골격 구조물의 밑판(XY축)과 수직이 되도록 Z축 슬라이더를 조립했습니다.
모터로 움직이는 슬라이더가 뒤판에 닿지 않도록 두꺼운 와샤를 나사에 끼워서 공간을 확보했습니다.
와샤는 슬라이더와 나사에 맞게 CAD로 설계해서 Ender-3로 뽑았습니다.
▋ XY축 슬라이더와 작업대 조립
XY축 슬라이더는 작업판의 좌하단이 영점이 되도록 조립을 했습니다.
밑판과 맞붙는 Y축 슬라이더를 조립하기 위해 너트와 와샤를 직접 만들었습니다.
밑판의 바닥에서 올라온 나사를 직접 만든 너트로 고정하는 방식으로 Y축 슬라이더를 조립했습니다.
▋ 익스트루더 조립
익스트루더에서 핫엔드로 필라멘트를 이동시켜 주는 테브론 튜브의 길이가 짧고 구부러짐이 가장 적은 위치에 익스트루더를 부착했습니다.
익스트루더와 핫엔드의 피팅에 테프론 튜프를 끼워서 필라멘트가 이동하는 통로를 만들어 줬습니다.
익스트루더 고정은 UTP 케이블의 내부 단선을 사용했습니다.
Ender-3로 브라킷을 만들 수 있었지만, 스텝모터의 열에 녹을 우려가 있어 구리전선을 사용했습니다.
▋ 제어보드 조립
골격 구조물과 맞붙는 아두이노 메가를 먼저 조립하고, 그 위에 램프스 보드를 조립했습니다.
램프스 보드에 모든 부품(스텝모터 4개, 영점스위치 3개, 온도센서, 카트리지히터, 팬쿨러)의 전선과 전원선을 연결했습니다.
주전원은 12V 6.2A 직류전원공급기를 사용했습니다.
RepRap 웹사이트의 RAMPS 1.4 글을 참고하여 램프스 보드에 부품을 연결했습니다.
▋ 하드웨어 조립 완료
이 3D 프린터를 작동시키려면 컴퓨터와 USB로 연결이 되어야 합니다.
아래 사진의 오른쪽 검정 케이블이 컴퓨터와 연결되는 USB 케이블입니다.
팬쿨러 그릴은 인터넷에서 받은 형상 파일을 Ender-3로 뽑아서 만들었습니다.
▉ 펌웨어 설치 및 설정
하드웨어는 완성되었지만 소프트웨어가 준비되지 않아 아직은 작동하지 않습니다.
아두이노 메가에 펌웨어를 설치해야 3D 형상을 출력할 수 있습니다.
제가 사용한 펌웨어는 Marlin 1.1.9입니다.
여기로 가시면 최신 버전을 받을 수 있습니다.
아두이노에 펌웨어를 설치하려면 Arduino IDE가 필요합니다.
최신 버전 Arduino IDE는 여기서 받을 수 있습니다.
저는 Arduino IDE 1.8.9를 사용했습니다.
아두이노에 펌웨어를 설치하기 전에 일부 설정 값을 수정해야 합니다.
수정은 EWaste 60$ 3DPrinter의 Step 4 : Arduino IDE를 참고했습니다.
▋ Configuration.h 파일 열기
Arduino IDE로 Marlin 펌웨어(파일명: Marlin.ino)를 열면 파일 수십 개가 열립니다.
파일은 많지만 수정이 필요한 곳은 Configuration.h 뿐입니다.
상단 탭에서 Configuration.h를 선택합니다.
▋ PID Settings 수정
핫엔드 가열을 제어하는 PID 설정 값을 아래와 같이 수정했습니다.
저는 미리 정의된 값을 주석처리하고 새로운 값을 추가했습니다.
#define DEFAULT_Kp 19.22
#define DEFAULT_Ki 1.87
#define DEFAULT_Kd 49.45
▋ Movement Settings 수정
이 설정을 수정하려면 모터에 관련된 하드웨어 정보가 필요합니다.
제작에 사용된 하드웨어의 정보를 표로 정리했습니다.
XYZ축 2상 18도 리니어 스텝모터 |
스텝모터 드라이브 A4988 |
||||||||
1스탭 | 18 | 도 | 해상도 설정 | 1/16 | 1/8 | 1/4 | 1/2 | 1 | |
스텝/1회전 | 20 | 스텝 | 스텝/1회전 | 320 | 160 | 80 | 40 | 20 | |
피치 | 3 | mm | 스텝/1mm | 106.6 | 53.3 | 26.6 | 13.3 | 6.6 | |
mm/스텝 | 0.00938 | 0.01875 | 0.0375 | 0.075 | 0.15 | ||||
익스트루더 2상 스텝모터 NK244-01T |
|||||||||
1스탭 | 1.8 | 도 | 스텝/1회전 | 3200 | 1600 | 800 | 400 | 200 | |
스텝/1회전 | 200 | 스텝 | 스텝/1mm | 101.8 | 50.9 | 25.4 | 12.7 | 6.3 | |
기어 지름 | 10 | mm | mm/스텝 | 0.00982 | 0.01953 | 0.03927 | 0.07854 | 0.15708 | |
기어 외경 | 31.415 | mm |
모든 스텝모터 드라이브의 해상도는 1/16로 설정했습니다.
이 해상도에선 XYZ축의 슬라이더를 1mm 움직이려면 106.6 스텝이 필요하고, 익스트루더가 필라멘트를 1mm 이동시키려면 약 102 스텝이 필요합니다.
이 값을 바탕으로 설정 값을 아래와 같이 수정했습니다.
#define DEFAULT_AXIS_STEPS_PER_UNIT { 106.6, 106.6, 106.6, 102 }
XYZ축의 스텝모터는 힘이 약해서 빠르게 움직일 수 없습니다.
XYZ축 스텝모터의 최대 속도를 20mm/s로 설정하고 익스트루더 스텝모터의 최대 속도는 200mm/s로 수정했습니다.
#define DEFAULT_MAX_FEEDRATE { 20, 20, 20, 200 }
최대 가속도는 이동 방향 전환이 적고 하중이 많이 걸리는 Z축 스텝모터만 60mm/s로 하고, 나머진 1000mm/s로 수정했습니다.
#define DEFAULT_MAX_ACCELERATION { 1000, 1000, 60, 1000 }
#define DEFAULT_ACCELERATION 1000
#define DEFAULT_RETRACT_ACCELERATION 1000
#define DEFAULT_TRAVEL_ACCELERATION 1000
Default Jerk 설정은 EWaste 60$ 3DPrinter의 Step 4 : Arduino IDE의 설정 값을 그대로 사용했습니다.
#define DEFAULT_XJERK 20.0
#define DEFAULT_YJERK 20.0
#define DEFAULT_ZJERK 0.4
#define DEFAULT_EJERK 5.0
▋ 아두이노 메가에 Marlin 설치
USB로 아두이노 메가를 연결하여 Marlin 펌웨어를 업로드합니다.
아두이노 연결과 업로드 방법은 Arduino IDE 관련 문서에서 확인할 수 있습니다.
▉ 작동 시험
출력이 잘 되는지 확인하려고 토토로 형상을 출력해 봤습니다.
출력에 사용한 슬라이서는 오픈소스 소프트웨어 Ultimaker Cura입니다.
이 3D 프린터의 최대 출력 크기는 35x35x35mm입니다.
토토로의 원형 크기는 30x25x46mm로 그대로 출력할 수 없어 23x19x35mm으로 축소를 했습니다.
ODD로 만든 3D 프린터의 성능은 예상보다 매우 좋았습니다.
토토로의 귀에 불량이 있지만, 불량이 발생한 부분의 폭이 2mm이고 두께가 1mm인 것을 고려하면 프린터의 성능 문제로 볼 수는 없었습니다.
https://youtube.com/shorts/av6NqdUNxsk?si=sNNyMM23b0LT7v1V
다양한 형상을 출력하여 성능을 확인해 봤습니다.
최대 출력 크기가 작다는 단점을 빼면 좋은 성능을 보여줬습니다.
▉ 작업 후기
▋ 익스트루더의 용수철
재료 준비 과정에서 설명이 없었던 용수철의 출처를 알려 드릴게요.
지름 5mm, 길이 8mm인 작은 용수철은 DVD드라이브를 분해하는 과정에서 얻게 됐어요.
위치 조절이 가능한 가이드 레일을 흔들리지 않게 잡아주는 용도로 사용된 용수철이에요.
제작에 사용하지 않는 슬라이더의 용수철을 분해해서 익스트루더에 사용했어요.
이 용수철이 없었으면 볼펜에 들어 있는 용수철을 사용하려 했어요.
정말 볼펜의 용수철을 썼다면 힘이 약해서 익스트루더가 제대로 작동하지 않았을 것 같아요.
용수철뿐 아니라 DVD드라이브 분해로 나온 작은 나사도 많이 사용했어요.
▋ 익스트루더 스텝모터의 열
스텝모터에서 발생하는 열이 예상보다 심해서 익스트루더 제작에 어려움이 많았어요.
열로 인한 익스트루더의 변형을 해결하려고 설계와 제작을 3번이나 했어요.
3번째 제작을 하면서 열에 약한 원료(PLA)로 만든 익스트루더는 설계 변경으로 문제를 해결할 수 없음을 알게 됐어요.
열에 잘 견디도록 만들 수 없어서, 스텝모터가 빨리 식도록 팬쿨러를 설치했어요.
열이 덜 발생하는 큰 스텝모터로 교체를 하는 해법도 있었지만, 부품을 추가 구입하지 않고 보유한 것을 사용하려고 남는 팬쿨러를 사용했어요.
▋ Z축 스텝모터의 열
Z축 스텝모터는 XY축 스텝모터와 비교해서 더 큰 하중이 걸려요.
XY축이 이동하는 방향은 지면에 평행하지만 Z축은 지면에 수직이라 모터의 힘이 약하면 핫엔드를 들어 올리지 못해요.
Z축이 잘 이동하려면 스텝모터에 높은 전류를 걸어서 회전력을 높여야 해요.
높아진 전류에 회전력만 높아지면 좋겠지만, 그만큼 열도 많이 발생해요.
출력 시간이 짧은 형상을 출력할 때엔 문제가 없었지만, 긴 시간 출력을 할 때엔 Z축이 갑자기 멈추는 일이 있었어요.
그때, Z축 스텝모터를 만져보면 XY축과 비교해서 훨씬 뜨거웠어요.
이 열을 식혀주지 않으면 안정된 출력이 어렵겠다 판단했어요.
스텝모터의 열이 빨리 식도록 열전도성이 좋은 구리선을 모터에 붙여 줬어요.
허술하게 붙였지만 효과가 좋아서 Z축이 멈추는 일은 더 이상 발생하지 않았어요.
▋ 램프스 보드 불량
램프스 보드에는 스텝모터 드라이버의 해상도를 설정하는 점퍼가 있어요.
스텝모터 드라이버마다 3개가 있으며, 설정에 따라서 아래 표처럼 해상도를 설정할 수 있어요.
처음엔 힘이 약한 XYZ축의 스텝모터를 ⅛ step으로 설정하려 했어요.
그런데 점퍼를 다 빼도(모두 NO) 1/16 step으로 작동을 하더라고요.
원인을 알아보니 보드가 잘못 제작되어, 단선이 되어 있어야 할 각 핀들이 기판에서 연결이 되어 있었어요.
핀을 떼어내고 잘못 연결된 선을 칼로 잘라 수리를 할 수는 있었지만 작업이 번거롭고 1/16 step도 나쁘지 않아서 그대로 사용했어요.
점퍼 | Yes/No | 스텝 해상도 | |
1 | 2 | 3 | |
no | no | no | full step |
yes | no | no | half step |
no | yes | no | 1/4 step |
yes | yes | no | 1/8 step |
yes | yes | yes | 1/16 step |
▋ 팬쿨러 파손
작동 시험 중에 돌아가고 있는 핫엔드용 팬쿨러에 십자드라이버가 들어가는 사고가 있었어요.
순간의 실수로 팬쿨러의 날개가 망가져 버렸죠.
똑같은 팬쿨러는 없고 1,000 원하는 것을 2,500원 배송비를 드려서 사기는 싫었어요.
그래서 VGA카드를 버리기 전에 때어 둔, 테두리가 없는 팬쿨러를 접착제로 붙여서 수리를 했어요.
▋ 핫엔드 불량
3D 프린터를 한동안 사용하지 않거나 원료를 바꿀 땐 필라멘트를 반대 방향으로 빼야 해요.
이번 만들기에 사용한 핫엔드가 저렴한 거라 그런지 필라멘트가 핫엔드에 걸려서 빠지지 않는 문제가 있었어요.
처음 걸렸을 땐 도무지 빠지지 않아서 핫엔드를 완전히 분해했어요.
같은 문제를 몇 번 경험하면서 핫엔드를 평상시보다 뜨겁게 하고 필라멘트를 정 방향으로 밀었다가 빼면 잘 빠지는 걸 알게 됐어요.
70,000 원하는 E3D 영국 정품 핫엔드와 5,000 원하는 모조품은 확실히 다르네요.
▋ 나머지 후기
제작 기간은 1개월 정도였어요.
대부분의 시간을 고비를 넘기는 데 썼어요.
XY축의 부정확한 이동 문제와 익스트루더의 발열 문제는 정말 큰 고비였어요.
[빔프로젝터 렌즈 덮개 원격 제어기]에서는 문제 1개(모터 소음), 이번엔 문제 2개가 있었네요.
역시 구조가 복잡할수록 문제가 더 발생하네요.
큰 3D 프린터를 만들 땐, 얼마나 많은 문제가 생길지 기대가 되네요.
만들기를 하다가 어려운 문제를 해결하게 되면 짜릿한 재미를 느낄 수 있어, 난이도가 더 높은 만들기에 도전하게 되네요.
- 4부 끝 -
'보고서' 카테고리의 다른 글
모니터 상단 선반 만들기 (0) | 2024.09.19 |
---|---|
키보드 키캡 만들기 (0) | 2024.09.19 |
DVD 드라이브로 3D 프린터 만들기 - 3부 (0) | 2024.09.05 |
DVD 드라이브로 3D 프린터 만들기 - 2부 (0) | 2024.09.05 |
DVD 드라이브로 3D 프린터 만들기 - 1부 (0) | 2024.09.05 |