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.

Force angle direction

Other Parts Discussed in Thread: BOOSTXL-DRV8301, DRV8301, OPA2374, MOTORWARE

Dear, Champs

When I use the force angle function in our instaSPIN lab20. I found the force angle drive the motor to opposite direction. after it run in close loop, the motor direction is right. I mean the force angle and normal run drive motor to two different direction. Is it true? if it is ture, why?

Victor

  • no, this is not true and should not be the case.
    can you try again...and then try with proj_lab05b to see if you get the same results.

    do you have a large load on the motor at start-up?
  • Hi, Chris

    Thank you for your reply. I used it in drone ESC. It is a fan load. We used two resisitor sample the current instand of the three. when used our launchpad EVM. It can start up. when used the customer's board and same code. It failed to start up in some times. when it failed, it spin in reverse direction at the frequency defined by

    USER_ZEROSPEEDLIMIT.  When I define USER_ZEROSPEEDLIMIT as a negtive value and the motor failed to start up, it can run same direct as normal run. But when it sucessed start up, the spin direction is right. I will do same test used the lab05b. Thank you.

    Victor

  • 2 currents vs. 3 wouldn't cause this.
    USER_ZEROSPEEDLIMIT should be a positive value

    does the motor run correctly once it starts up?

    did you follow the same current sense circuits and polarity as the BOOSTXL-DRV8301?

    I suggested 5b in case this is a problem with lab20. Lab20 hasn't been used as much, but I didn't see anything in the code that would cause an issue if running in speed control mode. Are you commanding a speed or a torque/voltage value in your testing?
  • Hi, Chris

    • Yes. motor can run correctly once it entry close loop. But in force angle process it run reverse direction.
    • Yes. The hardware is current sample circiut is same as the phase C curent sample in BOOSTXL-DRV8301 . They used OPA2374 instead the internal OPA in DRV8301.
    • I run it in speed mode. give the speed command.

    I will do the test with Lab 5b as your suggestion. Thank you!

    Victor

  • The sign of forced angle is taken from the sign of the speed reference in this function call:

            // run the estimator
            EST_run(estHandle, \
                    &Iab_pu, \
                    &Vab_pu, \
                    gAdcData.dcBus, \
                    speed_ref_pu);

    which is taken from the speed ramp (called trajectory in motorware)

      _iq speed_ref_pu = TRAJ_getIntValue(((CTRL_Obj *)ctrlHandle)->trajHandle_spd);

    The target value is defined by the user in variable: gMotorVars.SpeedRef_krpm. So if this value is set as a possitive value by the user, then forced angle will be done with possitive increments to the angle, and if it is negative, likewise.

    What I think is happening is that at the very begining, the angle estimate is still not locked, and forced angle starts with a value of "0" even though the motor is not sitting at zero degrees. To test the correct direction, enable Rs recalculation, so the motor is aligned to angle "0" before starting up. To do that, set this flag to 1 before running the motor: gMotorVars.Flag_enableRsRecalc = 1. Then run the motor: gMotorVars.Flag_Run_Identify = 1. You will see how the motor is aligned first with a DC current, then it will ramp up to the commanded speed with the correct direction.

    Please try that and let us know how it behaves.

    -Jorge

  • Hi, Jorge

    when set the Flag_enableRsRecalc = 1, the failure rate of start up is very  low. After customer improved the hardware design and layout to provide better signal, the start up issue was fixed. The parameter gMotorVars.SpeedRef_krpm is also the speed reference of force angle process? if it is true, which parameter can control the acceleration in force angle process. Thank you.

    Victor

  • Victor,
    Yes, the forward control system is still being commanded by your SpeedRef and Acceleration, regardless of where the feedback is coming from (FAST, ForceAngle, Encoder). All you are doing with ForceAngle is emulating a rotor flux moving at a frequency you set, and deciding at which frequency to switch to FAST.