www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Ausleseprobleme ILX554B


Autor: Jonny (Gast)
Datum:
Angehängte Dateien:

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

Autor: Jonny (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier das Diagramm zum flackern der LED-Lampe

Autor: Jonny (Gast)
Datum:
Angehängte Dateien:

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

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

Bewertung
0 lesenswert
nicht lesenswert
Ist der Sensor vielleicht ganz einfach überbelichtet und somit in der 
Sättigung?

Autor: Jonny (Gast)
Datum:
Angehängte Dateien:

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

Autor: Jonny (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Finger über dem Chip

Autor: Jonny (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Nur Handtuch mit ein bisschen Licht...

Autor: Jonny (Gast)
Datum:

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

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

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

Autor: Jonny (Gast)
Datum:

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

Autor: Aaa Mom (mosimosi)
Datum:

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

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
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




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.