Timescapes - Digital Timelapse Discussion

Page 1 of 1

Author:  Andrew Curtis [ Thu Aug 21, 2008 11:46 am ]
Post subject:  Motors

I know next to nothing about electronics. I'd like to expand my moco horizons with some motors, but I have no idea where to get started. What sort of motor would give you variable speeds, and how would you achieve those changes in speeds? I'd like to have a really simple system of a motor that can turn from say 1 rpm to around 10rpm with a rheostat(?) type dial for adjusting the rpms. I wouldn't need to nail down precise rpms, just have some sort of adjustment. Battery power would be cool but not necessary. Is this kind of thing feasible?

Author:  shutterdrone-old1 [ Thu Aug 21, 2008 12:55 pm ]
Post subject:  Re: Motors

Anything is possible! :D

Let's talk about the three different kinds of motors you are likely to encounter:

1) Standard DC motor

These come in a variety of voltages, torque, etc. Most DC motors that you'll want to deal with run at thousands of RPMs, and have a fairly low amount of torque. Obviously, thousands of RPMs with almost no torque is fairly useless for most applications, so there are "DC Geared Motors" - these are standard DC motors with gearboxes of numerous varieties attached. Often you'll find these gear boxes going from low-end (3:1, 5:1, etc.) giving them a fairly high RPM and fairly low torque, but useful for more applications. You can get into things like the dayton gearmotors which are pretty tough and come rated on the order of 100's:1. I have one at home that's something like 3 RPM, and 800 oz/in of torque!

Now, you have three ways of controlling their speed:

a) voltage reduction. If you reduce the voltage, you reduce the speed. But this also reduces torque, not necessarily a desired result. (This is what you mean by your "rheostat", I believe)
b) PWM. Pulse-Width-Modulation, that is. Basically, you send the required amount of voltage as a "pulse". That is, you bring it to full voltage for a fraction of a second, and then back down to zero. PWM is measured in a percentage of "on" to "off". For example, a 50% PWM would be on half the time, off half the time, and 75% would be on 3/4th the time, and off 1/4th the time (effectively 75% speed). This is one of the most common ways of controlling the speed of fixed-gear motors, but has its limitations. For example, I've yet to find a motor in my workshop that can effectively move at a PWM rate less than ~ 20%. Meaning you can only reduce speed by about 80%. (You could use a potentiometer with a microcontroller, or PWM controller to control the rate of PWM, if you liked.)
c) gear-trains. You can use a gear train from the output of the motor to your final drive destination. You get to pick the ratio you want. If you want a 50RPM motor to go at 5RPM, you create a gear train of 10:1, if you want a 5RPM motor to go at 50RPM, you choose 1:10. The drawback here is that speed is still fixed, if you want to change the speed, you'll need some sort of clutch to switch between gears.

2) Servo motor.

A servo motor is a great beast, and are used heavily in RC model world, amongst others. It's basically a DC motor and a gear-head with a built-in motor controller that is able to determine the exact position of the final output gear (e.g. "I'm at 100 degrees position") by reading the value off a potentiometer included in the motor housing. You send it PWM (see above), and the pulse train tells is where you want it to be. It constantly compares the input PWM against what it reads off the potentiometer, and adjusts its position accordingly.

Unfortunately, you can't really control their speed. You can only tell it where to go, and it gets there as fast as it can. Even worse for a time-lapse implementation, they can only move in 1-degree increments (I can tell you how to make them move in 0.35 degree increments, but we're getting into creating your own motor controller here), and are generally limited to a total of 180 degrees of movement. The only 'speed control' you get from these, is waiting between telling them to move to the next degree.

You can use gear-trains with servos, but that serves little purpose, as they just reduce the actual movement -- if your driving gear can only move half a rotation [180 degrees], and you need 3 rotations of it to make one rotation of an output gear [3:1 gearing] your final output gear could only move 1/6th of a rotation.

3) Stepper motor.

These are very useful motors, and are used in an infinite variety of applications where high torque and low speed are requisite, and also where you need to be able to move in extremely small increments. I won't go into their operation, as it still makes my head hurt to think about it sometimes.

Essentially, a stepper is a motor with lots of poles in it, that can be told to move a fraction of its rotation at a time. You'll usually find them with 'steps' up to 200 (1.8 degrees rotation). But to make these beauties even better, there are now 'micro-stepping' drivers for them, which can make them operate with up to 8x as many steps as they come with. So your 200 step motor becomes a 1600 step motor.

A stepper seems daunting at first, compared to both the servo and standard DC motor - I mean, they come in 3,4,5,6,8 wire varieties... It's only really a big deal though, if you intend to create your own driver. There are _tons_ of drivers out there for them, ranging from the $15 easydrivers (I use these in my project), to several thousand dollar jobs used in CNC applications.

I use steppers in my project, and gear them down (3:1, 5:1, etc.) this is handy, as I can now make even smaller, more discreet movements than with the stepper alone.

Like servos, you control speed of a stepper by reducing the rate at which you tell it to step. Unlike servos, there are generally no built-in controllers, and no guarantee that it actually moved the step you wanted it to. You'd have to rig up an encoder or something to determine the actual amount moved.

AFAICT, steppers are the motor of choice for time-lapse. =) My reasoning is:DC gear motors don't give you enough speed options without serious drive-train complexity, and servos, even if hacked and manually controlled, don't give small enough movements to work out with a smooth visual transition. I tried 0.35 degrees, and it looked very choppy.

Hope this helps a bit?


Author:  milapse [ Thu Aug 21, 2008 6:02 pm ]
Post subject:  Re: Motors

:shock: Damn! laying down the k-nowlage. :shock:

That is so amazingly thorough. Thanks for taking the time to put it down.

