Forum: Mikrocontroller und Digitale Elektronik LTC2372 defekt? Fehlersuche


von Gustl B. (-gb-)


Angehängte Dateien:

Lesenswert?

Guten Tag,

ich habe auf eine Platine einen LTC2372 gesetzt. Das ist ein 8-Kanal ADC 
mit MUX.
https://www.analog.com/media/en/technical-documentation/data-sheets/237218f.pdf

Ich habe mich an der Schaltung wie im Datenblatt (Anhang) orientiert. 
Statt LT6236 habe ich zwei ADA4062-4 verwendet und statt LT6237 habe ich 
einen ADA4896-2 verwendet.

So, jetzt hatte ich zuerst folgenden Fehler gemacht:
Ich hatte COM vom ADC (MUX im ADC) mit Masse verbunden. Zum Glück nur 
über einen 0R Widerstand. Bemerkt habe ich den Fehler an sehr falschen 
ADC Werten. Dann habe ich die Schaltung in Multisim mal simuliert, 
Fehler gefunden, den 0R ausgelötet und ab dann habe ich ein anderes 
Fehlerbild.

Aber bis ich den 0R ausgelötet habe könnte durch den und somit auch 
durch den MUX ein recht großer Strom nach Masse geflossen sein. Ich 
messe auf der Platine auch den Strom von der 5V USB Versorgung und hatte 
mit 0R grob 250 mA und ohne die 0R grob 200 mA, macht also 50 mA Strom 
durch den MUX nach Masse.
Kann das den MUX geschädigt haben?

Meine aktuellen Fehlerbilder sind so (immer ohne die 0R nach Masse, also 
mit korrekter Schaltung):

1. Ein Kanal, und zwar immer der Kanal 5 (im Anhang Braun) liefert sehr 
verrauschte Werte - ausser ich drücke von oben auf den ADC.
Ich hatte die Vermutung, das Massepad des ADCs sei vielleicht nicht 
richtig verlötet, aber dann müsste das ja auch andere Kanäle betreffen. 
Ich habe den ADC aber schon mehrmals mit Heißluft von der Platine 
genommen und wieder drauf gesetzt. Die Lötstellen sehen alle wirklich 
sehr schön aus.

2. Wenn ich an jeweils einen Kanal ein Signal anlege, dann sehe ich das 
auch auf anderen Kanälen. Nicht mit der gleichen Amplitude, aber 
trotzdem deutlich stärker als es seien sollte.

Ich habe schon alles nachgelötet und vermute jetzt tatsächlich, dass der 
ADC defekt ist. Oder eben der MUX durch den Fehler am Anfang (COM mit 
Masse zu verbinden) geschädigt wurde. Kann das sein? Habe ich irgendeine 
andere offensichtliche Dummheit begangen?

von Gustl B. (-gb-)


Lesenswert?

So, jetzt habe ich vor dem ADC das RC Filter weggebaut und lege an alle 
ADC Eingänge 3,3 V an. Das sieht auch wunderhybsch aus, bis auf den ADC 
Kanal 0. Das passt zum oberen Bildchen, denn der ADC Kanal 0 wurde dort 
als Linie 5 geplottet (damit wird der PMOD Pin Nummer 5 gemessen).

Tja, meine Vermutung ist jetzt, dass der unkonfigurierte ADC eben beim 
MUX den Kanal 0 durchgeschalten hat. Und wegen meinem Fehler am Anfang 
floss dann der Strom über diesen Kanal um MUX und hat den wohl 
teilzerstört.

Ich werde jetzt einen neuen ADC bestellen.

Aber eine Frage habe ich noch:

Der ADC tastet mit maximal 500 kSample/s ab. Wieso werden dann im 
Datenblatt RC Filter mit einer deutlich höheren Grenzfrequenz verwendet?

Ich würde mir das so erklären:
Bei 500 kS/s hat man also 2 us/Sample. Laut Datenblatt ist die 
Acquisition Time minimal 1.46 us. Während dieser Zeit soll aber die 
Spannung am ADC möglichst stabil anliegen. Nach dem Umschalten vom MUX 
bleiben also nur 540 ns bis die Spannung vom ausgewählten MUX Kanal am 
ADC anliegt. Und das entspricht dann 1.85 MHz.

Allerdings erklärt das noch nicht die Werte des RC Filters vor dem MUX 
Eingang mit 10 Ohm und 1.2 nF.

Das Problem mit dem Übersprechen könnte am Flussmittel liegen das noch 
auf der Platine ist. Vielleicht leitet das ja minimal wenn es 
verunreinigt ist.

von Gustl B. (-gb-)


Angehängte Dateien:

Lesenswert?

