CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to support@ccsinfo.com

How to create a 'braking effect' on a stepper motor ??

 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
arunb



Joined: 08 Sep 2003
Posts: 492
Location: India

View user's profile Send private message Send e-mail

How to create a 'braking effect' on a stepper motor ??
PostPosted: Fri Apr 21, 2006 1:58 am     Reply with quote

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







PostPosted: Fri Apr 21, 2006 3:22 am     Reply with 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.

Best Wishes
MikeValencia



Joined: 04 Aug 2004
Posts: 238
Location: Chicago

View user's profile Send private message Send e-mail Yahoo Messenger

PostPosted: Fri Apr 21, 2006 7:56 am     Reply with quote

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







PostPosted: Fri Apr 21, 2006 8:03 am     Reply with quote

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

View user's profile Send private message

PostPosted: Fri Apr 21, 2006 8:28 am     Reply with quote

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

View user's profile Send private message Send e-mail

RE:
PostPosted: Sat Apr 22, 2006 12:28 am     Reply with quote

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
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
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