# PWM 주파수와 듀티 사이클

PWM (Pulse Width Modulation)은 전자기기에서 전력을 제어하는 데 널리 사용되는 기술이다. PWM 신호는 주파수와 듀티 사이클이라는 두 가지 중요한 특성을 가지고 있다. 이 절에서는 PWM 신호의 주파수와 듀티 사이클에 대해 자세히 설명하겠다.

#### PWM 주파수

PWM 주파수는 신호가 1초 동안 몇 번 주기를 반복하는지를 나타낸다. 주파수 $f$는 다음과 같이 정의된다:

$$
f = \frac{1}{T}
$$

여기서 $T$는 주기의 길이이다. PWM 주파수는 제어하려는 장치의 특성에 따라 선택되어야 한다. 예를 들어, 모터 제어에서는 주파수가 너무 낮으면 모터가 부드럽게 동작하지 않을 수 있고, 주파수가 너무 높으면 제어 회로가 과부하될 수 있다.

#### 듀티 사이클

듀티 사이클은 PWM 신호가 한 주기 동안 "on" 상태에 있는 시간의 비율을 나타낸다. 듀티 사이클 $D$는 다음과 같이 정의된다:

$$
D = \frac{t\_{on}}{T} \times 100%
$$

여기서 $t\_{on}$은 신호가 "on" 상태에 있는 시간, $T$는 전체 주기이다. 듀티 사이클은 전력 전달의 비율을 조절하는 데 사용된다. 예를 들어, 듀티 사이클이 50%이면 신호는 절반의 시간 동안 "on" 상태에 있고, 나머지 절반은 "off" 상태에 있다.

**듀티 사이클의 예**

다음은 다양한 듀티 사이클의 예이다:

* **25% 듀티 사이클**:
  * 신호가 한 주기 동안 25%의 시간 동안 "on" 상태에 있고, 나머지 75%는 "off" 상태이다.
  * $D = \frac{t\_{on}}{T} = 0.25 \times 100% = 25%$
* **50% 듀티 사이클**:
  * 신호가 한 주기 동안 50%의 시간 동안 "on" 상태에 있고, 나머지 50%는 "off" 상태이다.
  * $D = \frac{t\_{on}}{T} = 0.50 \times 100% = 50%$
* **75% 듀티 사이클**:
  * 신호가 한 주기 동안 75%의 시간 동안 "on" 상태에 있고, 나머지 25%는 "off" 상태이다.
  * $D = \frac{t\_{on}}{T} = 0.75 \times 100% = 75%$

#### 듀티 사이클과 전력 제어

듀티 사이클은 BLDC 모터의 속도와 토크를 제어하는 중요한 요소이다. 듀티 사이클이 높을수록 모터에 더 많은 전력이 공급되어 모터의 속도가 증가한다. 반대로, 듀티 사이클이 낮으면 모터에 공급되는 전력이 감소하여 속도가 낮아진다.

#### PWM 신호 생성

PWM 신호는 마이크로컨트롤러, 디지털 신호 처리기(DSP) 또는 전용 PWM 제어기와 같은 전자 장치를 사용하여 생성할 수 있다. 예를 들어, 마이크로컨트롤러에서는 타이머와 인터럽트를 사용하여 정확한 주파수와 듀티 사이클을 가진 PWM 신호를 생성할 수 있다.

**예제 코드 (Arduino)**

다음은 Arduino에서 PWM 신호를 생성하는 간단한 예제 코드이다:

```cpp
int pwmPin = 9;  // PWM 신호를 출력할 핀

void setup() {
  pinMode(pwmPin, OUTPUT);
}

void loop() {
  analogWrite(pwmPin, 128);  // 듀티 사이클을 50%로 설정 (0~255)
  delay(1000);               // 1초 대기
  analogWrite(pwmPin, 64);   // 듀티 사이클을 25%로 설정
  delay(1000);               // 1초 대기
  analogWrite(pwmPin, 192);  // 듀티 사이클을 75%로 설정
  delay(1000);               // 1초 대기
}
```

이 코드는 Arduino의 9번 핀에서 PWM 신호를 출력한다. `analogWrite` 함수는 듀티 사이클을 설정하는 데 사용된다. 예를 들어, `analogWrite(pwmPin, 128)`는 듀티 사이클을 50%로 설정한다.

#### PWM 주파수 선택

PWM 주파수는 제어하려는 장치의 특성에 따라 달라진다. BLDC 모터의 경우 일반적으로 수 kHz에서 수십 kHz의 주파수가 사용된다. 너무 낮은 주파수는 모터가 부드럽게 동작하지 않게 만들 수 있고, 너무 높은 주파수는 제어 회로가 과부하될 수 있다.

**주파수 선택 기준**

* **저주파수 (몇 kHz)**: 저주파수 PWM은 전력 소모가 적고 회로 설계가 간단하지만, 모터가 부드럽게 동작하지 않을 수 있다.
* **고주파수 (몇십 kHz)**: 고주파수 PWM은 모터가 부드럽게 동작하게 하지만, 전력 소모가 증가하고 회로 설계가 복잡해질 수 있다.

***

PWM 주파수와 듀티 사이클은 BLDC 모터 제어에서 중요한 역할을 한다. 적절한 주파수를 선택하고 듀티 사이클을 조절하여 모터의 속도와 토크를 원하는 대로 제어할 수 있다. PWM 신호는 마이크로컨트롤러와 같은 전자 장치를 사용하여 쉽게 생성할 수 있으며, 이 장치들은 정밀한 제어를 위해 다양한 설정을 지원한다.
