Other Parts Discussed in Thread: MSPM0G3507, DRV8329
Tool/software:
Hello team,
I am planning to control a sensorless FOC motor using the MSPM0G3507, and I am currently building the basic knowledge needed for this application.
I want to generate three PWM signals with the same frequency and the same duty cycle, each phase-shifted by 120°.
Below is the method I have been considering. Please let me know if it is correct.
Assuming a LOAD value of 2000 and a 50% duty cycle,
- Use TIMA0 to create two PWM signals and their complementary outputs.
- Use PWM channel 0 as the reference, and PWM channel 1 should output a signal phase-shifted by 120°.
- Can this issue be resolved by modifying the capture compare value?
- PWM channel 0 would have a counter compare value of 1000, and
- PWM channel 1’s counter compare value should be 1666 for phase shifting.
However, with these settings, the falling edge of PWM 1 occurs too early, so its duty cycle is not 50%.
Therefore, for PWM channel 1, the capture compare values during up counting and down counting must be different.
Is there any way to solve this? Is the secondary compare events feature intended for this purpose?
2. Cross trigger TIMA1 and TIMA0.
- Synchronize TIMA1 and TIMA0 via cross triggering, then apply phase load to TIMA1 to achieve a 240° phase shift.
- After that, generate PWM signals with the same duty cycle.
My questions are as follows:
- Are these approaches correct?
- Is there any documentation/SDK examples related to this?
Thank you.