Hallo,
ich habe folgendes Problem, bei dem ich mittlerweile recht ratlos bin:
Ich verwende in meiner Schaltung einen LTC2499 (24Bit ADC mit 16 Kanälen
mit 24 Bit, I2C). Dieser ist wie in angehängtem Schaltplan verbaut. Ich
kann mit ihm mit meinem ATMega328p mit Arduino-Bootloader kommunizieren
und kann auch Messwerte lesen. Ich habe als Versorgungs und
Referenzspannung 5 Volt Spannungsregler verbaut (LT1761-5). Einen
Spannungsregler für den ADC und weitere 5V-Elektronik auf der Platine
und eine baugleiche Schaltung für die angeschlossenen Sensoren.
Ich habe den ADC mit folgenden Bytes konfiguriert:
1 | Wire.beginTransmission(20);//Connect to 0x14
|
2 |
|
3 | Wire.write(byte(0xB8));//CH01, singleended
|
4 | Wire.write(byte(0x80));//Ext. measurement, 50Hz/60Hz Rejection
|
5 |
|
6 | Wire.endTransmission();
|
Damit misst er auch und alles funktioniert wie erwartet. Das Problem ist
jetzt aber, dass er bei der Messung nicht den kompletten Messbereich
abdeckt. Er misst nur im Messbereich von 0 - 2.5V. Bei einer größeren
Messspannung ist das Ergebnis 1090519039
(0b1000000111111111111111111111111). Also SIG = 1 (Vorzeichen positiv
laut Datenblatt), keine Differential-Voltage (Es wurde ja auch
single-ended gemessen?) und alle Ergebnis-Bits 1. Ich habe jetzt ein
paar Tage lang das Datenblatt studiert und werde daraus nicht wirklich
schlau. Ich habe leider auch nicht sehr viel Erfahrung mit dem Aufbau
von ADC-Schaltungen, oder der implementierung der Treiber, bisher hat es
halt immer der Interne ADC des uC getan.
Wie dem auch sei, ich weis nicht mehr, wo ich jetzt nach dem Fehler
suchen soll und wäre für jede Hilfe überaus dankbar!
Vielen Dank und Viele Grüße
Christoph