Skip to main content
Associate III
January 13, 2025
Solved

SVPWM and BEMF Wareform type

  • January 13, 2025
  • 1 reply
  • 1071 views

Hello Everybody,

MCSDK:6.3.0

CubeMX: 6.3.0

Workbench : 6.3.0

Motor Pilot : 1.2.9

Power Board : IHM08M1

Control Board : NUCLEO-G431RB

Motor : GBM2804H-100T

I am currently testing FOC-OpenLoop-Voltage. I am using Motor Pilot for tuning and measuring SVPWM (at OUT1~OUT3) and BEMF (at D6, D8, D10) with an oscilloscope. However, both waveforms appear as square waves. Could this be related to the specific motor model I am using?

Best answer by Vincent7

Hello egarcialopez,

Thank you for guiding me to use a low-pass filter to successfully display the saddle waveform.

Although the attached waveform still requires some further adjustments, it already shows the result I was aiming for.

Once again, I sincerely appreciate your guidance!

SVPWM_16KHZ.png

1 reply

Explorer
January 20, 2025

You are trying to read directly the SVPWM signal, which is using Pulse Width Modulation to represent the three sinusoidal voltages that you intend to inject at each phase. If you want to reconsrtuct the three sinusoidal voltages you need to insert a Low Pass Filter between any of the three BEMF and the oscilloscope. You can build a very simple Low Pass Filter (LPF) with just a resistor and a capacitor.

Vincent7Author
Associate III
January 21, 2025

Hello egarcialopez, 

Thank you for your reply.

I just searched online for how to create a low-pass filter using a resistor and a capacitor and connect it to D6, as well as how to calculate the appropriate resistor and capacitor values. I managed to test it successfully. I'll share the waveform later. Thank you again!