www.mikrocontroller.net

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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Christoph Budelmann (Firma: Budelmann Elektronik GmbH) (christophbudelmann) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Christoph Budelmann (Firma: Budelmann Elektronik GmbH) (christophbudelmann) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Christoph Budelmann (Firma: Budelmann Elektronik GmbH) (christophbudelmann) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Christoph Budelmann (Firma: Budelmann Elektronik GmbH) (christophbudelmann) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, hier der Anhang.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: Christoph Budelmann (Firma: Budelmann Elektronik GmbH) (christophbudelmann) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: M. G. (moritzz)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Christoph Budelmann (Firma: Budelmann Elektronik GmbH) (christophbudelmann) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: M. G. (moritzz)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Christoph Budelmann (Firma: Budelmann Elektronik GmbH) (christophbudelmann) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: M. G. (moritzz)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.