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 :)
Ist der Sensor vielleicht ganz einfach überbelichtet und somit in der Sättigung?
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
@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!
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).
Okay, dann erstmal vielen Dank. Jetzt kann ich mal meine Gitter und Prismen testen ;)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.