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.

DRV8312-C2-KIT: Start-up with Maximum Torque

Part Number: DRV8312-C2-KIT

Hi,

I am using DRV8312-C2-KIT and run the BLDC_Sensored program . 

I set the program to run in Level6 which it runs on OpenLoop->ClosedLoop(Fix Duty Cycle)->ClosedLoop(Controlled Duty Cycle).

I am trying to start up the Motor with maximum torque . So ,As soon as enable the motor I would like to have a Most torque .speed is not my concern (just reasonable speed) .

Could you please help me out what variables are involve and must set ?

Thanks

Ash

  • As you descripted, the control flow is OpenLoop->ClosedLoop(Fix Duty Cycle)->ClosedLoop(Controlled Duty Cycle) in LEVEL6, the startup is using open loop control with a fixed duty cycle, so you may set a higher fixed duty cycle for startup by increasing "DFuncDesired" and decreasing "rmp2.Ramp2Delay ".

    Btw, you may need to change the speed PID initialization condition as below.

    pid1_spd.data.ui=rmp2.Out;
    pid1_spd.data.i1=rmp2.Out;
  • Hi,
    Yes, You are right . actually reaching to the closedlOOP (Controlled Duty Cycle) need to pass the last two stages . And rotation at fixed duty cycle needs to reach to "DFuncDesired" to make the "rc1.EqualFlag " True . then controlled duty cycle comes to play (I made all delays equal to ZERO).But motor need to rotate until " if (_IQabs(rc_tmp) > _IQ(0.0000305))" become FALSE to turn the "Controlled Duty Cycle" ON.
    I've tried to initialize the "rc1.SetpointValue = 0.7; " higher than zero to reach to the target quicker .But I don’t have torque at the start up !!!
    It is great torque after reach to target ,But not at the start-up .
    is there anything that I miss ? (I am going to increase proportional of the PID, but big overshoot is not acceptable)

    Thanks
  • Could you please check pwm1.DutyFunc, pid1_spd.data.i1 and pid1_spd.data.ui during startup? You should tune the Kp and Ki, and set pid1_spd.data.i1 and pid1_spd.data.ui to a initialized value if you want to use the speed close loop immediately during startup.
  • Thank you so much for all support .