Forum: Mikrocontroller und Digitale Elektronik Alternative zum IVC102 switched Integrator?


von Ulf (Gast)


Angehängte Dateien:

Lesenswert?

Ich bekomme aus einer Photodioden-Zeile 128 Pulse obiger Form. Aktuell 
wandle ich die mit einem TIA und versuche den Peak mit einem AD-Wandler 
zu messen. Durch Jitter ist das nicht sehr genau den Peak zu treffen.

Ich würde gern den Photodioden-Strom über den markierten Bereich 
(5-10µsec) integrieren. Früher(tm) hätte man da einen IVC102 verwendet, 
aber der ist nun 25 Jahre alt. Slew rate und Reset rate sind für die 
Anwendung sehr grenzwertig.

Input Bias und Offset Voltage passen eigentlich. Die +/-15V Versorgung 
sind etwas unschön, aber würden zur Not gehen.

Ist der IVC102 noch zeitgemäß, oder gibt es inzwischen Moderneres, 
eventuell mit +5V unipolarer Versorgung? +5V wären ideal, weil die 
Diodenzeile auch 5V benötigt.

von Gustl B. (-gb-)


Lesenswert?

Ich habe bisher einmal den https://www.ti.com/lit/ds/symlink/acf2101.pdf 
verwendet, siehe Beitrag "Gated Integrator Negative Spannung erfassen." . War aber 
auch zu langsam.

von Achim M. (minifloat)


Lesenswert?

Ulf schrieb:
> versuche den Peak mit einem AD-Wandler zu messen.

Am Anfang des Peaks gibt es doch immer diese harte Flanke. Wie wäre es, 
diese Flanke als Trigger für...
a) ein Sample-and-hold
b) einen Monoflop-gesteuerten Integrator
...herzunehmen?

a) Der Sample-and-Hold muss nur den Peak genau treffen. Wandeln kannst 
du in den darauffolgenden 17μsec ganz gemütlich.

b) Roll your own... Der Peak triggert ein Monoflop, welches bei 
Monozeit-Ablauf 15μsec ein zweites Monoflop 1..3μsec triggert. Mit dem 
kurzen Monoflop wird der Integrator geleert. Den Integrator kannst du 
konventionell aufbauen. Sampeln musst du dann 10...12μsec nach dem 
Peak-Trigger, damit das Ergebnis passt und du nicht ins Entladen rein 
sampelst.

Ja, ist beides irgendwie aufwändig...
mfg mf

von Alexander S. (alesi)


Lesenswert?

Achim M. schrieb:
> Am Anfang des Peaks gibt es doch immer diese harte Flanke.
...
> a) Der Sample-and-Hold muss nur den Peak genau treffen. Wandeln kannst
> du in den darauffolgenden 17μsec ganz gemütlich.

Ja, aber die Integration startet doch erst nach Detektion der Flanke. Je 
nachdem wie lang die Verzögerung zw. Peak-Erkennung und Start der 
Integration ist, kann ein (erheblicher) Teil des Signal verloren gehen.
Wenn die Pulse mit einer konstanten Frequenz kommen, könnte man da nicht 
besser die Integration starten, "kurz" nachdem der vorherige Puls auf 
ca. 10% des Maximums abgeklungen ist. D.h. im Bild oben den blauen 
Integrationsbereich etwas nach links erweitern oder verschieben.

Vor jedem Peak scheint jeweils ein kleiner Minipuls zu kommen. Der ist 
zum Triggern aber vermutlich zu klein.

von Achim M. (minifloat)


Lesenswert?

Noch ein Problem mit beidem wäre die Erfassung des ersten Peaks. 
Andererseits kennt man das Triggerlevel und die Anstiegsgeschwindigkeit 
des Pulses. Moment, die variieren doch in Spannung-Zeit-Fläche.

Gibt es ein Taktsignal, was das Rausschieben des Eimerkettenspeichers 
steuert?

Alexander S. schrieb:
> Vor jedem Peak scheint jeweils ein kleiner Minipuls zu kommen. Der ist
> zum Triggern aber vermutlich zu klein.

Ich vermute, der ist parasitär durch die Taktung des 
Eimerkettenspeichers bedingt.

mfg mf

von Markus E. (markus_e176)


Lesenswert?

Eigentlich willst du ja die Peaks messen und die Integration ist nur 
eine Krücke, weil der ADC nicht schnell genug sampelt, oder?
Wie wäre es mit einem Peak-Hold-Detektor?
Ideale Diode (Präzisionsgleichrichter) und Kondensator zum speichern, 
Mosfet parallel zum Kondensator zum Zurücksetzen.

von Karadur (Gast)


Lesenswert?

Wieviele Samples hast du in den 5us? Sind das die 128?
Welche Hardware steht zur Verfügung?

Ein AD für einen Zeilen-Sensor kann das ohne Jitter synchron zum 
Sensortakt einlesen.

Rest ist Software.

von Gustl B. (-gb-)


Lesenswert?

Markus E. schrieb:
> Eigentlich willst du ja die Peaks messen und die Integration ist nur
> eine Krücke, weil der ADC nicht schnell genug sampelt, oder?

Ulf schrieb:
> Ich bekomme aus einer Photodioden-Zeile 128 Pulse obiger Form.

Das ist die Frage. Das Integral unter dem Strom ist vermutlich 
proportional zur Lichtenergie.

Aber mit einem schnellen ADC könnte man das numerisch integrieren. Quasi 
einen gleitenden Mittelwert rechnen und davon dann die Maxima nahmen.

von Ulf (Gast)


Lesenswert?

