콘텐츠로 바로가기

Actuators & Physical Modeling

전기 에너지를 물리적 회전이나 선형 운동으로 변환하는 모터 및 액추에이터의 구동 원리와, 이를 정밀하게 제어하기 위한 하드웨어 인터페이스를 다루는 학습 노드입니다.

Article
M

Me

hyunyoun's Blog

computer-architecture-embedded-systemscomputer-architectureembedded-systemsroboticscontrol-systems-mechanicsactuatorsphysical-modelinglearning10 min read

1. Overview

액추에이터와 물리 모델링(Actuators & Physical Modeling)은 소프트웨어의 가상 공간에서 계산된 수학적 명령을, 기어(Gear)와 전류(Current)라는 매개체를 통해 현실 세계의 무거운 쇳덩어리를 움직이는 운동 에너지(Kinetic Energy)로 치환하는 하드웨어-소프트웨어 경계면 공학입니다.

학습자는 CPU의 약한 3.3V 디지털 신호가 H-브리지(H-Bridge) 회로를 거쳐 수십 암페어(A)의 폭발적인 아날로그 전력으로 증폭되는 **모터 드라이버(Motor Driver)**의 전력 변환 역학을 뜯어봅니다. 나아가 코일에 흐르는 전류와 자기장이 만들어내는 토크(Torque)의 물리학을 이해하고, 모터의 관성(Inertia), 마찰력(Friction), 백래시(Backlash) 같은 비선형적인 물리 법칙들을 미분 방정식으로 표현하는 **플랜트 모델링(Plant Modeling)**을 통달하여, 제어기가 예측 가능한 가상 환경을 수학적으로 구축하는 로보틱스 아키텍트 역량을 확보합니다.

2. Scope & Boundaries

In-Scope

  • 전력 전자 역학 (Power Electronics): H-브리지 인버터, 펄스 폭 변조(PWM) 전력 제어, 데드 타임(Dead Time) 폭파 방지.
  • 전기-기계 변환 (Electro-mechanical): BLDC(브러시리스 직류) 모터, 스테핑(Stepper) 모터, 서보(Servo) 모터의 구동 원리와 토크 상수.
  • 물리계 수학적 모델링 (Plant Modeling): 질량-용수철-댐퍼(Mass-Spring-Damper) 시스템, 상태 공간 방정식(State-Space Equation), 전달 함수(Transfer Function).
  • 비선형성 (Non-linearity): 기어 마찰(Stiction/Coulomb Friction), 기어 백래시(Backlash), 센서 노이즈(Noise).

Out-of-Scope

  • 제어 알고리즘 본체: PID 제어기나 LQR 피드백 루프 같은 제어(Control) 자체 \rightarrow 02-08-02. Control & Stability 영역.
  • 공간 좌표 변환: 로봇 팔의 관절 각도를 통해 끝단의 위치(X,Y,Z)를 구하는 운동학 \rightarrow 02-08-03. Kinematics & Planning 영역.

Boundaries

  • Modeling vs. Control (02-08-02): 물리 모델링(02-08-01)이 "이 로봇 팔은 100의 힘을 주면 관성 탓에 0.5초 뒤에 30도만큼 꺾인다"는 '현실 물리계의 스펙과 수학적 시뮬레이터(Plant)를 만드는 작업'이라면, 제어(02-08-02)는 "그 스펙을 바탕으로 정확히 30도에서 멈추기 위해 브레이크를 언제 밟을지 계산하는 수학적 두뇌(Controller)를 만드는 작업"입니다.

