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.

TMS320F28027F: Overriding FAST angle using setPhasor - issues

Part Number: TMS320F28027F
Other Parts Discussed in Thread: DRV8301, MOTORWARE

Hello -

I have a hall sensor observer that is working well and providing the angle to InstaSPIN at low speeds/startup. I want to transition to the FAST angle at a given speed threshold.

When I set the angle using EST_setAngle_pu(), everything works great using the observer angle. However, if I use the speed estimate from FAST during this time, the speed is reported incorrectly. This makes transitioning to FAST angle difficult as the speed is wrong. However, operation is smoother than when using the hall observer's speed.

In order to solve the problem, I want to have the observer and FAST running independently - side-by-side. In order to do this, I need an alternate way to use the observer angle besides using EST_setAngle_pu.

When I try to set the observer angle directly in the setPhasor section (just before PARK/I-PARK), I get a loud "thud" on the motor, and sometimes a latched shutdown (from the DRV8301). If I switch from FAST angle to Observer angle while running at some speed, this does not occur until I set SpeedRef to 0, and then after settling the thud happens again.

Please advise on what to look for here. The observer angle always works fine when using EST_setAngle_pu, but not when setting at the phasor level directly.

Any help/advice is much appreciated.

Best,

-asifjahmed

  • What exactly do you mean by hall sensor observer? Like what is being used in lab11e? What PWM mode are you using?

    Thanks,
    Whitney
  • No - it is a custom hall observer that uses angle interpolation to generate a high-resolution angle from the hall sensors. It works great, so isn't really relevant IMHO. When I use the angle from the observer by calling EST_setAngle_pu() it works fine. The issue is that the gMotorVars.Speed_krpm is inaccurate when doing it this way. I want to use the angle from my hall observer without influencing FAST in any way, so that it will track speed accurately. Therefore, I want to use a different method (injecting at the setPhasor level) than EST_setAngle_pu().

    Any help is appreciated....

    -asifjahmed

  • Following up on this one. It is still an issue for us. I'm still trying to figure out why I get intermittent motor THUDs (even with a Speed Reference of 0 and no movement from the motor) when using setPhasor with a hall-based angle. Again, this same angle when fed in via EST_setAngle_pu() works great.

    Please advise.

    Best,

    -asifjahmed

  • Bump - can someone from the Motorware team please assist??

  • Thanks for your patience. Do you mind sharing some of your code to help give us a better idea of what you're trying to do and where the issue is?

    Whitney