esp-idf/examples/peripherals/mcpwm/mcpwm_basic_config
Chen Yi Qun b45b3de1fa mcpwm_example: Fix MCPWM period calculation bug in high frequency
mcpwm_basic_config example calculates period incorrectly in high
frequency. The period calculation will move to ISR and the method of
calculation will be changed.
2020-08-25 19:39:27 +08:00
..
main mcpwm_example: Fix MCPWM period calculation bug in high frequency 2020-08-25 19:39:27 +08:00
CMakeLists.txt build_app: make multi target support readable 2020-04-09 16:40:57 +08:00
Makefile feature: add Motor Control PWM(mcpwm) driver 2017-05-12 15:47:59 +08:00
README.md build_app: make multi target support readable 2020-04-09 16:40:57 +08:00

Supported Targets ESP32

MCPWM basic config Example

This example will show you how to use each submodule of MCPWM unit

The example can't be used without modifying the code first

Edit the macros at the top of mcpwm_example_basic_config.c to enable/disable the submodules which are used in the example

Step 1: Pin assignment

  • The gpio init function initializes:
    • six MCPWM output pins
    • three MCPWM fault input pins
    • three MCPWM sync input pins
    • three MCPWM capture input pins

Step 2: Connection

  • Six MCPWM output pins to motor driver input signals
  • Fault, sync, capture signals can be connected to respective signals

Step 3: Initialize MCPWM

  • You need to set the frequency and duty cycle of each three MCPWM timer along with other parameters mentioned
  • You need to set the MCPWM channel you want to use, with these timers

Step 4: Testing

  • The deadtime module, set deadtime type and with value as time*100ns
  • The sync module, synchonizes all the timer pulses
  • The fault module when enabled takes action on MCPWM signals when fault occurs
  • The capture module captures input signal(digital i.e. hall sensor value, etc), timing between two rising/falling edge