There is no doubt that the stepper is the optimum but they do come with a heavy learning curve for the unseasoned. I'd be interested to hear more about the interface as that is where my quest has met many impasses. The most direct route I've found is the ezstepper controller complete with ready serial communication protocols this uber compact puppy can receive serial command sets but in terms of motion control the big pink elephant in the room (other than the engineering of the payload device) is the design and parsing of command sets. Portability is a huge factor as well...

Author:  John Jovic [ Fri Aug 22, 2008 7:00 am ]
Post subject:  Re: Motors

For the Australians, these guys have quite a large range of stepper motor controllers.


Author:  shutterdrone-old1 [ Fri Aug 22, 2008 8:06 am ]
Post subject:  Re: Motors

Well, my experience (and, to be honest, I just started down this path about 5 months ago) is control via microcontrollers. It's a good model for me, as I have a software background. My preference, at the moment, is the arduino ( http://www.arduino.cc ) -- it makes sense for me, as it has an IDE and can be programmed in C++ (in fact, gcc is the compiler it uses). There is also the BASIC stamp series from parallax, which may be easier (it's programmed in a form of basic), but tends to be much more limited than the AVRs used in the arduino series.

My suggestion for an inexpensive, but easy way to control a single stepper? I'd get:

1x stepper - $2-xx (price dependent on whether you buy one new, or find one used, the ones I use, I bought for $6 used, and could be found for around $15 new)
1x easydriver $15 ( http://www.sparkfun.com/commerce/produc ... ts_id=8368 )
1x Ramsey Universal Timer Kit $10 ( http://www.ramseyelectronics.com/cgi-bi ... on&key=UT5 )
1x SPST switch (< $1 at any radioshack)

Total price: $28-$xx (depending on motor cost)

Here's the thought:

The easy driver has one pin for stepping and one pin for direction. GND/VIN are for the motor and there are four pins for the A/B pairs on the stepper.

W/ the easystepper, you can, and should, run the motor at a higher voltage than it is rated for. My 6V motors run @ 12V w/ the easystepper (this is because it's a chopping driver, but that may be beyond the scope of this discussion =) - you run the +/- to the appropriate pins on the easystepper, tie the GND (-) from this supply to the GND (-) for the timer supply. This is an essential step most first timers fail at - you can't send 5v to its control pins if there's no complete loop for the electricity to travel.

To make it move one step, you send a +5V pulse of about 1ms to the STP pin on the easydriver. To change direction, you make it either +5V or +0V on the DIR pin.

So, the universal timer kit (which is a _really_ easy kit to deal with) will tell you how to make it run in astable mode (which is what you need to send a pulse train to the driver), and it has a little potentiometer you can use to change the frequency of the pulse chain (e.g. rate of stepping == speed). Use the SPST switch between your 5V source and the DIR pin. Turning the switch off makes the direction go one way, and on the other.

You can, of course, buy more complete setups, with joysticks, and all of that - but your cost is going to rise the more they do for you. Considering I need a minimum of three drivers in my project, and will move to 4,5,6 over time, the $60+ ones just aren't for me. If you're on a budget, and you don't mind doing a little soldering, the above package will give you motor control for less than $30.

You should avoid doing serial communication if you can, you can quickly end up over your head in dealing with the protocol there, and would need something to do the serial for you, or end up back at the micro-controller level.


Author:  Andrew Curtis [ Fri Aug 22, 2008 8:47 am ]
Post subject:  Re: Motors

Thanks for the info, I might try to put together that setup you described.

Author:  shutterdrone-old1 [ Fri Aug 22, 2008 10:34 am ]
Post subject:  Re: Motors

Andrew Curtis wrote:
Thanks for the info, I might try to put together that setup you described.

NP, it's going to seem daunting at first, but the ramsey kit is designed for beginners. (They use them at middle schools and such for science fair projects.) Practice soldering on some perf board (can pick some up at radioshack and the like for a few bucks) before you get started, to get the hang of it. The ramsey kit has everything labeled on the PCB for you, and clear instructions on how to choose the components to put in place (it comes w/ everything you need).

Just remember that you're going to be using astable mode (the ramsey docs will talk about both astable and monostable mode), and you can get close to 5v by using 4 1.2v's in series. Here's a good explanation on series/parallel wiring of batteries: http://www.batteryuniversity.com/partone-24.htm


Author:  Andrew Curtis [ Fri Aug 22, 2008 12:10 pm ]
Post subject:  Re: Motors

Looking around I found this:

Ramsey SMD-1 Stepper Motor Driver Kit
http://www.ramseyelectronics.com/cgi-bi ... &key=SMD1C

Which may even be available at my local fry's. Would this perform the funtion of both of the items you described? Looks like it needs to be assembled; I think I'd be up to the challenge. I have a soldering iron but have only used it once or twice.

Author:  shutterdrone-old1 [ Fri Aug 22, 2008 12:25 pm ]
Post subject:  Re: Motors

Andrew Curtis wrote:
Looking around I found this:

Ramsey SMD-1 Stepper Motor Driver Kit
http://www.ramseyelectronics.com/cgi-bi ... &key=SMD1C

Which may even be available at my local fry's. Would this perform the funtion of both of the items you described? Looks like it needs to be assembled; I think I'd be up to the challenge. I have a soldering iron but have only used it once or twice.

That looks like a good deal, but it doesn't state which motorola chip it uses, and whether or not it's a microstepper. If it's not a microstepper, you'll be limited to 1.8 degrees per step (which is the norm for a 200 step motor, you can get motors with a lot more steps, but they cost a lot of money). That means the minimum movement increment is 1.8 degrees, or "really choppy" in your final video. You definitely want a "chopping" or "microstepping" driver.


Page 1 of 1 All times are UTC - 8 hours
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group