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.

Detecting Forced Angle

I am trying to run in Torque mode at start up before switching over to Speed Control.  I'm trying to use EST_getForceAngleStatus() as the trigger to change over but it's returning alot of incorrect results.  Both at 0 speed and at speeds close to 4kRPM (466Hz) it's pretty close to 50/50.

This is the code I inserted at the end of mainISR() in Lab 4 to monitor it.

if (EST_getForceAngleStatus(ctrlObj->estHandle) == true)
{
    forcedCount++;
}
else
{
    notForced++;
}

Other than that I haven't changed anything.  Am I missing something obvious?  

 

  • Sean,

    Will you please first update your user.h to use the following:

    #define USER_ZEROSPEEDLIMIT   (1.0 / USER_IQ_FULL_SCALE_FREQ_Hz)    


    #define USER_FORCE_ANGLE_FREQ_Hz   (2.0 * USER_ZEROSPEEDLIMIT * USER_IQ_FULL_SCALE_FREQ_Hz)

    Where "1.0" is the lowest Hz where you have proven that FAST is giving good estimates?  For your application this may be 2...4...6...etc..  The ForceAngle freq then needs to be >- 2* this Hz.

  • You are not missing anything obvious. Under what conditions do you get forced angle status ON during outside of a few hertz? Speed transients or torque transients? What hardware are you using? What motor?

    -Jorge

  • I'm not ignoring you guys.  The requirements for the project I'm working on have been changed so I got set back a couple weeks.  I'll probably come back to this in a week or so.

    Thanks for taking the time to answer me though.