본문 바로가기
자율주행 프로젝트/3D 프린터

1. 자율주행 RC카 제작을 위한 3D 프린팅 여정과 시행착오 기록

by lkms 2025. 5. 24.

임베디드 수업의 마지막 프로젝트는 초음파 센서를 활용한 자율주행 자동차 제작입니다.

 

아래에 제공된 기본 차체와 모터를 이용해 자율주행 기능을 구현하는 것이 목표였지만,
평소 자동차에 관심이 많았던 저에게는 다소 단조롭고 아쉬운 느낌이 들었습니다.

그래서 프로젝트를 진행하면서,
기성 키트가 아닌 저만의 차체를 직접 만들어보기로 결심했습니다.


직접 부품을 구매해 만들 수도 있었지만,
현재 교육받고 있는 기관에 3D프린터가 있다는 점이 떠올랐고,
이를 활용하는 것이 시간이나 비용 면에서 더 효율적이라고 판단했습니다.

 

이후부터는 3D 프린터로 출력 가능한 차체와 구동 장치 모델을 직접 탐색하고 수정하며,
실제 출력까지 연결하는 과정
을 하나씩 진행하게 되었습니다.

 

3D프린터 관련 수업은 따로 듣지 않았기 때문에,
이 작업은 처음부터 끝까지 전부 혼자서 진행해야 했습니다.

다행히도 검색을 통해 원하는 차체와 구동장치 모델을 찾는 데는 큰 어려움이 없었고,
파일만 준비되면 바로 출력하면 될 줄 알았습니다.

 

하지만 막상 출력에 들어가 보니, 생각보다 다양한 문제가 하나씩 발생하기 시작했습니다.


문제 및 해결과정

 

  • 첫 출력 도전 – PTZ 서보 마운트 출력 실패
  • G-Wagon 차체 출력 – 적층 붕괴 및 반복 실패
  • 출력 불안정 – 필라멘트 꼬임 & 노즐 막힘
  • 출력 불안정 – 노즐/베드 온도 설정 실험
  • 출력 불안정 – Z축 오프셋 & 베드 레벨링 문제
  • 출력 중단 원인 – 3MF 포맷 호환성 문제
  • G-Wagon 모델 이슈 – Plate 오브젝트 간섭
  • 모델 크기 제약 – Meshmixer로 정확한 모델 분할

 


사용한 프린터는 Sindoh의 3DWOX DP200 모델


프린터 자체는 안정적이었지만, 사용한 필라멘트가 언제 개봉했는지도 모를 만큼 오래된 것이었고,
습기에 약한 PLA 필라멘트 특성상 출력 품질에 문제가 생길 가능성이 높았습니다.

출력을 시작하자마자 예상대로 부품 디테일이 뭉개지거나, 레이어가 들뜨는 현상이 나타났고
이후 여러 번 시도하며 점차 개선하는 과정을 거쳐야 했습니다.


첫 출력 및 테스트

이번 자율주행 프로젝트에서는
초음파 센서 대신 카메라를 이용해 주행 경로를 판단하는 방식을 선택했습니다.
이를 위해 카메라가 좌우(Pan), 상하(Tilt)로 움직일 수 있도록,
SG90 서보모터 2개를 활용한 2DOF 카메라 마운트를 먼저 출력해 테스트하기로 했습니다


3DWOX 프로그램 설치 및 첫 출력

 

DP200 - FFF 3D 프린터 다운로드&고객지원

DP200 FFF 3D 프린터 드라이버/유틸리티, 카탈로그/사용설명서를 다운로드 하세요. 소모품, 동영상 가이드, 보증기간 및 서비스요금 등 제품에 대한 고객지원 정보를 제공합니다.

www.sindoh.com


첫 모델은 2DOF PTZ 서보모터용 카메라 거치대

 

Simple Micro Servo Pan Tilt by NikodemBartnik

https://youtu.be/_jb9b25wBosMini micro servo pan tilt made in a simplest possible way. Consist only of 4 3D printed elements and can be printed in about 90 minutes. Made for the FollowBot V2 project:https://indystry.cc/2020/08/29/object-tracking-robot-foll

www.thingiverse.com

문제 및 해결 과정
  • 출력 초반에는 출력이 잘 되지 않았고, 여러 차례 반복 시도 끝에 출력 성공
    진행 중 다음과 같은 문제들을 확인하고 직접 조치
  • 필라멘트 케이스 분리 → 내부 정리 후 재장착
  • 출력된 부품에서 디테일 부족 확인
    나사 구멍이 정확하지 않아 글루건으로 마감 처리

