Hi folks, Ich nutze den MAX1416 16 bit ADC um einen DMS Kraftsensor auszulesen. Der Sensor wird mit 10V versorgt und gibt 2mV/V aus, also bei voller Belastung (in dem Fall 2kN) = 20mV. Genutzt wird beim ADC : channel AIN1+, AIN1-, bipolar, gain= 128, unbuffered, interner takt 2.4576MHz, 500Hz data output rate, externe 2.5 Vref. Soweit so gut, die Kommunikation mit dem ADC über SPI läuft einwandfrei und ich nutze DRDY über nen externen INT um die Daten auszulesen. Wie gesagt so weit so gut, aber ich erhalte nur die Hälfte der eigentlichen anliegenden Spannung als Daten zurück. Das was an Daten rauskommt entspricht also eher, oder sogar ziehmlich genau, einer Verstärung von 64 und nicht 128! Z.B. der ADC liefert mir als nullwert ca. 32768, wenn ich nun den Sensor mit ca. 85Kg belaste bekomme ich einen Wert von ca. 39768 also eine Änderung von ca. 7000 bei dem 2kN Sensor macht das ein aufgelegtes Gewicht von 7000 / (32768 / 2000) = 427.246N ~ 42.7Kg also ziehmlich die Hälfte von dem was er eigentlich anzeigen müsste. Ich hab zur Konfiguration des ADC das configuration tool auf der Maxim webseite benutzt : http://www.maxim-ic.com/tools/calculators/index.cfm/calc_id/ac40tool mein setup sieht wie folgt aus : // write to com register, select chan AN1+, AN1- and select next write to clock register SPI_send_byte(0x20); // select internal clock, 2.4576MHz, CLKDIV = 1, CLKOUT = disabled, 500HZ data output rate SPI_send_byte(0xb7); // write to com register, select chan AN1+, AN1- and select next write to setup register SPI_send_byte(0x10); // select selfcalibration, gain = 128, bipolar, no internal buffer, FSYNC = run SPI_send_byte(0x78); _delay_ms(50); // etwas zeit für die selfcalibration lassen.... das sollte eigentlich ausreichen und der ADC beginnt nach der selfcalibration mit der Wandlung und signalisiert das über DRDY in meinem ext int handler siehts so aus: // write to com register, select chan AN1+, AN1-, next read from data register SPI_send_byte(0x38); // read from data register AD_value0 = (uint16_t)(SPI_send_byte(0)<<8); // ist es eigentlich egal was ich dem adc an dieser Stelle schicke??? AD_value0 += SPI_send_byte(0); eigentlich kein Hexenwerk... die Ausgänge des Sensors sind natürlich mit AIN1+ und AIN1- verbunden, (zwischen ADC und den AIN pins liegt noch wie im Datenblatt empfohlen ein 100nF C nach Masse. Die Versorgungsspannung 5V ist stabil, die Spannungsreferenz 2.5V ist stabil, die Sensorspannunsgversorgung 10V ist stabil. Es kann eigentlich nur noch an der Software bzw. am setup des ADC liegen. ...hat vielleicht von euch schonmal jemand mit dem MAX1416 zu tun gehabt oder kennt vielleicht ähnliche Probleme mit dem Teil oder hat möglicherweise sogar eine Lösung parat? MfG Paul
Paul schrieb: > genutzt wird beim ADC : channel > AIN1+, AIN1-, bipolar Und der Sensor liefert auch ein bipolares Signal? Wenn er das nicht tut, dürfte das das von Dir wahrgenommene Phänomen erklären.
der Sensor liefert definitiv ein bipolares signal, ist für Zug und Druck ausgelegt
...hmm... nachdem ich mir das Datenblatt nochmal durchgelesen habe ist mir da ein Diagramm über maximum external resistance vs maximum external capacity aufgefallen (Seite 20 rechts unten). Könnte es sein das die Kombination aus DMS Brücke (Eingangswiderstand 350 oder 380 Ohm, weiss nicht mehr so genau) und die 100nF nach GND vor dem AIN1+ und AIN1- Input des ADC einen Verstärkungsfehler erzeugen, der für das Problem verantwortlich ist? ... nachdem ich nun zum 100sten male alles andere durchgecheckt habe und es zu dem ollen ADC auch nirgends irgendwo im Netz irgendwelche wirklich brauchbaren Beispiele oder tutorials oder was auch immerzu geben scheint, gehen mir die Ideen aus... MfG Paul
Noch mal kurz nachgerechnet: 2 kN ~ 20 mV also 10uV/N 1 LSB = 2 * 2.5V / (128 * 65536) ~ 596 nV 85 kg ~ 833 N mit 10uV/N * 833 = 8.3 mV 7000 * 596 nV ~ 4.17 mV ~ 417 N passt (mehr oder weniger). Schonmal mit Buffer gemessen oder mit einer anderen Verstärkung gemessen? Sicher das der DMS mit 10V betrieben wird? Falls der in einer Wheatstone-Brücke sitzt wäre die Spannung an den Abgriffen 5V +- x was zwar noch innerhalb der Maximum Ratings wäre, aber nicht zu also genauen Ergebnissen führen kann...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.