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.

TMDSHVMTRINSPIN Acceleration/Deceleration Asymmetry (slow to brake)?

Other Parts Discussed in Thread: TMDSHVMTRINSPIN, TMS320F28069

Hi, our system drives a rotating disk with a 320V/2.5 amp motor in speed control mode using InstaSpin-Motion. There seems to be less capability to track speed when decelerating from a point of high-speed high-torque towards low-speed low-torque. So, our positive speed slopes (acceleration) track well, but the deceleration (i.e. braking) has a noticeable lag. I have tried advancing my decelerations in code, but there remains a time delay of (very approximately) 100 ms before the braking LED comes on -- indicating a period of low to no braking (regen to DC bus).

Some details: This is real-time tracking (not a profile). We added a DC bus bleed resistor limiting the voltage to a safe level, tried setting the braking amps (VelCtlOutputMin_A) to a higher number as well as increasing the MaxAccel_krpmps and bandwidth, each of these might have helped a little, but overall, the delay is still present. The disk has appreciable inertia, which was measured and set in our user.h file.

We placed an LED on the DC bus voltage bleed resistor circuit so it turns on when conducting. The deceleration delay becomes very noticeable because when we start braking at, say, half speed towards idle, the LED quickly blinks on. However, when we are near top speed and start braking, the LED has a noticeable delay to turn on and that delay coincides with the delay to start decelerating.

Hardware: TMDSHVMTRINSPIN, TMS320F28069

Appreciate any suggestions, Bill

  • it sounds like when a PI controller is wound up and saturated. it takes some time for the controller to adjust. but I wouldn't expect SpinTAC to behave like this. I've forwarded to Adam at LineStream to get his thoughts.
  • Bill,

    Is it possible that your motor isn't able to reach the commanded speed?  I've seen similar behavior when the motor can't reach the commanded speed and so it won't start decelerating until the ramp has passed the speed that the motor does reach.  

    At what point does the brake resistor circuit engage?  Is it possible that it takes 100ms for the brake circuit to engage?

    For the SpinTAC Controller, you mentioned that you are not using a profile, are you providing the Acceleration Reference into the controller?  This can make a huge different when accelerating and decelerating.  

    Do you have any ability to store and plot variables from your control system?  It would be interesting to watch the feedback speed when compared with the reference speed in this situation.

  • LineStream - Adam Reynolds said:

    Is it possible that your motor isn't able to reach the commanded speed?

    At what point does the brake resistor circuit engage?  Is it possible that it takes 100ms for the brake circuit to engage?

    are you providing the Acceleration Reference into the controller?

    Do you have any ability to store and plot variables from your control system?  It would be interesting to watch the feedback speed when compared with the reference speed in this situation.

    Further testing makes this phenomenon look like a filtering problem in my control. Although my IIR filters are applied the same whether accelerating or decelerating, when I increased bandwidth the brake delay time decreased. I don't understand why the brake timing behaves the way it does (for instance, the same filter parameters do not delay acceleration appreciably). I'll test more and report results.

    To answer your questions: The motor was reaching speed. The brake resistor turns on at 385V and off at 380V. It takes much less than 100 ms to turn the IGBT on. I only provide a max acceleration. I haven't setup logging, but probably will.

    Thanks, Bill.