Speed control of BLDC

Discussion in 'General Electronics Chat' started by electronicsLearner77, Dec 21, 2017.

  1. electronicsLearner77

    Thread Starter Active Member

    May 26, 2012
    I am doing the speed control using 2 phases ON strategy. I wanted to know if the requirement is say 1000 rpm. What is the tolerance upto which i can control? like it can stay exactly at 1000 rpm or it will fluctuate? Please help. I am using the PID loop to control speed.
  2. GopherT

    AAC Fanatic!

    Nov 23, 2012
    Your question has too many unaddressed variables.
    Will the load on the motor fluctuate?
    What is the application (model airplane, packaging equipment, quad copter, e-bicycle?
    Will the power source fluctuate?
    What is your definition of "1000 rpm"
    - 1000 revolutions over a minute
    - every revolution = 0.001 minutes
    - every degree of rotation = 0.001 minutes / 360°
    - something else?

    What is your definition of "exactly"
    +/- 30%
    +/- 0.000001%
    - something else

    What do you know about PID already?
    What kind of PID controller will you use?
    What experience do you have tuning a PID?

    How will you measure 1000 rpm? How often will your measurements be updated?
    electronicsLearner77 likes this.
  3. MaxHeadRoom


    Jul 18, 2013
    The BLDC motor and PID control is widely used in the Motion Control/CNC field.
    Typically in the above example, a hi-res (quadrature) encoder is used.
    Are you using a PID controller now or something you intend building?
    There is one method outlined on the Roman Black site for a Bresenham method using a small picmicro.
  4. electronicsLearner77

    Thread Starter Active Member

    May 26, 2012
    I have never thought of some many variables. As of now testing in open loop condition. I have regulator at the input side so input power i assume will not fluctuate, not sure about that either, never validated. Application is an electric vehicle. Yes 1000 RPM is revolutions per minute. Exactly i have used a very generic term. I am not sure about that either.About PID i have written a program based on speed feedback
    integral=integral+error; //integration is summing in discrete systems
    This is the basic PID controller code.Ar and Ad i have put randomly. I have never done PID tuning and i do not know how to do it. As of now measurements are done every 10ms.