>> Home · AVR · avrCCD

avrCCD

avrCCD is an Interface to TSL1401 128x1 Linear Sensor Array with Hold.

The TSL 1401 linear sensor array consists of a 128x1 array of photodiodes. The pixel measures 63.5um (H) by 55.5 um (W) with 63.5 um center to center spacing. The Interface: The interface is very simple, not as complicated as interfacing "bigger" CCD Linear Sensors.
All you need is to generate two Signals (Clk & Si):



The Source Code: The CLK signal is generated within a loop that counts for every pixel. The ADC then samples each output before the next clock edge is generated. The data are then transmitted to the PC via the AVR's UART.
The analog output signal A0 is amplified to near the ADC's reference voltage to use the complete conversation range. I've used a rail-to-rail amplifier (CA3130) for this.
The PC Interface - Viewing the data with VB.NET:
To dispaly the data I've written a small VB.net application that allows you to modify the integration time, measure distances in mm or mil. The red line is the mean value. The 50 next to the OFF-Buton means that the data are updated every 50ms.

Downloads:

11.11.2006. 19:32

Comments

Jan 21.02.2007. 15:42

Hi, where did you get these line sensors? Thank you, Jan

tobias 21.02.2007. 16:24

Hi, I bought it here: http://www.w-r-e.de/shop/index.html

Salar 08.03.2008. 10:52

Hi I downlod avr and pc program. But avr program does not compile. can you send me .Hex file. thanks a lot

tobias 10.03.2008. 13:52

The problem is that the source was for an older version of avrgcc. Include compat/deprected.h and try to compile again. alternative you could define the cbi, sbi macros yourself: #define sbi(port, bit) (port) |= (1 < < (bit)) #define cbi(port, bit) (port) &= ~(1 << (bit))

Jan 01.09.2008. 09:56

Hi, could you maybe post or mail a schematic of this complete setup ? Thanks,

Celso Manoel da Silva 17.01.2009. 02:07

Hi Can you send me shematic thanks a lot

Celso 18.01.2009. 21:46

Hi! I wolud like to see the eletrical scheme between the microcontroler and the sensor. thank you

tobias 18.01.2009. 21:53

Hi, Just connect CLK and SI to the AVR. For the analog Output of the CCD i used a OPV amplifier with a gain of about 2 (i don't really remember). Sorry I do not have a drawn diagram. Tobi

BRACA 10.06.2010. 02:54

Could you deeply explain how to interface the camera to microcontroller? I'm trying to detect a black line in a white underground, but I don't know how to interpret the signals from the camera in order to follow the line. I'm using a freescale microcontroller.

tobias 21.06.2010. 08:15

You need to create Clk & Si signals as shown in the diagrams above. The output of the CCD is an analog voltage for each pixel representing the amount of light falling onto the pixel during the integration time. I buffered the analog signal using a unity gain follower and connected it to the AVRs ADC. Now you have to time the conversation with your pixel clk and your done. A black line on a white background would give you a range of pixels with lower voltage in your result.

Write a comment

* = required field

:

:

:


1 + 8 =