Forum: Mikrocontroller und Digitale Elektronik Ausleseprobleme ILX554B


von Jonny (Gast)


Angehängte Dateien:

Lesenswert?

Es ist mal wieder so weit. Ich komme einfach nicht weiter.

Ich habe ein kleines C-Prog. geschrieben, das mir meinen ILX554B 
Linien-CCD ausliest. Immer wenn ich ein bestimmtes Zeichen per UART an 
den MC schicke soll er den Chip auslesen und die Daten in einem Array 
speichern.

Die Kommunikation funktioniert, doch das Problem ist, dass der Chip 
anscheinend nicht richtig angesteuert wird. Ich habe jedoch schion sehr 
viel am Timing usw. probiert und auch die Daten aus einem anderen Thread 
(Beitrag "PC-Spektrometer - Problem mit Linien-CCD (AVR)") getestet.

Belichte ich den Chip mit einer LED Lampe die schnell flackert, sehe ich 
große Unterschiede in verschiedenen Bereichen, doch wenn ich dann die 
Hälfte des Chips andecke und ihn normal belichte kommt einfach eine 
"gerade" Linie im Diagramm.
Vielleicht habt ihr ja eine Idee oder findet einen Fehler im Code.
Ich denke der Code ist gut kommentiert.

Ich nutze einen ATmega644 @ 18,432 MHz

Vielen Dank schonmal für eure Hilfe :)

von Jonny (Gast)


Angehängte Dateien:

Lesenswert?

Hier das Diagramm zum flackern der LED-Lampe

von Jonny (Gast)


Angehängte Dateien:

Lesenswert?

Hier das wenn man den Chip zu 50% abdeckt und den Rest belichten lässt.

von Benedikt K. (benedikt)


Lesenswert?

Ist der Sensor vielleicht ganz einfach überbelichtet und somit in der 
Sättigung?

von Jonny (Gast)


Angehängte Dateien:

Lesenswert?

Habe jetzt mal alles unter einem Handtuch ausprobiert, owohl das Zimmer 
komplett dunkel ist. Nur Monitor etc. ist an.

Das ist mir ja jetzt fast peinlich...
Ich hätte es nie für möglich gehalten, dass der Chip so empfindlich ist.
Unter einen Handtuch sieht es besser aus.

Hier das 50/50 Bild

von Jonny (Gast)


Angehängte Dateien:

Lesenswert?

Finger über dem Chip

von Jonny (Gast)


Angehängte Dateien:

Lesenswert?

Nur Handtuch mit ein bisschen Licht...

von Jonny (Gast)


Lesenswert?

@Benedikt K.

Danke erstmal für den Hinweis wäre ich bei den Lichtverhältnisssen nicht 
drauf gekommen, dass der überbelichtet ist.

Hast du Erfahrung mit solchen Chips und würdes sagen, dass die neuen 
Aufnahmen für die Funktion des Codes sprechen?

Danke!

von Benedikt K. (benedikt)


Lesenswert?

Jonny wrote:

> Danke erstmal für den Hinweis wäre ich bei den Lichtverhältnisssen nicht
> drauf gekommen, dass der überbelichtet ist.

Ich habe da selbst Tage für gebraucht, um das rauszufinden. Wenn man 
bedenkt, dass die Linse nur wenige mm Durchmesser hat, dann ist es klar, 
wie empfindlich der Sensor sein muss.

> Hast du Erfahrung mit solchen Chips und würdes sagen, dass die neuen
> Aufnahmen für die Funktion des Codes sprechen?

Es sieht gut aus, aber genau kann man das erst sagen wenn eine Linse 
davor ist und irgendein Objekt deutlich abgebildet wird.

Sobald man den Sensor überbelichtet, sind nahezu alle Pixel zerstört. 
Das fängt mit Blooming an, also die neben dem überbelichteten Pixel 
liegende Pixel bekommen ein Signal ab, wo eigentlich keines ist, bis hin 
zu einer Invertierung aller Signale wenn das Licht zu extrem wird. Das 
Verhalten bei Überbelichtung ist also nicht wirklich vorhersagbar (ich 
habe mal mit einem gekauften Spektrometer, bei dem ist der ganze PC 
abgeschmiert wenn man den Sensor extrem überbelichtet hat, aber das 
dürfte wohl auf die schlechte Software zurückzuführen sein).

von Jonny (Gast)


Lesenswert?

Okay, dann erstmal vielen Dank.
Jetzt kann ich mal meine Gitter und Prismen testen ;)

von Aaa M. (mosimosi)


Lesenswert?

Jonny schrieb:
> Es ist mal wieder so weit. Ich komme einfach nicht weiter.
>
> Ich habe ein kleines C-Prog. geschrieben, das mir meinen ILX554B
> Linien-CCD ausliest. Immer wenn ich ein bestimmtes Zeichen per UART an
> den MC schicke soll er den Chip auslesen und die Daten in einem Array
> speichern.
>

Hallo !
Sie erwähnen folgendes in Ihrem code ilx554b.c :

#include "lib/ilx554b.h"
#include "lib/adc.h"
#include "../main.h"

könnten Sie bitte die Dateien auch zeigen?
Ich versuche gerade auch so ein Sensor zu programmieren und für jede 
Hilfe wäre ich sehr dankbar.

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.