G-Wagon (G-Class) RC카 바디 출력 도전

첫 출력 모델(Pan/Tilt 마운트) 이후,
본격적으로 자율주행 RC카의 외형을 갖춘 차체를 직접 출력해보기로 결정했습니다.

단순한 키트 대신, 실제 자동차 형태를 갖춘 바디를 만들고 싶어서
3D 프린팅 전용 모델 검색 사이트를 통해
https://www.yeggi.com/
1/10, 1/12 스케일의 다양한 RC카 바디 모델들을 찾아봤습니다.


그중에서도 눈에 띈 건 바로 이 모델이었습니다

G-Wagon 3D Printed 4x4 RC Car Body – Printables.com

출처: https://www.printables.com/model/308760-g-wagon-3d-printed-4x4-rc-car-body/files


커뮤니티와 디스코드도 잘 갖춰져 있 공유된 자료들도 꽤 신뢰
할 수 있었습니다.
정교한 디자인과 실제 자동차 느낌을 잘 살렸고,
프린터 출력 범위 안에서 분할 출력이 가능하도록 설계되어 있고,
직접 출력해서 조립하기에 적합하다고 판단했습니다.

출력 중 발생한 문제

모델 자체는 좋아 보였지만, 출력 과정에서 여러 가지 문제가 발생했습니다

  • 출력물 형상이 무너지고, 필라멘트가 한 곳에 뭉침
  • 중간부터 적층이 어긋나면서 출력 실패 반복

출력하려던 모델 출처: https://www.printables.com/model/308760-g-wagon-3d-printed-4x4-rc-car-body/files

 

적층 실패 및 출력중 멈춤 현상 발생


원인 분석

여러 번의 출력 실패가 반복되면서, 프린터 자체(DP200)에 원인이 있을 수 있다는 생각이 들었습니다.

특히 차체 각 모델 출력 시간이 최소 3시간 이상 소요되는 대형 모델이었기 때문에
출력이 중간에 멈추거나 적층이 어긋나는 문제가 발생할 경우
원인을 바로 파악하기가 쉽지 않았습니다.

YouTube나 구글에서 비슷한 사례를 찾아보려 했지만,
Sindoh DP200 프린터에 대한 정보 자체가 많지 않았고,
커뮤니티에서도 동일한 에러 상황에 대한 구체적인 설명을 찾기 어려웠습니다.

 

결국에는 Sindoh 공식 홈페이지에 올라온 사용자 메뉴얼과 에러 메시지 가이드를 참고하여,
출력 중단 시점, 표시되는 메시지, 베드 상태 등을 바탕으로
Z축 정렬 불량, 출력 설정 문제, 기계 내부 센서 이상 등의 가능성을 분석했습니다.

→ 다만 이 당시에는 명확한 원인 규명이나 해결까지는 도달하지 못했습니다.

 

문제 해결을 위한 시도

  1. 노즐 청소 후 출력 → 실패
  2. Wi-Fi로 펌웨어 업데이트 시도 → 실패
    → LAN 연결로 재시도 후 성공
  3. 업데이트 이후에도 Wi-Fi 재연결 시 IP 미할당 문제 발생
    수동 IP로 해결
  4. 노즐 온도 200°C → 210°C로 조정 → 실패
  5. Z-offset (0.00 ~ 0.30mm) 값 여러 차례 조정 → 모두 실패

필라멘트 꼬임 및 노즐 막힘 의심

에러 원인 중 하나로 필라멘트 문제노즐 막힘이 자주 언급되는 것을 확인하고,
다음과 같은 작업들을 직접 수행했습니다:

  • 필라멘트를 언로드한 뒤, 안 꼬이도록 직접 손으로 풀어 재정리
  • 필라멘트 끝을 가늘고 뾰족하게 다듬어 노즐로 잘 들어가도록 처리
  • 노즐을 직접 분리하여 청소하고 내부를 깨끗하게 복원
    https://www.youtube.com/watch?v=ZnTFApxu03w
출처: 신도리코의 공식 유튜브 채널

 

하지만 위 과정을 모두 거친 후에도 출력은 여전히 중간에 멈추거나
적층이 실패하는 현상이 반복되었습니다.


노즐 및 베드 온도 설정 문제

출력이 계속 실패하는 원인을 좁혀보기 위해,
이번에는 노즐과 베드의 온도 설정을 변경해보기로 했습니다.

기본 설정은 보통

  • 노즐 온도: 200°C,
  • 베드 온도: 60°C

