homemade spectrometer

Thread Starter

pogman

Joined Nov 22, 2012
2
Hoping someone here might be able to point me in the right direction! I'm pretty new to this stuff, but I have an idea to make a homemade spectrometer using a CIS sensor salvaged from a scanner.

The plan is to use some kind of dispersive element in front of the light source, and then read the pixel values back from the array, giving a rough spectrum.

I have the datasheet of the CIS: http://rohmfs.rohm.com/en/products/...ontact_image_sensor/flatbed/lsh3008-ca10a.pdf

So I figure I'll connect a 8MHz crystal oscillator to the CLK pin (pin7). Then I just need to generate a start pulse, which I could do with my Arduino. But I can't figure how I would synchronise them?
I figure for reading the output, I could use my Arduino to read out analog values on the out pin.

As you might have guessed, I'm pretty new to this stuff! Any ideas? Am I going about this the wrong way?

Thanks
 

wayneh

Joined Sep 9, 2010
17,498
The simple approach is to use 3 filters, RGB, and take 4 scans. The fourth is B&W. Read about how The Wizard of Oz was filmed, and you'll get the idea.
 

Thread Starter

pogman

Joined Nov 22, 2012
2
Thanks Wayneh.

Where I'm getting stuck though is the electronics side. I am pretty new to this stuff. I've done some work with IC's in school, but I've never attempted anything this ambitious.

I've spent the day googling and I've come up with some additions to my plan. What do you think?

1. Take an 8MHz crystal oscillator and input to CLK pin on the CIS device.

2. To create a synchronised start pulse with a ~ 200 Hz frequency (1 complete readout of the pixel values every 5 ms), I could use two RC timer type IC's e.g. SN74121. Trigger the first one off a rising edge of the clock signal, and then change the R and C values to give a 5ms pulse. Then trigger the second off the falling edge. This will give me a 200Hz start pulse signal.
So, I now have the pixel value readout being generated every 5 ms.

3. Here's where the problems really start. The pixel values are being generated as an analog signal at 8MHz. How do I read out such a fast analog signal. Apparently, Arduino is only good for kHz.

Here's where my knowledge runs out. Any ideas of a device that can be used to readout something like this?
 

wayneh

Joined Sep 9, 2010
17,498
Well, you could divide down the clock to slow things down as much as you want. A normal spectrometer takes seconds to measure a sample. Are you trying to do something fast?
 

joeyd999

Joined Jun 6, 2011
5,283
I've done this before! Back in 1994: the UV6000LP Photodiode Array Detector.

I don't think you'll be able to convert and pipe the data directly into the CPU.

Better would be sample & hold into a fast SAR A/D...and then the data piped into a FIFO (which can be subsequently pumped out at a more reasonable data rate).

All the timing can be controlled by a PAL or CPLD.

Based on your stated experience, though, this may be a significantly difficult project for you.
 
Top