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
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.
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.
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?
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).
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.
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.
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!
Ich habe die Position eines Lasers auf dem Array mit einem ARM7
(LPC2148) ausgewertet, war für eine nichtinvasive Druckmessung in
Dialyseschläuchen gedacht.
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
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
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