3 Axis Positioning System

I am just entering the arduino/DIY community, and have next to no knowledge in the fields of programming/micro controllers. I want to build a 3-axis positioning system using 3 stepper motors. I imagine it highly resembling a microscope stage ( about that size too). I have researched quite a bit in what would be the best way to build this, and the results were mostly used for milling. Though cnc milling machines are similar to what I want to build, the purpose of this would be used at a significantly smaller scale. Milling machines are also designed so that the saw moves around the flat plane, but I want the plane to move. Here are the some of the kits I am looking at:


There is already software out there to adjust the xyz positions so I don’t think I will have to worry about that. You guys have any suggestions on how I am to proceed, or is there any hardware I am overlooking? I know there are systems out there that I can buy finished, but I would like to do as much as I can do by myself, as I am looking to learn at least the basics about micro controllers. Many thanks in advance!

Have you thought about using a positionable microscope stage? Sometimes they can be had fairly cheaply; that would take care of the X and Y axes. Another option would be a cheap milling table for a drill press; Harbor Freight (or whoever your local Chinese discount tool distributor is) sells them. You haven't made mention of how accurate the movement needs to be, nor what the repeatability accuracy needs to be.

What will the Z axis drive? Is this for some kind of automated microscope (where the Z axis would be the scope's focus adjustment), or is it some other kind of project? Or - are you needing a stage that can move up and down as well?

I've seen projects that handle X/Y movement, but never Z movement (unless it was suspended stationary over the X/Y platform). How much travel are you needing in each direction?

I'm not sure whether you would need either of the kits you mentioned, or if you could go with smaller steppers and perhaps some form of stepper motor driver boards meant for interfacing with the Arduino. You might also look into small steppers with the controller built into the stepper (they might be more pricey, though).


In short the nuts and bolts of this project has to do with nanoindentation. Basically I have a micrometer attached to a diamond tipped rod, this instrument is used in doing hardness tests on different materials like metals and polymers. That being said, I do not need nanoscale (or even micro) precision. The ideal step size would be .1 mm, is this sort of precision possible with stepper motors? As for the actual stage size, I think 2-3 inches would be ideal, that is 2-3 square inches of movement . By repeatability accuracy, I am assuming that you mean how little I need the step size to vary from one step to another, as for this I, as long as the variance is no bigger than .1 mm, I would be happy.

The Z-axis should be fairly easy, the way that this indenter works is we have a micrometer attached to the indenter. So in varying the Z-axis, all I am talking about is driving the rod into the sample simply by turning the micrometer. The stage does not have to move up and down, in fact it would be preferably stationary.

Yea, I am not sure about the size of the motor that I need. I definitely do not need anything to big or noisy as the stage will probably be aluminum or some other metal, and there is only 3 inch square of it. There is a bit of resistance to the turning of the micrometer. When you speak of drivers, is it essential that I have drivers? What's the difference between a driver and controller? Say that I get the kit from stepperworld, would I also need to get drivers for the motors, or is the controller enough? Thanks a bunch!

What's the difference between a driver and controller?

A driver does the job of switching the current in the motor a controller tells the driver when to switch.

The ideal step size would be .1 mm, is this sort of precision possible with stepper motors?

Depends on the mechanical coupling but this sort of resolution is easily achievable.

While my project:- thebox.myzen.co.uk/Hardware/CNC_Conversion.html is about CNC milling the controller and stepping motor drive bit is exactly what you need. There is no difference between this and what you want to do except with my project the tool is spinning with yours it is a probe.

Grumpy Mike - Wow that's exactly what I was thinking of. I got my hands on a manual xy stage, so now I think I'm ready to start buying some stuff. I'm thinking of getting this starter pack kit which includes the arduino uno.http://www.adafruit.com/products/68 I'm also thinking of getting 3 easy drivers v4.3. Then comes the question of motors, I'm not sure of exactly how big my motors need to be, any suggestions? Is there anything else that I'm missing?

The easy drivers use micro stepping so you have to keep the motors enabled all the time in order for it to maintain position. That's no great problem but not what my software does. Plan out how many inputs / outputs you need and see if you need some sort of port expander. As you are not asking much force out of the motors then most will be powerful enough. Although it is tricky working out exactly what you need. Look at projects like Reprap for information on motors.

What do you mean by enabled, powered?

Hmmm well now I've been looking on ebay and finding kits with driver controller boards with 3 23 FEMA motors http://cgi.ebay.com/3-Axis-NEMA-23-Stepper-Motor-Driver-CNC-Kit-Software-/120733743886?pt=LH_DefaultDomain_0&hash=item1c1c4abb0e, or just the driver controller board for 60 http://cgi.ebay.com/CNC-3-Axis-Stepper-Motor-Driver-Controller-Board-TB6560-/270705528552, I think these would be the easiest options. My biggest fear with getting these is that I will not be able to find software for what I want. Mike - Your written software looks ideal for what I will use it for, the problem is though that I don't have a Mac :(. All I need is a simple joystick/controller or PC gui to manually guide my probe in the xyz. If I get a controller that connects to the manual interface slot, how much programming will that require? Or do you know of any shareware programs that can do this? I know there are many milling software options out there, but I wasn't sure if they had any manual controls. Thanks again!

When a motor is enabled current is flowing through the coils but it is not moving. In that way it holds it's position with maximum torque. None of my software is Mac specific, you can get processing to run on any platform.

Just a word of caution- those Chinese driver boards have their problems. I would check out this thread (as well as others) on CNCzone: http://www.cnczone.com/forums/general_electronics_discussion/110986-how_i_fixed_my_chinese.html.

Thanks Yankee, I don’t know if it was my smartest purchase but I bought one before I saw your post. I read the thread though and all the fixes and mods look fairly straightforward.