DIV zeigt immer +/-1,70141V an, 10 Jahre alter ADC?

Themen rund um die Hardware und Abgleich des Digitalvoltmeters DIV gehören hier rein.
Antworten
sblive
träumt vom eigenen c't-Lab
träumt vom eigenen c't-Lab
Beiträge: 5
Registriert: 05.11.2011, 04:13

DIV zeigt immer +/-1,70141V an, 10 Jahre alter ADC?

Beitrag von sblive » 05.11.2011, 04:35

Hallo!

Habe gestern IFP, DIV und PM8 aufgebaut, jedoch sehe ich immer nur 1,70141, egal welcher Messbereich.
Das Vorzeichen variiert dabei witzigerweise. Overloadanzeige funktioniert korrekt (z.B. 3,3V ist erst in 25V Range OK, 0V auch in 250mV und 2,5V, angezeigt werden dann trotzdem immer nur 1,70141V).

Meines Erachtens ist alles Wichtige in Ordnung:
  • Bei Kurzschluss liegen am VIN des ADC ~1,25V an
  • Bei 3,3V je nach Range entsprechend mehr
  • Alle 8 Pins des ADC haben Kontakt und es liegt das korrekte Signal an (5V, 2,5V, ~1,25V, 0V bzw. 3x5V und 0V auf Fsel und den Datenleitungen)
  • Offsetabgleich mehrfach durchgeführt
Es ist doch meiner Meinung nach absolut unrealistisch, dass immer derselbe Wert vom Wandler kommt, aber am ehesten noch klappt hier die Kommunikation nicht?!
Noch dazu müsste doch dieser immer exakt selbe Wert wenigstens skaliert werden, wenn ich Bereich wechsle (1,7V, 17V, 170V etc.).

Was ich nicht beurteilen kann und vielleicht weiterhilft: Meistens ist die obere PM8 LED grün (rechts), manchmal kurz rot (links). Onboard LED und untere PM8 LED blinken nur selten.
Sollte eine davon Sample/Trigger anzeigen und daher alle ~160ms blinken? Warum wechselt aber Vorzeichen ca. so, als würde er eh ständig samplen bzw. funktioniert overload? Ist das über AVR ADC realisiert oder so?

C Code kann mein AVR Studio 4.19 nicht compilen, konnte das leider noch nicht lösen (irgendwelche macros die einen statischen int wollen oder so)...
Jedenfalls hab ich die "aktuelle" SVN Original(pascal)firmware geflashed.

Bitte um Ideen!

Weiters interessiert mich, warum das Layout offenbar nicht verhindert, dass an VIN je mehr als VDD+0,3V bzw. 7Vabs anliegen (laut Datenblatt das absolute Maximum)?
Wenn man also z.B. in 250mV oder 2,5V ist, aber wesentlich mehr zuführt, ist das doch total gefährlich für Opamps, ADC etc., oder?!
Außerdem steht auf meinem Segor ADC "LT019", während auf meinen bei DigiKey gekauften "LT117" bzw. "LT110" steht. Habe ich da von Segor einen 10 Jahre alten ADC erhalten (Stelle 1+2=Jahr?)?

Danke!

psclab38
kann c't-Lab-Konstrukteure konstruieren
kann c't-Lab-Konstrukteure konstruieren
Beiträge: 897
Registriert: 25.01.2008, 23:34

Re: DIV zeigt immer +/-1,70141V an, 10 Jahre alter ADC?

Beitrag von psclab38 » 05.11.2011, 09:43

Hallo!

