|
|
View previous topic :: View next topic |
Author |
Message |
arunb
Joined: 08 Sep 2003 Posts: 492 Location: India
|
How to create a 'braking effect' on a stepper motor ?? |
Posted: Fri Apr 21, 2006 1:58 am |
|
|
Hi,
MCU: 16F628
C Compiler: PCM 3.169
I am using the L297/L298 stepper motor drive combination to run a unipolar stepper motor, these ICs have the provision for reducing motor current, changing direction, also selection of half/full step motions.
I am able to run motors using these ICs, but I find that when the motion is turned off, the stepper motor shaft becomes free to rotate, I would like to prevent this by creating a brake effect on the motor.
One method is to keep some current flowing in the motor coils, the problem with this method is that braking is not immediate, and some amount of inertia manages to keep the motor rotating, till the motor current increases.
Are there any other methods besides this... ??
Currently I am using SLA7062M unipolar stepper motor drive IC. This IC also has a provision for current control, but it does not have any provision for braking.
Kindly request if any code is required ....
thanks
arunb |
|
|
TTelmah Guest
|
|
Posted: Fri Apr 21, 2006 3:22 am |
|
|
Normally, this sort of function is done by leaving the motors 'driven', but changing the current control value. So when you reach the end of your step sequence, you do not turn off the driver IC, but wait another step time (which assuming you are using ramped accelleration/decelleration), allows enough time for the motor to genuinely stop, and then reduce the value that the current is being limited at. When starting, you turn the current back up, before starting to step.
Same chips allow this to be done, by adjusting the reference used for the current limit. On your system, this is the pin 15 connection on the 297. You leave the driver 'driving', and reprogram this, by switching in a resistor to lower the current.
Best Wishes |
|
|
MikeValencia
Joined: 04 Aug 2004 Posts: 238 Location: Chicago
|
|
Posted: Fri Apr 21, 2006 7:56 am |
|
|
In my application, i have a brushed DC motor that is controlled with an H-bridge. I accomplish braking by PWM'ing at least ONE bottom fet. You can PWM two bottom fets, but since most fets have internal body diodes, then you can get away with just one because the other one will freewheel.
I was also at a recent DsPIC seminar, and found that BLDC motors also brake, with or w/o power, if you short all three leads.
I don't know how much different a stepper motor is, but if you can short the leads, then you can brake. If you use PWM to switch the short, then you can vary the degree of braking. |
|
|
Ttelmah Guest
|
|
Posted: Fri Apr 21, 2006 8:03 am |
|
|
Generally, DC braking like this, doesn't work effectively with a stepper. With a DC brushed motor, there is a permanent magnet, and if you turn the motor, it tries to generate DC. Shorting the coil provides resistance to this generation, and helps brake the motor. On a stepper, there is no permanent magnet, and though most will generate some output (because of residual magnetism), the effect is small. This also still requires movement, before the braking exists. With a stepper, you normally want the motor to hold in the final position.
Best Wishes |
|
|
JimB
Joined: 25 Aug 2005 Posts: 65 Location: Huntington Beach, CA
|
|
Posted: Fri Apr 21, 2006 8:28 am |
|
|
Sounds like you are using a variable reluctance stepper motor. There are many stepper motors that employ permanent magnets. When the motor is de-energized, there are magnetic detents that will hold the shaft in one of those detents. If the "at rest torque" requirement is not to high, that would be a way to solve this problem. Otherwise you will have to keep the motor energized, possibly at reduced current, but still drawing some. |
|
|
arunb
Joined: 08 Sep 2003 Posts: 492 Location: India
|
RE: |
Posted: Sat Apr 22, 2006 12:28 am |
|
|
Hi,
Quote: |
Normally, this sort of function is done by leaving the motors 'driven', but changing the current control value. So when you reach the end of your step sequence, you do not turn off the driver IC, but wait another step time (which assuming you are using ramped accelleration/decelleration), allows enough time for the motor to genuinely stop, and then reduce the value that the current is being limited at. When starting, you turn the current back up, before starting to step.
Same chips allow this to be done, by adjusting the reference used for the current limit. On your system, this is the pin 15 connection on the 297. You leave the driver 'driving', and reprogram this, by switching in a resistor to lower the current.
|
This is exactly what I am doing now with the SLA7062M stepper motor drivers, but I find that the motor generates a small humming noise (though I did not notice this in the L297 driver) , is this normal ??
thanks
arunb |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|