Forum: Mikrocontroller und Digitale Elektronik Problem mit ILX551B (CCD-Sensor)


von Christoph B. (christophbudelmann) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich versuche gerade einen ILX551B-CCD-Sensor von Sony auszulesen, leider 
jedoch ohne viel Erfolg.

Die Taktgenerierung und Ansteuerung übernimmt ein Atmega128 und soweit 
ich das in meinem Code und auf dem Oszilloskop beurteilen kann, ist dies 
alles auch okay. Leider habe ich am Ausgang des CCD-Sensors immer nur 
knapp über 1V. Leuchte ich den Sensor voll aus, erreiche ich höchstens 
einen Anstieg von 200mV. Ist alles dunkel, bleibt es bei 1V. Beschaltet 
ist der Sensor wie das Beispiel im Datenblatt, Sample-and-Hold ist 
aktiviert. Normalerweise müsste die Spannung bei steigender 
Lichtintensität doch sinken, oder?

Gruß
Christoph

von Christoph B. (christophbudelmann) Benutzerseite


Lesenswert?

Keiner eine Idee, woran es liegen könnte?

Ich habe inzwischen auch mal den Betrieb ohne Sample-and-Hold probiert, 
wobei mir aufgefallen ist, dass das Ausgangssignal einem PWM-Signal 
stark ähnelt, wobei sich der Unterschied zwischen hell und dunkel nur in 
einer leicht veränderten Pulsbreite zeigt. So wie im Datenblatt 
beschrieben, sieht es aber definitiv nicht aus.

Pinbelegung etc. habe ich zweimal nachgeschaut und es ist ja auch nicht 
so, dass garnichts rauskommt. Nur sind die Unterschiede minimal.

von Benedikt K. (benedikt)


Lesenswert?

Mach mal ein Bild vom Ausgangssignal.
Ich vermute, dein Sensor ist überbelichtet. Das Problem hatte ich am 
Anfang: Der Sensor ist extrem lichtempfindlich. Deck den mal komplett 
ab, so dass absolut kein Licht drankommt.

von Christoph B. (christophbudelmann) Benutzerseite


Lesenswert?

Anbei mal ein Bild des Ausgangssignals bei mäßiger Beleuchtung. Im 
Dunkeln zeigt der zweite Kanal gar keinen Ausschlag. Der erste Signal 
dient nur als Trigger auf das ROG-Signal.

Was mich am meisten wundert ist, dass die Ausgangsspannung mit 
steigender Helligkeit zunimmt. Das müsste doch genau umgekehrt sein, 
oder?

von Christoph B. (christophbudelmann) Benutzerseite


Angehängte Dateien:

Lesenswert?

Sorry, hier der Anhang.

von Benedikt K. (benedikt)


Lesenswert?

Das Signal sieht merkwürdig aus.

Zumindest bei den "Optical black" Pixeln sollte man einen Unterschied 
gegenüber dem restlichen Signal sehen.

Normalerweise ist das Signal invertiert, also dunkel=max Spannung, 
hell=minimale Spannung.
Wird der Sensor allerdings überbelichtet kommen die merkwürdigsten 
Signale raus.
Ich habe lange Zeit nach dem Fehler gesucht, bis ich gemerkt habe, dass 
der Sensor selbst bei schwachem Licht total überbelichtet ist.

Deck den Sensor mal komplett ab, so dass wirklich absolut kein Licht 
reinfällt. Wenn dann nicht etwa 4V anliegen, ist die Ansteuerung falsch 
(Signale/Timing/Anschlussbelegung).

von Christoph B. (christophbudelmann) Benutzerseite


Lesenswert?

So, jetzt geht's. Danke für die Tipps, auch wenn es tatsächlich etwas 
anderes war. Ich übertrage die Array-Werte zwischen den Messungen per 
RS232 an den PC und die Pause gefällt dem CCD-Sensor scheinbar garnicht. 
Jetzt kommt eine Messung nach der anderen und alles funktioniert prima.