Ich gehe die Sache mal rückwärts an.
sblive hat geschrieben:Außerdem steht auf meinem Segor ADC "LT019", während auf meinen bei DigiKey gekauften "LT117" bzw. "LT110" steht. Habe ich da von Segor einen 10 Jahre alten ADC erhalten (Stelle 1+2=Jahr?)?
Wo steht denn, daß Stelle 1+2 das Produktionsjahr bezeichnen? Mein 2400 ist mit "750" bestempelt und der ist sicher nicht von 1975. Das läßt eher vermuten, daß die erste Stelle die Einerstelle des Jahres ist und die 2+3 die Kalenderwoche. Also hat Segor Dir nichts altes eingetütet. Solange da in der unteren Zeile "2400" steht, ist es auch der richtige Chip.
sblive hat geschrieben:C Code kann mein AVR Studio 4.19 nicht compilen, konnte das leider noch nicht lösen (irgendwelche macros die einen statischen int wollen oder so)...
DEN Fehler kenne ich jetzt nicht. Es freut mich natürlich außerordentlich, wenn Du die C-Firmware in Betracht ziehst, Du brauchst für's Selbstcompilieren aber einen nicht allzu aktuellen Compiler, der eine kleinere Bibliothek mitbringt. Wir haben die Version WinAVR-20080610 dafür auserkoren. Damit mußt Du Dich aber nicht unbedingt beschäftigen: Vorkompilierte Hexfiles gibt es hier:
http://dcg-firmware.cvs.sourceforge.net ... -firmware/
sblive hat geschrieben: Meistens ist die obere PM8 LED grün (rechts), manchmal kurz rot (links). Onboard LED und untere PM8 LED blinken nur selten.
Sollte eine davon Sample/Trigger anzeigen und daher alle ~160ms blinken? Warum wechselt aber Vorzeichen ca. so, als würde er eh ständig samplen bzw. funktioniert overload? Ist das über AVR ADC realisiert oder so?
Bei der DIV ist nur die linke (rote) LED zu bestücken, die soll Autorange anzeigen (die rechte ist nur die dazu invertierte Anzeige). Diese Funktion wird aber von der Pascal-FW nicht unterstützt, die C-Firmware kann das. Die 160ms kommen von der Konvertierungszeit, die der LTC2400 für eine komplette 24-Bit Wandlung braucht. Das wird aber nicht signalisiert. Warum die LED in der Pascal-Version ab und an flackert, weiß ich nicht.
Die untere LED zwischen den Tastern und die Onboard-Led zeigen Bus-Aktivitat an oder wenn Du am Encoder drehst.
sblive hat geschrieben:Weiters interessiert mich, warum das Layout offenbar nicht verhindert, dass an VIN je mehr als VDD+0,3V bzw. 7Vabs anliegen (laut Datenblatt das absolute Maximum)?
Wenn man also z.B. in 250mV oder 2,5V ist, aber wesentlich mehr zuführt, ist das doch total gefährlich für Opamps, ADC etc., oder?!
Das ist doch gemacht und steht doch in dem c't-Artikel:
c't 02/2008 hat geschrieben:... Andererseits mussten wir hier einen Schutzwiderstand vorsehen, damit der Eingang nicht bei versehentlich angelegten zu hohen Spannungen zerstört wird. Im Layout werden Sie den Schutzwiderstand R23 deshalb in kapazitätsarmer SMD-Ausführung wiederfinden, so nah wie möglich am Baustein platziert. ...
sblive hat geschrieben: ... angezeigt werden dann trotzdem immer nur 1,70141V ... Noch dazu müsste doch dieser immer exakt selbe Wert wenigstens skaliert werden, wenn ich Bereich wechsle (1,7V, 17V, 170V etc.). ...
Eigentlich ja.

Die Fuses sind richtig gesetzt, ja? Das EEP-File auch geladen (Nur bei Pascal)?
Aber ich glaube eher, du hast da noch einen Bestückungs- oder Lötfehler drauf.
sblive hat geschrieben: Meines Erachtens ist alles Wichtige in Ordnung:
  • Bei Kurzschluss liegen am VIN des ADC ~1,25V an
  • Bei 3,3V je nach Range entsprechend mehr
  • Alle 8 Pins des ADC haben Kontakt und es liegt das korrekte Signal an (5V, 2,5V, ~1,25V, 0V bzw. 3x5V und 0V auf Fsel und den Datenleitungen)
  • Offsetabgleich mehrfach durchgeführt
Es ist doch meiner Meinung nach absolut unrealistisch, dass immer derselbe Wert vom Wandler kommt, aber am ehesten noch klappt hier die Kommunikation nicht?!
Mal die Kommunikationssignale des 2400 mit dem Oszi nachkontrolliert?
Was sagt denn der RAW0-Wert (RAW0? oder 50?)? Das wäre der RAW-Wert des DAC.

