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.

Is 'IPD_HFI' algorithm support SPM motor ?



Dear Sirs,

Since most of Servo motor is SPM motor. Is 'IPD_HFI' algorithm support typical SPM motor ?

thank you

  • no, IPD_HFI requires an IPM designed with very high saliency. the algorithm will not be able to estimate proper angle on an SPM.
  • This is the same question I want to ask. I wonder how high the saliency should be. I also read the manual that the HFI goes through two process: coarse tuning, which detect north and south hemisphere by taking advantage of the saturation effect , and then a fine tuning detect the d-q inductance difference(saliency).

    I wonder if the coarse tuning only can be configured to do start up.
  • The way that the IPD_HFI library is written will not allow for separation of the coarse and fine tuning.  As you mentioned before, the coarse tuning only finds the hemisphere that the north pole is located.  A simple technique to find the position of the rotor would be to use a six step saturation approach.  An example of its implementation is found in this paper:  www.ab.com/.../10_3.pdf

  • Hello Chris,

    Just a follow up question. Since it requires some saliency to do IPD_HFI, does the FAST algorthim still work with an SPM motor that has no saliency?

    Thank you.
  • absolutely FAST works with SPM. FAST will only provide angle tracking at some minimum speed though (depends on the flux of the machine, may be < 1Hz up to 20 Hz)

    it is only the IPD_HFI that requires very high saliency for angle tracking at zero and ultra low speed. Primarily IPD_HFI is being used by customers who want a "hall sensor" like start-up experience (very smooth even under heavy load).

    However I recommend first trying without IPD_HFI to see if the start-up experience that is built into InstaSPIN-FOC works well enough for you.

    For start-up recommend you enable ForceAngle feature.  You can adjust the "0.5" in this variable

    #define USER_ZEROSPEEDLIMIT   (0.5 / USER_IQ_FULL_SCALE_FREQ_Hz)

    to set the frequency at which the angle being used in the control system switches from ForceAngle to FAST.

    As an example, for your motor it may work best at "3.0" or "5.0" or even "8.0"

    Be sure to leave this variable exactly as it is:

    #define USER_FORCE_ANGLE_FREQ_Hz   (2.0 * USER_ZEROSPEEDLIMIT * USER_IQ_FULL_SCALE_FREQ_Hz)

    as this insures the changing angle is always 2x the switch over frequency