ROBOT ENGINEERING NOTES

로봇과 AMR의
전장 설계부터 인증까지

회로 실무, 산업자동화, Functional Safety, ISO 규격과 로봇 인증을 실제 설계 관점에서 정리합니다.

회로 실무 AMR / AGV Functional Safety ISO 13849 EMC / CE
AMR ENGINEERING GUIDE →

【회로-전장 실무】 PWM이란? | Duty Cycle, 주파수와 모터 속도제어 원리

PWM MOTOR CONTROL BASIC PWM은 전압을 낮추는 기능이 아니라
스위치를 빠르게 ON/OFF해 평균 Energy를 조절하는 방법이다

Duty Cycle과 Frequency부터 DC Motor 속도제어, Current Ripple, MOSFET Switching Loss와 Timer Resolution까지 회로와 MCU 관점으로 설명한다.

PWM은 Motor Control, LED 밝기조절, DC/DC Converter에서 매우 자주 사용된다. 그런데 "50% Duty면 24V가 12V로 바뀐다"라고만 이해하면 실제 Motor Current와 Switching Loss를 설명하기 어렵다.

가장 쉬운 정의
PWM은 Voltage Level 자체를 Analog로 낮추는 것이 아니라 Full Voltage를 빠르게 ON/OFF하고, ON 시간의 비율을 바꿔 Load에 전달되는 평균 Energy를 조절하는 방식이다.

1. Duty Cycle은 무엇인가?

Duty Cycle
Duty(%) = Ton / T × 100
Duty ON 시간 비율 이상적 평균전압 예, 24V Bus
0% 항상 OFF 0V
25% 1/4 ON 약 6V
50% 1/2 ON 약 12V
75% 3/4 ON 약 18V
100% 항상 ON 24V
Motor가 실제로 12V DC만 보는 것은 아니다.
50% Duty에서도 Motor Terminal에는 0V와 24V가 빠르게 반복되는 Switching Waveform이 걸린다. Motor Inductance와 Back EMF 때문에 Current가 평활되면서 평균 Torque와 Speed가 변한다.

2. PWM Frequency는 무엇인가?

fPWM = 1 / T

Period가 50µs라면 Frequency는 20kHz다.

3. Duty와 Frequency는 다른 값이다

20kHz에서 50% Duty와 1kHz에서 50% Duty는 ON 비율은 같지만 Current Ripple, Audible Noise, MOSFET Switching Loss는 달라질 수 있다.

항목 주로 영향을 주는 것
Duty Cycle 평균적인 Electrical Drive Level과 Operating Point
PWM Frequency Current Ripple, 소음, Switching Loss, Timer Resolution

4. DC Motor는 왜 PWM으로 제어할 수 있을까?

Motor Winding은 Resistance와 Inductance를 가진다. 그래서 Voltage가 ON되어도 Current가 즉시 최종값으로 올라가지 않는다.

V = L × di/dt

PWM OFF 구간에도 Current가 Freewheel Path를 통해 계속 흐를 수 있어 Motor Current는 완전히 0과 Peak를 반복하지 않고 Ripple이 있는 형태가 된다.

PWM이 Motor Motion으로 이어지는 과정
MCUPWM DutyDigital Command
GATEDriverMOSFET Switching
POWERVbusPulse Voltage
MOTORCurrentInductance로 평활
TORQUEKt × ITorque 발생
MOTIONSpeedLoad와 Back EMF 포함

5. Duty 50%면 Speed도 정확히 50%일까?

아니다. 실제 Speed는 Supply Voltage, Load Torque, Winding Resistance, Back EMF, Driver Voltage Drop과 Current Limit에 의해 결정된다.

PWM Duty는 Speed 그 자체가 아니다. Open-loop에서는 Duty가 Motor에 인가되는 평균적인 Electrical Drive Level을 조절한다. 정확한 Speed가 필요하면 Encoder Feedback과 Speed Controller를 사용한다.

6. PWM Frequency가 너무 낮으면?

한 Cycle의 ON/OFF 시간이 길어져 Current Ripple이 커질 수 있다. 가청대역에 들어오면 Motor와 기구에서 소리가 들릴 수 있고 Torque Ripple도 커질 수 있다.

7. PWM Frequency가 너무 높으면?

Current Ripple과 가청소음을 줄이는 데 유리할 수 있지만 MOSFET이 더 자주 Switching하므로 Switching Loss가 증가한다.

Psw ∝ fsw
20kHz가 무조건 정답은 아니다.
Motor Driver 권장범위, Motor Inductance, 허용 Current Ripple, Audible Noise와 Thermal 조건을 같이 보고 결정한다.