Gruß.

sblive
träumt vom eigenen c't-Lab
träumt vom eigenen c't-Lab
Beiträge: 5
Registriert: 05.11.2011, 04:13

Re: DIV zeigt immer +/-1,70141V an, 10 Jahre alter ADC?

Beitrag von sblive » 05.11.2011, 18:13

Danke für Deine Antworten!
psclab38 hat geschrieben:Wo steht denn, daß Stelle 1+2 das Produktionsjahr bezeichnen?
Nirgends, deswegen habe ich gefragt, hab es nur für möglich gehalten, von anderen 4 stelligen Codes gewohnt.
psclab38 hat geschrieben:Damit mußt Du Dich aber nicht unbedingt beschäftigen: Vorkompilierte Hexfiles gibt es hier:
Doch, doch, ich muss ;) Denn ich bin viel mehr Informatiker als Elektroniker (Erfahrung und Wissen/Können, Interesse ähnlich groß) und habe einiges vor mit der Firmware ;)
Ich habe z.B. eine automatisierte interpolierende Mehrpunktkalibrierung entwickelt mit der mein auf Breadboard (!) aufgebauter LTC2400 auf <10uV meinem Fluke 8846A (6,5d 24ppm) folgt (Excel Sheet/Graph verfügbar), wobei da die Spannungsquelle beim LTC2400 samplen einbricht (auf 8846A flackert), also hoffentlich noch genauer folgt, sobald ich das gelöst habe. Das uvm. möchte ich z.B. einbauen. Bin mir nicht sicher, was die Idee im C Source (oder irgendwo, wo ich die gelesen habe) mit Polynomkorrektur ist. Evtl. habe ich genau das gemacht, jedenfalls vom Ergebnis her ;) Bin auch positiv überrascht, da ich dachte so stabil kann man nur mit Hokuspokus messen (wobei ich auch ~2s oversample).
psclab38 hat geschrieben:Das ist doch gemacht und steht doch in dem c't-Artikel:
OK, da hab ich die Schaltung falsch verstanden, das hatte ich natürlich schon gelesen (und der SMD Widerstand war der Hauptgrund, warum ich lange nicht riskiert habe ein DIV aufzubauen ;)), aber ich habe nicht verstanden (bzw. noch immer nicht), wie ein 4k Widerstand reicht, wenn man z.B. im Extremfall 250V anlegt und in 250mV Range ist. Außerdem ballert dann diese Spannung doch noch immer mit 44k in den OpAmp. Wieso funktioniert das? Leiten die Transistoren Überschuss auf Masse? Ich habe es nun riskiert und tatsächlich liegen bei 12V in 250mV nur ~5,7V an. Ich würde es halt gerne verstehen ;)
psclab38 hat geschrieben:Die Fuses sind richtig gesetzt, ja? Das EEP-File auch geladen (Nur bei Pascal)?
Aber ich glaube eher, du hast da noch einen Bestückungs- oder Lötfehler drauf.
Fuses OK, Aufbau OK, denn: Ich hatte das EEPROM nicht bespielt...peinlich :(
Das habe ich irgendwie im Artikel nicht gesehen ("Nach dem Flashen der Firmware") und das File auch übersehen. Ich dachte nämlich, dass diese sowieso bei OFS Init bzw. bei Leere automatisch befüllt wird. Offenbar macht das deine C Firmware so?
Naja, es war auch schon 6 in der Früh und ich hatte >10h gebraucht die 3 Dinge aufzubauen und davor war ich den ganzen Tag arbeiten, muss mich da mal rechtfertigen ;)
Offenbar wird irgendwas berechnet, was immer dasselbe Ergebnis liefert unabhängig von Range (z.B. Multi oder Division mit 0x00 oder 0xFF, was ja glaub ich im leeren EEPROM steht), was dann 1,70141 ergibt (man sollte sich ja das fast binär anschauen ;)).
psclab38 hat geschrieben:Was sagt denn der RAW0-Wert (RAW0? oder 50?)? Das wäre der RAW-Wert des DAC.
Keine Ahnung, hab das noch in der Küche in einem Karton stehen (das IFP) wg. 220V Paranoia (=ich hab (noch) kein Gehäuse) und noch nicht an einen PC gehängt ;)

