ams Light to voltage sensors (TSL sensors)

I have a question about TSL252R. Does this sensor give higher or lower voltage in output pin by sensing objects?

TSL250R-TSL251R-TSL252R_DS000429_1-00.pdf (558 KB)

It does output a higher voltage if the light intensity is higher and vice-versa. What it does if it sense an object depends on how you sense the objects. Describe your setup.

I want this sensor to use in ballistic chronograph and want to know if a projectile pass through the sensor, output voltage will increase or decrease?
When the projectile pass through the sensor, it seems light intensity will decrease and output voltage will decrease, is it right?

When the projectile pass through the sensor, it seems light intensity will decrease and output voltage will decrease, is it right?

As I said: it depends on your setup. The sensor for itself will not detect the projectile you have to add a light source. There you have the possibility to install a light source that is directed to the sensor so without anything in between it will a high output voltage and the voltage decreases if the bullet flies by.
If you install a light source (like a laser) such that the bullet will reflect the light to the sensor it may be exactly the other way around.

Keep in mind that you cannot measure the voltage in the Arduino ADC, it's much to slow for such an application. You have to filter the signal externally (Schmitt-Trigger comes to mind) so that you provide a steep edge to the Arduino to measure the time.

Doc you posted says rise time is 7 uS, what is the bullet's transit time through the detector?

pylon:
As I said: it depends on your setup. The sensor for itself will not detect the projectile you have to add a light source. There you have the possibility to install a light source that is directed to the sensor so without anything in between it will a high output voltage and the voltage decreases if the bullet flies by.
If you install a light source (like a laser) such that the bullet will reflect the light to the sensor it may be exactly the other way around.

Keep in mind that you cannot measure the voltage in the Arduino ADC, it's much to slow for such an application. You have to filter the signal externally (Schmitt-Trigger comes to mind) so that you provide a steep edge to the Arduino to measure the time.

Thanks for assisting :slight_smile:
I'm using PIC12F1822 ADC and FVR for measure the voltage.

edgemoron:
Doc you posted says rise time is 7 uS, what is the bullet's transit time through the detector?

At maximum about 1000 m/s

That makes 1mm/µs or 7mm in the rise time. What length has your bullet?

I'm using PIC12F1822 ADC and FVR for measure the voltage.

I'm not a PIC expert but I doubt that the PIC's ADC is fast enough. It's probably in the same speed range as the ATmega's ADC. So getting that information from the ADC will probably not work.

pylon:
That makes 1mm/µs or 7mm in the rise time. What length has your bullet?

I'm not a PIC expert but I doubt that the PIC's ADC is fast enough. It's probably in the same speed range as the ATmega's ADC. So getting that information from the ADC will probably not work.

Distance between two sensor is 1 foot (30.48 cm). PIC12F1822 operating speed is 32Mhz and 125 ns instruction cycle. I think It's fast enough for measuring bullet or pellet's speed up to 1000 m/s.

Distance between two sensor is 1 foot (30.48 cm). PIC12F1822 operating speed is 32Mhz and 125 ns instruction cycle. I think It's fast enough for measuring bullet or pellet's speed up to 1000 m/s.

My doubts are not the computation speed. How many AD conversions can the chip do in one second? The Arduino UNO runs at 16 MHz but can do only about 30'000 AD conversions per second, which is definitely not fast enough for your application. You can use both processors for the task but you need external hardware to detect the fly-by.

pylon:
My doubts are not the computation speed. How many AD conversions can the chip do in one second? The Arduino UNO runs at 16 MHz but can do only about 30'000 AD conversions per second, which is definitely not fast enough for your application. You can use both processors for the task but you need external hardware to detect the fly-by.

I'll use separate PIC12f1822 for each sensor. Computation section is PIC16F916 task.

I'll use separate PIC12f1822 for each sensor. Computation section is PIC16F916 task.

Does that change anything on the ADC speed? Do you understand what I'm writing about?

pylon:
Does that change anything on the ADC speed? Do you understand what I'm writing about?

12F1822 ADC sampling speed is 1 microSec at 16 MHz

12F1822 ADC sampling speed is 1 microSec at 16 MHz

No, that's the minimum TAD, a complete conversion needs 11.5 TAD according to the datasheet, so the maximum sampling frequency at 32MHz is about 100k/s. That means this ADC is to slow to register the bullet fly-by.

pylon:
No, that's the minimum TAD, a complete conversion needs 11.5 TAD according to the datasheet, so the maximum sampling frequency at 32MHz is about 100k/s. That means this ADC is to slow to register the bullet fly-by.

So which component can I use to solve this problem?

So which component can I use to solve this problem?

As I already wrote, a Schmitt-Trigger may activate an interrupt as a specific voltage. This should be fast enough and the Schmitt-Trigger could easily be adjusted. You don't need the analog values you just need a signal when the value of the analog voltage reaches a specific value.

Two sensor distance is 30.48cm. If sensor rise up time was 7uS and based on datasheet data 11.5 TAD for 10bit ADC full conversion that takes 11.5 uS, sum of these are about 19uS for sensing first screen. suppose bullet speed is 1000 m/s, so it needs about 300 uS to fly through two sensors screen. Are these calculations
correct?

The sensor you linked to seems to have a response delay of 260us.
Leo..

Wawa:
The sensor you linked to seems to have a response delay of 260us.
Leo..

TSL250R is 260uS but TSL252R is 7uS.

True.
Sorry, missed that.
Leo..