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 Questions (decoupling position control and commutation, low/zero speed operation)

Other Parts Discussed in Thread: DRV8301, MOTORWARE

Hello,
We are looking at using an Instaspin solution to replace our current BLDC motor drive system, which uses trapezoidal commutation with Hall sensors.  We are doing position control through a high reduction gear train (100:1 to 1000:1 depending on application).  In our current system, we use an absolute magnetic encoder on the output shaft.  This encoder drives a position control loop, which outputs a target velocity to a velocity/current control loop.  Velocity is controlled solely using the Hall sensors.  This gives us easy control over the absolute position of the output shaft, and the position control loop handles any backlash or other nonlinearities in the gear train basically automatically, without having to know anything special about the motor or drive train.
I have a few questions about the Instaspin solution that hopefully someone can answer:

1. Is it possible using the Instaspin solution to decouple position for position control / profile generation and position for motor commutation in a manner similar to our current system?  All of the documentation I've seen shows these two position quantities tied together.  I've been looking at some of the labs, and it looks like you could provide different positions to STPOSCONV_run and CTRL_run, but I'm not sure if that will cause any problems.

2. We frequently need to be able to hold a position under load at zero speed, as well as start under load.  Even though the position control accuracy provided by hall commutation isn't ideal, the high gear ratio we use means it works acceptably well for our application. The operating environment for most of our products basically rules out optical or mechanical encoders.  The design of our system would make it difficult, but not impossible, to add an additional magnetic encoder on the motor, but we'd like to avoid that if at all possible.  I've seen references to using hall effect position sensing at low speed & FAST position sensing at higher speeds, and that is the option we'd probably go with.  I'm looking at Lab 11e, and it looks like the strategy is to determine the motor speed using the FAST system and then, depending on the speed, select the angle from either the hall sensors or the FAST system.  The angle is then fed into the FOC system, and it looks like the PWM output is overridden and the motor is operated in trapezoidal commutation mode when the Hall sensors are used for position sensing.  I assume that in this mode, it should perform almost identically to a standard trapezoidal BLDC drive system, correct?  I'm guessing it doesn't make sense to try to use the FOC PWM output with such low-resolution position data.  What kind of performance (resolution, response time) does the FAST system have in terms of sensing velocity, especially at low velocities?  If we did need to add an additional encoder, do you have any information on the required sample rate/latency/resolution?  Most of the magnetic encoders we've worked with have an update rate of ~10KHz and a latency of 100-200 uS. I would assume that you would want these to be at least as fast as your motor control loop, but if you have any information on the performance implications of encoder latency, that would be appreciated. 

Thanks.

  • Joshua,

    1. It is possible to decouple the mechanical position (used by the position controller) from the electrical position (used by the foc).  In InstaSPIN these values are linked for convenience and since both positions signals derive from the same sensor.  It wouldn't cause too many issues to decouple these positions.  You could still even make use of STPOSCONV_run, it would simply be a matter of configuring the electrical system for use of the on-motor sensor and the mechanical system for use of the output sensor.  My one piece of advice for InstaSPIN would be that I think you would be best served by wrapping the position and velocity loops around the output sensor and providing a current command to the FOC.

    2. I can't really speak much to lab 11e, I don't have much experience with it.  You might be able to get away with your proposed control method since you have such a large gear ratio and you are wrapping the position/velocity loops.  If you did end up adding another magnetic encoder you would want it to update as fast as the main motor control loop (10kHz - 15kHz).  Ideally, a latency of 0 would be ideal but all latency will impact is that you will be slightly less efficient since your angle will continuously lag the true position.   It will also limit the maximum speed since you need to ensure that the motor doesn't rotate too far during your latency period otherwise it could lose synchronization.

  • 2. proj_lab11e does not function as it should. please don't spend time on it. We are working to recreate this lab for proper functionality to allow Hall start-up with transition (at relatively low frequency/velocity) to FAST.  This isn't for position control though, the hall sensors are just to start-up in a controlled fashion under heavy and varying loads until FAST can take over.  It is for special cases like traction and tool applications. Also, when using the Hall sensors it really isn't working exactly like BLDC commutation because we are still doing FOC with sinusoidal modulation. We are simply feeding in one of 6 possible angles to the FOC loop. So it is a very coarse type of FOC.

  • Hi dear Chris,

    We use F28069F and DRV8301 and use lab11. there is no problem. We  can control perfectly but we start with full load torque.

    You adviced to use hall sensor in order to start with  full load torque. We connect the hall sensor.

    Is there any progress on this issue that lab11e? We wanna use lab11e but  it starts to work automatically  and I can not make any speed control.

    BLDC Motor rotates too rapid and quickly. InstaSPIN document do not have any explanation about lab11e. 

    Best Regards.

  • 1. lab11e has some issues. We are creating a new lab for hall sensor start-up
    2. lab11e only has torque mode, the speed loop is not included. this is for applications like e-bikes which don't use a speed controller.

    we will release a new version of MotorWare in early October.