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.

LAUNCHXL-F28027F: Piccolo28027f + DRV8305

Part Number: LAUNCHXL-F28027F
Other Parts Discussed in Thread: DRV8305

Hello

I am using motor which could run upto 80000rpm. I am using Piccolo28027f and DRV8305 for controlling motor.

Motor specifications are:

Inertia 3.15 kg-m2, Continuous stall current=3.31A, Peak torque=122.9Mnm, Continuous stall torque=7.98mNm, Inductance=0.030mH,Resistance=0.46 ohm

I started with lab 1 and finished upto lab05b. By using Lab02 i found out valyues of Rs, Ls_d and Ls_q, Flux.

Rs=0.46ohm

Ls_d & Ls_q=0.000030H

Flux=0.0042794

Also  I am getting,

spd_kp=10.8

spd-ki=0.0542

idq-kp=0.150

idq-ki=0.767

But for these values motor doesn't run smoothly. It takes more current. But  if I change

spd_kp=10.8

spd-ki=0.0542

idq-kp=0.00150

idq-ki=0.0767 Motor runs perfectly fine and current it takes is also very less.

 why it is happening & how to change these parameters.

  • That's normal. You might try to use lab02c to identify the motor parameters. The calculation gain values of the controller are just a reference value for most motors, you still need to tune the gains of the speed and current PI controller according to the motor and its system. 

  • Thank you for yoyr reply.

    1. Can you guide me in finding out gain values. 

    2. How to update these gain values in program? Beacause I will burn program in microcontroller and will set speed at which it should run. I will not use GUI. So how i can update these parameters in program?

  • Yes, you need to set the gains on project.

    You can find the function below in proj_labxx.c

            // update Kp and Ki gains

            updateKpKiGains(ctrlHandle);

    And then you might add the following codes in font of updateKpKiGains(ctrlHandle)

    gMotorVars.Kp_Idq = Kp_Idq_set_value;

    gMotorVars.Ki_Idq = Ki_Idq_set_value;

    gMotorVars.Kp_spd = Kp_spd_set_value;

    gMotorVars.Ki_spd = Ki_spd_set_value;