---
title: "15살 개발자 지망생이 만든 사이클로이드 감속기와 파이썬 생성기"
published: 2026-08-02T02:07:09.000Z
canonical: https://jeff.news/article/5361
---
# 15살 개발자 지망생이 만든 사이클로이드 감속기와 파이썬 생성기

한 15살 제작자가 Fusion 360용 파이썬 스크립트로 사이클로이드 감속기(cycloidal gearbox)를 생성하고, 여러 버전의 3D 프린트 설계를 실험했다. 작은 NEMA 17 크기 설계는 공차 문제로 실패했지만, 더 큰 풋프린트의 버전은 실제로 동작했고 1:9 감속비와 약 66% 효율을 기록했다.

- 15살 개발자 지망생이 사이클로이드 감속기(cycloidal gearbox)와 그걸 생성하는 파이썬 스크립트를 공개함
  - 사이클로이드 감속기는 회전 속도를 낮추고 토크를 키우는 감속기 구조임
  - 이번 프로젝트의 핵심은 완제품 판매가 아니라, 파이썬으로 만든 사이클로이드 생성기가 실제 하드웨어 설계에 쓸 만한지 검증하는 쪽에 가까움

- 감속비 목표는 1:9였음. 손으로 돌리는 테스트 버전부터 NEMA 17 스테퍼 모터용 버전까지 여러 번 만들었음
  - 첫 hand-cranked 버전은 파이썬 생성기의 타당성을 확인하기 위한 테스트용이었고, 감속비는 1:9였음
  - 이후 NEMA 17과 같은 풋프린트에 들어가는 마이크로 사이클로이드 감속기도 시도함
  - 작은 설계는 필요한 공차가 너무 빡빡했고, 3D 프린팅 정밀도로는 충분히 맞추기 어려워 실패함

- 결국 작동한 버전은 NEMA 17에서 돌릴 수 있도록 크기를 키운 설계였음
  - 버전 2보다 풋프린트가 커져서 공차를 더 넉넉하게 잡을 수 있었음
  - 이게 실제로 동작한 첫 NEMA 17 구동 버전임
  - 하드웨어 프로젝트에서 “작게 만들면 멋지다”와 “실제로 돌아간다”는 꽤 자주 충돌하는데, 딱 그 사례임

> [!IMPORTANT]
> 최종 측정값은 감속기 토크 1.3 N·m ± 0.007 N·m, 기본 NEMA 17 토크 0.21 N·m ± 0.007 N·m, 효율 66% ± 0.22%임. 학생 프로젝트치고 숫자까지 남긴 게 꽤 좋음.

- 파이썬 스크립트는 Fusion 360의 Scripts and Add-Ins에서 실행하는 방식임
  - 저장소를 clone한 뒤 Fusion 360에서 `Shift + S`로 Scripts and Add-Ins를 열고, `cycloidal_generator` 폴더를 스크립트로 추가해 실행함
  - 수동 CAD 모델링이 아니라 파라미터를 넣으면 형상이 생성되는 구조라, 값을 바꿔 반복 실험하기 좋음

- 사이클로이드 프로파일은 SolidWorks의 “Building a Cycloidal Drive” 글을 바탕으로 한 두 개의 주요 파라메트릭 방정식에서 나옴
  - 좌표는 `x = R cos(t) - E cos(Nt) - r cos(t + psi)`, `y = R sin(t) - E sin(Nt) - r sin(t + psi)` 형태로 계산함
  - `psi`는 `atan2`를 포함한 보정각이고, 핀 수와 편심량에 따라 프로파일이 달라짐
  - 감속비는 `1 : (N - 1)`이고, 로터는 입력축과 반대 방향으로 회전함

- 설계 파라미터도 꽤 구체적으로 공개돼 있음
  - 외곽 핀 수 `N`과 피치 반경 `R`은 고정 하우징 형상을 정하고, 로터는 `N-1`개의 로브를 가짐
  - 편심량 `E`는 입력축 offset 거리이며, 제약 조건은 `R > E * N`임
  - 외곽 핀 반경 `r`은 roller pin 반경이고, undercut 한계인 `r_max`에 대해 검증됨
  - profile offset은 3D 프린팅 clearance를 위해 양수 방향으로 줄 수 있음