3. Counterexample

  • PWM과 관성의 무지 (Bang-Bang Control Trap): 모터를 돌리기 위해 PWM 0%에서 갑자기 100%로 풀 파워를 때려버리는 무식한 펌웨어 설계. 무거운 로봇 팔의 거대한 관성(Inertia)을 무시하고 순간적으로 엄청난 전압을 때리면, 코일이 저항을 견디지 못하고 전류 스파이크가 튀어 모터 드라이버 칩이 물리적으로 불타버립니다. 부드러운 가속 프로파일(S-Curve/Trapezoidal) 모델링이 없는 구동은 하드웨어 파괴로 직결됩니다.
  • 선형성의 착각 (Ideal Plant Illusion): 마찰력도 0, 기어 틈새(백래시)도 0인 완벽한 수학 공식(전달 함수)만 짜놓고, 제어기를 돌려보니 "시뮬레이션에선 완벽한데 현실에선 모터가 덜덜 떤다"며 당황하는 초보자. 현실의 쇳덩어리는 멈춰있을 때 정지 마찰력(Stiction)이 커서 힘을 줘도 안 움직이다가 임계점을 넘는 순간 확 튕겨 나가는 극단적 비선형성을 가집니다. 이 끈적끈적한 쿨롱 마찰(Coulomb Friction)을 모델링(식)에 넣지 않으면 제어기는 영원히 현실을 통제할 수 없습니다.

4. Prerequisites

  • 타이머와 PWM (Basic): 디지털 논리로 아날로그 전압의 평균을 흉내 내는 PWM 기법을 알아야 모터의 속도를 통제할 수 있습니다. (02-05-06 Embedded Controllers)
  • 고전 역학 (Recommended): F=maF=ma(힘과 가속도), τ=Iα\tau = I \alpha(토크와 각가속도) 같은 기본 뉴턴/오일러 물리 법칙에 대한 직관이 필요합니다.

5. Learning Map

Sequence Core Cluster Objective & Description Evidence (BoK)
1 Motor & H-Bridge 3.3V 핀 신호 4개로 스위치(FET)를 열고 닫아 24V 대전류의 방향을 확확 뒤집는 전력 펌프(인버터)를 쥡니다. P1
2 BLDC & Sensored 회전하는 영구자석을 센서(홀/엔코더)로 쫓아가며, 정확한 타이밍에 코일 전압을 때려 회전력을 뽑는 마법을 뜯어봅니다. P5
3 State-Space Modeling 쇳덩어리(모터+기어)의 관성과 마찰력을 xdot=Ax+Bux_{dot} = Ax + Bu 형태의 미분 방정식 행렬로 우겨넣어 시뮬레이터를 맹급니다. Industry
4 Non-linearities 톱니바퀴가 덜그럭거리는 틈새(Backlash)와 끈적한 정지 마찰력을 수식에 섞어 현실과 100% 똑같은 가상 플랜트를 완성합니다. Industry

6. Learning Topics

Basic

Core Topic 01: 3.3V로 24V 쇳덩어리를 치는 펌프, H-브리지 (H-Bridge Inverter)

  • Why to Learn: MCU 코어에서 나오는 3.3V 좁쌀만 한 전기로는 장난감 모터 하나 돌릴 수 없으므로, MCU의 두뇌 신호를 거대한 전력(24V, 10A) 근육으로 스위칭 증폭해 내는 전력 전자 회로의 뼈대를 쥐기 위함입니다.
  • What to Learn:
    • Concepts: H-브리지 회로, MOSFET 스위칭, 슛스루(Shoot-through) 단락, 데드 타임(Dead Time).
    • Skills: 정방향/역방향 전류 스위칭 매트릭스, PWM 듀티 통제.
    • Tools: 오실로스코프 (PWM 파형 검증).
    • Trade-offs: 스위치를 아주 빠르게 껐다 켰다(수십 kHz) 하면 모터가 부드럽게 돌지만 칩에 스위칭 열(Heat)이 미친 듯이 나서 방열판이 필요하고, 느리게(수백 Hz) 켜면 칩은 시원한데 모터에서 삐~ 하는 귀신 소리(가청 주파수 공진)가 나는 주파수 딜레마.
  • How to Learn:
    • 1단계: 4개의 스위치(트랜지스터)를 H자 모양으로 배치하고, 대각선 스위치 2개만 열면 전류가 오른쪽으로 흘러 모터가 정회전, 반대 대각선을 열면 전류가 왼쪽으로 역류하여 역회전하는 무식하고도 직관적인 스위칭 역학을 해부합니다.
    • 2단계: 정회전 상태에서 역회전으로 급히 바꿀 때, 기존 스위치가 채 닫히기도 전에 반대쪽 스위치를 열어버리면 위쪽 24V에서 아래쪽 GND로 전기가 직행(쇼트)하여 불꽃이 튀며 칩이 타버리는 현상(Shoot-through)을 막기 위해, 중간에 0.001초 모두 다 끄고 쉬는(Dead Time) 생존 본능을 뜯어봅니다.
  • Implement: 4개의 boolean 변수(S1, S2, S3, S4)로 구성된 파이썬 스위치 시뮬레이터. S1S2가 동시에 True가 되는 순간(같은 쪽 위아래 스위치 On) Short_Circuit_Explosion() 에러를 던져 프로그램이 폭파되는 데드 타임 방어벽 데모 구축.