von Benedikt K. (benedikt)


Lesenswert?

Wenn der Takt für eine weile nicht anliegt, entläd sich das CCD und es 
kommt Müll raus.
Ebenso kommt Müll raus, wenn man nicht alle Pixel ausliest, und dann das 
Transfer Gate aktiviert.

von Y. T. (moritzz)


Lesenswert?

Kannst du mal rein interessehalber etwas genaueres über dein projekt 
schreiben? In was programmierst du denn den ic? Welche Taktrate hast du 
denn eingestellt?
Ich habe mir jetzt den ILX554B besorgt, morgen will ich damit starten!

von Christoph B. (christophbudelmann) Benutzerseite


Lesenswert?

Ich habe die Position eines Lasers auf dem Array mit einem ARM7 
(LPC2148) ausgewertet, war für eine nichtinvasive Druckmessung in 
Dialyseschläuchen gedacht.

von Y. T. (moritzz)


Lesenswert?

Das klingt wie ein jugendforscht-projektm das ich mal gesehen habe 
(landeswettbewerb 2006 bei merck) . Die jungs haben damals echt viele 
Preise im Landeswettbewerb abgeräumt. Die hatten ein Gerät, um 
Dialyseschläuche berührungslos zu vermessen.

Wieviel Bit hat denn der ADC, den du genommen hast? Ich nehme ja den 
ATmega8 vermutlich, und der hat max. einen 10 bit adc. Aber 
wahrscheinlich reicht für eine positionsmessung auch ein niedrigbittiger 
adc. Für ein Spektrometer, was ich mir bauen will, braucht es da 
wahrscheinlich die 10 bit.
gruss,
moritz

von Christoph B. (christophbudelmann) Benutzerseite


Lesenswert?

Moritz Greif wrote:
> Das klingt wie ein jugendforscht-projektm das ich mal gesehen habe
> (landeswettbewerb 2006 bei merck) . Die jungs haben damals echt viele
> Preise im Landeswettbewerb abgeräumt. Die hatten ein Gerät, um
> Dialyseschläuche berührungslos zu vermessen.

Genau das Projekt ist das, ich habe nach dem Landeswettbewerb die 
Hardware-Entwicklung übernommen. Das Projekt war nicht nur auf 
Landesebene höchst erfolgreich, sondern dann auch beim Bundeswettbewerb 
in Freiburg.

> Wieviel Bit hat denn der ADC, den du genommen hast? Ich nehme ja den
> ATmega8 vermutlich, und der hat max. einen 10 bit adc.

Der LPC2148 hat auch 10bit, allerdings zwei separate ADCs. So konnte ich 
beide Kanäle gleichzeitig einlesen.

> Aber
> wahrscheinlich reicht für eine positionsmessung auch ein niedrigbittiger
> adc. Für ein Spektrometer, was ich mir bauen will, braucht es da
> wahrscheinlich die 10 bit.

10bit sind ein guter Kompromiss aus Auflösung und Geschwindigkeit, die 
2048 Zellen muss man ja auch erstmal auslesen.

Gruß
Christoph

von Y. T. (moritzz)


Lesenswert?

Ah cool. Ja, ich habe auch ein jugend forscht - projektchen am 
landeswettberwerb 2006 in Darmstad gehabt, hat aber keinen preis 
gewonnen.
Die beiden hatten ihren Stand neben unserem :-)  :
Jörg Metzner, rechts (20) Friedrichsdorf
University of Oxford, Oxford, England
Marcel Schmittfull (18)Geldersheim
Celtis Gymnasium, Schweinfurt
Ich hab gesehen, du warst ja auch mit diesem Ohr-Projekt sehr 
erfolgreich. Glückwunsch!

Gut, ich fang dann einfach mal an zu programmen..

Gruss,
Moritz

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.