- 실제 공개된 구성은 꽤 메이커 프로젝트답게 현실적인 숫자로 잡혀 있음
  - 기어비는 1:9이고, `N=10` 외곽 핀과 9개 로터 로브를 사용함
  - 외경은 9.0cm, 즉 90mm임
  - 구동 모터는 NEMA 17 스테퍼 모터 `42bygh40-A24dh`임
  - 출력 재료는 PLA이고, 주요 하드웨어는 M3 x 8 나사 4개와 6704 베어링 2개임
  - 3D 프린트 clearance를 위해 전체에 `+0.15mm` tolerance offset을 적용함

- 이 프로젝트의 재미는 “수식으로 되는데요?”에서 끝나지 않았다는 점임
  - 마이크로 버전은 이론상 설계돼도 3D 프린팅 공차 때문에 실패함
  - 작동 버전은 크기를 키워 현실적인 clearance를 확보했음
  - 소프트웨어로 생성한 CAD 모델이 실제 물리 세계에서 맞물리려면, 수식뿐 아니라 재료, 프린터 정밀도, 베어링, 나사, 조립 공차까지 같이 봐야 한다는 걸 보여줌

---

## 기술 맥락

- 이 프로젝트의 선택은 ‘손으로 CAD를 그리는 대신 파라미터와 수식으로 감속기 형상을 생성한다’는 거예요. 감속기처럼 핀 개수, 편심량, 반경 하나만 바뀌어도 전체 프로파일이 바뀌는 구조에서는 스크립트 생성이 반복 실험에 훨씬 유리하거든요.

- 실패한 마이크로 버전이 중요한 이유는 설계가 틀렸다는 뜻이 아니라 제조 방식의 한계를 보여주기 때문이에요. NEMA 17과 같은 풋프린트에 넣으려면 공차가 아주 작아지는데, 일반 3D 프린팅 PLA 출력물은 그 정도 정밀도를 안정적으로 보장하기 어렵습니다.

- 작동 버전은 풋프린트를 키워 공차를 확보하는 쪽을 골랐어요. 작게 만드는 목표를 일부 포기했지만, 대신 실제로 돌아가는 감속기를 얻은 셈이에요. 하드웨어에서는 이 트레이드오프가 자주 나오고, 여기서는 그 판단이 결과로 증명됐어요.

- 개발자 관점에서 보면 Fusion 360 스크립트가 꽤 좋은 접점이에요. 파이썬 코드가 CAD 형상을 만들고, 그 형상이 3D 프린터와 베어링, 모터를 거쳐 실제 토크 측정으로 이어지니까요. 소프트웨어가 물리 설계를 자동화할 때 어디까지 책임져야 하는지 감이 옵니다.

## 핵심 포인트

- 파이썬 스크립트로 Fusion 360에서 사이클로이드 감속기 형상을 생성함
- 목표 감속비는 1:9이며, N=10 외곽 핀과 9개 로터 로브 구조를 사용함
- NEMA 17과 같은 풋프린트의 마이크로 버전은 3D 프린팅 정밀도 한계로 실패함
- 작동 버전은 더 큰 크기로 공차를 확보해 NEMA 17 스테퍼 모터에서 구동됨
- 측정값은 감속기 토크 1.3 N·m, 기본 NEMA 17 토크 0.21 N·m, 효율 66% ± 0.22%

## 인사이트

완성품보다 흥미로운 건 실패 이유까지 같이 공개했다는 점이다. 파라메트릭 설계, 공차, 실제 출력물의 정밀도 문제가 어떻게 맞물리는지 보여줘서, 소프트웨어로 하드웨어를 설계할 때 어디서 현실이 끼어드는지 꽤 잘 드러난다.