출력물이 잘 달라붙지 않거나, 적층이 불안정한 문제를 고려해

  • 노즐 온도: 210°C,
  • 베드 온도: 70°C로 높여 출력해보았습니다.

하지만 설정을 변경해도 출력 중단 및 적층 실패 현상은 동일하게 반복되었고,
결국 온도 문제는 근본 원인이 아니었다는 판단을 하게 되었습니다.


Z축 정렬 불량, 베드 레벨링 문제 가능성

여러 시도에도 문제가 해결되지 않아,
이번에는 Z축 오프셋(Z-offset)과 베드 레벨링을 직접 조정해보기로 했습니다.

 

Z-offset이란?

Z축 오프셋은 노즐과 베드 사이의 거리를 미세하게 조정하는 값입니다.
이 거리가 너무 좁으면 노즐이 베드에 긁히고,
너무 멀면 첫 번째 레이어가 제대로 눌리지 않아 출력이 망가질 수 있습니다.

  • 너무 낮음 → 노즐이 베드를 긁고 필라멘트가 안 나옴
  • 너무 높음 → 필라멘트가 베드에 들러붙지 않아 출력 실패
베드 레벨링이란?

베드 레벨링은 프린터 베드 전체가 수평을 잘 유지하고 있는지 확인하고 조정하는 과정입니다.
베드가 기울어져 있으면,
같은 Z-offset 값을 적용해도 어떤 부분은 높고 어떤 부분은 낮아서 출력이 불균일하게 됩니다.

 

처음에는 이 설정들이 정확히 무엇을 의미하는지도 잘 모르고,
기존에 설정되어 있던 값을 그대로 사용하는 정도에 그쳤지만,
지속되는 실패 원인 중 하나로 Z축 정렬 불량이 자주 언급되어 있었습니다.

  • Z-offset 값을 조정해주고
  • 출력 시작 전에는 항상 베드 레벨링을 수동 맞춘 후 출력

하지만 그렇게 조정한 후에도 출력 중 적층 실패와 출력 멈춤 현상은 여전히 반복되었고,
Z축 정렬만으로는 해결되지 않는 문제임을 알 수 있었습니다.


출력 도중 중단 (.3MF 포맷 문제)

여러 번의 출력 실패 끝에,
혹시 포맷 문제일 수도 있지 않을까 하는 생각이 들었습니다.

처음 다운로드한 G-Wagon 모델은 .3mf 포맷이었고,
이 파일을 별다른 변환 없이 그대로 3DWOX 프로그램에 불러와 출력을 시도했었습니다.

 

3mf 포맷을 그대로 사용할 때 발생한 문제

3mfMicrosoft에서 만든 고급 3D 모델 포맷으로
재질, 색상, 배치 정보 등 다양한 설정값을 함께 저장할 수 있지만,
일부 프린터나 슬라이서 프로그램에서는 제대로 인식하지 못하는 경우가 있습니다.

 

특히 3DWOX 프로그램은 .3mf의 구조를 완벽하게 지원하지 않기 때문에,
출력 중단과 같은 예기치 않은 문제가 발생할 수 있습니다.

Cura를 활용한 포맷 변환 시도

이 문제를 해결하기 위해,
3D 프린팅에서 널리 사용되는 무료 슬라이서인 Cura를 설치했고,
기존 3mf 파일stl (binary) 포맷으로 변환해서 다시 출력해보기로 했습니다.

STL 포맷 – 왜 Binary로?

STL 포맷에는 ASCII 방식Binary 방식 두 가지가 있는데,

    • ASCII는 사람이 읽을 수 있는 형식이지만 용량이 크고 처리 속도가 느림
    • Binary는 컴퓨터가 효율적으로 읽을 수 있도록 저장된 형식이라
      파일 크기가 작고, 호환성과 안정성이 더 높음
    • 대부분의 프린터와 슬라이서 프로그램은 Binary 방식의 STL을 더 안정적으로 처리합니다.
포맷 변환 후 결과

3mf 파일stl (binary)로 변환한 뒤 출력했더니,
이전까지 발생하던 출력 중단 문제 없이 정상적으로 출력이 진행되었습니다.

결국, 출력 실패의 가장 큰 원인은 포맷 호환성 문제였던 것으로 결론 내릴 수 있었습니다.


 G-Wagon 모델 쪼개기 시 Plate 오브젝트 간섭

G-Wagon 차체 모델을 출력하면서,
출력 자체는 어느 정도 잘 되었지만 또 다른 문제가 발생했습니다.

