ESP32 LEDC PWM 계산기

ESP32 LEDC PWM의 주파수, duty resolution, divider, duty 값을 계산합니다. ESP-IDF와 Arduino 펌웨어 설정에 바로 쓸 수 있는 기준값을 제공합니다.

LEDC PWM 계산기

입력

결과

필요 divider (정확값)-
divider (1/256 스텝)-
divider 유효성-
최대 duty 값-
현재 duty 값-
실제 주파수-
주파수 오차-
권장 최대 해상도-
LEDC 설정값을 입력하면 PWM 값을 계산합니다.

Arduino 출력 예제


            

ESP-IDF 출력 예제


            

ESP32 LEDC PWM이란?

LEDC는 ESP32의 하드웨어 PWM 블록으로, LED 밝기 제어, 모터 제어, 버저 출력 등에서 주파수와 duty 해상도를 유연하게 설정할 수 있습니다.

PWM 주파수와 duty resolution 관계

같은 클럭에서 PWM 주파수를 높이면 사용할 수 있는 divider 여유가 줄어들어 duty resolution을 낮춰야 하는 경우가 많습니다.

ESP32 LEDC divider 계산 방법

실무에서 자주 쓰는 식은 pwm_freq = clock / (divider * 2^resolution) 입니다. 이를 divider = clock / (pwm_freq * 2^resolution) 형태로 계산할 수 있습니다.

자주 쓰는 ESP32 PWM 설정

용도 주파수 해상도 설명
LED 밝기 제어1 kHz10-12 bit부드러운 밝기 제어
서보 제어50 Hz12-16 bit펄스 폭 제어
모터 PWM20 kHz8-10 bit가청 영역 위로 설정
버저2 kHz8 bit간단한 톤 출력
고속 PWM40 kHz8 bit주파수가 높을수록 해상도 여유 감소

Arduino와 ESP-IDF 출력 예제 참고

클럭 소스, divider 범위, API는 ESP32 계열과 SDK 버전에 따라 달라질 수 있습니다. 이 계산값은 실무 시작점으로 사용하고 타깃 환경에서 최종 확인하세요.

FAQ

ESP32 LEDC는 무엇인가요?

ESP32 LEDC는 타이머와 해상도를 설정해 PWM 주파수와 duty를 제어하는 하드웨어 블록입니다.

PWM 주파수와 duty resolution은 어떤 관계인가요?

클럭이 고정된 상태에서 주파수를 높이면 divider 여유가 줄어들어 가능한 duty resolution 최대치가 낮아집니다.

모터나 LED에는 어떤 PWM 주파수를 쓰면 좋나요?

부하 특성에 따라 다르지만 LED는 1kHz 전후, 모터는 20kHz 같은 가청 영역 이상의 주파수를 자주 사용합니다.

ESP32 PWM 주파수가 정확히 맞지 않는 이유는 무엇인가요?

divider 스텝과 하드웨어 제약 때문에 목표 주파수를 정확히 표현하지 못하고 반올림 오차가 생길 수 있습니다.

관련 도구