Forum: Mikrocontroller und Digitale Elektronik Schaltung für CCD Sensor (TCD1304AP)


von Jz (Gast)


Lesenswert?

Hi,

ich versuche gerade einen linearen CCD Sensor auszulesen, genauer gesagt 
einen TCD1304AP.
Hier ist das Datenblatt: 
http://www.oceanoptics.com/technical/detectortoshibatcd1304ap.pdf

Von der Software her ist alles klar, jedoch habe ich eine Frage zur 
Schaltung, welche auf Seite 12 erwähnt wird. Dort ist zwischen den 
Eingängen des CCD Sensors und dem Mikrocontroller ein TC74HC04P, also 
ein Inverter. Hat jemande eine Idee wieso? Soll das eine Art 
Schmitt-Trigger darstellen, um steile Signalflanken zu haben?

Und der Transistor TR1 soll ein "2SA1015-Y" sein, kennt da jemand einen 
gängigeren Ersatztyp? Eigentlich sollte dieser nicht kritisch sein oder?

Jz

von CCD-Versteher (Gast)


Lesenswert?

Hi,
der 74xx04 wird gerne als Treiber verwendet. Auch hier ist die Kapazität 
am SH-Pin 600pF. Das überfordert die meisten Steuer-ICs(µC). Das der 
74xx04 invertiert ist eben so. Macht aber nichts aus. Der Transistor 
kann bei der niedrigen Taktfrequenz auch z.B. ein 2N2369 sein. Kommt 
nicht drauf an. Allerdings musst du das Timing genau einhalten. Einmal 
einen Glitch in den Signalen oder zur falschen Zeit geschaltet und die 
Ladungen im Sensor landen im Irgendwo; nur nicht mehr im 
Ausgangsverstärker.

von Jz (Gast)


Lesenswert?

Hi,
danke für die schnelle Antwort. Das mit der großen Kapazität des SH Pins 
habe ich nicht gesehen, das ergibt Sinn.
Hast du diesen CCD Sensor schon verwendet? Laut Datenblatt ist ja die 
Versorgungsspannung typ. 4V, max. 5,5V. Sind 5V dann in Ordnung als 
Spannung, oder nimmt einem der Sensor das auf Dauer übel? Falls nicht 
wäre ein 74LVX04 als Treiber + Pegelwandler eine Idee, oder?
Wegen den Timings bin ich schon auf Assembler umgestiegen, sonst wird es 
schwierig diese so genau einzuhalten....

von hinz (Gast)


Lesenswert?

CCD-Versteher schrieb:
> Der Transistor
> kann bei der niedrigen Taktfrequenz auch z.B. ein 2N2369 sein.

BC557C ist dann doch gängiger.

von CCD-Versteher (Gast)


Lesenswert?

hinz schrieb:
> BC557C ist dann doch gängiger.

Das ist ein PNP-Transistor, der geht nicht. Es sollte schon ein 
schneller NPN-Transistor sein. Wobei ich noch nie einen CCD bei so 
geringen Frequenzen betrieben habe. Das waren immer deutliche 2-stellige 
MHz.

von Jz (Gast)


Lesenswert?

>> BC557C ist dann doch gängiger.
>
> Das ist ein PNP-Transistor, der geht nicht. Es sollte schon ein
> schneller NPN-Transistor sein. Wobei ich noch nie einen CCD bei so
> geringen Frequenzen betrieben habe. Das waren immer deutliche 2-stellige
> MHz.

Laut Beispielschaltung sollte es ein PNP Transistor sein, und ich wollte 
den CCD bei 0,8 MHz betreiben, d.h. nur 0,2 MHz Datentakt.

von CCD-Versteher (Gast)


Lesenswert?

Jz schrieb:
> Hast du diesen CCD Sensor schon verwendet? Laut Datenblatt ist ja die
> Versorgungsspannung typ. 4V, max. 5,5V. Sind 5V dann in Ordnung als
> Spannung, oder nimmt einem der Sensor das auf Dauer übel? Falls nicht
> wäre ein 74LVX04 als Treiber + Pegelwandler eine Idee, oder?

Hi,
nein, diesen nicht. Aber viele andere. Dieser Sensor ist auch ein wenig 
was besonderes, da er nur mit einer Taktphase läuft. Das ist 
ungewöhnlich. Meist sind das 2 oder mehr. Ausserdem hat er keinen Reset 
für den Ausgangsverstärker, so dass eine CDS-Abtastung nicht möglich 
ist. Vielleicht ist im dem 'Logic Block' eine entsprechende Schaltung 
enthalten. Dazu steht leider nicht im Datenblatt.
Wenn im Datenblatt steht, dass er bis 5,5V funktioniert, dann ist das 
auch so. Allerdings geht die Performance von CCDs schleichend in den 
Keller. Mit jedem Parameter, der nicht 'nominal' entspricht handelt man 
sich potentiell eine Verschlechterung ein. Mach doch einfach zwei 
Schottkydioden in die Versorgungsleitung.
Der 74LVX04 ist eher ungeeignet, da er insgesamt nur wenig Strom liefern 
kann. Besser ist ein HC-Typ. Wenn es noch viel schneller werden soll 
kann man die AC-Typen nehmen und dabei mehrere Gatter parallel schalten. 
Das würde ich auch bei dem HC-Typen am SH-Pin machen.

von CCD-Versteher (Gast)


Lesenswert?

