Log in

View Full Version : Stepper motor questions


Juliovega914
31-10-2010, 22:16
Hey guys. I am an alumni of FRC Team 514. I am not completely sure this is the correct location for this thread, if a moderator sees it fit, please go ahead and move it...

So, as part of a college project, we are working on developing a machine that is going to pump a very precise amount of fluid. Our basic design idea is one similar to that of a syringe pump. We are going to take a large syringe, and compress the plunger using a lead screw, which we plan on powering using a stepper motor we purchased.

Now the problem is that none of us have ever used a stepper motor before, and we are having trouble coming by anyone, professor or otherwise, who knows enough about them to recommend what kind of control board we will be needing.

The control of the system is going to be handled entirely within Labview, and we plan to do all of the controlling of the stepper motor using a National Instruments DAQ board (model 180955-01B).

What I am basically trying to learn is whether or not we will be needing a separate control board, and what kind of board we will be needing that would be compatible with our daq board. None of us really have any experience in this, so some basic information to get us started and have a working stepper motor is all I really need.

Here is a link to our motor:
http://cgi.ebay.com/177-oz-inch-STEPPER-MOTOR-IC-CNC-MILL-LATHE-ROBOT-/110483490337?pt=LH_DefaultDomain_0&hash=item19b9544621

Thanks!
-Rich

rahilm
31-10-2010, 22:20
I've built a couple CNC machines, and have had good luck with this one:

http://cgi.ebay.com/3-Axis-TB6560-CNC-Stepper-Motor-Driver-Controller-Board-/270637304526?pt=LH_DefaultDomain_0&hash=item3f033d8ace

It's really easy to use, and has a parallel interface for controlling with a computer. I've never used LabView before, but I'm assuming it allows you to interface with the parallel port.

Gdeaver
01-11-2010, 20:20
At work, I use peristaltic metering pumps to dose. what volume and and pressure are you looking at?

Richard Wallace
01-11-2010, 20:53
3,858,581

(google it)

