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-BLDC: RsRecalc and Offsets Recalculation time reduction

Part Number: INSTASPIN-BLDC

I need to minimized the time from power up to when the motor is ready to spin in our application.  Ideally it should be <=1 second from "key on" to when the motor is ready to spin.

How much can I reduce Offsets Recalibration and RsRecalc?  I know where to do this in the code (based on Lab4b) but what minimum time is sufficient for reliable calculation?

  1. Offsets Recalculation - what is the minimum time required and what is the criteria to determine the minimum time?
  2. RsRecalc - What is the purpose of the current ramp during RsRcalc?
  3. RsRecalc - What is the purpose of the AC current decay at the end of RsRecalc?
  4. RsRecalc - Is it possible to use only a constant DC current to calculate Rs?

I have attached a scope trace to help show the situation.  As you can see, the time now is ~4 seconds and I need to reduce the time to < 1 second.

Thanks, Mike

  • You can not reduce the RsRecalc time to a very small value which need enough time to get a accurate value. Maybe, you can disable the RsRecalc if the motor stator resistance is not changed greatly for temperature. Ramp control is to get a stable DC value and prevent over current, you can increase the ramp slope to reduce the time.
    You can disable the offsetcalc or set a very small time for it if you set a correct offset value in user.h based on your hardware. Or you can do the offset calc only one time for the first power up, and then disable it in next time.
  • I have only tested ~ 20 motors so far, but I do not expect much variability for Rs from motor to motor (< +/- 1 mΩ from 15mΩ).  Initial testing shows a maximum delta temperature = 15ºC which equates to ~1 mΩ increase from 15 mΩ for Rs.  Do you think that increase is enough to cause a start up problem with InstaSpin?  What is the % change in Rs that may cause a problem with InstaSpin?

  • Mike,
    this small of a delta is no problem.

    what you want to make sure of though is that if you are skipping RsRecal:
    the Rs value you store in user.h and load in your application is always LOWER than any actual Rs value (across temperature)

    if this is the case we you will achieve start-up success. If the actual Rs of the motor is lower than your loaded Rs value it may (will some % of the time) fail.
  • also, for the record, the solution you are asking about is
    InstaSPIN-FOC

    which is quite different from InstaSPIN-BLDC in your title

    also, in regards to your first questions:
    1. see chapter 6.5.2 of SPRUHJ1
    2. you are injecting a DC signal to apply a voltage and measure a current, calculating Rs
    3. what you are calling current ramp and AC decay is the controller going to the on-line state to start running the motor. Your label for RsRecal should stop when the DC signal stops on your screenshot. see SPRUHJ1 chapters 6 and chapters 10
    4. only a DC signal is used for RsRecal