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 Trapezoidal drive

Other Parts Discussed in Thread: INSTASPIN-BLDC

I am using the InstaSpin Trapezoidal Drive software to drive a small BLDC motor. When I force the motor to stop by applying excessive load torque, the motor stalls and the software sits in a state of high current and the motor stays stalled even after the load is remove. Is there a typical method to use to check for this condition and stop and try to restart the motor. One method I will implement is an over current detection, but I was also going to implement some other methods as redundant checks. I did notice that the mod_dir1.counter variable stops incrementing in this condition and figured I could check for this in software and if I this counter does not increment for a period of time, I would shut off the motor.

I am just wondering what methods are typicaly used in this scenario and looking for other ideas of how to avoid this issue. This stall condition will eventually burn up the motor and I just want to do everything possible to prevent it.

  • Hi Gary,

    Your post has been forwarded to our expert on InstaSpin. He should respond soon.

  • Hi, Gary.

    Yes, you hit on the two key ones

    1. Is the current over a limit

    2. Are you commanding speed and the rotor isn't moving?

    For InstaSPIN-BLDC seeing that it hasnt't hit a new flux threshold (mod_dir1.counter isn't incrementing) is a good trigger.

    You can't avoid it (unless you can control the load that may be applied) so always best to plan for what to do when it happens.  Having a StallDetect() function and StallState where you handle the stall is always a good idea.

     

  • Chris,

    Thanks for the quick confirmation. I have implemented this feature and it works well.

    I do have one more question regarding the InstaSpin-BLDC. Does the flux trigger feature, that detects when to commutate, have a time out to where it will commutate if no flux trigger is detected? I have seen this feature in other motor control software to where the current RPM is used to calculate a maximum time between commutations. If this max time is reached a commutation is forced for a certain number of times just in case the zero crossing is missed. 

    I am not seeing any problems with the motor control just trying to understand it a little better.

  • No, we didn't implement this, but it's a good idea. 

    We didn't fully finish InstaSPIN-BLDC to our liking, but have mostly moved on to the FOC and MOTION solutions. We may do a refresh of BLDC, but it won't be this year. 

  • I have not seen it be a problem yet, but when we start our V&V testing and inject all kinds of ESD and transient noises into our system, this feature may help keep the motor running through these events. I will study this a little closer over the next few months and see if it is necessary. If it proves helpful, I will post back my results.

    Thanks for all the help.