2021-04-18 10:33 PM
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:
My result is like this.
And the circuit used for voltage sens part is as follow.I don't know if it's a circuit problem or a control firmware problem.
Please suggest how to get trapezoidal back-emf waveform.
Solved! Go to Solution.
2021-04-22 09:02 AM
Hi @Cristiana SCARAMEL -san
The answer to the question,
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:
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?
2021-04-19 01:14 AM
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.
2021-04-19 07:16 AM
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:
I hope this post can help you; if so, consider to mark it as best answer by clicking the label "Select as Best".
2021-04-19 07:13 PM
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.
About 75kOhm resistor, there is no change even if it is removed.
2021-04-22 06:31 AM
Hi @Kenji -san,
thanks for the application details, now I understand better the schematic.
Some additional question to try to better understand the issue:
Excluding hardware configuration, we try to verify the firmware.
Let me know if there are some progress.
2021-04-22 09:02 AM
Hi @Cristiana SCARAMEL -san
The answer to the question,
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:
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?
2021-04-29 12:06 AM
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.
2021-04-29 02:21 AM
Hi @Kenji ,
it is not easy to obtain the expected BEMF waveform running the motor in open loop.
Concerning to your custom firmware I suggest to open a thread in the dedicated STM32 Motor control community
2024-06-17 02:52 AM
hello,
May I ask how to solve this problem? I also encountered the same problem when adjusting the motor. I hope to get your help, thank you