8
$\begingroup$

I have a small device that's picking up small rocks from a pile and moving them to another place. Its a kind of crude way of trying to push the whole pile onto a bigger gear and hoping one of them is pushed to one of the spaces between gears and taken around and falls off on the other side of the spinning gear. Here I want to know if the machine successfully got a rock here, if not it should spin the gear until it turns up a single rock on the other side of it. If a rock is present at the spot, the gear should stop spinning until the rock is taken care of by the rest of the machine.

What kind of device can I use to sense if I successfully succeeded in getting a rock on the other side of the gear?

enter image description here

This is just a part of a bigger system. To sum up, I need the sensor to signal when a rock is signaled out and separated from the rest so it can continue work on that single rock.

I am building this using an Arduino to move the gear around, so the sensor needs to be something that can be controlled by an Arduino.

$\endgroup$
  • 1
    $\begingroup$ So far, no answer makes sure that you only have one rock, and not 2 rocks that are very close. $\endgroup$ – Nicolas Raoul May 7 '13 at 8:38
6
$\begingroup$

There are numerous options that could/should work here.

As mentioned by Elias, an IR sender/receiver is a good choice. This is similar to a "break beam" sensor. Essentially, when the beam of light between the transmitter and receiver is broken, the controller knows to do something about it. Similar to this would be an IR distance sensor, which records the distance from the sensor to an object by way of the angle of the light reflections. The problem with any sort of sensor based around light (such as IR) is that it can be "corrupted" easily by ambient light: the sun, light bulbs, camera flash, etc. The way to get around this is to pulse the light, only looking for light of a specific frequency (this is how IR TV remotes work).

Example sensors: http://www.acroname.com/robotics/info/articles/sharp/sharp.html

There are also things such as ultrasonic rangefinders which use sound instead of light: http://www.acroname.com/robotics/parts/R335-SRF06.html

At the most complicated level, you could have a camera mounted that detects when a rock has been moved.

Alternatively, you could use a physical sensor to tell when a rock has been moved. This can be as simple as a push button platform - the button is pushed down when a rock is placed on top of it. Of course, this would only work if the rocks weighed enough to counteract the spring inside of a push button switch.

As far as the type of sensor that can be used: Arduino is based around an AVR microcontroller. Microcontrollers can be used with pretty much any kind of sensor you can imagine, although some may be too fast to be handled by the slower clock of an micro-controller versus a micro-processor or require more processing power than is available.

| improve this answer | |
$\endgroup$
  • $\begingroup$ Do you know if they can detect objects that are just in front of the infra red sensor? The smallest minimum range was the gp2d120 with 1,5 inches. Can this be used? $\endgroup$ – bogen Apr 22 '13 at 9:17
  • $\begingroup$ When it comes to the distance sensors, every sensor has a specific range that will return known results. They are Analog, with the returned voltage representing the distance to an object. They will not work as expected out of the range. Objects too far away will not be seen, but objects too close will return strange results. As long as you test the output in various cases, they can be used as a simple "something is right in front of me/nothing is right in front of me" kind of setup. The returned value won't accurately tell you how far away the object is, just that something is there. $\endgroup$ – Kurt E. Clothier Apr 22 '13 at 19:01
  • $\begingroup$ If found this sensor, it looks like it works in that range adafruit.com/products/466 - Think i will go for that $\endgroup$ – bogen Apr 23 '13 at 9:33
  • $\begingroup$ The IR sender/receiver technique can be tricked by some rocks with concave shapes, leading the system to think that 2 rocks have passed although it was just 1. $\endgroup$ – Nicolas Raoul May 7 '13 at 8:39
  • $\begingroup$ @NicolasRaoul Very true. Personally, I would use a combination of a few different things for redundancy. $\endgroup$ – Kurt E. Clothier May 7 '13 at 21:52
2
$\begingroup$

Try an IR sender and receiver, facing each other, and the connection is obstructed by the rock.

For example:

enter image description here

| improve this answer | |
$\endgroup$
  • $\begingroup$ It's too bad that this is a good answer that won't be recognized. It might be useful to add some details or other options. $\endgroup$ – Josh Vander Hook Apr 23 '13 at 4:03
  • 1
    $\begingroup$ Welcome to Robotics Elias, answers which are just a single line are automatically flagged as low quality so you may want to add a few more details, as Kurt did. Have a quick read through How to answer for some more tips. $\endgroup$ – Mark Booth Apr 23 '13 at 9:25
  • 1
    $\begingroup$ Depending on the width of the conveyor belt, you might need several sender/receiver couples, to be able to see a rock even if it is not at the center of the belt. $\endgroup$ – Nicolas Raoul May 7 '13 at 8:35
1
$\begingroup$

I would put the whole conveyor belt on two axis, and:

  • Have the right axis as a pivot.
  • Have the left part's axis rely on a switch button.

Because of the height between the spinning gear and the belt, the rock's impact will be powerful, making it easy to find a switch button that can detect it.

It is very cheap and robust to dust/misplacement.

enter image description here

| improve this answer | |
$\endgroup$
1
$\begingroup$

IR sensor are best used for detecting any thing but they are quite sensitive to IR lights and sunlight.So if in condition when you are not bothering about Ir rays and sunlight , you can always use a pair of IR LED and Photodiode to make a pair of IR sensor.

| improve this answer | |
$\endgroup$
  • $\begingroup$ Yes, that was the solution i went for. It works flawlessy! $\endgroup$ – bogen Jun 28 '13 at 8:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.