Core Topic 02: 자석을 쫓는 전기의 채찍질, BLDC와 엔코더 (BLDC Mechanics)

  • Why to Learn: 닳아 없어지는 물리적 브러시(Brush)를 없애버린 수명 무한의 BLDC 모터를 굴리기 위해, 눈을 가린 채 허공에 전기를 쏘는 게 아니라 모터의 회전 위치를 정확히 보고 코일을 치는 정밀 제어의 눈을 달기 위해서입니다.
  • What to Learn:
    • Concepts: BLDC(Brushless DC) 모터, 홀 센서(Hall Sensor), 광학 엔코더(Optical Encoder), 전기각(Electrical Angle) vs 기계각(Mechanical Angle).
    • Skills: 6스텝(6-Step) 정류(Commutation), 포지션 피드백 리딩.
    • Tools: 로직 애널라이저(엔코더 A/B/Z 상 파형).
    • Trade-offs: 홀 센서는 내구성이 좋고 싸지만 모터 한 바퀴 돌 때 위치를 6번밖에 못 읽어서 저속에서 덜덜 떨리는 반면, 2000줄짜리 광학 엔코더를 달면 한 바퀴에 8000번 위치를 추적하여 바늘 꿰는 정밀 제어가 가능해지지만 센서 가격이 모터보다 비싸지는 광학의 비용.
  • How to Learn:
    • 1단계: BLDC 안에는 영구자석이 빙빙 돌고 바깥쪽엔 3개의 전자기 코일 뭉치(U, V, W)가 있습니다. 자석이 N극을 내밀 때 귀신같이 그 앞쪽 코일만 S극으로 변환시켜 자석을 유혹해 당기는 타이밍 마법(Commutation)을 해부합니다.
    • 2단계: 자석이 대체 지금 어디 있는지 보이지 않는 쇳덩이 속에서, 빛의 깜빡임을 세는 센서(엔코더)로 현재 각도를 0.1도 단위로 읽어 들여 CPU에게 "지금 타이밍에 쳐라!"라고 인터럽트를 때리는 물리적-디지털 변환을 뜯어봅니다.
  • Implement: 현재 Rotor_Angle(0~359도)을 가진 모터 객체 시뮬레이션. Encoder.read()가 각도를 반환하면 MCU 루틴이 60도 구간마다 U/V/W 코일의 PWM(On/Off) 상태를 스위칭하여, 매 틱(Tick)마다 회전 토크(Torque)가 +값으로 연속 생성되는 6스텝 통전 로그 증명.

Practical