Danke, danke, danke nochmal, ich bin echt glücklich, dass ich es echt geschafft habe diese Dinger auf anhieb fehlerfrei aufzubauen, ich hatte da immer meine Zweifel!
Vielleicht kannst Du mir noch mit dem Rest helfen, ich spendiere natürlich meine Softwareergebnisse gerne.

psclab38
kann c't-Lab-Konstrukteure konstruieren
kann c't-Lab-Konstrukteure konstruieren
Beiträge: 897
Registriert: 25.01.2008, 23:34

Re: DIV zeigt immer +/-1,70141V an, 10 Jahre alter ADC?

Beitrag von psclab38 » 05.11.2011, 20:36

sblive hat geschrieben:Danke für Deine Antworten!
Gerne.
sblive hat geschrieben:
psclab38 hat geschrieben:Damit mußt Du Dich aber nicht unbedingt beschäftigen: Vorkompilierte Hexfiles gibt es hier:
Doch, doch, ich muss ;) Denn ich bin viel mehr Informatiker als Elektroniker (Erfahrung und Wissen/Können, Interesse ähnlich groß) und habe einiges vor mit der Firmware ;)
Ich habe z.B. eine automatisierte interpolierende Mehrpunktkalibrierung entwickelt mit der mein auf Breadboard (!) aufgebauter LTC2400 auf <10uV meinem Fluke 8846A (6,5d 24ppm) folgt (Excel Sheet/Graph verfügbar), wobei da die Spannungsquelle beim LTC2400 samplen einbricht (auf 8846A flackert), also hoffentlich noch genauer folgt, sobald ich das gelöst habe. Das uvm. möchte ich z.B. einbauen. Bin mir nicht sicher, was die Idee im C Source (oder irgendwo, wo ich die gelesen habe) mit Polynomkorrektur ist. Evtl. habe ich genau das gemacht, jedenfalls vom Ergebnis her ;) Bin auch positiv überrascht, da ich dachte so stabil kann man nur mit Hokuspokus messen (wobei ich auch ~2s oversample).
Ich habe ursprünglich vorgehabt, eine Linearisierung mit einem Korrekturpolynom einzubauen. Jedenfalls war das ein oft geäußerter Wunsch hier im Forum. Nachdem ich aber eine Vergleichsmessung gemacht habe mit einem 6.5-stelligen Tisch-DMM, hat sich die Frage erübrigt. Der 2400 ist linear genug.
Da gibt's von mir eine Tabelle, so bei 60% hier:
viewtopic.php?f=15&t=412&start=30
Es hat auch keiner mehr danach verlangt.
sblive hat geschrieben:
psclab38 hat geschrieben:Das ist doch gemacht und steht doch in dem c't-Artikel:
OK, da hab ich die Schaltung falsch verstanden, das hatte ich natürlich schon gelesen (und der SMD Widerstand war der Hauptgrund, warum ich lange nicht riskiert habe ein DIV aufzubauen ;)), aber ich habe nicht verstanden (bzw. noch immer nicht), wie ein 4k Widerstand reicht, wenn man z.B. im Extremfall 250V anlegt und in 250mV Range ist. Außerdem ballert dann diese Spannung doch noch immer mit 44k in den OpAmp. Wieso funktioniert das? Leiten die Transistoren Überschuss auf Masse? Ich habe es nun riskiert und tatsächlich liegen bei 12V in 250mV nur ~5,7V an. Ich würde es halt gerne verstehen ;)
"Lese" Dir den Schaltplan nochmal durch. Vor dem OP(U6) leiten die beiden Dioden (als Dioden geschaltete Transistoren) Q1 und Q2 eventuelle Überspannungen auf die +/-15V ab. Im kleinsten Spannungsbereich schützen die 44k von R28+R33 vor zu viel Strom. In den höheren Bereichen sind die Spannungsteilerwiderstände R36/37/39 implizit die Strombegrenzung. ok?

