sábado, 29 de junho de 2019

ESP32 - PWM






EletrônicaDigital PWM - Modulação Por Largura de Pulso - Mecaweb

Citisystems - O que é PWM e Para que Serve?

Boson Treinamentos - Curso de Eletrônica – O que é PWM – Pulse Width Modulation





Guia rápido


1) Configure o canal

Função ledcSetup()

ledcSetup(CANAL, FREQUENCIA, RESOLUCAO);

Esta função configura um canal para trabalhar a uma determinada frequência e resolução.
Canal: 0 – 15.Frequência: 1 – 40MHz.Resolução: 1 – 16 bits.

2) Atribua uma ou mais saídas (GPIO) ao canal

Função ledcAttachPin()

ledcAttachPin(PINO, CANAL);
Esta função apenas atribui um pino a um canal. Podemos escolher qualquer pino a qualquer canal, este vai de 0 a 15, totalizando 16 canais.

3) Configure o duty cycle

Função ledcWrite()

ledcWrite(CANAL, DUTY CYCLE);
Esta função “escreve” o duty cycle ao canal. Lembramos que o valor colocado no parâmetro duty cycle não é em porcentagem e sim em decimal.Exemplo: para um duty cycle de 50% com 10bits (2^10 = 1024) de resolução, devemos escrever 512.Canal: 0 – 15.Duty cycle: 0 – 100% (em decimal).

Créditos: Portal Vida de Silicio
==========================================================

playelek.com - PINOUT-DOIT ESP32 Devkit V1

Random Nerd Tutorials - ESP32 PWM with Arduino IDE (Analog Output)

Portal Vida de Silicio - Controle de potência via PWM – ESP32

Expressif - ESP-IDF Programming Guide - LED Control

Expressif - ESP-IDF Programming Guide -MCPWM

Fernando K - Turbina Elétrica com ESP32