Core Topic 03: 쇳덩어리의 수학적 영혼 주입, 플랜트 미분 방정식 (State-Space Equation)

  • Why to Learn: 현실의 모터에 PWM을 쏴보고 "어 1초 뒤에 한 바퀴 도네"라며 주먹구구로 코딩하는 짓을 멈추고, 코딩 단 한 줄 치기 전에 랩탑 화면 속 가상 시뮬레이터에서 로봇의 뼈와 관성을 100% 똑같이 구동시키는 수식을 쥐기 위함입니다.
  • What to Learn:
    • Concepts: 상태 공간 모델(State-Space Model, x˙=Ax+Bu\dot{x} = Ax + Bu), 질량-스프링-댐퍼 시스템, 모터 전기-기계 방정식.
    • Skills: 상태 변수(State Variable) 정의, 차분 방정식(Difference Equation) 변환, 루프 시뮬레이션.
    • Tools: MATLAB / 파이썬 SciPy.
    • Trade-offs: 플랜트 수식을 ss 도메인의 전달 함수(Transfer Function)로 짜면 입력 1개 출력 1개짜리 단순 모터에선 수식이 예뻐지지만, 입력 10개 출력 10개짜리 드론이나 관절 로봇에서는 수학이 꼬여 터지므로 결국 무지막지한 행렬 덩어리(State-Space)로 쑤셔 박아 컴퓨터로 때려 푸는 현대 제어의 타협.
  • How to Learn:
    • 1단계: 모터에 전압 VV를 걸면 전기 코일에 저항(RR)과 인덕터(LL)가 전류 흐름을 방해하고, 그 전류가 기계 쪽으로 넘어와 토크(τ\tau)를 만들면 이번엔 쇳덩이의 관성 모멘트(JJ)와 마찰력(BB)이 끈적하게 각가속도(θ¨\ddot{\theta})를 깎아먹는 2원화 물리 법칙을 융합합니다.
    • 2단계: 복잡한 2차 미분 방정식을 컴퓨터가 풀 수 있게 제일 쪼잔한 변수 단위(상태 변수 x1=x_1=각도, x2=x_2=각속도)로 쪼갠 뒤, xk+1=Axk+Bukx_{k+1} = A x_k + B u_k 라는 거대한 1차 행렬 곱셈 덩어리로 예쁘게 포장하는 기하학을 뜯어봅니다.
  • Implement: 모터의 관성 J=0.01J=0.01, 마찰계수 b=0.1b=0.1을 갖는 파이썬 행렬 시뮬레이션. 10V10\text{V} 전압 u를 계단(Step) 형태로 입력했을 때, 루프 안에서 상태 xx 행렬이 미분 적분(Euler Method)되어 속도 커브가 1et/τ1 - e^{-t/\tau} 형태로 부드럽게 꺾여 올라가는 모터 응답 곡선(Step Response) 데이터 추출.

Advanced

Core Topic 04: 완벽한 수학의 붕괴, 비선형 마찰과 백래시 (Non-linearities)

  • Why to Learn: 미분 방정식(Linear)만 믿고 완벽한 제어 코드를 짰는데, 막상 현실 기계에 물려보니 로봇 팔이 덜덜 떨며 춤을 추는 끔찍한 현상을 해결하기 위해 방정식 바깥의 더러운 현실 노이즈를 쑤셔 넣기 위해서입니다.
  • What to Learn:
    • Concepts: 정지 마찰(Stiction), 쿨롱 마찰(Coulomb Friction), 기어 백래시(Backlash), 데드존(Dead-zone).
    • Skills: 비선형 블록(Non-linear Block) 이산화 삽입, 루그레(LuGre) 마찰 모델 적용.
    • Tools: Simulink 비선형 블록 다이어그램.
    • Trade-offs: 정지 마찰 모델을 복잡하게 넣을수록 가상 플랜트가 현실 기계와 100% 똑같이 움직이지만(Digital Twin), 미분 방정식 안에 if (velocity == 0) 같은 분기문이 떡칠되어 시뮬레이션 연산 속도가 나락으로 떨어지고 해석적(수학적) 증명이 불가능해지는 난관.
  • How to Learn:
    • 1단계: 모터를 1단 기어에서 2단 기어로 돌릴 때, 톱니바퀴 이빨 사이에 공간(틈새)이 있어 모터가 반대 방향으로 도는 찰나의 순간 기어가 허공을 치고 각도 오차가 증발해 버리는 백래시(Backlash)의 잔혹한 물리를 해부합니다.
    • 2단계: 속도에 비례해서 마찰이 커진다는 선형적 착각을 부수고, 멈춰있을 땐 땅바닥에 껌딱지처럼 달라붙어 힘(τ\tau)을 줘도 각도(θ\theta)가 0으로 버티다가(Dead-zone), 임계점을 뚫는 순간 미친 듯이 미끄러지는 쿨롱 정지 마찰 기하학을 뜯어봅니다.
  • Implement: 가상 모터 플랜트의 dx/dtdx/dt 업데이트 수식 중간에 if abs(velocity) < 0.01 and torque < Breakaway_Torque: velocity = 0 방어벽을 박음. 천천히 토크를 증가시켜도 로봇 팔이 멈춰있다가, Torque=5를 넘는 순간 확 튕겨 나가며 계단 펄스 오버슛을 뿜는 비선형 지터링(Jittering) 시각화.