Also, you might try this controller (http://www.hurst-motors.com/220018.html).

Juliovega914
02-11-2010, 01:10
@Richard: This isn't an invention which we plan on applying for a patent with, just a solution to a problem which was assigned to us as a school project. Pumps like this have existed for much longer, such as the syringe pumps commonly used for the gradual injection of small amounts of fluid.

@gdeaver: We are looking to move anywhere between 1 and 1000 ml, with a precision of +-2 ml, We were going to use two 500 ml syringes, and so pressure will be very low. our stepper motor has a far higher torque than we need, we are using it because we got a deal on it.

Basically all I need is what I can do to get this motor turning under control, and I can take it from there.

Al Skierkiewicz
02-11-2010, 07:42
Julio,
Your link indicates that the motor came with a motor driver board. The data sheet can be found here...
http://www.sanyocomponentsdirect.com/content/download/846/6194/file/STK672-340-E.pdf
With stepper motors, you need some feedback mechanism that can sense position and speed and a direction command. For your motor, it will also need a pretty hefty power supply. An FRC battery could supply the needed power or certainly a 12 volt pack of D cells would work as well. In your application, a motion limit might work but something that can sense the actual fluid flow would be better. Then you would just need to command a direction and enable the motor. Disable when the motor reaches the required distance/flow.

Ether
02-11-2010, 09:07
Stepper motors are often operated open-loop with a relative position command (relative to the startup position or some stall position established at startup).

If the stepper motor torque capability substantially exceeds the maximum expected load, it is assumed that the motor will step faithfully when commanded, which eliminates the need for feedback. Of course, if safety is paramount then this type of open-loop control may not be appropriate (for example, if something were to jam and the motor was unable to move the load, the controller would not know).

The control algorithm meters the steps at a rate slow enough that the motor will track faithfully (based on motor torque capability and expected maximum load). The algorithm keeps track of the commanded steps so it knows the position of the motor (relative to the startup position previously mentioned), without the need for a feedback sensor.

Al Skierkiewicz
02-11-2010, 09:29
Ether,
The stated use requires some form of feedback. The user intends to control a flow of 1-1000ml +/- 2 ml.

Richard Wallace
02-11-2010, 09:32
@Richard: This isn't an invention which we plan on applying for a patent with, just a solution to a problem which was assigned to us as a school project. Pumps like this have existed for much longer, such as the syringe pumps commonly used for the gradual injection of small amounts of fluid...

Autosyringe (http://www.dekaresearch.com/autosyringe.shtml) (the product associated with the US patent number that I referenced above) was one of Dean Kamen's early inventions. It uses a step motor in the manner that you described. Dean purchased step motors and controllers from Hurst Mfg. (see the link in my earlier post) during the autosyringe development. When I introduced him to Dennis Hurst, the developer of those step motors and controllers, many years later at an FRC Kickoff, Dean shook his hand and said, "Thank you for making me rich."

BTW, the Hurst step motor controller still works very well.

Ether
02-11-2010, 09:33
Ether,
The stated use requires some form of feedback. The user intends to control a flow of 1-1000ml +/- 2 ml.

That is achievable without feedback, by using the right stepper motor and the right lead screw and the right syringe, which I believe was the OP's intention. Correct me if I'm wrong Julio.

DonRotolo
02-11-2010, 20:21
Ether,
The stated use requires some form of feedback. The user intends to control a flow of 1-1000ml +/- 2 ml.
Al, I have to side with Ether here. I can command a stepper motor to move my PC Board drill machine's table 0.00025" at a time, repeatably and reliably, over about 10 inches - open loop. I'd have to think I could move a syringe plunger equally as precisely and accurately.

Rich, you might consider Gdeaver's response more carefully, as a peristaltic pump can do that easily with at least an order of magnitude greater precision.

Al Skierkiewicz
03-11-2010, 09:21
Don,
As there are a number of variables here, atmospheric pressure being one, that influences flow rate, isn't some feedback needed?

Ether
03-11-2010, 11:01
As there are a number of variables here, atmospheric pressure being one, that influences flow rate, isn't some feedback needed?

Atmospheric pressure has no effect on the volume or mass of liquid ejected from a syringe for a given plunger displacement, since liquid is effectively incompressible for purposes of this project.

Al Skierkiewicz
03-11-2010, 11:09
But the syringe is...

Ether
03-11-2010, 11:25
But the syringe is...

That has no effect. As the atmospheric pressure changes, both the inside and outside of the syringe experiences the same change in pressure. This is false only if the liquid is being ejected into a closed system whose absolute pressure is not affected by atmospheric pressure.

Gdeaver
03-11-2010, 17:37
A bubble of air in the syringe will affect the dosing. The viscosity of the fluid also has an effect. What fluid is being dispensed?

DonRotolo
03-11-2010, 17:50
Al,
The effects would be negligible. The assumptions include the syringe being full and of typical construction, and the fluid qualities known.

While I too am a big fan of feedback, I turn again to my CNC-based PC Board drilling machine. It runs open loop - stepper motor motion can be characterized exactly so long as you stay within its capabilities - and holds 0.001 in an inch of travel (20 revolutions of a motor) easily. I can recalibrate it to reduce or eliminate that if desired (but I'm too lazy). It is extremely repeatable: If I command it to run 4000 steps, it runs 4000, never 3999 or 4001. This is the beauty of stepper motors. The downside is needing computational capacity to do the counting, but a 4.77 MHz PC with 640k handles this trivially.

Ether
03-11-2010, 17:52
The viscosity of the fluid also has an effect.

The viscosity affects only the dynamic load on the stepper motor, not the volume dispensed.

It is being assumed that the selected stepper motor's torque is more than sufficient to push the plunger. If you are trying to push silly putty through a pinhole, all bets are off.

drakesword
04-11-2010, 16:08
Would the number of people in the room breathing at the same time have an effect on the impulse atmospheric pressure waves which in turn would cause micro oscillations withing the nano nitrogen atoms infused within the substance causing a mild fluxuation in density and volume?

Naa just joshing you!

Stepper motors wil turn an EXACT number of degrees for a set input UNLESS the load exceeds the stall torque.

Stepper motors are more like ac induction motors. If you apply a current accross a coil they WILL NOT continue to rotate. Instead the magnets on the stator will align with the magnetic field produced by the specific coil powered.

Maybe this is a good time to say that stepper motors have multiple coils Some times as few as 4.

So in reality unless a large load was applied there is no need for an encoder as the stepper motor itself is an encoder per say.

If you displace a specific volume of water in a bathtub then that same ammount of water will be displaced with any atmospheric pressure.

Ergo you move the plunger a set amount in the seringe the same ammount of fluid will come out regardless of pressure.

The only situation where atmospheric pressure would be an issue would be if there was a gas within the plunger AND the atmospheric presure changed a large enough amount to cause the gas to expand or compress more then 2 ml.

Now for some actual help

What is the throw on the seringe you are using?

If it is small enough you can use the leadscrew from a cd/dvd drive and hey that already has a stepper motor attached to it. With a handful of transistors and a uC you can drive a small stepper motor from some AA batteries or a computer power supply.

Speaking of power supplies, old laptop chargers are good power supplies with a few added componets (variable voltage regulator and filter caps)

Ether
04-11-2010, 17:25
Stepper motors wil turn an EXACT number of degrees for a set input UNLESS the load exceeds the stall torque.

"Stall" torque is not a specification you'll typically see with stepper motors, because you can't load a stepper motor smoothly down to zero speed as you can with a DC motor. The speed of a stepper motor is fixed at the step rate and does not depend on applied voltage and torque as does a DC motor. As you apply torque load to a spinning stepper motor, the motor does not slow down. The motor abruptly loses sync and operates erratically (or stops) when you reach the pull-out torque rating for the speed and voltage at which the motor was operating. If a stepper motor is motionless and holding a torque against an external load, and you command the motor to spin at a certain step rate, the motor will follow the command faithfully only if its pull-in torque exceeds the load torque.


Stepper motors are more like ac induction motors. If you apply a current accross a coil they WILL NOT continue to rotate. Instead the magnets on the stator will align with the magnetic field produced by the specific coil powered.

Stepper motors are really not at all like AC induction motors. Their principle of operation is completely different. Steppers are synchronous; AC induction motors are asynchronous. If you apply an AC voltage to an AC induction motor it will spin asynchronously at a speed related to the frequency and the load. Steppers spin synchronously at a rate determined by the commanded step rate. AC induction motors have induction coils on the rotor. Stepper motors typically have an iron rotor.

Juliovega914
04-11-2010, 20:52
Well, we've looked into it, and it seems the stepper motor/syringe pump may be too costly for our constraints. we have a 100 dollar limit to our design, not counting the daq board and the computer/software. So I as much as I like that pump, its not in our cost range, and so too it may seem that the stepper motor is also outside our cost range.

Ether
04-11-2010, 21:04
we have a 100 dollar limit to our design, not counting the daq board and the computer/software. So I as much as I like that pump, its not in our cost range, and so too it may seem that the stepper motor is also outside our cost range.

Is there anything else you haven't told us?

What is the exact wording of the problem statement, including all constraints and rules?

Gdeaver
04-11-2010, 23:23
Wait! Syringes are cheap. A small lead screw and nut will cost a little bit. Add in a shaft coupler. Some metal and that's well under 30$ Add 38 for the stepper so that's not more than 68$. Some scrounging may lower that. So now for your initial question. How do you control the stepper? A small micro controller board would work. Only 2 pins are needed. One would be set low or high to control direction. The other pin is pulsed high then low to clock each step. Some high level micro controller languages have a pulse out command. Each time the pulse out command is called the stepper will do one step. The micro controller board will need to have a serial or USB port. Labview will take the user input and tell the micro controller how many pulse out commands to call. Yes, this project can be Kludged together for less than 100$ as long as you do not include your development time. If the right development board is chosen you could add some buttons and a LCD display to make a self contained system for still under 100$. It's all about the kludging skills.

The other option is to try a peristaltic pump. You'll find that they are out of your price range. However, you might be able to get a used one. On commercial dishwashers a rinse agent is dispersed by a peristaltic pump. You may find a local dishwasher service or restaurant equipment service company that you might talk into giving you a used one. These pumps are 110 volts AC shaded poll gear motors. To control it you could used a micro controller to turn a solid state relay on and off to control the motor. While this could be done based on time, an index on the pump would be better. If you can get the right pump for free this could be done maybe for even under 50 dollars. It's all about you kludging and scavenging skills.

Ether
04-11-2010, 23:35
Wait! Syringes are cheap.

He may have to design and build his own syringe to meet the accuracy and volume specs he mentioned.

2.8" bore diameter, 10" long, will hold 1000ml, and will give +/-2ml volume accuracy if plunger is positioned within +/-0.02"

Smaller bore requires greater length but gives greater volume accuracy for a given plunger accuracy, and vice versa.

DonRotolo
05-11-2010, 00:38
I'd go with 1/4" diameter, 100" long...:rolleyes:

sigh. OK, he got us. We were solving a problem and we believed we had the info we needed. Well, we don't/didn't, so until I hear what the actual problem and constraints are, I'll just listen.

Al Skierkiewicz
05-11-2010, 07:49
AC induction motors have induction coils on the rotor. Stepper motors typically have an iron rotor.

Ether,
This is going to confuse someone who opens an induction motor and finds no wire coils on the rotor. It will also confuse those people who open a VCR and take apart the drum or capstan motor, only to find a bunch of coils and no iron in the rotor.

For those reading along, many induction motors you will open or those of open frame design, will have a shorted rotor design. In these motors, the rotor core is shorted from end to end. Usually these take the form of copper welded/brazed to the ends of the rotor. The short they produce, "induces" significant currents to develop which in turn creates the magnetic fields needed to turn the motor shaft.

In the typical VCR stepper motors, the rotors are actually rare earth, multipole, permanent magnets attached to the rotor housing. VCRs use stepper motors for the same reason we have been discussing them above. They can easily be controlled for speed and position (phase). The feedback for VCR motors comes from control signals recorded on the tape.

Ether
05-11-2010, 09:29
Ether,
This is going to confuse someone who opens an induction motor and finds no wire coils on the rotor.

OK, here's (http://www.hsc.csu.edu.au/physics/core/motors/2698/Phy935net.htm#net1) a bit more detail:

# The rotor consists of coils wound on a laminated iron armature mounted on an axle. The rotor coils are not connected to the external power supply, and an induction motor has neither commutator nor brushes. An induction motor is so named because eddy currents are induced in the rotor coils by the rotating magnetic field of the stator. The eddy currents produce magnetic fields which interact with the rotating field of the stator to exert a torque on the rotor in the direction of rotation of the stator field.

# The rotor coils are often simplified to single copper bars capable of carrying a large current, imbedded in the surface of the armature. The bars are connected at the ends by a ring or disc of copper which allows current to flow in a loop between opposite bars. This physical arrangement is referred to as a squirrel cage because it resembles an exercise wheel for small mammals.

Ether
05-11-2010, 09:48
100" long...:rolleyes:


100' long !!! :eek:

kamocat
08-11-2010, 00:24
I guess we're still waiting on more info, but…
with the budget you have, why not make a stepper controller using IO from your DAQ board?

I've attached an example simulation.
Here's a video (http://www.screencast.com/users/kamocat/folders/Jing/media/52ea7a26-f366-4c4f-80c1-a12da530c6e0) of the simulation.

Edit: Pardon my manners. I forgot to back-save, and had uploaded the compatible only with LabVIEW 2009 and later. They are now saved for LabVIEW 8.0.

Gdeaver
10-11-2010, 14:07
Peristaltic pumps are a viable option. To see what is available commercially look at this link. http://www.verderflex.com/

Clem1640
11-11-2010, 10:18
The good news is that syringe pumps (exactly as you describe you are building) are commercially available and used in laboratory environments. They are simple, work quite well, and delivery liquid accurately. They can be (and are) controlled effectively using Labview.

The corollary is that you can buy a syringe pump. You should chack this out and do a make-versus-buy analysis.

Clem1640
11-11-2010, 10:26
Syringe Pump suppliers:

economical:
http://www.syringepump.com/?gclid=COiJju2ImaUCFctL5QodWWq4Gg

pricy:
http://www.kentscientific.com/products/productView.asp?ProductId=6174&Mouse_Rat=KDS+Infusion+Syringe+Pumps&Products=KDS+Infusion+Syringe+Pumps

http://www.coleparmer.com/catalog/product_index.asp?cls=7459