8. Motor Inductance가 작으면 어떻게 될까?

di/dt = V / L

같은 Voltage에서 L이 작을수록 Current가 더 빠르게 변한다. 따라서 Low-inductance Motor는 Current Ripple이 커질 수 있고 Driver의 최소 Inductance 또는 PWM Frequency 조건을 확인해야 한다.

9. H-Bridge와 PWM

DC Motor를 양방향 구동하려면 H-Bridge를 사용한다. PWM을 어느 MOSFET에 적용하는지는 Driver IC의 Truth Table과 Control Mode에 따라 달라진다.

중요한 것은 High-side와 Low-side MOSFET이 동시에 ON되어 Shoot-through가 발생하지 않도록 하는 것이다.

10. Dead Time은 왜 필요한가?

한쪽 MOSFET을 OFF한 뒤 반대쪽 MOSFET을 ON하기 전 짧은 시간을 두어 동시에 켜지는 것을 방지한다.

Dead Time을 너무 길게 잡는 것도 좋지 않다.
Body Diode Conduction과 Distortion이 증가할 수 있다. Gate Driver와 MOSFET Switching Time을 기준으로 정한다.

11. MCU Timer에서 PWM Frequency를 만드는 기본식

fPWM = fTimer / ((PSC + 1) × (ARR + 1))

이는 일반적인 Up-counting Timer의 개념식이다. 실제 MCU에서는 Center-aligned Mode와 Timer Clock 구조에 따라 식이 달라질 수 있으므로 Reference Manual을 확인한다.

12. PWM Resolution이란?

Timer가 0~999까지 Count한다면 Duty를 대략 1000단계로 조절할 수 있다. 같은 Timer Clock에서 PWM Frequency를 너무 높이기 위해 ARR 값을 줄이면 Duty Resolution도 줄어든다.

Frequency와 Resolution은 Trade-off가 될 수 있다. 같은 Timer Clock에서는 PWM Frequency를 올릴수록 한 Period에 사용할 수 있는 Count가 줄어드는 경우가 많다.

13. Current Control에서는 PWM이 어디에 위치할까?

Current Loop와 PWM
REFCurrent Ref원하는 Torque
FEEDBACKCurrent SensorActual Current
CTRLPIError 계산
OUTPUTPWM DutyVoltage Command
DRIVERH-BridgeMOSFET Switching
MOTORCurrentTorque 발생

14. ADC Sampling과 PWM을 동기화하는 이유

PWM Switching Edge 주변에는 Noise가 크다. Current Sensor를 그 순간 읽으면 Spike를 실제 Current로 오인할 수 있다.

그래서 Motor Control MCU에서는 Timer Trigger를 이용해 PWM Waveform의 비교적 안정된 구간에서 ADC Sampling을 시작하는 구성을 많이 사용한다.

15. PWM에서 자주 하는 실수

PWM Design Checklist
  • Duty와 Motor Speed가 항상 선형이라고 가정한다.
  • PWM Frequency를 Driver 권장범위보다 임의로 높인다.
  • Motor Inductance와 Current Ripple을 확인하지 않는다.
  • Dead Time과 Propagation Delay를 무시한다.
  • Timer Frequency를 올리면서 Duty Resolution 감소를 놓친다.
  • Current ADC를 Switching Edge와 겹치는 시점에 읽는다.
  • Oscilloscope 없이 PWM과 Motor Current를 추정만 한다.

16. Oscilloscope에서는 무엇을 볼까?

측정점 확인할 것
MCU PWM Pin Frequency와 Duty
Gate Driver Output Gate Voltage와 Dead Time
Switch Node Overshoot와 Ringing
Motor Terminal 실제 PWM Voltage
Current Sensor Current Ripple과 Peak
고전압 Driver 측정은 Probe Ground에 주의한다.
일반 Oscilloscope Ground Clip을 잘못 연결하면 회로 Short나 장비 손상이 발생할 수 있다. 필요하면 Differential Probe나 적절한 Isolation 측정방법을 사용한다.

마무리

PWM은 Analog Voltage를 직접 만드는 기능이 아니다. Full Bus Voltage를 빠르게 Switching하고 Duty와 Frequency를 조절해 Load에 전달되는 Energy와 Current를 제어하는 방식이다.

Motor Control에서는 Duty뿐 아니라 PWM Frequency, Motor Inductance, MOSFET Switching Loss, Timer Resolution과 ADC Sampling Timing을 함께 봐야 한다.

같이 보면 좋은 TerryPack 글

반응형
LIST