7. Terminology

Term (EN / ko, abbr) 1문장 정의 단계(기본/권장/실무/심화) 역할/맥락 관련 개념 유사/대비/함께 사용 오해 포인트 Evidence(Primary/Secondary/Industry) Flags(core)
Actuator (액추에이터) 전기, 유압, 공압 등의 에너지를 기계적 운동으로 변환하는 모든 물리 장치의 총칭입니다. 기본 구동체 Motor / Force Sensor '단순한 모터'보다 넓은 개념 P1:CS2023/ES core
H-Bridge 4개의 스위치 소자를 H자 형태로 배치하여 부하에 흐르는 전류의 방향을 물리적으로 바꾸는 회로입니다. 추천 드라이버 FET / Bridge Relay '소프트웨어 로직'이 아닌 하드웨어 Industry Elec core
Back-EMF (역기전력) 모터가 회전하면서 자계의 변화에 의해 공급 전압과 반대 방향으로 생성되는 물리적 유도 전압입니다. 실무 반작용/보조센서 Induction / Lenz Voltage '손실'만이 아닌 '정보'의 원천 Industry Eng. core
FOC (자계 지향 제어) 모터 내부의 자기장 흐름에 맞춰 전류를 벡터적으로 제어하여 효율을 극대화하는 물리 기법입니다. 심화 최고 효율 제어 Vector / Clarke Sinusoidal '단순한 속도 조절'과 차원 다름 Industry/Drones core

8. References

Primary

Secondary

  • [Electric Motors and Drives: Fundamentals, Types and Applications] Austin Hughes — The motor bible.
  • [Modern Control Engineering] Katsuhiko Ogata — Classical control foundations.

Industry

  • [STMicroelectronics: Motor Control Application Note (AN1905)] — Practical drive physics.
  • [Texas Instruments: InstaSPIN-FOC Technical Reference] — Industry standard for BLDC.

9. Final Checklist

Primary

  • 'PWM'의 듀티비(Duty Cycle)가 증가할 때 모터의 평균 회전 속도가 왜 물리적으로 비례하여 상승하는지 에너지 보존 관점에서 설명 가능한가? (P1)
  • 'H-브리지' 회로에서 대각선이 아닌 '같은 세로선'의 두 스위치가 켜졌을 때 어떤 물리적 참사(Shoot-through)가 발생하는지 입증할 수 있는 가? (P1)

Secondary

  • '서보 모터'가 부하를 견디기 위해 '토크'를 발생시킬 때, 내부 모터 모델과 기어비(Gear Ratio)가 속도와 힘의 물리적 교환에 어떤 영향을 주는지 소통 가능한가?
  • '역기전력(BEMF)'을 측정하여 센서 없이도 회전 속도를 알아낼 수 있는 하드웨어적 조건과 수리적 근거를 도출할 수 있는 가?

Industry

  • 고정밀 로봇 팔 설계 시, '스테퍼 모터'의 미세 보폭(Micro-stepping) 기술이 물리적 진동과 소음을 줄여주는 원리를 제안할 수 있는 가? (SFIA)
  • 전기 자전거 제어기 설계 시, 회생 제동(Regenerative Braking)을 통해 모터의 운동 에너지를 전기로 역전송하는 물리적 경로를 기술할 수 있는 가?

Robotics & Control Systems Mechanics

1 / 5