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 2-Pole Motor Questions

Other Parts Discussed in Thread: INSTASPIN-BLDC

Hi,


I'm currently trying to drive a 2-pole non-slotted motor with the InstaSPIN-BLDC_GUI_DRV83xx_v100.exe application.

(1) However, pole count can only be set to 4 minimum. How can I change this?

(2) How can I limit the maximum current applied to the motor in duty cycle or cascaded mode?

(3) Does InstaSpin allow to start the motor from zero speed with maximum torque (i.e. blocked rotor)?

Thanks!

  • 1. Once you move to using the code (and not just the GUI) you can change this directly in a variable watch window or hard code it as 2. For now just put 4.  All this is used for is calculating RPM. So if you set 1000 RPM, your 2 pole motor will really be going 2000 RPM.  If you REALLY want this for the GUI you can download Crosshairs Interface Designer trial and make this change yourself. It's very easy.  There isn't anything in the project code that limits this.  On other things we are working on we put this as a text entry so you can choose anything.

    2. Using the GUI, you can not, you can only control the start-up current. Once it closes commutation it is running without limit.  In Duty mode it doesn't control this at all, it just commands the PWM signal open loop. Once you close the cascade loop it will command the amount of current necessary to generate needed torque as commanded by the speed output from the speed loop.  There are two options

    a) Do this at the motor driver level. The DRV830x allows programmable over current protection http://www.ti.com/product/drv8301

    b) because this is a relatively simple current loop you can probably look at saturating or clipping the PI output.  The default saturation value of the PI controller is -1 to 1 (pu), so full range. You should see good results of setting the saturation to a lower value (min and max) that is proportional to the current limit you want vs. the full range per unit value.  The place for concern here would be at start-up....not sure if the PI controller will be fast enough to limit a fast spike.  BTW - don't attempt this with an FOC control where you are controlling two different PI vectors in a different coordinate system. There is not a direct correlation to PI output and max current.

    3. The InstaSPIN-BLDC technique does allow you to start the motor at full torque. It depends on the startup implementation that is used. Full load startup works best with the advanced startup technique.  It isn't "automatic or adaptive" though in the example we show.  For the GUI, if you know you have full load you can set the duty cycle to max.  But in an application you would want it adaptive, where it started low and worked it's way up (or close the current loop).  FOC techniques are typically better for this sort of application, certainly MUCH faster if that is a concern.

     

     

  • Chris,

    thanks for your detailed answer. However, ad (3): If I block the rotor and it really can't move, the motor won't start since it seems that InstSpin needs to move the rotor in one/two directions on startup to determine the rotor angle (and correct commutation sequence). Is my assumption correct that the rotor needs to move in both directions for a correct startup? Is it possible to start the motor in the correct direction without moving the rotor?

    And one more question: What's the minimum speed InstSpin needs for correct operation (since I can't get our motor into operation at about 300rpm)? I guess you've implemented one of the classic bEMF algorithms since you also need a startup ramp?

    However, I have another anomaly (cascaded mode): If I put a load onto the motor until the rotor is blocked it stops rotating and current increases. If I remove the load it remains at standstill and current is further increasing up to 1PU and then I get an error. This happens preferably at lower speeds.

    Thanks again!

  • InstaSPIN-BLDC has a "blind" start-up, but you can command enough duty cycle to get near full current into the motor. So unless you've overloaded the motor, it will be able to start-up. And as soon as there is just a little BEMF it can lock into the commutation sequence. 

    Your assumption is incorrect, it doesn't need to move in both directions.  It is possible at 0 start that due to the rotor alignment you may get a reverse direction re-alignment, but then it moves in the right direction.  With a lot of poles (like an e-bike) this is nearly imperceptible.  In a low pole motor you can notice.  This is true of all sensorless control systems.  The only way around this is to do initial rotor position detection (high frequency injection is most common).  If you are doing this you are typically going to do something more sophisticated than block commutation anyways...

     

    Minimum speed is dependent on Bemf of the motor and current sensing capability.  With the little 4 pole PM motor that ships in many of the kits it is easy to run under 300 rpm in duty cycle or speed control modes.

     

    In your anomaly case, what I would probably do is that after you get into a locked rotor case, fall back out of the cascaded loop and into duty cycle start-up mode.  I haven't looked too much at overloading the motor in cascade mode, but in duty cycle mode it immediately starts back up and catches the commutation (assuming you don't over current the driver).

     

  • Ok, thanks a lot for clarification!

  • Hi Chris:

    I have read this thread and I have a few questions on the InstaSpin as follows:

    1. InstaSpin employs 6-step control - Can it be used to have Sinusoidal motor control?
    2. With highly inductive motors, six-step strategy does not work. What is the limit of wL beyond which this technique can not be used.
    Please advise ASAP.
    Best,
    Rakesh