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

I really really hope I don't have to design and build everything from scratch, but I need it to be of a certain size (x and y limit) because I need to fit it over something. Can't be too big or too small.

gotta be able to control it via a PC or Arduino. Are there off the shelf solutions that I can just tweak a little bit?

thanks

Depends on the size - I would try to find an existing product (preferably surplus, as these are often expensive new - maybe a 3d-printer where the extruder head is shot and the owner gave up trying to make it work?) that happened to be the right size. You're right to want to avoid making it yourself.

Almost any gantry system could be controlled by an Arduino - it's typically standard stepper motors and a position sensor - most low end 3d printers just use an Arduino Mega with a RAMPS shield.

paulwece:
I really really hope I don't have to design and build everything from scratch, but I need it to be of a certain size (x and y limit) because I need to fit it over something. Can't be too big or too small.

Don't you think it would help to tell us your size limits?

Also important is the acceptable range of positioning error due to mechanical "slop". You need to specify that as +/- N mm.

And that will also depend on the forces involved. Achieving high accuracy on a 3D printer is very different from on a metal cutting lathe.

You will get much better information if you tell us all about the project you want to create.

...R

paulwece:
I really really hope I don't have to design and build everything from scratch, but I need it to be of a certain size (x and y limit) because I need to fit it over something. Can't be too big or too small.

gotta be able to control it via a PC or Arduino. Are there off the shelf solutions that I can just tweak a little bit?

thanks

google cnc foam cutter for low power x/y
the force required to move is the key.
if you are moving a camera or lazer there is no force and the can it can be very light weight
if you are milling metals, then the force of the work will require a much different approach.

Hi, this is an attempt to implement an automated noise (quality) check on gearmotors. They come in trays/totes roughly 0.5m by 0.5m. And there are roughly 100 of them in a tote in a 10 by 10 array, so they are not big. To ensure quality, we want to test the noise level on them but I don't want it to be done manually.

I was able to use FFT/microphone with a PC to differentiated between a bad motor and gear motor.

I'm thinking about building an apparatus that one place on top of the box, and it will turn on each gearbox via a servo or stepper motor, and a microphone can feed the sound to a processor. The whole thing can be placed in a quiet setting. So the requirement is:

  1. A device that carries the microphone needs to move in a grid like fashion to examine each motor 1 by 1. The servo to physically turn the motor on/off will need to move in a grid like fashion too.

  2. I'm not sure if the processing unit will need to move. If the CPU is stationary, then signal from the microphone will have to be wirelessly transmitted (please advise). I don't want wires since that'll get tangled up quickly in the grid like movement. Or I can use something like an Arduino to move along with the microphone. It might just have enough processing power to do some simple FFTs...

  3. What's the easiest way to implement this grid like movement? How can I ensure the moving part moves a fixed distance each iteration? I'm thinking about building a 10 by 10 "track" that gets placed on top of the box. But that still doesn't solve the issue how setting the stopping points. Perhaps mark each point with a black dot and use an optical sensor?

What are your suggestions? I prefer quick and dirty, off-the-shelf solution as possible. If needed, I can also fabricate parts. I thought about xyz gantry system but those are expensive. Since the points of interests are fixed, can I make a "lid" for that tote that has the xy movement tracks and points of interest defined and just have the microphone head iterate thru the points, perhaps via hard coding or something like an optical sensor.

Thanks a lot.

Is it the plan that the "gantry" will carry two probes that will be lowered to connect power to the motor under test?

Have you considered moving the box of motors rather than the microphone? You could probably make a simple X-Y table from two pairs of drawer slides and some MDF.

...R

The “gantry” will carry a “probe” composed of a mini microphone and a servo/stepper to press the on/off button on the gearmotors

I just need help on the xy movement part. I can design the drop down probe myself.

If I have a “lid” with the following grid structure, what’s an easy way to move thru the intersections with an Arduino?

Assuming we can modify the grid structure (like adding tracks or grooves for wheels) but the gist is the same.

Otherwise, I might have to design and build a simple gantry from scratch using sticks and rods…

Thanks

paulwece:
I just need help on the xy movement part. I can design the drop down probe myself.

I was only asking about the probes so I can better understand your project.

If I have a "lid" with the following grid structure, what's an easy way to move thru the intersections with an Arduino?

[....]

Otherwise, I might have to design and build a simple gantry from scratch using sticks and rods...

I don't understand the connection between these two statements.

