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 at stall and low speeds

Other Parts Discussed in Thread: DRV8312, INSTASPIN-BLDC

Hi,

I recently bought a Drv8312 28069, and have tested  InstaSPIN-FOC. InstaSPIN-FOC works really well, however my problem is that I need to produce a continuous  high torque at stall conditions (0 RPM) and  also at very low speeds.

Is it possible to use hall sensors as inputs to generate an estimated angle at 0 rpm and at low speeds and then use FAST to generate the angle when rotor is moving above 1Hz?

Also, is there any example code of using hall sensors to generate an estimated angle?

Thanks,
Ben Glaum

  • No, there aren't any examples.

    I think the general feeling at TI is that hall sensors don't provide an accurate enough angle estimate for FOC although I have seen people elsewhere (not using TI) claiming to have got good results by generating an estimated angle by interpolating between hall sensor transitions (although I can't see this working perfectly down to 0 RPM).

    Personally I've wondered about using analogue hall sensors as a kind of resolver. I've seen a couple of papers on this. Apparently one of the tricks is to mount the sensors so that they measure the axial field rather than the radial field so they are more immune to the stator field. This would be cheaper than using an encoder and also the alignment/calibration of the sensors with respect to the stator coils would only have to be done once. It would require 2 or 3 additional analogue inputs though.

    The solution TI seem to favour is high frequency injection. This is already available for InstaSPIN-BLDC and will apparently be available for InstaSPIN-FOC at some point in the future. It does rely on having a salient motor although apparently many motors do have some kind of salience. We'll have to wait and see how well it works in practice.

  • Let me correct some statements from Sam. No offense, Sam. :)

    Re: examples using alternative forms of angle feedback at zero and low speed, this is absolutely supported in the InstaSPIN-FOC / -MOTION software structure.  You can force a new angle to the output of the estimator (input into control system) using the function documented in est.h:

    EST_setAngle_pu(EST_Handle handle,const _iq angle_pu);

    We have not shown an example of this yet, but we use it extensively for special open loop style start-up / alignment functions.

    High Frequency Injection technique - we are testing this now with some lead customers. This uses a slightly different method to set the angle into the control system by calculating the phasor (with angle compensation based on speed) and then setting that into the IPARK.

    // compute the sin/cos phasor
    CTRL_computePhasor(angleComp_pu,&phasor);

    // set the phasor in the inverse Park transform

    IPARK_setPhasor(pCtrl->iparkHandle,&phasor);

    We somewhat show something similar in the InstaSPIN-MOTION proj_lab12 today where we use an encoder for angle and speed feedback.

    Yes, you can attempt to use halls for start-up and low speed.  The transition from the mechanical to the estimator is always the trickiest part so I always recommend trying to see if you can just use the mechanical sensor AT zero speed and not at low speed.  AT zero speed get the angle and seed the estimator and ForceAngle for start-up.

  • Hi Ben,

    By using Hall sensors at zero speed, you should be able to get performance that is at least as good as commutated trapezoidal control.  Have you tested your application with trap control yet to see if that is good enough to meet your requirements?  The problem is that unless you have uniform flux density in the airgap of your machine, you will experience varying levels of torque depending on what angle you are at within the commutation interval.

    I think mode switching could be accomplished on the fly rather seamlessly.  The FAST angle estimator can be enabled, even if its output is not being used by the FOC control loop.  So you could use commutated control at low speeds.  Whenever a hall sensor causes a commutation event, at that moment you should know what the motor angle is with reasonable accuracy.  Immediately compare the FAST angle estimate to this value, and if you are spinning fast enough to get good angle correlation, then switch over to the FAST observer.

     -Dave

     

  • Thank you Sam, Chris and Dave, All very helpful responses.