I have the Stellaris DK-LM3S-DRV8312 Kit and I am building it. The problem is when I reach level 7, i got a probelm which is the motor starts spinning then the fault LED goes on!! I read in the forum someone asked the same question but with no answer. Please Help!
In reply to ChrisClearman:
I am using the same power supply too with 24V and 5.5A. I am driving the motor at 1500 RPM = 0.5 PU. I am thinking of a solution which is when the speed ref is zero, i shut down the PI controller and turn on the three PWM signals with no frequency so the rotor will stay fixed, is that applicable?? any ideas??
In reply to Ahmed Yousif:
what are you trying to do, just bring the motor to a stop, or to a coast?
this is with the kit motor (NEMA17), and going from 0.5 PU speed to 0 PU speed causes a fault when it gets to 0?
I'll have to try this out....certainly isn't normal behavior
did you follow the InstaSPIN-BLDC lab document to tune the motor?
I am building a Delta Robot for my graduation project which is let's say a robotic arm with a small payload. what I want is that when the arm reaches certain position, the motor stops and stay fixed - I don't know if it is called coast - but not simply turn off the motor because this will cause the arm to fall down from the load exerted on it.
My objective is not to use an encoder to stop the motor, I need the encoder only to get position.
I followed the document step by step. You can't see this behavior with Duty Cycle mode but you will see it in Velocity or Cascade Mode.
I managed yesterday to stop the motor by turning on all the PWMs but of course the motor's temperature will rise.
I hope this will help you understanding my problem.
just having an encoder won't make the motor stop and provide torque against the weight for free.
what it can allow you to do is allow you to provide the right / minimum amount of torque to try to hold that position.
with a sensorless solution (self sensored based on currents/voltages) at some point the rotor position estimation gives out if the signals are small (no Bemf, low Bemf of motor, low currents).
to really try to do what you would like to do, you would have to consider some very advanced zero speed rotor position estimation techniques. there are several including high frequency injection, PWM pulsing, and some saliency techniques.
I think that is a bit out of your range for a class project, so I'd recommend a rotor sensor if you need positional holding torque.
after trying to solve the problem, I found the solution for that and wrote the code concerns. When the SpeedRef = _IQ(0.0), simply sync the PWMs by
GPIOPinWrite(RESETA_BASE, RESETA_PIN, RESETA_PIN);GPIOPinWrite(RESETB_BASE, RESETB_PIN, RESETB_PIN);GPIOPinWrite(RESETC_BASE, RESETC_PIN, RESETC_PIN); // Synchronize the three PWMs so they work at the same time to stop the motorPWMSyncUpdate(PWM_BASE, PWM_GEN_0_BIT & PWM_GEN_1_BIT & PWM_GEN_2_BIT);
This will cause the motor to hold its position.
Another thing is to reinitialize the variables if the previous speed ref was zero and the new speed ref is not zero.
I have tried this and it is working perfectly.
Thank you for your help.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.