AEGLOSLAB Arduino UNO Q 완전 가이드

제11부 3D 프린팅 활용

11.3 마운트·거치대·카메라 마운트 만들기

인클로저(11.1)만으로는 실전 프로젝트가 완성되지 않는다. 로봇 섀시에 고정하거나, 벽에 걸거나, 카메라를 원하는 각도로 세우는 등 UNO Q를 "어딘가에 고정하는" 부품이 따로 필요하다. 이 장은 실전에서 자주 쓰는 세 가지 마운트 — 로봇 섀시 마운트, 벽걸이 거치대, MIPI 카메라 모듈 마운트 — 의 설계 원칙을 다룬다.

마운트 종류 로봇 섀시 마운트 벽걸이 거치대 카메라 모듈 마운트 12.3 로봇·모터 제어 12.1 IoT 대시보드 12.2 카메라 비전 프로젝트

11.3.1 로봇 섀시 마운트

로봇에 UNO Q를 탑재할 때는 11.1.1에서 확인한 4개 마운팅홀(⌀3.2 mm, 68.58×53.34 mm 외곽 기준)을 그대로 체결점으로 쓰는 것이 가장 견고하다. 다만 두 가지를 미리 감안해야 한다.

  • 홀 좌표는 완전한 직사각형이 아닐 수 있다. 클래식 아두이노 UNO 계열 보드는 4개 마운팅홀이 정확한 직사각형을 이루지 않는 것으로 널리 알려져 있다(오래된 아두이노 커뮤니티의 대표적 불만 사항). UNO Q도 같은 폼팩터를 표방하므로, 스탠드오프 4개를 완전 대칭 격자로 미리 가공해 두었다가 나중에 맞지 않는 문제를 겪기보다는, 실물(또는 11.1.1에서 언급한 공식 CAD)로 좌표를 대조한 뒤 확정하는 편이 안전하다.
  • 나사 통과홀은 스펙값보다 약간 크게. 11.1.3에서 다룬 대로 ⌀3.2 mm 스펙 그대로 뚫으면 M3 나사가 프린터 공차 때문에 안 들어갈 수 있다. 통과홀은 ⌀3.4~3.5 mm를 기본값으로 설정한다.

체결 방식은 용도에 따라 달라진다.

방식장점단점적합한 경우
① 스탠드오프 + 나사(M3)가장 견고, 진동에 강함조립·분해에 시간 소요, 인서트 너트 필요할 수 있음상시 가동 로봇, 진동이 심한 구동계
② DIN 레일·클립 마운트공구 없이 탈부착레일 자체를 섀시에 설치해야 함산업풍 프로젝트, 탈부착이 잦은 시험 환경
③ 벨크로·범퍼 마운트즉석 설치, 진동 일부 흡수장기 고정력 약함, 헐거워질 수 있음프로토타입 단계, 임시 배치

로봇은 주행 중 진동이 발생하므로, 보드를 직접 나사로 강체 고정하기보다 나일론 로크너트 + 고무 그로밋으로 약간의 진동 절연을 주는 구성이 실전에서 흔히 쓰인다. 무게 중심을 낮추고 배선(USB-C, JDIGITAL1/JANALOG1 헤더 방향)이 바퀴·모터 쪽과 간섭하지 않도록 보드 방향을 미리 정해두는 것도 중요하다 — 커넥터 위치는 11.1.2의 표를 참고한다.

아래는 위 원칙(보드 마운팅홀 체결 + 그로밋 진동 절연 + 섀시 체결 슬롯)을 반영한 로봇 섀시 마운트 플레이트의 OpenSCAD 예시다. 보드 쪽 치수는 11.1.1·11.1.3의 확정값·공식을 그대로 쓰고, 섀시 쪽 체결 그리드는 로봇 섀시 제품마다 다르므로 플레이스홀더로 남겨 실제 섀시에 맞게 조정하도록 했다.

// ================================================================
// 11.3.1 예시 — 로봇 섀시 마운트 플레이트
// 보드 마운팅홀: 11.1.1 데이터시트 확정값(68.58×53.34mm, ⌀3.2mm×4)
// 나사 통과홀 여유: 11.1.3(⌀3.4mm), 진동 절연용 그로밋 카운터보어 추가
// ⚠️ 섀시 체결 슬롯 간격(chassis_grid)은 로봇 섀시 제품마다 다르므로
//    확인 필요 — 여기서는 흔한 다공판 스타일 10mm 격자를 예시로 썼다.
// ================================================================
$fn = 48;

// ── 보드 치수·마운팅홀 (11.1.1) ─────────────────────────────
board_x = 68.58;
board_y = 53.34;
board_hole_inset_x = 3.0;   // mm, 확인 필요 — 근사치(11.1.1)
board_hole_inset_y = 2.7;   // mm, 확인 필요

// ── 보드 체결 스탠드오프 (11.1.3 / 11.3.1) ────────────────
board_hole_dia = 3.4;    // 통과홀(스펙 3.2mm + 프린터 공차 여유)
grommet_dia    = 6.0;    // 고무 그로밋 카운터보어 지름 — 사용 그로밋 실측 후 조정
grommet_depth  = 1.5;    // 카운터보어 깊이
standoff_dia   = 7.5;
standoff_h     = 5.0;    // 그로밋 두께를 감안해 11.1.3 기준(2+1mm)보다 여유