다운로드한 G-Wagon 모델 안에는 출력 안정성을 위해 설계자가 붙여놓은 고정 서포트 구조가 함께 포함되어 있었는데,
처음엔 그게 서포트라는 걸 잘 인지하지 못한 상태에서 그대로 출력을 시도했었습니다.

 

사용 프린터: 3DWOX DP200
  • 출력 정밀도는 괜찮은 편이지만,
    출력물과 서포트가 너무 밀착되면 분리가 어렵다는 한계가 있습니다.
  • 기본 슬라이서인 3DWOX 프로그램은 서포트 간격 등 세부 설정이 제한적이라,
    서포트가 과도하게 붙는 문제가 발생할 수 있습니다.

이러한 특성 때문에,
모델 자체에 포함된 고정 서포트를 그대로 출력할 경우
서포트가 출력물과 완전히 붙어버려 분리 과정에서 손상이 생길 수 있었습니다.

서포트 포함해서 출력
서포트 제거 후 출력

문제 해결 – 서포트 제거 및 슬라이서 설정 조정

이 문제는 3DWOX 프로그램에서도 모델 쪼개기를 통해 서포트를 수동으로 제거할 수 있었지만,
모델을 처음 다운로드했을 때의 포맷이 3mf였기 때문에
포맷을 변환하고 나면 모델 쪼개기나 편집 기능이 제대로 작동하지 않는 한계가 있었습니다.

그래서 보다 유연한 편집을 위해, Cura를 사용하여 서포트를 제거했습니다.

 

  • 불필요한 서포트 없이 깔끔한 출력이 가능했고,
  • 출력 후 분리도 쉬워졌으며,
  • 프린터 설정에 맞춰 서포트를 직접 통제할 수 있었습니다.

모델 자르기 제약과 Meshmixer 활용

G-Wagon 바디 중 일부분은 크기가 커서, 한 번에 출력할 수 없는 부품들이 있었습니다.
Sindoh 3DWOX DP200 프린터는 출력 크기에 제한이 있어서,
한 번에 출력하는 건 불가능했습니다.

DP200 최대 출력 크기
  • 200mm × 200mm × 185mm (가로 × 세로 × 높이)
    → 이보다 큰 모델은 쪼개서 출력

먼저 cura로 서포트 제거

슬라이서 프로그램의 자르기 한계

처음에는 3DWOX 전용 프로그램이나 Cura를 활용해 모델을 자르려 했지만,

  • 두 프로그램 모두 정밀하게 원하는 위치에서 자르기 어렵거나,
  • 분할 각도를 자유롭게 조정하기 어려워
    복잡한 형태의 차체를 정확하게 분할하는 데에 한계가 있었습니다.
해결 방법: Meshmixer를 이용한 모델 분할

그래서 Meshmixer라는 무료 프로그램을 활용해 모델을 원하는 방식으로 정확히 분할했습니다.

 

Meshmixer 분할 절차
  1. Meshmixer 실행 후 .stl 또는 .3mf 파일 불러오기
  2. 상단 메뉴에서 Edit → Plane Cut 클릭
  3. 화면에 분할 기준 평면(Plane)이 나타나고, 아래 옵션 설정
Plane Cut 옵션 설명
  • Cut Type
    • Keep Both: 양쪽 모두 유지 → 모델을 두 부분으로 나눠 각각 저장 가능
    • Discard Half: 한 쪽만 남기고 나머지 삭제
  • Fill Type
    • No Fill: 절단면을 비워둠 (구멍 남음)
      → 후가공이나 외부 파츠 결합을 위한 경우 유용
    • Minimal Fill: 절단면을 간단한 평면으로 막음
      → 외형이 크게 중요하지 않은 경우 적합
    • Remeshed Fill: 절단면을 재메시 처리하여 자연스럽게 메움
      → 도색 전 외형 마감이 중요한 경우 추천
    • Fixed Fill: 절단면을 평탄하고 단단하게 보정하며 채움
      → 조립 강도나 접합 정밀도가 중요한 경우 사용

 

Accept 클릭하여 모델 분할 완료
  • 상단 메뉴 Edit → Separate Shells 클릭
    → 두 조각이 개별 오브젝트로 분리됨
  • 각각을 선택하고 Export를 통해 두 개의 stl 파일로 따로 저장

 

결과
  • 프린터 출력 한계에 맞게 모델을 적절히 나눌 수 있었고,
  • 이후 각 파츠를 별도로 출력하여 완성도 높은 차체 출력이 가능했습니다.
  • Cura에서도 이 STL 파일들을 불러와 위치를 조정하거나,
    서포트를 개별 설정할 수 있어 작업이 훨씬 수월해졌습니다.