BLDC motor spins in wrong direction after quick deceleration

OP #7739931
Rate this post
• ▲ useful
▼ not useful

Hello,

I am currently doing a project to develop a controller for a BLDC motor. The controller is implemented on the microcontroller TMS320F280049 and as the FET-Driver I use the DRV8323RH (both from Texas Instruments).

So, the motor controller with a 6-step commutation algorithm is implemented using the Eval-boards from TI which are the LaunchPad LAUNCHXL-F280049C and the BoosterPack BOOSTXL-DRV8323RH (I attached the schematic of the BooserPack). The rotor position of the BLDC-motor is determined via a small magnet which is mounted on the end of the motor shaft and measured by a magnetic encoder (MA730). The controller generally works, except for apparently one abnormal behavior which can be seen in different operation modes:

  1. The Direct-PWM-Mode, in which the user sets the dutycycle of the PWM manually and the controller just energizes the motor phases according to the current sector and the 6-step commutation algorithm. Here, when the dutycycle is given a (more or less) steep ramp downwards to zero and then immediately (or with a pause of a few milliseconds) a ramp upwards again the motor suddenly accelerates in backwards direction before it runs with the speed which matches the given dutycycle. (see attached Image_1.bmp)

  2. Velocity-Mode, with cascaded PI-controllers for current control (inner loop) and speed control (outer loop). Here, a similar behavior is observable when the controller wants to decelerate with a steep ramp from a higher rotation speed to a lower one. (see attached Image_2.bmp)

  3. Again in Velocity-Mode. This time the reference speed is kept constant. But when the motor is blocked manually it again accelerates for a moment in the wrong direction. (see attached Image_3.bmp)

It is not a PI-controller issue! All the controller outputs were monitored and they always demand a movement in positive direction as you can see on the dutycycle which is the last output of the cascaded PI-controller system.

It was also confirmed with oscilloscope and a datalogger that the PWM signals of the microcontroller and the gate voltages of the inverter stage match and are configured for rotation in positive direction (depending on the 6-step commutation sector).

By comparing the mentioned 3 cases it seems that the problem occurs when the dutycycle decreases rather quickly and increases again.

I am out of ideas of what causes this behavior and how to get rid of it.

I would be thankful for any suggestions.

Attached files:

Reply

Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.

Formatting
  • [c]C-Code[/c]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]
  • [[Title]] – link to an article
  • Link to another post: right-click its post ID (#8078628), copy the address, paste it into the text

More about formatting

Post long source code as an attachment, not in the text.

Already registered? Log in

Not shown to anyone. We send you a link; your post appears once you confirm it there.

By submitting you create a free account and accept the terms of use.