// ── 마운트 플레이트 본체 ───────────────────────────────────────
plate_margin = 8.0;      // 보드 외곽~플레이트 테두리(섀시 체결부 확보)
plate_x = board_x + 2 * plate_margin;
plate_y = board_y + 2 * plate_margin;
plate_t = 3.0;

// ── 섀시 체결 슬롯 (그리드 간격 확인 필요 — 실제 섀시에 맞춰 조정) ──
chassis_grid   = 10;     // mm, 확인 필요
chassis_slot_w = 3.4;    // M3 슬롯 폭
chassis_slot_l = 6.0;    // 슬롯 길이(위치 미세 조정 여유)

module board_standoffs() {
    for (x = [board_hole_inset_x, board_x - board_hole_inset_x])
        for (y = [board_hole_inset_y, board_y - board_hole_inset_y])
            translate([plate_margin + x, plate_margin + y, 0])
                difference() {
                    union() {
                        cylinder(d = standoff_dia, h = standoff_h);
                        // 그로밋 카운터보어(진동 절연) — 스탠드오프 상단
                        translate([0, 0, standoff_h - grommet_depth])
                            cylinder(d = grommet_dia, h = grommet_depth + 0.5);
                    }
                    translate([0, 0, -1])
                        cylinder(d = board_hole_dia, h = standoff_h + 2);
                }
}

module chassis_slots() {
    // 플레이트 네 모서리 인근에 슬롯형 체결 홀 배치(그리드 예시)
    positions = [
        [chassis_grid, chassis_grid],
        [plate_x - chassis_grid, chassis_grid],
        [chassis_grid, plate_y - chassis_grid],
        [plate_x - chassis_grid, plate_y - chassis_grid]
    ];
    for (p = positions)
        translate([p[0], p[1], -1])
            hull() {
                cylinder(d = chassis_slot_w, h = plate_t + 2);
                translate([chassis_slot_l - chassis_slot_w, 0, 0])
                    cylinder(d = chassis_slot_w, h = plate_t + 2);
            }
}

module chassis_mount_plate() {
    difference() {
        union() {
            cube([plate_x, plate_y, plate_t]);
            board_standoffs();
        }
        chassis_slots();
    }
}

chassis_mount_plate();

로봇·모터 제어 실전 프로젝트는 12.3에서 이어진다.

11.3.2 벽걸이 거치대

디스플레이 캐리어를 연결해 대시보드처럼 벽에 거는 구성(12.1 참고)에서는 키홀(keyhole) 슬롯이 표준적인 설계다. 나사 머리가 들어가는 넓은 원(지름이 나사 머리보다 큼) 아래로, 나사 몸통만 걸리는 좁은 슬롯이 이어진 형태다. 벽에 나사를 절반 정도 체결해 두고 케이스를 위에서 아래로 걸어 내리면 고정되는 방식이라 공구 없이 탈부착할 수 있다.

키홀 슬롯 (나사머리 진입 + 슬라이드 고정) 벽면 틸트 10~15° 벽걸이 거치대 — 키홀 슬롯 + 시야각 틸트(개념도)

디스플레이가 장착된 구성이라면 시야각도 고려한다. 벽에 수직으로 밀착하기보다 10~15° 정도 아래로(또는 위로) 기울이면 눈높이보다 높거나 낮게 설치될 때도 화면이 잘 보인다 — 이는 일반적인 거치대 설계 관행이며 UNO Q 고유의 스펙은 아니다.

케이블 매니지먼트도 함께 설계한다. USB-C·전원 커넥터가 보드 상단 모서리에 있다는 점(11.1.2)을 감안하면, 거치대를 세로로 걸 때 케이블이 자연스럽게 아래로 늘어지는 방향으로 보드 방향을 정하는 편이 배선 정리에 유리하다. 급격하게 꺾이는 배선은 커넥터에 지속적인 응력을 줘 장기적으로 접촉 불량의 원인이 된다.

IoT 대시보드 실전 프로젝트는 12.1에서 이어진다.

11.3.3 MIPI 카메라 모듈 마운트

카메라 마운트를 설계하기 전에 반드시 확인해야 할 구조적 사실이 있다. UNO Q에는 라즈베리파이처럼 보드 가장자리에 리본 케이블을 바로 연결하는 전용 CSI 커넥터가 없다. 데이터시트 10장("High-Speed Peripherals")에 따르면 4레인 MIPI-CSI-2(1.8V I/O)는 JMEDIA1 — 60핀 보드-투-보드 커넥터, 바닥면(하부) 위치에 노출되어 있다(11.1.2, 2.3 참고). 즉 카메라를 연결하려면 이 JMEDIA1 커넥터에 장착되는 카메라 캐리어 보드가 있어야 하고, "카메라 마운트"는 실질적으로 "카메라가 연결된 캐리어 보드 전체를 고정하는 마운트"로 설계해야 한다. Arduino 공식 문서도 "MIPI-CSI 카메라, MIPI-DSI 디스플레이용 캐리어"로 확장한다고 언급하고 있어, 이런 캐리어 보드의 존재 자체는 공식적으로 예고돼 있다.

