---
title: "PWM: 전압의 높이 대신 켜져 있는 시간을 조절하는 방법"
author: "Effort Chung"
published_at: "2026-10-04T06:54:01.636Z"
updated_at: "2026-09-30T11:30:38.604Z"
tags: ["전자공학","전자공학용어"]
canonical_url: "https://ariser.io/@writer_4f1801cebda5/pwm-%EC%A0%84%EC%95%95%EC%9D%98-%EB%86%92%EC%9D%B4-%EB%8C%80%EC%8B%A0-%EC%BC%9C%EC%A0%B8-%EC%9E%88%EB%8A%94-%EC%8B%9C%EA%B0%84%EC%9D%84-%EC%A1%B0%EC%A0%88%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95"
ai_assisted: false
---

# PWM: 전압의 높이 대신 켜져 있는 시간을 조절하는 방법

[원문](https://ariser.io/@writer_4f1801cebda5/pwm-%EC%A0%84%EC%95%95%EC%9D%98-%EB%86%92%EC%9D%B4-%EB%8C%80%EC%8B%A0-%EC%BC%9C%EC%A0%B8-%EC%9E%88%EB%8A%94-%EC%8B%9C%EA%B0%84%EC%9D%84-%EC%A1%B0%EC%A0%88%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95)

펄스폭변조, PWM은 반복되는 펄스의 폭을 바꾸어 정보를 표현하거나 부하에 전달할 에너지를 조절하는 방법이다. 일정한 주기의 파형에서 높은 상태를 유지하는 시간이 길어지면 평균 전압이 증가한다. 마이크로컨트롤러가 LED 밝기, 모터 속도, 전원 변환기를 제어할 때 자주 등장하지만, 같은 PWM 파형이라도 부하가 어떻게 반응하느냐에 따라 결과는 달라진다. 핵심은 디지털 신호가 높은 전압을 만드는지보다 그 상태를 얼마 동안 유지하는지다.

### 듀티비와 평균 전압

주기를 T[s], 켜져 있는 시간을 ton[s]라 하면 듀티비 D=ton/T이며 0~1의 무차원 값이다. PWM 주파수 fpwm=1/T의 단위는 Hz다. 높은 상태의 전압이 VH, 낮은 상태의 전압이 VL이면 한 주기의 평균은 Vavg=D·VH+(1−D)·VL이다. 0V와 3.3V 사이를 오가는 20kHz PWM의 주기는 50µs다. 켜진 시간이 15µs이면 D=0.3이고 평균 전압은 0.99V다. 이 계산은 각 상태가 이상적인 고정 전압이라는 조건에서 성립한다.

평균이 0.99V라고 해서 출력 핀에 항상 0.99V가 존재하는 것은 아니다. 핀에는 여전히 0V와 3.3V가 번갈아 나타난다. 저역통과 필터나 부하의 관성, 인덕턴스 등이 빠른 변화를 줄일 때 평균에 가까운 반응을 얻는다. 같은 파형을 단순한 저항 R에 직접 연결하면 평균 전력은 D·VH²/R이며, 평균 전압을 제곱한 Vavg²/R과는 다르다. 3.3V, 100Ω, D=0.3에서는 약 32.7mW가 소비된다. 평균 0.99V의 직류를 걸었을 때의 9.8mW와 혼동하면 발열 계산이 틀어진다.

### 아날로그 값을 만들 때 생기는 속도와 리플의 거래

PWM을 직류 제어 전압으로 쓰려면 RC 저역통과 필터를 연결할 수 있다. 이상적인 1차 필터의 차단 주파수는 fc=1/(2πRC), 시간 상수는 τ=RC다. R=10kΩ, C=100nF라면 τ=1ms이고 fc는 약 159Hz다. 20kHz 기본 성분은 크게 줄어들지만 출력에는 충전과 방전에 따른 잔류 리플이 남는다. 정상 상태 평균은 부하가 충분히 가볍고 출력 레벨이 일정할 때 앞의 듀티비 관계에 가깝다.

용량을 늘려 리플을 줄이면 듀티비를 바꾼 뒤 새 값에 도달하는 시간도 길어진다. 1차 모델에서 계단 변화의 약 99%에 이르려면 4.6τ가 필요하다. 앞의 예에서는 약 4.6ms다. 여러 필터 단계를 사용하면 특정 주파수의 감쇠를 강화할 수 있으나 단계 간 부하와 버퍼, 전체 정착 시간도 고려해야 한다. ‘PWM으로 DAC를 만들었다’고 말하려면 듀티비 눈금뿐 아니라 실제 출력 리플과 변화를 따라가는 대역폭도 지정해야 한다.

### 타이머의 정밀도와 부하의 물리 조건

타이머가 한 주기를 M개의 동일한 시간 눈금으로 나누면 듀티비 변화의 기본 간격은 약 1/M이다. 타이머 클록이 48MHz이고 M=2400이면 분주가 없는 단순 모델에서 PWM 주파수는 20kHz, 듀티비 눈금은 약 0.0417%다. M을 줄이면 더 높은 주파수를 만들 수 있지만 같은 클록에서 듀티비 해상도는 낮아진다. 끝점인 0%와 100%를 어떻게 구현하는지, 비교값을 언제 갱신하는지 등은 실제 타이머 구조에 따라 달라진다.

LED를 PWM으로 켜는 경우에는 켜진 동안의 전류를 별도로 제한해야 한다. 모터에서는 인덕턴스, 역기전력, 스위칭 방식에 따라 전류 리플과 토크가 달라지며, 듀티비가 곧 회전 속도의 선형 비율이 되는 것은 아니다. 큰 부하는 출력 핀 대신 전력 스위치와 구동 회로를 사용한다. 스위치를 빨리 켜고 끄면 손실을 줄일 수 있는 측면이 있지만 전자파 간섭과 과도 전압은 커질 수 있다. PWM은 평균을 조절하는 유용한 언어이며, 실제 출력은 부하와 필터가 그 언어를 해석한 결과다.

### 참고 자료

- [Texas Instruments TIDU027: Microcontroller PWM to 12-Bit Analog Out](https://www.ti.com/lit/ug/tidu027/tidu027.pdf)
- [Texas Instruments: Digitally Control the Output Voltage of a DC/DC Converter](https://www.ti.com/document-viewer/lit/html/SSZTAD5/GUID-19BC34B2-DEE8-49C6-A22C-B14904048E7D)
