avrCCD

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

 

CCD

The TSL 1401 linear sensor array consists of a 128×1 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):

CCD2CCD1

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.

CCD4

Downloads:

Tags: ,

4 Responses to “avrCCD”

  1. Jan GERMANY Says:

    Hi,

    where did you get these line sensors?

    Thank you,

    Jan

  2. theFloe AUSTRIA Says:

    Hi,

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

  3. Salar ISLAMIC REPUBLIC OF IRAN Says:

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

  4. theFloe AUSTRIA Says:

    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))

Leave a Reply