정직하게 밝힌다: 이 절 작성 시점(2026-08)까지, UNO Q 전용 MIPI 카메라 캐리어 보드의 공식 치수도, 그 캐리어를 겨냥한 커뮤니티의 카메라 전용 마운트 STL도 확인되지 않았다. 11.2.1에서 찾은 커뮤니티 설계는 모두 보드 자체의 보호 케이스였다. 아래 설계 원칙은 ① 일반적인 카메라 마운트 설계 관행과 ② UNO Q에서 확인된 커넥터 구조(JMEDIA1가 바닥면에 있다는 사실)를 조합한 것이며, 실제 카메라 캐리어 보드를 입수하면 정확한 치수로 다시 검증·갱신해야 한다.

이를 전제로 한 설계 원칙:

  • 힌지형 vs 고정형: 로봇의 시선 추적·팬틸트처럼 각도를 바꿔야 하면 힌지(회전축 + 마찰 고정 또는 나사 고정)를, 감시·정면 촬영처럼 각도가 고정이면 단순 고정 브래킷을 택한다.
  • 삼각대 나사산 인서트: 범용 삼각대·미니 짐벌에 물릴 수 있도록 1/4-20 UNC 규격의 황동 인서트(열삽입)를 마운트 바닥에 매립해 두면 활용도가 크게 늘어난다. 이는 카메라 업계의 표준 규격이라 UNO Q와 무관하게 안전하게 적용할 수 있다.
  • 리본 케이블 곡률 여유: 캐리어 보드와 카메라 센서 사이가 FPC(연성 인쇄회로) 케이블로 연결되는 구성이 일반적이다. 마운트 설계 시 케이블이 급격히 꺾이지 않도록 여유 공간을 두어야 한다 — 정확한 최소 곡률 반경은 실제 사용하는 케이블 제조사 스펙에 따라 다르므로, "케이블 두께의 수 배 이상" 정도의 충분한 여유를 기본으로 확보하고 실물로 확인한다.
  • 캐리어 보드 자체의 마운팅홀: 카메라 캐리어 보드가 시판되면 그 보드만의 홀 패턴이 있을 것이다. 현재로선 확인할 수 없으므로, 마운트를 설계할 때 캐리어 보드 크기에 여유를 두거나, 범용 클램프 방식(나사로 조여 고정)으로 설계해 두면 캐리어 스펙이 공개된 뒤에도 재설계 없이 대응할 수 있다.

카메라 비전 실전 프로젝트는 12.2에서 이어진다.

11.3.4 공통 설계 팁

세 가지 마운트에 공통으로 적용되는 실전 팁을 정리한다.

  • 인서트 너트 vs 셀프탭: 반복적으로 탈부착하는 부위(케이스 뚜껑, 카메라 힌지 등)는 황동 열삽입 인서트를 쓰는 편이 나사산 마모에 강하다. 한 번 조립하고 잘 안 여는 부위(마운팅 베이스 등)는 셀프탭 나사로 충분한 경우가 많다.
  • 스탠드오프 높이 계산: 11.1.3의 공식을 그대로 확장하면

$$ h_{standoff} \geq h_{bottom\ parts}(<2\,\text{mm}) + t_{PCB} + t_{clear} $$

PCB 두께 $t_{PCB}$는 데이터시트에 명시되어 있지 않다 — 일반적인 FR4 PCB 두께(약 1.6 mm)를 가정값으로 쓰되, 이는 UNO Q에서 실측 검증된 값이 아니라는 점을 표기해 둔다.

  • 프린트 방향: 나사 체결력을 많이 받는 마운팅홀은 홀의 축이 프린터의 Z축(적층 방향)과 수직이 되도록(즉 보드를 눕혀서) 인쇄하면, 레이어 사이 결합보다 레이어 내부 강도를 쓰게 되어 나사 체결·진동에 더 잘 견딘다. 이는 FDM 프린팅의 일반 원칙이며 UNO Q 고유의 특성은 아니다.
  • 재질은 11.1.4 기준을 그대로 따른다. 특히 카메라 마운트처럼 실외·창가에 놓일 가능성이 있는 부품은 PLA보다 PETG를 우선 고려한다.

11.3.5 체크리스트

마운트 종류핵심 확인 사항관련 실전 프로젝트
로봇 섀시 마운트홀 좌표 실측 대조, 진동 절연(그로밋), 배선 방향12.3
벽걸이 거치대키홀 슬롯 치수, 시야각 틸트, 케이블 처짐 방향12.1
카메라 모듈 마운트캐리어 보드 치수(확인 필요), 힌지/고정 선택, 삼각대 인서트, FPC 곡률 여유12.2

인클로저(11.1)와 설계 방식 선택(11.2)에 이어, 이 장의 마운트들은 제12부 실전 프로젝트(12.1~12.3)에서 실제로 조합된다.