Ball Bearings Sorter

Hi, I am working on a project to sort ball bearings made of chrome steel, brass, and white nylon plastic. I want to know which sensor can help me detect and differentiate these three materials. I have already tried the TCS34725 color sensor which worked great indoors with 100% accuracy, but outdoors it gave only maximum values and was unable to read colors properly. Then I used an inductive proximity sensor SN04-N, which only tells if the material is ferrous or not. So it can detect chrome steel and brass so it does not tell the difference between chrome steel and brass. Can anyone guide me on a sensor or combination of sensors that works well outdoors and can detect all three materials?

A set of contact points (bearing rests across these contacts) to give an input to the Arduino if it is metallic.
If not, it is nylon.
If it is metallic, the the inductive sensor will tell you if it is steel or brass.

2 Likes

If cost is no object, a handheld XRF spectrometer would do the trick, and would easily handle other materials as well.

Cost is not object bust size is. can you share some link, the one which you are suggesting

I wasn't suggesting a particular one. Perhaps Google could provide some inspiration.

1 Like

i am sorry for oversight in the original post, i have made an edit. the problem with inductive sensor is, it cannot differentiate between chrome steel and brass. the sensor gives LOW signal for both brass and steel. plastic is not detected so i can use trick in code but i must differentiate between brass and steel ball

A magnetic reed switch? The steel ball will attract the magnet, brass should not.

Except the magnet is usually the object being detected and not the switch itself. Seems like one could be easily made, though.

i will try that, but then there is plastic too :smiling_face_with_tear:

Use both methods.

i was thinking to use a magnetic ring that will take away chrome steel balls by rotating, if the ball is still there then only inductive sensor is enough to differentiate between brass and plastic. i will be using servos take the ball to different positions. it will be a complex mechanism.

check out my simple mechanism testing, working accurately with color sensor, indoor: Device Operation Video.mp4 - Google Drive

i would appreciate if some can suggest a simpler mechanism

1 Like

You really need a sensor for that? If you get everything metal then just plastic remains.

Impressive setup. Of course you already thought about to shield the color sensor from bright light, otherwise you wouldn't ask here for other sensors.

No, but a reed switch cannot differentiate between brass and plastic.
A reed switch only reacts to magnetic fields, not the material type. Both brass and plastic are non-magnetic, so the reed switch will not respond to either.

I can, but the competition doesn't allow black box mechanisms, the judges should be able to see the sorting. I already tried covering the sensor, but it still misbehaved. I used training in the code by giving it 3 balls of each type to learn and set range values. It worked well at first, but after some time, the sensor started acting up again.

The metal balls are conductive, right? (I know they are, just wanted to give you a push)

What about a conductance sensor? Brass and steel are good conductors but nylon is an insulator.

What's a conductance sensor? Two metal contacts which the balls touch together.

EDIT: Sorry @ledsyn, I've given it away!

1 Like

See posts #2, #7, & #9

With me and @PaulRB latest genius idea, that involves 2 sensors, we got you covered, or..? Is there a requirement that only one sensor can be used?

yea i got it. i can use 2 or 3 sensors but they should work outdoors. i will check conductance sensor if available in my country.
until now combination of reed switch and inductive sensor is good to go. the code will take values from both sensor, use AND OR logics to differentiate.
otherwise i will try to cover the device using same tcs34725 in a way that judges can see the sorting.

thankyou all :smiling_face_with_three_hearts:

You wouldn't need to buy one, just make one!

The balls would need to touch two metal probes. All the surrounding material would need to be an insulator like wood or plastic.

The metal probes would be connected to an Arduino pin and ground. You can connect the Arduino pin with a resistor to 5V or use the Arduino's internal pull-up resistors.

If a metal ball touches the two probes, the Arduino pin would be grounded and read LOW. The nylon pin would insulate the Arduino pin and it would read HIGH.