Jz schrieb:
> Laut Beispielschaltung sollte es ein PNP Transistor sein, und ich wollte
> den CCD bei 0,8 MHz betreiben, d.h. nur 0,2 MHz Datentakt.

Ja sorry,
da habe ich mich geirrt. An fast allen CCDs wird ein NPN-Transistor 
verwendet. Dieser CCD ist anscheinend doch etwas 'anders'.

von Jz (Gast)


Lesenswert?

Danke für deine Hilfe!

von Michael (Gast)


Lesenswert?

Hallo Jz,

Ich bin auch gerade dabei eine Ansteuerung für einen TCD1304 zu 
entwickeln.
Das ganze soll dabei ein Arduino Mega2560 übernehmen. Vorerst habe ich 
einmal versucht nur die Ansteuersignale über Portmanipulation zu 
programmieren, um die Analogausgabe auf einem Oszilloskop darstellen zu 
können. Dabei habe ich auch die Schaltung wie im Datenblatt beschrieben 
verwendet und den CCD mit 1MHz CLK betrieben.
Jetzt bekomme ich zwar ein Signal am Analogausgang, das ganze sieht aber 
so aus als würden sich alle Pixel wie 1 Pixel verhalten. Habe schon 
alles mögliche probiert, Stundenlang in Google gesucht und weiß jetzt 
nicht mehr weiter.

Du hast geschrieben das für dich von der Software her alles klar wäre.

Welches System verwendest du für die Ansteuerung?
Könntest du deinen Programmcode hier mal posten?
Hast du den TCD1304 schon erfolgreich auslesen können?

Wäre dir für deine Hilfe sehr dankbar!!!

von Werner (Gast)


Lesenswert?

Wenn keine Optik vor dem Sensor ist überblendet er meist, dadurch 
springt die Ladung von einem zum nächsten Pixel (Blooming) und du 
bekommst nur Müll.
Versuch den Sensor mal abzudunkeln, was dann passiert. Möglicherweise
ist auch ein Fehler in der SW (Timing).

Werner

von Michael (Gast)


Angehängte Dateien:

Lesenswert?

Werner schrieb:
> Wenn keine Optik vor dem Sensor ist überblendet er meist, dadurch
> springt die Ladung von einem zum nächsten Pixel (Blooming) und du
> bekommst nur Müll.
> Versuch den Sensor mal abzudunkeln, was dann passiert.

Danke für deinen Hinweis. Der Sensor ist abgedeckt, ich habe einen 
IR-Filter davor angebracht und leuchte dann mit einer IR-LED auf den 
Sensor um in zu Belichten.
Mein Ziel ist es später zwischen IR-LED und dem Sensor, einen Bolzen zu 
platzieren, um über den Schatten der auf dem Sensor entsteht den 
Durchmesser des Bolzens zu ermitteln.

Werner schrieb:
> Möglicherweise
> ist auch ein Fehler in der SW (Timing).

Das mit dem Timing ist wirklich nicht einfach und ich habe schon sehr 
viel probiert. Seit dem letzten mal als ich hier gepostet habe hat sich 
auch etwas verändert. Am Oszilloskop erkennt man jetzt beim Belichten 
eine Veränderung, die aussieht als wären  es 2 Pixel. Der Rest verhält 
sich so, dass sich der Spannungspegel durchgehend gleich erhöht.

Ich habe einmal ein paar Oszilloskopbilder erstellt, die das Timing von 
ICG, SH, fM und den Analogausgang des Sensors zeigen.

Weiters ist mir noch aufgefallen das der Inverter den ich Verwende 
(HEF4069UB) kein sehr schönes Signal liefert. Vielleicht ist das auch 
ein Grund warum die Pixel nicht ausgelesen werden können? Werde mir auf 
jedenfall noch den im Datenblatt des TCD1304DG vorgeschlagenen TC74HC04P 
besorgen.

von Michael (Gast)


Lesenswert?

Michael schrieb:
> Der Rest verhält
> sich so, dass sich der Spannungspegel durchgehend gleich erhöht.

Was ich noch hinzufügen sollte, die Spannung sinkt erst wieder wenn der 
Sensor ganz abgedeckt ist.
Also meiner Meinung nach sollte es sich so verhalten, dass wenn ich 
etwas zwischen IR-LED und Sensor halte, z.B einen Kugelschreiber, sich 
der Teil der Pixel die sich im Schatten befinden weniger Spannung 
ausgeben sollten.
Das schließe ich daraus, weil ich das bereits mit einem TAOS TSL1406R 
probiert habe und mit dem funktioniert es. Daher denke ich, sollte das 
mit dem TCD1304DG, auch funktionieren. Oder liege ich da falsch??

von Werner (Gast)


Lesenswert?

Möglicherweise funktioniert auch das Löschen der Pixel nicht richtig.
Ich habe ein ähnliches Projekt mit einem ILX558K, bei dem ich den 
Schattenwurf auswerte.
Ich belichte den Sensor nur kurz (ca. 50ms) mit einer roten LED und lese 
dann aus, dannach lese ich ohne zu belichten aus, dadurch wird die 
Ladung der Pixel gelöscht.

von Michael (Gast)


Lesenswert?

Hört sich interessant an, danke. Werde es auch einmal so probieren.

von Werner (Gast)


Lesenswert?

Das Signal nach dem Inverter sieht nicht so toll aus. Nimm doch mal 
einen 74HC04 und versuch mal ein Oszibild mit einem kompletten 
Auslesevorgang zu machen (ohne Belichtung, mit voller Belichtung und mit 
einem Schatten)
Werner

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.