Gustl B. schrieb:
> Ich habe bisher einmal den https://www.ti.com/lit/ds/symlink/acf2101.pdf
> verwendet

Den hab ich auch schon gefunden, aber der ist ja noch älter. Wir 
verwenden ja auch keine 741 mehr... ;-)

Wenn ihr sagt, der IVC102 ist noch state of the art und es gab in den 
letzten 20 Jahren nix Neueres in dem Bereich - dann versuch ichs mit 
dem.

Achim M. schrieb:
> Am Anfang des Peaks gibt es doch immer diese harte Flanke. Wie wäre es,
> diese Flanke als Trigger für...

Ähm nein, nur wenn da auch Licht ist. Der Puls kann auch sehr flach oder 
nicht vorhanden sein.

Aaaber: Ich weiß ja ganz gut, wann der Puls beginnt, weil ich den selbst 
auslöse. Nur kann sich ja nach Lichtintensität - siehe unten - der Peak 
verschieben und deswegen ist es schwer den zu treffen.

Alexander S. schrieb:
> aber die Integration startet doch erst nach Detektion der Flanke.

Die Integration kann ich genau mit dem Takt starten, und 200nsec 
Verzögerung des IVC sollten ausreichend sein.

> Vor jedem Peak scheint jeweils ein kleiner Minipuls zu kommen. Der ist
> zum Triggern aber vermutlich zu klein.

Das sind Störungen durch den Takt mit dem ich die Diodenzeile "schiebe". 
Momentan noch Breadboard, mit einer ordentlichen Leiterplatte fallen die 
hoffentlich weg.

Markus E. schrieb:
> Eigentlich willst du ja die Peaks messen und die Integration ist nur
> eine Krücke, weil der ADC nicht schnell genug sampelt, oder?
> Wie wäre es mit einem Peak-Hold-Detektor?

Jain. Siehe unten. Ein Peakdetekt wäre auch möglich, aber momentan habe 
ich
1 TIA für die Photodioden
1 TIA für die "Dummydioden", zur Kompensation von Störungen
1 Differenzverstärker
dazu käme noch
1 ideale Diode
1 Pufferverstärker

Dagegen steht ein IVC an den ich direkt den OPV hängen kann.

Gustl B. schrieb:
> Das ist die Frage. Das Integral unter dem Strom ist vermutlich
> proportional zur Lichtenergie.

So, hier ist jetzt Unten: Ja, genaugenommen wird nicht der Strom, 
sondern die Ladung die eine Photodiode seit dem letzten Auslesen in der 
eigenen Diodenkapazität angesammelt hat gemessen.

Daher ist die Spannung leider auch nicht linear zum Signal, besser wäre 
es den Peak zu integrieren.

Da der Peak so größenordnungmäßig 3-5 µsec lang ist würde ich den nicht 
noch aufteilen, sondern als Ganzes integrieren und einmal messen wollen.

Hamamatsu 
(https://www.hamamatsu.com/resources/pdf/ssd/nmos_kmpd9001e.pdf) 
empfiehlt dabei entweder Spannungswandlung (Fig3-8) oder 
Stromintegration (Fig 3-10).

von Gustl B. (-gb-)


Lesenswert?

Ulf schrieb:
> Gustl B. schrieb:
>> Ich habe bisher einmal den https://www.ti.com/lit/ds/symlink/acf2101.pdf
>> verwendet
>
> Den hab ich auch schon gefunden, aber der ist ja noch älter. Wir
> verwenden ja auch keine 741 mehr... ;-)
>
> Wenn ihr sagt, der IVC102 ist noch state of the art und es gab in den
> letzten 20 Jahren nix Neueres in dem Bereich - dann versuch ichs mit
> dem.

Naja, wenn der zwar alt aber noch gut ist, warum dann nicht nutzen?
Doch klar gibt es Neueres, siehe: 
https://www.ti.com/data-converters/integrated-special-function/medical-afes/computer-tomography-afes/products.html
Die scheinen aber alle auf dem acf2101 zu basieren.

Ulf schrieb:
> Da der Peak so größenordnungmäßig 3-5 µsec lang ist würde ich den nicht
> noch aufteilen, sondern als Ganzes integrieren und einmal messen wollen.

Nein, nicht aufteilen, aber schnell abtasten. Z. B. mit einem ADC der 25 
Wandlungen je Sekunde macht. Dann hast du von jedem Impuls 75 bis 125 
Abtastwerte. Und die kannst du aufsummieren. Aber das ist noch nicht 
richtig, wenn in jedem Abtastwert ist ja auch Untergrund oder so dabei. 
Daher kannst du hergehen und einen gleitenden Mittelwert bauen.

Ein Ausgangswert ist dann immer, in jedem "Takt" die Summe von z. B. 128 
Abtastwertengeteilt durch 128. Wenn innerhalb der letzten 128 
Abtastwerte kein Puls drinnen war, dann sollte der Mittelwert er 
Nulllinie entsprechen. Wenn ein Puls in den Abtastwerten enthalten ist, 
dann ist der Mittelwert eben höher.
Wie erkennt man dann Pulse?
Entweder durch eine Schwelle mit Absolutwert oder durch eine Steigrate 
die überschritten wird.

- Start, setze Maximum auf 0
- Warte bis ein (oder mehrere) Mittelwert(e) > definierte Schwelle
- während der folgenden 5 us:
   wenn Mittelwert > Maximum:
   Maximum = Mittelwert
- Maximum ausgeben, zurück auf Start

Problematisch ist es wenn Pulse andere Pulse überlagern.
Und dann musst du schnell abtasten, das sind viele Daten in wenig Zeit.

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.