×
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Jobs

BLDC Motor Control
2

BLDC Motor Control

BLDC Motor Control

(OP)
I'm trying to control a BLDC motor with a dsp. To do this, I'm using three loops: Position, Velocity, and Current (Torque). I have had some succes with the Velocity loop, but i am having trouble with the other two loops. If anyone has an algorith for the current or position loop, i would really appreciate it. - Chris

RE: BLDC Motor Control

(OP)
Another question: If i'm only using an encoder and a dsp with the BLDC motor, do i need to use back emf for position sensing?

RE: BLDC Motor Control

Suggestion: Read carefully 6. Enhanced Sensorless Algorithms .8
6.1 Direct Back EMF Measurement ..............................8
in the second posted link. It states that the direct back emf measurement does not need a speed sensor. This means that the speed sensor is needed if you do not measure back emf.

RE: BLDC Motor Control

What dsp are you using?

Have you simulated your control algorithms with any software?

RE: BLDC Motor Control

The standard structure for such a control application are nested control loops starting with the current loop. So it looks a bit strange to me that you  are getting good results with the velocity loop without a proper current control loop.

RE: BLDC Motor Control

Suggestion: It appears that the original posting refers to the current control loop over torque as "current (torque)."

RE: BLDC Motor Control

(OP)
I'm using a motorola 56F805 EVM and Power Stage. My feedback device is a quadrature encoder. The motor is a 1/4 hp BLDC motor. I'm a senior at college and this is my senior project. I'm an embedded systems guy, don't have any experience with motors. So the coding is not the problem but understanding how to control the whole thing is.

RE: BLDC Motor Control

Did you take a class in control theory?

Have you done ANY software simulation of the system?

RE: BLDC Motor Control

(OP)
By software simulation, i assume you're talking about matlab. We haven't done any of that, but we're using an application that was created by motorola and has been proven to work. The application only has one loop, velocity. We have to implement the other two loops. I have had control theory, the block diagrams of the system make sense, i'm just having some trouble understanding motor control with commutation and vector controls with PWM. Its overwelming because our group doesn't have a mentor with PWM/Vector controls experience.

RE: BLDC Motor Control

Well, yes, Matlab is a good simulation program, if you have the Power System Blockset  and the Control Blockset to go with it; at least it is for this problem.

I was actually thinking of Qxdesign for the control simulation.  If you aren't familiar with it, it is available for free at www.qxdesign.com.

OK, let's see if I can help any, or just make it worse.  A BLDC controller contains 3 control loops.  At least all that I know about.  The encoder ( or resolver if you want textbook terminology ) feeds the gating controller (loop 1) and the the summer for speed desired (loop 2).  The output of the summer feeds the "speed controller".  That feeds another summer, which takes the difference between the speed controller output and the DC current.  The output of this summer feeds the "current controller" (loop 3) which feeds back to the gating controller.

Does any of this help?  I do controllers for AC drives, so I don't have any good references for DC motor control.

RE: BLDC Motor Control

Hi to all, nice and interesting notes.
You can break the problem in two parts to avoid mixing signals: 1)The control scheme and its implementation and 2)the power section regarding the BLDC. In the control scheme as electricuwe says, the inner and fastest loop is the current one. Over this loop goes the speed and at the upper loop is the position loop. This control scheme is the same and it is proven over the years that it will work again(at least in my 17 yrs experiencie with DC drives). Some things can help you to implement are use multirate: a)Sample faster the current and its loop. The DC motor model can be used for BLDC Motor since it works under the same linear principles to control the torque-current relationship, P-I is enough. b) sample at half (good starting point) rate the speed with your decoder circuitry for the ENCODER is not a good idea, a voltage loop can be better, PID necesary. c) sample at last (a quarter of current sampling or less) the position. Here you need a feed-forward compensation to achieve stability with pole cancelation P-D. The litter integral gain, the better.
For the power electronics, there is a lot of paper for refrence.
Hope this can help, and sorry for the redaction english is my second languague

RE: BLDC Motor Control

(OP)
Thanks guys, I really appreciate all of your help.

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!


Resources