This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hello,
I am looking into making a BLDC controller using a C2000 microcontroller. It seems trapezoidal control it easier to use than FOC. I am reading the Application Report "Sensorless Trapezoidal Control of BLDC Motors" found here:
When it comes to the current control loop, there are two options: "The Pulse Width Modulation (PWM) Mode" and "The Hysteresis Mode". Hysteresis mode seems easier to implement. But the text does not elaborate very much. Does Hysteresis Mode work similarly to how Peak Current Control works in DC/DC converters? I.e allowing the current in the inductor reach a certain current reference level before turning the switches off?
So, when a pair of poles of the motor are ON, the current rises linearly due to the inductance in the motor. Eventually the current reaches the desired level set by the speed controller. Then the switches turn OFF for the remainder of the PWM period. I can use the DAC and Internal Comparator of the C2000 to switch off the switches quickly. Is this a correct understanding of the Hysteresis Mode?
I am incorrect I think, and I don't understand how the hysteresis is working. I found a picture of the current hysteresis, shown below. When the switches are turned off as then upper current reference is reached, where is the motor current then going? The current gets a negative slope until the lower reference is reached. But where is the current going when we have the negative slope?
In most cases, the motor control implements the PWM mode with a speed-close loop or a current-close loop, both two loops. Of course, you can use the hysteresis mode if the controller has an internal analog comparator as C2000 MCU. In all of the modes, the current will increase when the FET is on, and then decrease if the FET is off. The current will be consumed on the stator and converted to mechanical energy to spin the rotor.
You might take a look at the two links below if you want to drive the BLDC with trapezoidal control, and find more information about motor control theory in some electric machine drive textbooks.
[FAQ]Getting Started with C2000 MCUs for Motor Control
https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/855709
[FAQ] Trapezoidal Control of BLDC Motors Using Hall Effect Sensors on C2000 Controller
https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/864875
Implement the freewheel mode through the diode in the FET. You might take a look at electric machine drive textbooks that have a detailed instruction about such motor drive technical knowledge.