Can't you manage the movement of the gantry using pre-determined distances without the need for any grid?

Another thought is to drop some sort of probe into the cell and stop when it touches the next side of the cell. Maybe have one of those lever-type micro-switches on the probe. Or if the grid is metal connected to Arduino GND it could just close a "switch" when a metal probe touches it.

Or what about a reflective optical sensor (such as a QRE1113) that detects a white mark on the grid?

...R

The mention of a 'drop down' sensor that implies three dimensions to work in. This would be a basic task for a robotic arm. Lots of robots have built-in repetitive functions for doing things like stacking pallets. Once 'taught', the end effector, moving in XYZ coordinates could carry the servo and sound gear to each motor in turn and perform the tests under direction of a PC or Arduino.

Just sayin'.

I see an x/y problem with an x/y project...!

paulwece:
I just need help on the xy movement part. I can design the drop down probe myself.

google

foam cutter cnc

look at some of the DIY builds.

I have seen lots of 3D printers using a similar gantry system. They're generally a bit smaller, though.

Basically two bars, placed perpendicular on rails, and two motors (I suppose steppers) to move them independently using a belt. The printer head is moved around in the x and y directions by these two bars. It being a printer it of course has a third motor (or set of motors) to move the whole contraption in the z direction as well. You probably don't need this as the probe can extend itself down.

It sounds like this is what you need, just a bit different form factor and with longer than usual x and y bars.

Two steppers per bar (two for the x, two for the y) may make it run a lot smoother.

Of course add a set of limit switches for initial homing of the bars when the device is switched on.

Still haven't said what the actual size is though.

I believe there was reference to a "10 x 10" but again no units. Feet, inches, mm, cm, miles, furlongs?

saildude:
I believe there was reference to a "10 x 10" but again no units. Feet, inches, mm, cm, miles, furlongs?

OP was a bit cryptic about it but it seems the whole thing is to cover a tray of 50x50 cm (i.e. be a little larger than that), with motors in a 10x10 unit array:

paulwece:
They come in trays/totes roughly 0.5m by 0.5m. And there are roughly 100 of them in a tote in a 10 by 10 array, so they are not big.

Unsure though what relation is to the 12x12 tray in the image OP posted.

Does anyone know the computation limit of the Uno for doing FFT? I plan to sample the sound N times per X second (say, 2000 samples per 1/10 sec), and average it across Y sec (say 3 sec) to decrease the variance of the spectrum.

I heard the Arduino can't handle this so what kind of sample rate would work then?

Another question is, if I power the Arduino using the USB connection, then I'm limited to 500 mA right? That means I can't power two 28BYJ48 stepper motors at the same time since the current draw would be dangerously close to 500 mA from my experiments. So if I use a stepper per axis, I can't move two axis simultaneously.

Essentially, the Arduino would do something like:

Move x axis
Move y axis
Move an actuator on the z axis (to turn on the gearmotor)
Obtain the sound signal from mic and do FFT
save the result
...iterate thru 100 positions
Home the steppers
display the result (pass/fail) based on a criterion on a LCD screen.

Please tell me this is all possible with an Uno and I don't need a PC for this...

Thanks

A 16MHz Atmega chip can do about 15,000 samples per second at max resolution. My guess is that it would be best to leave the Arduino look after the movement and use something else for the sound analysis

...R

So if I use a stepper per axis, I can't move two axis simultaneously

Worse that that because a stepping motor takes the maximum current when it is stopped not when it is moving.

paulwece:
That means I can't power two 28BYJ48 stepper motors at the same time since the current draw would be dangerously close to 500 mA from my experiments. So if I use a stepper per axis, I can't move two axis simultaneously.

You should not be drawing power, even for a single motor, through an Arduino. Give the motors their own power supply. The Arduino is just for controlling things.

...R

Robin2:
A 16MHz Atmega chip can do about 15,000 samples per second at max resolution. My guess is that it would be best to leave the Arduino look after the movement and use something else for the sound analysis

...R

How did you arrive at the 15,000 samples per second figure? I guess I can just sample at 10k hz then? Using a PC, I noticed the most interesting frequencies are under 5k hz, so with a sampling rate of 10k hz, I should be able to capture that.

And since the Arduino wouldn't be doing anything else as it do the FFT, a UNO might be enough for this?

Also curious if the RAM is enough on the Arduino? And also the storage (need to store the average amplitude) for 100 products.

thanks