MAX195

Hallo,

mein Name ist Gerhard und im Moment arbeite ich in einer Gruppe an unserer Diplomarbeit (Abschlussphase meines Schultyps). In dieser Arbeit verwenden wir den MAX195 16bit AnalogDigital Converter.

Wir haben aber nun folgendes Problem: Wir haben eine Platine für den MAX195 hergestellt und steuern den Chip über einen PIC Microcontroller (PIC16F877) an. Der MAX195 konvertiert das analoge Signal zwar korrekt, aber fast alle 3 Sekunden (großer Verdacht auf einen periodischen Prozess) "springt" das konvertierte Signal (z.B.: von 1,12568 auf 1,13568), aber das analoge Signal (welches zu konvertieren ist) springt nicht.

Wir takten die daten seriell (nach der Wandlung) aus dem Chip indem wir den SCLK pin "High" und "Low" setzten (gesteuert durch den Microcontroller).

Wenn jemand von euch mit diesem ADC gearbeitet hat, bitte helft uns! Wir versuchen dem Prolem schon seit Wochen auf den Grund zu gehen - ohne Erfolg,

Gerhard

Reply to
Gerhard Glatte
Loading thread data ...

Ich hab zwar noch nicht mit dem Ding gearbeitet, aber meine Ideen wären folgende: Was benutzt ihr für eine Referenz? Ändert sich die Betriebsspannung oder ist sie konstant?. Was macht ihr mit dem PIC: Wird der in den Standby-Modus gesetzt?, Wie sieht es mit dem Platinenlayout aus? Habt ihr schon mal mit nem Oszi nachgemessen? Es könnte auch auf einen Fehler in der Datenübertragung vom AD-Wandler zum PIC zurückzuführen sein.

mfg Andreas

--
gnuPG keyid: 0xE94F63B7 fingerprint: D189 D5E3 FF4B 7E24 E49D 7638 07C5 924C
E94F 63B7
Reply to
Andreas Messer

oder einen "zahlendreher" im Programm, dass den Chip ansteuert (da habe ich mich auch schon mal "dumm" gesucht)... Evtl. auch Probleme bei der Masseführung (getrennte/ungünstige Analog/Digitalmasseführung...?)

S.

Reply to
sylvio runge

"Gerhard Glatte" :

^ ^

ist das immer nur ein Digit? Dann muss es ein Software-Fehler sein? Oder vielleicht vertauscht du irgendwo ein bit.

Reply to
Dan Oprisan

Hi!

über

analoge

springt

guck dir doch erstmal direkt die gesampleten unverarbeiteten Werte an. Wenn da der fehler auch auftritt, solltest du deine Datenübertragung (Einhaltung der min/max-Zeiten) nochmal kontrollieren. Das könnte ein kippendes Bit sein. Wenn du einen Logic-Analyser zur verfügung hast, könntest du dir auch mit dem µC nen Trigger generieren (wenn wertneu-wertalt>schwelle) und mit ner großen preSample-Einstellung gucken was der a/d-Wandler liefert und was der Pic auswertet. Wenn die unverabeiteten Werte richtig ankommen, liegts wohl logischerweise an der Software.

mfg Jan

Reply to
Jan Stumpf

Hallo,

Wir verwenden den LT1009, 2.5V Referenzspannungsquelle

Betriebsspannung ist mit 7805 stabilisiert

Nichts dergleichen. PIC rennt ganz normal das ADC Programm ab. Ich poste gleich das Programm...

Auf

formatting link
befindet sich ein Screenshot vom Platinenlayout bzw. Schaltplan.

Haben wir nachgemessen. Stimmt alles.

Gerhard

Reply to
Gerhard Glatte

Hallo,

Manchmal ist es nur ein Digit, dann sind es wieder zwei. Und komischerweise nicht das letzte bit (LSB). Das würde ich ja noch verstehen wenn das springt, aber es springt eben das 7te bit (von vorne gezählt (an erster Stelle steht das MSB)).

Programm poste ich gleich, bzw. befindet sich auf:

formatting link

Gerhard

Reply to
Gerhard Glatte

Hallo

Wenn

(Einhaltung

Auch der unverarbeitete Wert springt. Die min/max Zeiten müssten stimmen, aber ich werde die nochmals kontrollieren.

auch

was

Steht leider nicht zur Verfügung.

Gerhard

Reply to
Gerhard Glatte

Hi!

ja also, wenn die unverarbeiteten werte nicht stimmen, kanns ja entweder nur an der Übertragung oder am A/D-Wandler selber liegen (eher unwahrscheinlich). Also du solltest gucken, daß du irgenwo ein 2 Kanal-Speicheroszi oder nen Logicanylser herbekommst. Alternativ kanst du versuchen den a/d-wandler mal auszutauschen. du könntest mit einem Signalgenerator auch mal testsignale anlegen um das auftreten des Fehlers einzugrenzen. Bei dem Aufbau über die Steckbretter solltest du auch kontrollieren, ob da kein Wackler drinnen ist. Im Übrigen erscheinen mir die

5ms wartezeit zwischen dem Umschalten der Clk-Leitung im Quelltext sehr lang. Soooo langsam ist der A/D-Wandler sicher nicht.

mfg Jan

Reply to
Jan Stumpf

Ich finde im Schaltplan schonmal C4 und C5 (0,1u und 10u) auf der falschen Seite der Spule L1. Ich denke die sollten direkt von VSSA/VSSD nach GND gelegt werden. Als Anregung mal Figure 22 "Supply Bypassing and Grounding" auf Seite 22 des Datenblattes vom MAX195 ansehen...

Und wo ist die Referenz? wird die mit 10m Kabel an die zwei Pins angeschlossen, die da mitten im Bild keine Bezeichnung haben? Der wäre ja erstmal 'ne Packung Kondensatoren (100nF parallel 10uF) direkt von REF Pin zum AGND angesagt, evt. noch den 10 Ohm Vorwiderstand nach Maxim-Vorgabe am Ref-Pin.

Ich habe mir das Datenblatt vom MAX195 nicht so genau angesehen, aber welche Betriebsart verwendest Du denn, asynchroner oder synchroner Clock zum Datentransfer, ist das Abholen der Daten eindeutig nach einer abgeschlossenen Wandlung und vor dem Start einer neuen? Nicht dass da Daten asynchron zur Wandlung aus dem Teil geholt werden und deshalb alle paar Messungen gerade so unglücklich ein halb und halb neuer/alter Datensatz aus dem MAX195 geholt wird...

Layout mag ich gar nicht ansehen ;-)

Ingolf

Reply to
Ingolf Pohl

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.