Rotating arm alignment using IR / Light detectors

Hi all, I’m trying to stop a horizontal rotating arm powered by stepper motors at certain points on a table. When the program starts, I want it to rotate until it sees some sort of emitter or reflector, stops and performs a function, and continues on its way.

My question is, what is the best sensor, or emitter and receiver setup to do this? The arm is inside a shallow cylinder, (think roll of tape but much larger and thin) so I could put some sort of reflector tape on the wall to trigger the sensor. I thought about using timings with the motor, but the wheels I’m using slip often and sometimes come up short of the target. I’d like to hear your take to see what you think would work best for this.

Thanks

With a stepper motor, you should be able to accurately move the arm to any position without needing sensors. That's the point of stepper motors. All you will need is a "home position" sensor, so that the motor can calibrate its position at startup.

Thanks for the response.

I was looking into the sensor option to save the time it would take to figure out how much the motor would need to turn for each position, the arm has about a 6 foot radius so the distance it would need to travel would be relatively large and heavy. The movement of the arm needs to be very precise, so if it made one mistake it would truncate all the way through the operation. I feel like the sensor check could help prevent a truncating error by continuing to move until the sensor reads high.

Thats just my perspective on the potential issues I might face, just looking to clarify my thoughts. I am open to trying with just a stepper motor but if it is inconsistent I want to have a backup.

Thanks

A diagram of the mechanism with key dimensions would be a big help. See this Simple Image Guide

Do you plan to have the detector at the end of the arm or at the hub?

In either case what is the acceptable position error in mm?

...R

devk100: Hi all, I’m trying to stop a horizontal rotating arm powered by stepper motors at certain points on a table.

How many points?

devk100: Thanks for the response.

I was looking into the sensor option to save the time it would take to figure out how much the motor would need to turn for each position, the arm has about a 6 foot radius so the distance it would need to travel would be relatively large and heavy. The movement of the arm needs to be very precise, so if it made one mistake it would truncate all the way through the operation. I feel like the sensor check could help prevent a truncating error by continuing to move until the sensor reads high.

Thats just my perspective on the potential issues I might face, just looking to clarify my thoughts. I am open to trying with just a stepper motor but if it is inconsistent I want to have a backup.

Thanks

Unless you thing is moving really slow, it will not be able to stop when it sees a sensor, but will continue to move a bit after being stopped. With a stepper and a sensor, you will have to coordinate each step with testing for the sensor and if the sensor is found, don't move any more.

Paul

Absolute position encoder comes to mind.

Put a toothed belt pulley or gear on the shaft from the stepper motor and a same size pulley/belt on the encoder, run a belt/mesh the gears and you will know almost exactly where the arm is at any time.

devk100: the arm has about a 6 foot radius so the distance it would need to travel would be relatively large and heavy. The movement of the arm needs to be very precise, so if it made one mistake it would truncate all the way through the operation. I feel like the sensor check could help prevent a truncating error by continuing to move until the sensor reads high.

That sounds like a recipe for overshooting your target position, unless you move really slowly, due to the inertia of the arm.

For faster movements you will need to know before you reach your position that you're almost there (e.g. count steps on a stepper motor or ticks from an encoder) to start slowing down, and be able to stop in position.

Sorry for the slow response, I’ll try to answer some questions.

https://imgur.com/a/cgZyIg9

Heres a link to a quick diagram of the arm and table setup, the motor is going to be setup in one of the wheels of the arm. I’ve made lines as to where the arm needs to stop and the number of stops.

In terms of accuracy, +- .5cm from the center of the destinations work. I just want to make sure no truncating errors arise so the can actually get into that threshold.

If I were to put a sensor for light / IR it would be at the tip / end of the arm with wheels.

Also, it doesn’t need to be fast whatsoever. If going very slow keeps it 100% in the bounds, that works with me.

I hope this clarifies some things, and I look forward to reading some more suggestions!

Thanks

OK, Didn't understand the arm is supported by wheels. I suggest you use microswitches that are pressed by a wheel to act as a stop indicator. All the switches in parallel and use one pin of the Arduino to connect to the switch set.

Paul

devk100: Sorry for the slow response, I’ll try to answer some questions.

https://imgur.com/a/cgZyIg9

Please make your image visible in your Post so we don't have to go to another website. I gave you the instructions in Reply #3

...R