Der mit der Q1/Q2-Mimik verbundene Nachteil ist natürlich: Wenn im 2.5V-Bereich (ob nun manuelle Bereichswahl oder im Autorange für kurze Zeit) die Eingangspannung über die +/-15V steigt, dann wirken nur R33+R28 als Eingangswiderstand. Das ist dann nicht soo toll, hat sich aber noch niemand aufgeregt. Vielleicht hat CM das Autorange deswegen nicht realisiert, aber das wissen wir nicht.

Und nach dem OP können maximal +/- 15V an dessen Ausgang auftreten. Falls das passieren sollte, schützt eben der R23, wenn trotz der restlichen Widerstandsmimik ein Wert außerhalb des Erlaubten auftritt. R23 ist simpel, aber wirksam.
sblive hat geschrieben:
psclab38 hat geschrieben:Die Fuses sind richtig gesetzt, ja? Das EEP-File auch geladen (Nur bei Pascal)?
Aber ich glaube eher, du hast da noch einen Bestückungs- oder Lötfehler drauf.
Fuses OK, Aufbau OK, denn: Ich hatte das EEPROM nicht bespielt...peinlich :(
Tja, Lötdampf vernebelt die Sinne, der bleifreie ganz besonders. Und das früh am Morgen noch mehr..
psclab38 hat geschrieben:Das habe ich irgendwie im Artikel nicht gesehen ("Nach dem Flashen der Firmware") und das File auch übersehen. Ich dachte nämlich, dass diese sowieso bei OFS Init bzw. bei Leere automatisch befüllt wird. Offenbar macht das deine C Firmware so?
Ja, das machen alle C-Firmwaren so.

Gruß
Paul

PS: Hast Du außer dem Nickname auch noch einen Vornamen? Das würde die Konversation persönlicher machen.

sblive
träumt vom eigenen c't-Lab
träumt vom eigenen c't-Lab
Beiträge: 5
Registriert: 05.11.2011, 04:13

Re: DIV zeigt immer +/-1,70141V an, 10 Jahre alter ADC?

Beitrag von sblive » 06.11.2011, 23:36

Danke wiedermal für Deine Erklärungen!

Mittlerweile habe ich es geschafft die C Firmware sogar mit aktuellem AVR Studio 5 + Updates/Device Kits/Toolchain blah zu compilen (vorher musste ich alles deinstallieren wg. herangewachsenem Chaos).
In delay.h bzw. _delay_us() wurde __builtin_avr_delay_cycles(__ticks_dc) aufgerufen, wobei uint32_t __ticks_dc.
Das darf aber nur noch mit statischen Werten aufgerufen werden.
Man kann aber __DELAY_BACKWARD_COMPATIBLE__ definieren und dann klappts!
Hab schon kleinere Mods wie Nutzung der 112% Overrange eingebaut (Anzeige erst danach bzw. Autorange erst bei 105%).

Leider rauschen die Messungen sehr stark (ca. 500uV in 2,5VDC). Und zwar messe ich zwei parallele hochstabile 2,5VRefs die nur <1,5uV rauschen an meinem Fluke.
Mit integrate slow ist es immer noch so 200uV. Mein Breadboard LTC2400 rauscht dagegen nur <10uV.
Was ich mir daher angesehen bzw. herausgefunden habe:
  • An IN+ des OpAmp (leider momentan noch LF411) liegt noch eine stabile Spannung an
  • An IN- bzw. OUT flackert die Spannung aber in ca. dem Ausmaß, wie es der ADC dann offenbar eh korrekt wandelt
  • Ohne DIV Input habe ich stabile +/- 15V Versorgung am OpAmp
  • Mit DIV Input ist -15V auf einmal eher so -16,7V und rauscht ebenfalls stark (>4mV), während +15V weiterhin relativ stabil und rauscharm ist (für einen 7812 halt ;))
  • Vielleicht verstehe oder messe ich da falsch oder Masse verändert sich so stark durch die Verbindung mit dem Messobjekt? Ich messe DIV COM Input gegen die +/-15V Beinchen am OpAmp. Aber warum rauscht und verändert sich dann nur die -15V?
