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.

BLDC motor control at low RPM - Target 1 RPM

Other Parts Discussed in Thread: DRV8312, TMS320F28030

Hi

I want to rotate a 12V 30A BLDC motor at a speed as low as 1 RPM. Previously I have done rotation at a min of 200 rpm using the same motor with 3-hall sensors using the DRV8312 kit. We had used the usual 6 commutation state strategy for doing this.

But now since the target rpm is in a very low range, I would like to know what kind of control strategy we can use? Presently we are targeting to run the motor without any load.

For position sensing we will be using the AS5132 chip which gives absolute position feedback with a 1 degree angular resolution.

From this link www.berryjam.eu/.../

I understand the maybe SPWM can be a solution but I am not able to understand how!

Any help or guidance would be greatly appreciated!

cheers

Sanket

  • Hi Sanket,

    This will require some investigation.

    Have you tried using the hall sensors and the DRV8312 kit at 1 rpm? In theory this should work, although there may be other solutions.
  • Hi Sanket

    Hi Sanket,

    You may achieve 1 rpm by two methods.

    One is to use SPWM in open loop even without the position feedback. The SPWM can form a 1 rpm rotary magnetic feild and the rotor is aligned with the feild all the time. This is similar as driving stepper in high level micro stepping way. It is also like Iq=0 in FOC. It is simple but low efficiency. You may need to set how much current to be continual used even without load.

    Another way is to add the PID speed loop above the normal BLDC control scheme. The feedback must be used. And PID parameters need to be fine tuned.

    Best regards,

  • Hi Rick

    Thanks for your response.
    I do not understand how the hall sensors and DRV8312 kit can be used to achieve 1 rpm? My understanding is that for such low speeds, the rotor needs to be moved in a "controlled" fashion from one position to the other. This, I dont think is possible if we use the 60 deg commutation. If we use this we might get 1 rpm speed, but the rotation won't be smooth. It would be discontinuous in the form of steps.

    I hope I am right.
  • Hi Wilson,

    Yes the SPWM scheme does look like low efficiency and the motor may heat up after some time.

    "Another way is to add the PID speed loop above the normal BLDC control scheme. The feedback must be used. And PID parameters need to be fine tuned."
    In this I did not understand which PID speed loop you are referring to. As per my knowledge there is already a PI speed loop running in the DRV8312's sample code (which we have used previously). Is there any other loop which needs to be implemented on top of this? If yes, how will that help?


    And we are looking at close loop control. So I would like if you can suggest some strategy to achieve 1 rpm using a closed loop.

    Cheers
    Sanket
  • Hi Sanket,

    A good source for algorithm information is the C2000 forum. The algorithm experts reside there. Search for the word gimbal at the top of the forum.
  • Hi Sanket,

    The exist PI speed loop of DRV8312 is based on sensorless and the speed feedback is only with the resolution of one electric period which is not enough to do 1 rpm control.

    Usually the feedback sampling rate is needed to be 10x to 20x or high of the controlling target to get smooth control. This could be much higher if you need such a low speed control. But if you have 1 degree resolution encode, you can get MAX 360rpm(6Hz) speed sampling rate to the close loop controller, it should be fine to get your result with just normal PID/PI or just P control with feedback.

    So you will need do your own speed close loop with your encoder to do it. DRV8312 only gives you the hardware plantform.

    Best regards,
  • Hi Wilson

    We have a PI loop running at 50usec (20kHz) on the TMS320F28030 which drives the DRV8312. Will this suffice? 

    Regards,

    Sanket

  • Hi Sanket,

    Yes. The PI loop sampling is fast enough but the feedback update is only 6Hz (360 line encoder at 1 rpm) which determines the loop sampling rate. So any disturb/noise in the close loop higher than 6Hz will not be noticed by the controller. So you'd better have the motor with smooth load and bigger inertia to get smooth 1 rpm response.

    Best regards,
  • Thanks Wilson and Rick!
    I'll get back to you if I have any more questions.

    Regards,
    Sanket