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 FAST angle measure

Other Parts Discussed in Thread: CONTROLSUITE

hi,

How do i measure  the rotor angle via instaspin-foc FAST sensorless. which lab provide an good example. i have tried the following to get the rotor angle which is was not correct. (random numbers).

\boards\hvkit_rev1p1\f28x\f2806xF\projects\ccs5\proj_lab05a

void updateGlobalVariables_motor(CTRL_Handle handle)
{
  CTRL_Obj *obj = (CTRL_Obj *)handle;

  MATH_vec2 phasor;
  rotor_ = EST_getAngle_pu(obj->estHandle);
  CTRL_computePhasor(rotor_,&phasor);

  ...
}
  • If you are going to use the variables make sure they are initialized

      _iq angle_pu;

      MATH_vec2 phasor;

    You have the main function call correct (this is used in ctrl.h )

     // generate the motor electrical angle
     angle_pu = EST_getAngle_pu(obj->estHandle);

    Do you really need the phasor?

    Note that you are calling this in your updateGlobalVariables function, which is non-deterministic (just runs in background).  If you want the angle each time through the controller/estimator you need to place the _get inside the mainISR.  And if you want to store these for later investigation you will need to buffer them up in memory and get them off chip with USB, UART, etc.

     

  • I have the same results, even if the motor is not spinning "angle_pu" value get updated! if i hold the motor and stop the motor from spinning the "angle_pu" should stay the same?

  • FAST is not a hardware encoder. 

    It is a software estimator, used to replace an encoder when possible. 

    It relies on signals from the motor, and at low speeds these signals break down. The estimator does NOT track absolute position. It has been built to be used with InstaSPIN-FOC components to allow STABLE 0 speed control, STABLE through Zero speed control, and STABLE stall recovery. 

    If you want something sensorless that can track position look at the high frequency injection technique we use on TMDSHVMTRPFCKIT in controlSUITE.

  • Im sorry i don't understand  i do have the TMDSHVMTRPFCKIT and Piccolo TMS320F28069M isolated controlCARD.  and i like to track position as its mentioned in the product description. so i very much appreciate your suggestion on how to track position using the those hardware and code composer 5.x.

    thank you.

  • You can NOT track rotor position with FAST.  When moving at velocity you can get an estimate of the angle which is very close to an encoder, but when you talk about Position CONTROL (with no velocity) FAST will not work.

    To track rotor position, you need an encoder, resolver, or for very low speed software algorithms like high frequency injection.