Weiters würde mich interessieren, ob ich einfach z.B. +/- 3V statt 15V einspeisen kann um entsprechende OpAmps zu verwenden, die nicht mit +/- 15V funktionieren?
So wie ich das schematic verstehe, wird ausschließlich der OpAmp damit versorgt und die zwei Transistoren ziehen den Input in die Höhe und leiten Überspannung ab.
Habe ich da Nachteile oder Probleme (eben wg. Schutz wie du sagst, wäre dann das Limit bei 3V?)? Es gibt viel bessere OpAmps für geringere Versorgungsspannungen und der Arbeitsbereich hier ist ohnehin nur 0 bis 2,5V, die würde ich gerne ausprobieren. Momentan hab ich keine anderen Single OpAmps die unity gain stable und +/-15V sind (sind aber schon unterwegs).

psclab38
kann c't-Lab-Konstrukteure konstruieren
kann c't-Lab-Konstrukteure konstruieren
Beiträge: 897
Registriert: 25.01.2008, 23:34

Re: DIV zeigt immer +/-1,70141V an, 10 Jahre alter ADC?

Beitrag von psclab38 » 07.11.2011, 19:26

sblive hat geschrieben: Mittlerweile habe ich es geschafft die C Firmware sogar mit aktuellem AVR Studio 5 + Updates/Device Kits/Toolchain blah zu compilen (vorher musste ich alles deinstallieren wg. herangewachsenem Chaos).
In delay.h bzw. _delay_us() wurde __builtin_avr_delay_cycles(__ticks_dc) aufgerufen, wobei uint32_t __ticks_dc.
Das darf aber nur noch mit statischen Werten aufgerufen werden.
Man kann aber __DELAY_BACKWARD_COMPATIBLE__ definieren und dann klappts!
Das Problem kommt vom neuen WinAVR, den das AVR-Studio 5 mitbringt. Nimm den alten (siehe weiter oben, mit Begründung) und es geht auch so.
sblive hat geschrieben:Leider rauschen die Messungen sehr stark (ca. 500uV in 2,5VDC). Und zwar messe ich zwei parallele hochstabile 2,5VRefs die nur <1,5uV rauschen an meinem Fluke.
Mit integrate slow ist es immer noch so 200uV. Mein Breadboard LTC2400 rauscht dagegen nur <10uV.
Was ich mir daher angesehen bzw. herausgefunden habe:
  • An IN+ des OpAmp (leider momentan noch LF411) liegt noch eine stabile Spannung an
  • An IN- bzw. OUT flackert die Spannung aber in ca. dem Ausmaß, wie es der ADC dann offenbar eh korrekt wandelt
  • Ohne DIV Input habe ich stabile +/- 15V Versorgung am OpAmp
  • Mit DIV Input ist -15V auf einmal eher so -16,7V und rauscht ebenfalls stark (>4mV), während +15V weiterhin relativ stabil und rauscharm ist (für einen 7812 halt ;))
  • Vielleicht verstehe oder messe ich da falsch oder Masse verändert sich so stark durch die Verbindung mit dem Messobjekt? Ich messe DIV COM Input gegen die +/-15V Beinchen am OpAmp. Aber warum rauscht und verändert sich dann nur die -15V?
Was ist "DIV Input"? 2,5V? -2.5V?
Jedenfalls kann ich das Problem nicht nachvollziehen, auch nicht auf "fast". Selbst am DCG als Quelle wandert die letzte Stelle des DIV hier grade mal ganz langsam mit der Temperatur.

Wenn Du alles schön potentialfrei aufgebaut/gemessen hast (wovon ich jetzt mal ausgehe), dann belaste doch mal die -15V an PL1 gegen AGND (also PIN 10/11 gegen 8/9) mit ein paar mA. Sagen wir mal 1,5k. Nicht daß der 7915 wegen der geringen Last instabil ist.
sblive hat geschrieben:Weiters würde mich interessieren, ob ich einfach z.B. +/- 3V statt 15V einspeisen kann um entsprechende OpAmps zu verwenden, die nicht mit +/- 15V funktionieren?
So wie ich das schematic verstehe, wird ausschließlich der OpAmp damit versorgt und die zwei Transistoren ziehen den Input in die Höhe und leiten Überspannung ab.
Habe ich da Nachteile oder Probleme (eben wg. Schutz wie du sagst, wäre dann das Limit bei 3V?)? Es gibt viel bessere OpAmps für geringere Versorgungsspannungen und der Arbeitsbereich hier ist ohnehin nur 0 bis 2,5V, die würde ich gerne ausprobieren. Momentan hab ich keine anderen Single OpAmps die unity gain stable und +/-15V sind (sind aber schon unterwegs).
Der DG419 hängt auch an den +/-15V. Ob Du den auch sinnvoll mit +/-3V betreiben kannst, weiß ich nicht.

