Electronic – arduino – “faster” photoelectric beam sensor

arduinosensor

We've been experimenting with some Velleman PEM10D sensors. (So, something like this.)

The main reason chose, was they have a 10m length (we need a good 6m or so).

I have found that, the response is a bit slow for our needs.

So for example: if you drop a basketball through the beam from a height of two feet, it is travelling slow enough it will register. However if you drop a basketball through from 6 feet height, it is too fast, it will not trigger the device.

I surmise, we need the device to be (let's say) a good ten times faster.

Now, the spec of the device suggests .. "Response time: 5 – 100ms" I don't really know what that means – is that the minimum time of cutting the beam which will register? If so, what does the 10x spread mean? Perhaps someone here will know.

Secondly, in general is this a well-known problem, are there "much faster" photoelectric beam sensors? Or no, or …?

Thirdly, indeed could the whole thing be a fubar on our end … say, poor programming on the Arduino, wrong … power supply or something, or some other mess-up by us?

So, to be perfectly clear, the thing cutting the beam in our setup is a fast-moving ball-like object, which can be moving quite fast .. some 10 or even 20 m/s.

Finally I apologise if this is not in fact the optimum forum. Thx

Best Answer

The manual for your sensor - briefly - mentions "response time adjustment" via a screwdriver, which would explain the spread. Some applications, such as sensing someone coming through a doorway, require longer response times, so as to not trigger separately for, say, each leg.

In general, the response time of this sensor is going to be limited by the fact that it uses an electromechanical relay, which takes time to physically switch on and off. It's likely the internal electronics were designed with low speed operation in mind as well.

Broadly speaking, if you need high speed measurements, you probably want to look for a sensor that has either a transistor output (open collector, open drain, or logic level), or speaks a communication protocol like I2C or SPI. Sensors like these are likely to be designed around higher data rates and response times. Many of these more specialised sensors may be orientated around measuring distance, rather than just detecting beam breaks, but it's certainly possible to construct a beam break sensor with a fast response time; I'm just not sure if any exist commercially.

In passing, Sparkfun have a Lidar sensor that ought to meet your requirements pretty well.