PDA

View Full Version : Stepper motor advice for absolute novice



mbgnjdb5
06-05-2011, 11:40 AM
Alright there?
I'm an aerodynamics research student with no experience in electronics. In the course of my work I've been tasked with producing a model of a missile which can be rolled about its axis of symmetry and must also feature a nose which can be rolled independently. I'm to be able to produce very small changes in roll angle so with this in mind I plan on using some 42mm 0.9deg stepper motors available from RS components (http://uk.rs-online.com/web/search/searchBrowseAction.html?method=searchProducts&searchTerm=535-0401&x=0&y=0). I will also be using absolute rotary encoders (http://uk.rs-online.com/web/search/searchBrowseAction.html?method=getProduct&R=4965096) to obtain accurate position measurement.

As I mentioned, I have zero experience with electronics and limited access to technicians who would be able to help me. So, do any of you have any particularly useful links to something along the lines of "Stepper Motors for Dummies"? A lot of the stuff I've seen online doesn't explain the practical steps of getting the motor to turn by some specified number steps and what equipment I'll need to drive them (do I need a computer, do I just connect the motors to some kind of signal generator; I just don't know!).

All help appreciated. Work on the assumption that I know nothing about electronics and if you think you're being patronising then you're probably talking about the right level.

Daniel

djc
06-05-2011, 10:27 PM
...so with this in mind I plan on using some 42mm 0.9deg stepper motors available from RS components (http://uk.rs-online.com/web/search/searchBrowseAction.html?method=searchProducts&searchTerm=535-0401&x=0&y=0). I will also be using absolute rotary encoders (http://uk.rs-online.com/web/search/searchBrowseAction.html?method=getProduct&R=4965096) to obtain accurate position measurement.

I don't know how cost comes into your project, but there are cheaper places than RS for steppers (e.g. ArcEuroTrade). Similarly, you probably don't need an absolute encoder, just an incremental one (after all, once it has gone round 360 degrees, it's indistinguishable from its starting position). The encoder you link to has sine-cosine output; this is quite difficult to interface. Simple quadrature output is probably adequate.


...do any of you have any particularly useful links to something along the lines of "Stepper Motors for Dummies"? A lot of the stuff I've seen online doesn't explain the practical steps of getting the motor to turn by some specified number steps and what equipment I'll need to drive them (do I need a computer, do I just connect the motors to some kind of signal generator; I just don't know!).

Google for 'Jones on stepper motors' for the most-cited reference. At it's most basic, you will need two inputs: the first to create the signal that tells the motor 'move one step'; the second to tell it in which direction to move. These can be as simple as a couple of switches. The state of this switch feeds into a stepper motor driver which for all intents and purposes is a black box that converts the input signal into the correct form, direction and level of electricity to turn the motor.

Making the stepper motor move is the easy part of your project: a driver, a motor and a power supply. These are plug and play. It is the stuff upstream of that you need to think of (i.e. how many steps do I need; in what direction; how fast (max speed); how fast should the speed change - acceleration and deceleration?).

Generally, steppers are not used with encoders - one tells the stepper how much to move and assumes it does what it's told (i.e. open loop control). If the motor size, speed and acceleration is designed correctly, they should not lose position (lose steps). If you want to close the loop with the encoders, you have a further set of calculations to perform to determine what to do if the current position does not match the commanded position (e.g. E-stop, panic, spontaneous combustion, try to recover position - push harder). You then move into the territory of servo motors, a whole different game.

mbgnjdb5
07-05-2011, 05:47 PM
I don't know how cost comes into your project, but there are cheaper places than RS for steppers (e.g. ArcEuroTrade). Similarly, you probably don't need an absolute encoder, just an incremental one (after all, once it has gone round 360 degrees, it's indistinguishable from its starting position). The encoder you link to has sine-cosine output; this is quite difficult to interface. Simple quadrature output is probably adequate.

The university has an account with RS and they're a 'preferred supplier'. Cost is not too important, as long as it's reasonable.

The reason I need an absolute encoder is that it's imperative that I know the angular position of the component that I'm rotating and because the tests may be split over quite a few days it makes it far simpler to acquire and correlate the data. The errors in angular position of the stepper motor shaft are large enough for me to justify the cost and complexity of the encoders.

One of the technicians I do have access to has worked with sine-cosine outputs before so I'm hopeful that he'll be able to take care of the angular data acquisition.

Hopefully my reasoning is more clear now.

Thanks for the book recommendation, I'll look into it.