Welche anderen Eigenschaften soll denn ein anderer OP haben? Der LF411 hat ein wenig viel Offset, bzw. größeren TK. Einfach durch den OPA627 ersetzen und gut, siehe Artikel. "Schnell" braucht ein OP an der Stelle nicht sein.

sblive
träumt vom eigenen c't-Lab
träumt vom eigenen c't-Lab
Beiträge: 5
Registriert: 05.11.2011, 04:13

Re: DIV zeigt immer +/-1,70141V an, 10 Jahre alter ADC?

Beitrag von sblive » 08.11.2011, 02:18

Hab Deinen WinAVR Hinweis eh gelesen und hätte das auch probiert. Nachdem es mit neuestem AVR Studio 5 etc. aber problemlos funktioniert, werde ich das auch weiterbenutzen, der neuere GCC und die VS IDE sind schon ganz nett.

Mit "mit DIV Input" meinte ich "sobald man eine (Mess)spannung anlegt".

Ich beschränke mich mittlerweile auf den Fall mit kurzgeschlossenem DIV Input, hier sollte wohl eine relativ stabile Messung möglich sein (jedenfalls nicht +/-500uV).
In diesem Fall ist die -15V genauso stabil wie mit floating Input. Das Problem liegt also woanders.
Ich hoffe auf den einfachen Fall, dass mein LF411 einfach defekt ist (bekomm ~15 verschiedene OpAmps teilweise noch diese Woche), glaub es aber ehrlich gesagt nicht...
Wie gesagt, am OpAmp Eingang IN+ liegt eine absolut stabile Spannung an, am Ausgang und natürlich auch an IN- flackert die Spannung aber eben entsprechend heftig.

Ich hab mich mal mit meinem Oszi an IN+ sowie OUT des OpAmps gehängt und da sehe ich auch (un)schön, was ich messe, bzw. noch viel schlimmer:
Während am Eingang PtP ca. 3,6mV ist, ist es am Ausgang ~70mV (MTB 1us)!

Was kann ich da vorerst ohne andere OpAmps prüfen?

sblive
träumt vom eigenen c't-Lab
träumt vom eigenen c't-Lab
Beiträge: 5
Registriert: 05.11.2011, 04:13

Re: DIV zeigt immer +/-1,70141V an, 10 Jahre alter ADC?

Beitrag von sblive » 08.11.2011, 02:53

Bzgl. OpAmp:
Es gibt so viele OpAmps die - meinem Verständnis nach - wesentlich besser wären als LF411(A), AD711(B) oder OPA627(B).
Den Artikel habe ich eh schon auswendig gelernt ;)
Jedenfalls habe ich mich tagelang in Datenblättern vergraben und die IMHO wichtigsten Eigenschaften zusammengeschrieben, um dann die sinnvollsten Kandidaten herauszufinden und auszuprobieren.

Der OPA627 ist sowieso total überbewertet bzw. überteuert für so eine Anwendung. Der Preis ist ja wohl ein Witz, ich hab mal welche um wesentlich weniger auf EBay ersteigert, mal sehen, ob das Fakes sind. Hab auch schon 1-2 Jahre so ein 2*SOIC OPA627 auf DIP Ding in einem (Audio) DAC, wo er auch total beliebt ist, aber fast ebenso sinnlos (doch hochfrequenter als DIV).
z.B. hat der OPA627 0,6uV PtP Noise (ca. 4LSB) und 0,8uV/C Drift. Über +/-5°C sind das 8uV entsprechend 54LSB.
Mir ist schon klar (wie auch im Artikel steht), dass man 24 Bit ohnehin nicht erreicht, aber warum schon vor dem Wandler für suboptimale Bedingungen sorgen, die das ohnehin schon nicht perfekte Eingangssignal weiter verschlechtern?
Bei meinem Breadboard LTC2400 Aufbau verwende ich den Durchschnitt mehrerer 28bit Messungen (die man ja eigentlich bekommt). Dort konnte ich in einer Langzeitmessung (~8h) dauerhaft <3uV meinem 6,5d Fluke 8846A folgen.
Im Schnitt sollte das also alles zur Genauigkeit beitragen.

