/*******************************************************
This example demonstrates 3-phase, 10kHz PWM
ESP32: https://wokwi.com/projects/334722465700774482
ESP32-S2: https://wokwi.com/projects/334765722024542804
ESP32-C3: https://wokwi.com/projects/334856585002091092
*******************************************************/
#include <pwmWrite.h>
const byte pwmPin[3] = {14, 13, 12};
const uint16_t duty = 341;
const byte deadtime = 21;
const uint16_t phase[3] = {0, 341, 682};
const uint16_t shift[3] = {55, 55, 0};
const uint32_t frequency = 10000;
const byte resolution = 10;
Pwm pwm = Pwm();
void setup() {
Serial.begin(115200);
pwm.pause();
for (int i = 0; i < 3; i++) {
pwm.write(pwmPin[i], (duty - deadtime), frequency, resolution, (phase[i] + shift[i]));
}
pwm.resume();
pwm.printDebug();
}
void loop() {
}
esp:VIN
esp:GND.2
esp:D13
esp:D12
esp:D14
esp:D27
esp:D26
esp:D25
esp:D33
esp:D32
esp:D35
esp:D34
esp:VN
esp:VP
esp:EN
esp:3V3
esp:GND.1
esp:D15
esp:D2
esp:D4
esp:RX2
esp:TX2
esp:D5
esp:D18
esp:D19
esp:D21
esp:RX0
esp:TX0
esp:D22
esp:D23
logic1:D0
logic1:D1
logic1:D2
logic1:D3
logic1:D4
logic1:D5
logic1:D6
logic1:D7
logic1:GND