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 Start-up method

Other Parts Discussed in Thread: DRV8305

What are the "best" InstaSPIN methods for a smooth start-up behaviour today? We are using F28027 + DRV8305. Where can I find the mentioned wiki page?

Thanks,

Patrick

  • it somewhat depends on the load and which speed you are trying to start-up to.

    with an application like a Fan it really doesn't matter so much. you can disable ForceAngle and just set a new speed and it will start-up. Enabling ForceAngle can make a more repeatable start-up behavior though.

    if you can, doing an RsRecal is helpful.
    1. it makes sure the Rs value is exactly accurate at that moment. this makes sure the Flux Estimator starts out oriented in the correct pole direction and allows FAST to converge as quickly as possible.
    2. The process of RsRecal injects an Id current which should align the rotor to where you will begin creating the stator field, meaning you get efficient torque production immediately

    if the RsRecal timing is too long for your application, you can lower the time used (see SPRUHJ1).

    in some applications doing RsRecal at all before start-up isn't possible due to timing.
    If not, I recommend that you set the Rs value in your USER_MOTOR settings to the smallest value you are likely to see under your temperature variation. What I mean is that you will get better start-up performance using a smaller than actual Rs value than one larger than actual. And in an application like a fan or propeller which runs at higher speeds, the actual Rs value being used by FAST has a small effect on the estimates as compared to the Ls and Flux values.

    In this case you may be able to still write your own logic to first set some Id current for alignment, which will help. there is a chapter in SPRUHJ1 which discusses start-up under load options.

    The other item is in regards to the setting when you use ForceAngle enabled:
    #define USER_ZEROSPEEDLIMIT (0.5 / USER_IQ_FULL_SCALE_FREQ_Hz)

    This default value of "0.5 Hz" is appropriate for large flux machines. The smaller the flux, the more you want to increase this value, up o a maximum of about 5.0 Hz. You have to test this on your motor to see which works best for you.

    Also, if you use ForceAngle enabled, be sure you disable it as soon as you start-up and reach an acceptable speed. (you can add SW logic to your code to do this). Only re-enable if you stop the motor or stay at zero speed (due to command or stall) for more than a few seconds.