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: Sensored speed control Question

Part Number: INSTASPIN-BLDC
Other Parts Discussed in Thread: MOTORWARE

Hello,

I am using Instaspin with spintac speed control (motorware 16)  to run a custom hardware inverter. I am using project 12b and I have a couple questions about it.

The electrical angle is calculated using the enc.c/enc.h functions, however the speed seems to still be calculated by the estimator as if we were running sensorless. Specifically, if you go to the CTRL_runOnLine_User function in ctrlQEP.h you can see that the feedback speed for the speed controller comes from: fbackValue = EST_getFm_pu(obj->estHandle);.

Also, there is another function CTRL_angleDelayComp that uses the same "EST_getFm_pu(obj->estHandle)" function to get the speed.

If we are running sensored, shouldn't the speed be calculated from the electrical angle using the ENC_run function?

Regards,

Javier

  • Hi Javier,

    Both are OK, you can use the speed from the electrical angle using the ENC_run function or Estimator if you are running sensored FOC. Often, the two speed should be the same without obvious difference.
  • Javier,

    In lab 12b we don't disable the estimator, so it is still running but it's outputs are not being used by the speed controller or as the motor angle.

    This gives you a way to compare the encoder output with the estimator output.

    Javier Vara said:
    Also, there is another function CTRL_angleDelayComp that uses the same "EST_getFm_pu(obj->estHandle)" function to get the speed.

    Good observation, this should probably be changed to remove the reliance on the estimator speed.

  • Thanks for the answers. My problem was that for some reason that I still haven't been able to find out, the estimated speed was off by 2x aprox, and therefore the controller was having some problems. Even running it in torque control mode was problematic until I found out that the function CTRL_angleDelayComp  also uses the estimated speed. Now it's running fine.