1LSB bei 24Bit und 2,5VRef entspricht ja 0,149uV. Zurückgeliefert bekommt man sogar 0,009uV Schritte (jaja, ich weiß, illusorisch).
Idealerweise hätte der OpAmp also <0,075uV Noise bzw <0,0075uV/C Drift, damit bei +/-5°C theoretisch 0bit Fehler ist.
Der ADC hat aber 0,3ppm Noise, also 0,75uV bei 2,5VRef.
Daher "reicht" als "idealer" OpAmp theoretisch <0,38uV Noise bzw. <0,038uV/C Drift.

Hier mal ein Auszug, zuerst OpAmps die mit +/-15V laufen, dann welche, die das nicht können. Einige davon kommen natürlich gar nicht in Frage fürs DIV (wg. zu hohem IB, oder rein physisch).
OpAmp-Comparison-2011-11-07-15V.png
unity gain stable OpAmps die +/-15V vertragen
OpAmp-Comparison-2011-11-07-15V.png (16.01 KiB) 4426 mal betrachtet
OpAmp-Comparison-2011-11-07-LV.png
unity gain stable OpAmps die +/-15V NICHT vertragen
Der OPA627 ist hier relativ weit abgeschlagen, während er natürlich deutlich besser als ein AD711 oder gar LF411 "Müll" (in Bezug auf einen so guten 24bit ADC) ist.
In DIP siehts halt leider besonders schlecht aus, aber ich hab mir auch SOIC2DIP Adapter bestellt und werde einige OpAmps testen.
Aber man sieht v.a. drei Dinge:
  • OPA627 ist bei weitem nicht das Maß der Dinge
  • Es gibt viel bessere OpAmps für niedrige Spannungen
  • Es ist (wie immer) ein Kompromiss. Hauptsächlich zwischen guter Performance und niedriger Messobjektbelastung in den "direkten" Ranges. Aber auch zwischen Noise (Auflösung) und Drift (Genauigkeit)

psclab38
kann c't-Lab-Konstrukteure konstruieren
kann c't-Lab-Konstrukteure konstruieren
Beiträge: 897
Registriert: 25.01.2008, 23:34

Re: DIV zeigt immer +/-1,70141V an, 10 Jahre alter ADC?

Beitrag von psclab38 » 08.11.2011, 09:19

sblive hat geschrieben:Ich beschränke mich mittlerweile auf den Fall mit kurzgeschlossenem DIV Input, hier sollte wohl eine relativ stabile Messung möglich sein (jedenfalls nicht +/-500uV).
In diesem Fall ist die -15V genauso stabil wie mit floating Input. Das Problem liegt also woanders.
...
Wie gesagt, am OpAmp Eingang IN+ liegt eine absolut stabile Spannung an, am Ausgang und natürlich auch an IN- flackert die Spannung aber eben entsprechend heftig.
...
Was kann ich da vorerst ohne andere OpAmps prüfen?
Es gibt einzelne 79xx (herstellerabhängig), die eine Mindestlast von 5mA sehen wollen, sonst verhalten sie sich eigenartig. Du hast meinen Hinweis mit dem 7915 gelesen und die zusätzliche Belastung hat nichts gebracht?

Zu Deiner OP-Selektion: Den Aufwand in allen Ehren, aber was ist das Ziel? Das Fluke nachbauen?
Ich hatte hier mal ein Tek DMM4050 (baugleich mit Deinem Fluke) neben dem DIV stehen. Und die beiden waren sich ziemlich einig, nachdem ich die Kalibrierparameter um eine Stelle erweitert hatte.

Antworten