04 조립: 프린팅, 제작, 배선
완성품 사용자는 이 페이지를 건너뛰어도 됩니다: 공장에서 이미 프린팅, 조립, 배선 및 검사를 마쳤습니다(index의 출고 상태 절 참조). 부품으로 직접 제작하거나 부품을 교체할 때만 이 페이지를 따르세요.
4.1 프린팅과 검사
- 하단 플레이트, 숄더 서보 마운트, 엘보 서보 마운트, 상단 스트럿을 프린트하세요(각 1개);
- 캘리퍼스로 베이스 외곽(약 88 × 82 mm)과 전체 높이(약 68 mm)를 확인하세요;
- 25T 서보 혼을 해당 슬롯에 시험 장착하세요; 간섭이 없을 때만 나사로 고정하세요;
- 프린트한 모든 부품의 무게를 재서
hardware/v1/meshes/print_mass_model.json과 대조해 기록하세요.
4.2 서보 준비 (펌웨어 영점과 서보 혼 장착)
- 먼저 배선하고 플래싱하세요: 4.4절의 표에 따라 서보 2개, IMU, 서보 전원, 공통 그라운드를 배선하고(기계 부품은 아직 장착하지 않음; 메인 펌웨어는 부팅에 IMU가 필요), 03 페이지 3.1절에 따라 메인 펌웨어를 플래싱하세요;
- 펌웨어 영점으로 전원 투입: 115200 시리얼 포트를 열고(시리얼 도구 / UartAssist 다운로드는 03 페이지 3.3절) 전원을 켜세요; 부팅 후 펌웨어가 두 서보를 q=0으로 구동합니다(센터 펄스 1681 / 1456 µs). 로그에
servo start q: 0.00 0.00 rad와ready; send g to run(또는autorun on: ...)이 표시되면 서보가 영점에 있는 것입니다; - 전원 끄기: 서보 전원을 차단하고(USB는 연결된 채로 두어도 됨) 두 서보에 부하가 걸리지 않았는지 확인하세요;
- 서보 혼 장착: 상부 암이 수직이 되도록 숄더 혼을, 전완이 일직선이 되도록 엘보 혼을 장착하세요; 조인 뒤 손으로 전체 가동 범위를 확인하세요;
- 방향 규약(시뮬레이터와 일치):
shoulder +q는 큰 암을 −Y 방향으로,elbow +q는 전완을 +X 방향으로 움직입니다; 펌웨어 기본값은SERVO_SHOULDER_SIGN=-1,SERVO_ELBOW_SIGN=-1입니다.
펌웨어 센터 값 1681 / 1456 µs에는 공장 캘리브레이션의 서보 혼 재인덱싱이 이미 반영되어 있습니다 - 톱니를 세지 마세요: 암을 수직으로 맞춘 상태에서 펌웨어 영점에 혼을 장착하세요. 또는(동등하며 선택 사항) 시리얼 송신 상자에
e를 입력하고 Enter를 눌러 두 서보를 1520 µs 전기적 중심으로 이동시킨 뒤 그 위치에 장착해도 됩니다(03 페이지의 명령 표 참조); 어느 쪽이든 05 페이지의z명령이 최종 정밀 영점을 잡습니다.
펌웨어 영점에서의 장착은 대략적인 센터링일 뿐입니다(혼의 스플라인이 이산적임). 정밀 영점은 전체 조립과 메인 펌웨어 플래싱(03 페이지) 이후 05 페이지 영점 도구로 설정해야 합니다: 눈으로 수직인 자세를 q=0으로 선언하고(
z는 IMU를 사용하지 않으므로 어떤 자세에서도 동작), 출력된 펄스 폭을config.h에 구워 다시 플래싱하세요. 혼을 완벽하게 장착하지 못했더라도 이 영점 조정이 바로잡습니다; 한쪽 가동 범위가 부족할 때(펄스가 500/2500 µs에서 클램프됨)만 혼을 빼서 재인덱싱하면 됩니다. 혼 인덱스는 가동 범위가 양쪽으로 어떻게 나뉘는지를 결정합니다; 펌웨어 수동 제한(Q_SHOULDER_MIN/MAX)은 실제 가동 범위와 일치해야 하며 - 넓히지 마세요. 영점 조정 후에는 05 페이지에 설명된 대로 모든 시퀀스 웨이포인트를 이동시키세요. 그렇지 않으면 실제 기립 자세가 어긋납니다.
4.3 베이스와 암 조립
- 하단 플레이트와 숄더 서보 마운트를 M3 나사로 고정해 베이스를 만드세요 (높이 약 68 mm);
- 숄더 서보를 숄더 마운트에 설치하고 혼이 위를 향하게 하세요;
- 엘보 서보 마운트를 숄더 혼에 부착하고 조이세요(상부 암이 됨); 엘보 서보를 엘보 마운트에 설치하세요;
- 상단 스트럿(전완)을 엘보 혼에 연결하세요;
- 암을 손으로 수직(
q≈0)으로 움직여 서보 센터와 일치하는지 확인하세요.
4.4 배선
| 장치 | ESP32-S3 핀 | 어댑터 | 비고 |
|---|---|---|---|
| 어댑터 3V3 | 3V3 | S1 신호 핀 | 반대쪽은 IMU VCC(3.3 V)에 연결 |
| 숄더 신호 | GPIO4 | S4 | 50 Hz PWM |
| 엘보 신호 | GPIO5 | S5 | 50 Hz PWM |
| IMU SDA | GPIO6 | S6 신호 핀 | 반대쪽은 IMU SDA에 연결; I²C 0x23, 100 kHz |
| IMU SCL | GPIO7 | S7 신호 핀 | 반대쪽은 IMU SCL에 연결; I²C 0x23, 100 kHz |
| IMU GND | GND | — (직결) | 공통 그라운드 |
| LED(선택 사항) | GPIO2 | — | 상태 LED |
| 5 V 전원 입력 | 5V / GND | — | 1-to-2 케이블: 한 갈래는 ESP32로, 한 갈래는 서보용 어댑터 V+/GND로 |
| 서보 전원 | — | V+/GND 단자 | 5 V / ≥5 A; 더 높은 전압은 반드시 이 단자로만 공급하고 ESP32 5V에는 절대 연결하지 마세요 |
| S2 / S3 | — | — | 연결하지 않음 |
참고:
- 어댑터는 패시브 패스스루입니다: S1/S6/S7은 신호 핀으로 3V3 / SDA / SCL을 전달하고, S4/S5는 서보 신호를 전달합니다; 모든 헤더의 V+/GND/신호 순서를 확인하세요 - 극성이 뒤바뀌면 서보나 보드가 파손됩니다;
- I²C 배선은 짧게 유지하고 서보 배선에서 떨어뜨리세요; 모듈 풀업은 3.3 V입니다;
- 5 V 전원을 사용하면 ESP32 5V/GND에 전원을 공급하고 같은 전원을 어댑터 V+/GND로 분기해 서보에 공급해도 됩니다; 더 높은 전압(6 V / 7.4 V)은 어댑터 V+/GND에만 공급해야 하며 ESP32는 USB로 전원을 공급해야 합니다;
- 5 V 배터리로 ESP32에 전원을 공급하는 경우 Type-C를 꽂아 둬도 됩니다: 공식 DevKitC-1 회로도에서 각 USB VBUS는 쇼트키 다이오드를 통해 5V 네트에 도달하므로 역류가 없고 USB는 데이터(및 보조 전원)로 동작합니다. 이 다이오드가 빠진 클론 보드를 사용하거나 확인할 수 없다면, 플래싱 중에는 ESP32로 가는 5 V 갈래를 분리하고 USB로 전원을 공급하세요(옵션 2);
- 디버깅/플래싱 중 전원(둘 다 정상; 하나 선택):
- 5 V 전원이 분배 케이블을 통해 ESP32와 서보에 공급되고, USB는 데이터만 전달;
- 이해하기 더 쉬운 방법: ESP32로 가는 5 V 갈래를 분리하고 ESP32는 USB로만 전원을 공급하며 5 V 전원은 서보에만 공급. 플래싱, 시리얼 모니터링,
c캘리브레이션에는 옵션 2를, 독립 동작에는 옵션 1을 사용하세요;
- 첫 전원 투입 시에는 서보를 분리한 채로 두고, 멀티미터로 V+ 극성과 전압을 확인한 뒤 서보 하나, 그다음 둘 다를 테스트하세요;
- 배선 순서: 그라운드와 신호 → 5 V 전원(ESP32와 서보 동시) → 필요할 때 시리얼 포트용 USB. 전원을 끌 때는 역순으로 하세요.
4.5 IMU 장착 방향
IMU는 나사로 베이스에 고정됩니다(방향 조정 불가). 따라서 펌웨어는 IMU_YAW90을 활성화하고 IMU 좌표계의 상향 벡터를 몸체 좌표로 변환합니다:
up_body = (up_imu.y, -up_imu.x, up_imu.z)기계적 방향 점검(서보를 장착한 뒤, 전원 투입 전에 가능): IMU 모듈에 인쇄되어 있거나 문서화된 축을 기준으로,
- 숄더 서보 출력축(혼이 장착되는 축; 혼 축 또는 기어 축이라고도 함)은 IMU −Y를 향합니다;
- 엘보 서보 출력축은 IMU +X를 향합니다.
아래에서 위로 두 서보는 숄더(아래) → 엘보(위) 순서입니다; 혼을 장착하거나 배선할 때 서로 바꾸지 마세요.
이 두 방향이 몸체의 숄더 축과 엘보 축입니다; 하드웨어와 일치하지 않으면 IMU나 서보 마운트가 반대로 설치된 것입니다 - 전원을 켜기 전에 바로잡으세요.
전원 투입 후 06 페이지에서 다시 확인하세요: 똑바로 세우면 up≈(0, 0, 1); 네 가지 눕힌 자세는 6.5절의 표에 나와 있습니다.

