Skip to main content
Senior
April 19, 2021
Solved

[BLDC] How to get trapezoidal back-emf waveform

  • April 19, 2021
  • 3 replies
  • 5236 views

Hi All,

I'm working on driving sensorless BLDC motor by 120 degrees trapezoidal control.

I'm stuck on to get back-emf voltage like below figure:

0693W000008ztZFQAY.pngMy result is like this.

0693W000008ztZPQAY.pngAnd the circuit used for voltage sens part is as follow.0693W000008ztZjQAI.pngI don't know if it's a circuit problem or a control firmware problem.

Please suggest how to get trapezoidal back-emf waveform.

Best answer by Kenji1

Hi @Cristiana SCARAMEL​ -san

The answer to the question,

  1. Yes, it spin
  2. Yes, ​I refer AN 4776, “N-pulse waveform generation application example - part 2" for my code
  3. I haven't connected the BEMF signals to GPIO yet.

And, I found out the reason why the expected BEMF waveform could not be obtained. It have to change the PWM duty at the same time as increasing the rotation speed. In the test farm, the relationship between duty and rotation speed was not optimized, and it was done with a fixed value. I think that it will be solved if it is optimized.

BEMF waveform ​after manual duty adjustment, at 4000rpm:

0693W00000AMGWlQAP.png0693W00000AMGX5QAP.png

By the way, the firmware I wrote, the PWM synchronization at the time of commutation is slightly out of sync.

Is it possible to check the code if it is the limit of the device or if it can be corrected?

Or, if you have a Saleae or Kingst Electronics logic analyzer, I will up the PWM data, so would you mind to check if it's the limit of device or not?

3 replies

Kenji1Author
Senior
April 19, 2021

Hi All,

I will add new figure.

This is the waveform when drive the Bull-Running model BR2804-1700 kV BLDC motor as a trial.

The slope of the no-energized period appears to be reversed.

0693W000008zuIfQAI.png

Cristiana SCARAMEL
Technical Moderator
April 19, 2021

Hello @Kenji​,

for the BEMF voltage sensing a resistors divider, properly sizing according to application ratings, is enough.

I suggest to remove the 75 kohm resistors:

0693W000008zy0zQAA.png 

I hope this post can help you; if so, consider to mark it as best answer by clicking the label "Select as Best".

"If you feel a post has answered your question, please click ""Accept as Solution"""
Kenji1Author
Senior
April 20, 2021

Hi @Cristiana SCARAMEL​  -san

My aim is to make ESC for drone. The circuit of the ESC I refer, use commutation method based on virtual neutral voltage. We are trying to detect the cross point by comparing the virtual neutral point and the BEMF of each phase. For now, we thinking of making it the same way, like above figure.

0693W00000900s9QAA.pngAbout 75kOhm resistor, there is no change even if it is removed.

0693W00000900sOQAQ.png

Cristiana SCARAMEL
Technical Moderator
April 22, 2021

Hi @Kenji​ -san,

thanks for the application details, now I understand better the schematic.

Some additional question to try to better understand the issue:

  • When you capture the waveforms, was the motor physically spinning?
  • Are you using a custom control firmware?
  • Could you check the proper setting of GPIOs involved in the feedback circuitry?

Excluding hardware configuration, we try to verify the firmware.

Let me know if there are some progress.

"If you feel a post has answered your question, please click ""Accept as Solution"""
JJoe.1
Visitor II
April 29, 2021

In a BLDC motor, the rotor consists of permanent magnets, and the stator has steel laminations with windings through axial slots. The windings are wound in a trapezoidal fashion and produce a trapezoidal back EMF.