Large array CCD camera and arduino?

Is it even feasible to use an arduino to control and download images from a CCD? I was thinking for an astonomy based application where the CCD might be gathering light for minutes, not fractions of seconds.

The ancillary duties of such a camera could easily be handled by the arduino: moving a filter wheel, opening a shutter, turning on and regulating a peltier cooler- but what about reading the CCD data itself and then transmitting it to a computer program?

For example, a popular chip currently is this Kodak Chip. Would you need a separate shield to talk to this chip, or could the Arduino control it directly? Thanks.

BTW, I believe the data from the CCD is passthrough- when the timer is up, the CCD dumps the image data to the proccessing software on the computer- so the arduino wouldn't be storing any information. Though some cameras do brag about having buffers, so perhaps I'm wrong. (Still a noob)

There is simply not enough memory in an arduino to store anything but a very very small image. You only have 2K of memory on a UNO to store an image, that is nothing at all.

Right, but I think production cameras- at least the cheaper ones- pass the data through to the computer where there is plenty of data storage. I might be wrong though.

The reason I am assuming this is because I am familiar with most high end processing software for astrophotography. MaximDL in particular. The image from the camera is in a raw format- the data is nothing but the readout level of each pixel. In a 6 megapixel image, I can zero in on pixel #4,530,285 and get the exact value of the photons registered. If the chip has a well depth of 256, I would get 0-20 or so for black sky, maybe 80-90 for a nebula sample, etc. You then apply color to the entire image artificially in the software (the CCD is monochrome, so you put a very high quality optical filter that cooresponds to the R, G, or B image you are capturing). Or, you might get a Luminance image with no filtration and you apply the Luminance layer to a finished RGB composite to give it more detail.

So all the camera needs to do is measure each value for each pixel and send it to the software where it is asembled into a rectangular raw image.

The point is that with a CCD array you have to read it out as fast as possible to stop the image degrading. There are several ways the array can be built to minimise this but in essence unless there is a mechanical shutter you will get some image degradation. The arduino communicates with serial data, do the maths, look at the fastes speed this will go at, divide by ten because it takes ten bits to transfer a byte. Then multiply that by the number of pixels and you will see how long it will take to transfer an image. My guess it will be measured in hours.
OK just done the sums on a 3032 by 2008 image at 115200 Baud works out at just under 9 minutes.

Okay, that makes sense. Thank you. My old $3500 camera took about 30 seconds to download a 5mp image, so I guess the price for the camera was spent to implement a fast, expensive processor that is at least what, 18 times faster than the one in the arduino? Sorry, I'm still very new to this, so I obviously don't know what I'm talking about yet. lol

I need to find an Electronics for Dummies book to read...

No problem.

I need to find an Electronics for Dummies book to read

Although I don't think that will help you with this. :slight_smile:

Back in the day the parallel port connectix quickcams were often used for astonomy applications. I think they used a Ti CCD chip, so you might find something in the net archives.

I think they used a Ti CCD chip,

Yes but those chips were only 256 x 256 hardly in the 6 Mega Pixel league.