So, neuer ADC ist da und draufgelötet und siehe da, alle Kanäle 
funktionieren fehlerfrei. Aber die Schaltung vor dem ADC macht wohl 
Ärger.

Es ist also das Problem mit dem einen fehlerhaften Kanal gelöst das 
Problem mit dem Übersprechen aber leider nicht.

Und zwar ist das ja ein 8-Kabal ADC und da habe ich zwei 4fach OPVs 
https://www.analog.com/media/en/technical-documentation/data-sheets/ADA4062-2_4062-4.pdf 
als Buffer davor gesetzt. Und weil der ADC die 8 Ein/Ausgänge einens 
PMODs anguckt, sind die Eingänge also auch mit dem FPGA verbunden und 
dazwischen sitzen zwei ESD-Schutz Arrays 
https://www.mouser.de/datasheet/2/916/PUSB2X4D-1600541.pdf .

Wenn ich im FPGA einen Pulldown für die IOs einstelle, dann sieht alles 
wunderbar aus. Wenn ich aber statt Pulldown nur ein hochohmiges 'Z' 
einstelle, dann bekomme ich ein Übersprechen.

Liegt das Problem an meiner externen Beschaltung oder ist das etwas was 
vom FPGA kommt?

Die Signale PMOD_0 bis PMOD_7 sind direkt mit FPGA IOs verbunden.

von K. S. (the_yrr)


Lesenswert?

Gustl B. schrieb:
> Wenn ich im FPGA einen Pulldown für die IOs einstelle, dann sieht alles
> wunderbar aus. Wenn ich aber statt Pulldown nur ein hochohmiges 'Z'
> einstelle, dann bekomme ich ein Übersprechen.

High Z entspricht floatender Leitung, wenn die nun unter Umständen 
parallel und nahe zu der mit Signal verläuft, ist Übersprechen eher das 
erwartete Verhalten.

von Gustl B. (-gb-)


Lesenswert?

K. S. schrieb:
> High Z entspricht floatender Leitung,

Ja, verstanden. Übersprechen bei schnellen Signalen durch Wechselfelder 
verstehe ich auch, aber ich kann hier Übersprechen bei wenigen Hz 
beobachten und zwar recht deutlich. Wenn ich also an einen Kanal 1 Vpp 
anlege sehe ich auf einem anderen Kanal noch mehrere 10 mVpp. Und das 
ist schon ziemlich viel wie ich finde.
Kann das an dem Schutzdiodenarray liegen?

Aber gut, mit Pulldown kann ich leben wobei ich den gerne nur dann 
aktiviren würde, wenn ich mit mit dem ADC messe.

Ich würde also gerne im FPGA den Pin als inout beschreiben und dann den 
Pulldown dazuschalten wenn ich das will. Geht das irgendwie in VHDL 
einen Pulldown zu beschreiben der nur dann verwendet wird wenn eine 
Bedingung zutrifft? Ich habe bisher Pulldowns nur in den Constrains 
.ucf/.xdc beschrieben oder die Component

PULLDOWN_PMOD_0: PULLDOWN port map(O => PMOD_0);

aus

Library UNISIM;
use UNISIM.vcomponents.all;

verwendet.

Dann gibt es noch das 'L' in VHDL. Aber das baut leider keinen Pulldown. 
Wenn man sich die Schaltung in den IO Blöcken anguckt, dann sieht das 
auch so aus als könnte man die Pullup/down Widerstände nicht schalten.

von K. S. (the_yrr)


Lesenswert?

Gustl B. schrieb:
> Ja, verstanden. Übersprechen bei schnellen Signalen durch Wechselfelder
> verstehe ich auch, aber ich kann hier Übersprechen bei wenigen Hz
> beobachten und zwar recht deutlich.

Was kommt denn aus deinem FPGA raus? Hat der DACs oder ist das ein 
PWM/PFM Signal?

von Gustl B. (-gb-)


Lesenswert?

Ja das ist vielleicht der Punkt, in werde wohl sowieso nie einen FPGA IO 
gleichzeitig als IO verwendet und analog die Spannung messen.

Mir ging es darum auf meiner Platine etwas Platz zu sparen, also habe 
ich die 8 FPGA IOs auf einen Pfostenstecker wie PMOD gelegt und diese 8 
IOs vom Pfostenstecker gleichzeitig mit dem ADC verbunden. Damit kann 
ich jetzt diese 8 IOs frei verwenden und unterteilen in Eingänge zum 
FPGA und ADC und Ausgänge vom FPGA.
Nein, FPGAs haben keine DACs eingebaut. Zumindest wäre das sehr 
untypisch wobei es von Xilinx tatsächlich welche mit DAC gibt.

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.