Loading...
Pages: [1]   Go Down
Author Topic: send holding current to stepper without stepper motion?  (Read 385 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 14
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi all, I'm running two small 12v 0.4amp stepper motors off of my arduino uno and ladyada mshield. When I feed step commands to the motors, the initial position is inconsistent, but all subsequent commands are perfectly on target. The motors are not overheating and the other motors in my system are not experiencing the same problems, so I don't think my code is the issue. Has anybody experienced similar problems with small steppers?

I'm thinking that since the motors are only experiencing problems when they are first charged up, the problem could be worked around by telling the motors to begin drawing their holding torque current without actually telling the steppers to move. That way, they get charged up but the initial inconsistency problem is avoided since they aren't moving during that initial command. Is this possible to do with a stepper motor?

Any input/advice would be greatly appreciated!
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 14
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Also, I encounter this problem regardless of the motor's set speed.
Logged

Canada
Offline Offline
Sr. Member
****
Karma: 0
Posts: 319
Sometimes teaching, always learning,
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

It sounds like the motors are starting when they are "off step". If the motor isn't on the same step as the microcontroller thinks it is, then it will jump a couple steps to get coordinated, then run as it should.

If you apply a holding torque (not sure how to do that with the library) it still may jump to get coordinated. All the holding torque does is hold on a step. If the motor isn't on the same step as the applied holding torque , it will jump.

A possible solution is either manually turn the motor to the step that the software starts on, or run it forward a certain number of steps, then backwards what ever number of steps required to get it to the correct starting point.
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 14
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

So is it possible to use microstepping to increase the effective number of steps of the motor, so that the distance the motor 'jumps' to get back to position is relatively small? I'm not sure if this is a mechanical problem or a coding problem. The small steppers I'm using have only 48 steps per revolution.
Logged

Canada
Offline Offline
Sr. Member
****
Karma: 0
Posts: 319
Sometimes teaching, always learning,
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Think of it this way. The motor has 4 steps, and they go in this order ABCDABCDA... ect.
Suppose the motor is stopped on step D.

If the controller fires step A (the next one), the motor will go forward one step.

If the controller fires step C, the motor will go backward one step, then continue forward stepping

If the controller fires step B, the motor might jump back 2 steps, or it might jump forward 2 steps. Then it will continue stepping normally.

Using halfstepping won't solve this problem.
Logged


Pages: [1]   Go Up
Print
 
Jump to: