I need to build a XY gantry system of a certain size, what's the easiest way?

paulwece:
This just occurred to me... I feel I can simplify the mechanical complexity quite a bit if I do away with one of the axis.

Back in Reply #5 I wondered if you would be better off moving the table on which the box is located rather than moving the microphone. I don't believe you responded to that. To my mind it would greatly simplify the mechanics.

...R

paulwece:
This just occurred to me... I feel I can simplify the mechanical complexity quite a bit if I do away with one of the axis. The products are in a fixed array of 8 by 12. Rather than a xy gantry, I can use a system that moves in only one dimension, but I would have multiple of units of movement.

So in my case, the products are laid out in 8 rows by 12 columns. I can have a 4 movements (each responsible for 2 rows) and move across the columns. I will design the attachment so that it will have 2 mics, one for each side.

This simplifies the problem since I'm just add more of the same (stepper motors are cheap) rather than dealing with the complexity and size of a new axis. I can use fixed tracks then, and use maybe a optical sensor that senses points along the track, rather than deal with multiple timing belts.

I feel this takes advantage of the fact that my layouts are fixed.

What do you guys think?

For less than $100 USD you can build an X/Y gantry including steppers and stepper drivers.
have you looked at any of the foam cutter builds videos ?
lay 2 drawer slides on a table
lay 2 more over them perpendicular
you have two axes. hardware stores sell all the hardware you need.

if you have not, please read the introductions to steppers that Robin2 linked. it will give you a starting point.
the steppers you need for this can be pretty small. $10 units. A4988 drivers are cheap and easy and take either 5 or 3v3 signals. an old 12v computer power supply would be way-way overkill for power.

stepper driver power is set by a sense resistor, on the A4988 it is a trim pot. that sets the current.
the driver is a chopper. it delivers the same power if the motor is running, slowing, ramping or standing still.
so as was pointed out there is no saving by having a motor sitting or running. the beasts need to be fed all the time.

==================

homeing switches are optional. when you drive to the mall, you park in the white lines. you could have a dot at each station, move to the dot, your sensor says you are on-station and Bob's your uncle.
For your size unit, you can spin the motors to the end and keep driving them. The physical end is the new zero.
no need for switches. but it is much easier in software to have a make/break contact. any micro-switch or even a push button momentary would work.

homeing switches are required for units driven under load. when you are moving non-contact devices, it is not as likely that you will miss steps. and then the question of missing steps needs to be answered. what if ?
for an X/Y like you ask, it is an afternoon build, weekend at most. but using a threaded rod and half step, you would have 200 steps per rotation, x 2 for half step, x 20 for a 1/4inch threaded rod. that means at half step, you have 8,000 steps per inch. if you need to be within 1/16 of an inch to line up pads for testing, you need to make sure you do not miss more than 500 steps. and if your build is that sloppy, it would be pretty easy to fix. your application should not miss one step based on your description and a sloppy first-timers build.

sequence would be run to start (hit home switch)
home both X and Y axes.
move X to position #1, test, move to position #2 test....3,4,5,6,7,8,9 and 10
at the end of the row, move Y to position #2,
X still at position #10, test, move to #9, test...87,6,5,4,3,2 and 1
move Y for row #3 and home the X to make sure.

you can build one very easily out of pretty much anything.
the Z is the key. that is the part that will take more time.

==================

you posted a pic of a black tray. is that something you can use to bolt the X/Y table to and have it sit on your other trays ?
your Z part could then go down on the part to be tested ?

Robin2:
Back in Reply #5 I wondered if you would be better off moving the table on which the box is located rather than moving the microphone. I don't believe you responded to that. To my mind it would greatly simplify the mechanics.

...R

thanks for the suggestion. How would moving the table be any easier? So rather than moving the mic around a fixed table, you are suggesting moving the table with respect to a fixed mic? You still need x and y movement regardless right?

dave-in-nj:
For less than $100 USD you can build an X/Y gantry including steppers and stepper drivers.
have you looked at any of the foam cutter builds videos ?
lay 2 drawer slides on a table
lay 2 more over them perpendicular
you have two axes. hardware stores sell all the hardware you need.

I found this:

The biggest challenge for me is figuring out how to "lay 2 more over them perpendicular." If you can provide a link with the approach you mentioned (with the drawer slide), I'd highly appreciate it.

thanks

paulwece:
You still need x and y movement regardless right?

Of course.

It just seems to me that making a moving table would be easier than making a moving gantry.

...R

paulwece:
I found this:
https://www.instructables.com/id/4-Axis-CNC-Hot-wire-Foam-Cutter-ArduinoRamps14/

The biggest challenge for me is figuring out how to "lay 2 more over them perpendicular." If you can provide a link with the approach you mentioned (with the drawer slide), I'd highly appreciate it.

thanks

if you look at the cross bar, you can mount a slide on that.

dave-in-nj:
https://www.instructables.com/id/Low-Cost-Hobby-Servo-XY-Table/
if you look at the cross bar, you can mount a slide on that.

That's the sort of thing I had in mind.

...R

To get a 90 degree, you can mount a steel electrical box.
Called a 1900 box, it is a smaller size, about 4 inch square.

The ones that have square sides and sharp corners should work.
You could mount one on each main slide and then mount a board across so the board is vertical.
Then mount your Y slides on the board.

if you look at the main rails, they would mount on the box edges.
put the steel box on each and mount a board across so the face is vertical.
mount two more slides on that. use a threaded rod as the drive.
or belts like shown.

mount the steel cover plate (you can get larger ones) on those and mount your Zee axis on that .

it will allow you to put your box under and then poke down onto each unit to test.

dave-in-nj:
https://www.instructables.com/id/Low-Cost-Hobby-Servo-XY-Table/
if you look at the cross bar, you can mount a slide on that.

Thanks, that's helpful. I'll study it.

So why is the Raspberry Pi not a "real time" system? (and the Arduino is?)

The whole time I was thinking about using the 28byj48 stepper as that's the one I've used in the past. I feel it has enough torque but not sure about longevity.

There are some other options mentioned so far in this thread and I'll investigate those too.

paulwece:
Thanks, that's helpful. I'll study it.

So why is the Raspberry Pi not a "real time" system? (and the Arduino is?)

Because the Rasberry has a non-real-time operating system. You cannot output a consistent series of pulses by just commanding a GPIO on and off. You will get interrupted by the operating system making its own decisions on when to write to the disk, for example.

The Arduino has no operating system. There are no software drivers betwen your C code and the actual outputs.

True real time operating systems are rare. You see them in some industrial equipment and in space probes.

If I use a stepper motor to press buttons, is there a way to incorporate a sensor that will stop the stepper motor if it faces too much resistance (when the button has reached the end of its travel)?

Otherwise, the motor will stall and things might also be damaged. I guess there are always ways, but what would be the easiest?

Thanks

Usually in such projects, limit switches are the answer. Take a look at the reprap pages (or indeed any 3D printer) to see them.

paulwece:
If I use a stepper motor to press buttons, is there a way to incorporate a sensor that will stop the stepper motor if it faces too much resistance (when the button has reached the end of its travel)?

The short answer is NO. It won't do the stepper motor any harm if it stalls. But it might have destroyed the button before that.

A servo seems to me a far better choice for pressing buttons because it can be installed in such a way that when the servo-arm is at maximum extension it does not cause the switch to bottom.

...R

I think I will use the following XY gantry:

It saves me from designing the mechanical stuff and isn't too expensive. I plan to use NEMA 17 stepper motors. As for the drivers, I can use a Pololu A4988, or I can use a "real" driver like"

Someone recommended the latter to me. What is the advantage of it compared to the A4988 aside from looking more professional? Do I need one driver for each stepper?

Also, since I'll be using Raspberry Pi for this project (real time control not important), how do I power the Pi and the stepper motors and drivers using a single power supply? (I only want to plug in one cable).

Thanks

paulwece:
Someone recommended the latter to me. What is the advantage of it compared to the A4988 aside from looking more professional? Do I need one driver for each stepper?

Before identifying a suitable stepper driver you have to identify the stepper motor. Then choose a stepper driver that can comfortably provide the current required by the motor. I suggest you get a driver than can supply 150% to 200% of the motor requirement.

If you just want to plug in one cable you could use an extension cable with several sockets so that each unit could have a suitable power supply.

...R

I decided to use Nema 17 for the XY gantry. Speaking of stepper motors, there's this:
STR Stepper Drives | Applied Motion?

and there's this:

The first one is obviously higher quality and more robust and expensive. But aside from the obvious, what else set them apart?

Should I use one driver to power both steppers or is it better to dedicate one driver for each?

Thanks

Do you use one driver for two cars?

paulwece:
Should I use one driver to power both steppers or is it better to dedicate one driver for each?

Assuming your steppers are making the same movements and the driver can provide enough current, yes you can. You can see this on 3D printer designs like the Prusa.

paulwece:
The first one is obviously higher quality and more robust and expensive. But aside from the obvious, what else set them apart?

You have not provided details of the specific motor you plan to use. An A4988 is only capable of supplying about 1.4 amps and the Pololu DRV8825 (which is about the same price) can supply about 1.7 amps.

Should I use one driver to power both steppers or is it better to dedicate one driver for each?

If you use one driver for two motors then the motors should be wired in series. and you will probably need a higher voltage power supply - within the limits acceptable to the driver.

It is probably better to have a separate driver for each motor. You could control two drivers from the same Arduino I/O pins if the motors are to move in step and if their output shafts are connected so that they cannot move out of phase with one another.

...R