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.

Instaspin-FOC stability after torque overload

Other Parts Discussed in Thread: MOTORWARE, DRV8301, DRV8312, CONTROLSUITE, SYSBIOS

Hi

I am using MotorWare 1.1.0.6 with DRV8301-HC-EVM-RevD and the F2806x ControlCard.

I launched the GUI, setup the identify motor parameters for my motor.

I am running in speed mode.

When I start the motor and play with different speeds it all works fine, smooth operation.

When I load the motor shaft I see the torque and current increase accordingly, and when the load is removed the motor goes back to normal operation.

The problem I have is as follows:

I command a speed of 0 rpm (under no load the shaft doesn't move and there is some resistance if I try to turn it)

I can turn the shaft by hand past a point where the motor controller becomes unstable and no longer maintains 0 rpm when I release the shaft.

It sometimes turns backwards, sometimes forwards, and more concerning sometimes vibrates and jerks through different shaft positions.

This is an 8 pole (4 pole pairs) , 30A motor with a 3200 Max RPM (motor max freq set at 250).

Kp is automatically set at 3.75 and Ki set at 0.0375 (speed loop tuning)

Please let me know if there's something I am missing here.

Thanks

Dhar

  • Hi Jorge

    I'm running a 4 pole pair motor at 100rpm during the rsOnline test.

    I've upgraded from 1.0.0.5 to 1.0.0.9 and the rsOnline calculation appears to function properly now.

    I now have a different problem.

    I am running 2 motor controllers on the same board and when I initialize the the second controller the system fails.

    The problem occurs at this function call:

      ctrlHandle = CTRL_initCtrl(ctrlNumber, estNumber);          //v1p6 format (06xF and 06xM devices)

    I am using ctrlNumber and estNumber equal to 0 for the first controller and 1 for the second controller.

    in 1.0.0.5 this worked fine.

    now this fails for a value of 1.

    I am running with sysbios.

    When I use ctrlNumber and estNumber equal 1 the system gets stuck in ti_sysbios_knl_Clock_workfunc forever.

    What am I missing here?

    Thanks

    Dhar

  • Hi Dhar,

    I just tried declaring two controller objects by calling

    ctrlHandle = CTRL_initCtrl(0, 0);

    ctrlHandle2 = CTRL_initCtrl(1,1);

    And this works just fine. Can you try the same without sysbios?

    -Jorge

  • Hi Jorge.

    I've rebuilt without Sysbios and everything works fine.

    With sysbios and using an Est_number of 1, setting up and running one motor interface causes an abort.

    ctrlHandle = CTRL_initCtrl(0, 0); works

    ctrlHandle = CTRL_initCtrl(1, 0); works

    ctrlHandle = CTRL_initCtrl(0, 1); doesn't work

  • Could you please share your .map and .cmd file? I would like to see memory allocation for your project, to make sure there is no overlap of the second estimator and part of your project.

    Thanks