Hallo, ich möchte gerne sensorsignale einlesen, die sehr geringe Spannungsunterschiede haben. Es handelt sich dabei um Schadgassensoren, die mit entsprechender elektronik eine Spannung entsprechend zur schadgaskkonzentration(in ppm) ausgeben. bei 0,02ppm werden rein rechnerisch gesehen 0,25487218V ausgegeben. bei 0,04ppm (verdoppelung der Konzentration)werden 0,25474436V ausgegeben. Die Spannung ändert sich also erst im µV-Bereich. Kann das ein ADC noch direkt erfassen? Ich habe mal folgende Rechnung angestellt: 14bit ADC mit Vref=1,5V (MAX1147/MAX1149) Berechnung der Bereichsbreite des ADC(nach microcontroller.net-ADC-Tutorial): 1,5V/16384=0,000091552V damit könnte ich (rein rechnerisch) den Unterschied zwischen 0,02ppm und 0,04ppm erfassen: Berechnung ADC-Wert @ 0,02ppm: 0,25487218V / 0,000091552V = 2783,9.... Berechnung ADC-Wert @ 0,04ppm: 0,25474436V / 0,000091552V = 2782,5... Es müsste also gerade so gehen - rein rechnerisch. Aber ist das praktisch überhaupt möglich? Mir scheinen die Spannungsänderungen im µV-Bereich zu klein zu sein, oder geht das mit dem ausgewählten ADC? Grüße, Michael
Üblicherweise steht im Datenblatt des Sensors, ob so eine rechnerische Auflösung überhaupt reproduzierbar vorliegt. Oder ob das ganze selbst am Analogwert im Rauschen untergeht (was ich befürchte). Und im Datenblatt sind oftmals auch Vorschläge zur Beschaltung, auch zur Datenerfassung mit ADC enthalten. Sollten die Analogwerte so rauskommen, das mit einem 14- oder gar 16-Bit ADC, das brauchts echte Praxiserfahrung oder eine gute Application Note im Datenblatt des ADC, sonst wird das nix. Nach Möglichkeit sollte man solche Sensoren in einer Wheatstone-Brückenschaltung anwenden. GOOGLE Suche: wheatstone "14 Bit" schematic wheatstone "16 Bit" schematic Klaus
Nach welchem Messprinzip arbeitet der Sensor überhaupt? Ist das ein Halbleitersensor? Und für welches Gas? Gruß, Bernd
Schau dir im Datenblatt des atmega* die differentiellen ADCs an. Die haben einen integrierten opamp mit bis zu 200x Verstärkung.
Michael T. schrieb: > Berechnung ADC-Wert @ 0,02ppm: 0,25487218V / 0,000091552V = 2783,9.... > Berechnung ADC-Wert @ 0,04ppm: 0,25474436V / 0,000091552V = 2782,5... Hallo Michael, ich würde analog und präzise z.B. 0,254 V vom Messwert abziehen, dann sieht das für den ADC viel besser aus. Eine Brücke ist eine Möglichkeit dazu. Falls das realisierbar ist, könntest du z.B. den Brückenausgang bei 0 ppm auf 0 V abgleichen - du brauchst "bloss" eine entsprechend reine Umgebung. Gruss Reinhard
Vielen Dank für die schnellen Rückmeldungen. @Bernd: hier hatte ich schonmal einen Thread über die Schadgassensoren aufgemacht: [[Beitrag "Suche Schadgas Sensoren"]] Da ist unter anderem auch die Beschaltung der Sensoren mit OPAmps enthalten. Bei den Sensoren handelt es sich um Elektrochemische Sensoren, wobei bei den Gasen H2S und SO2 eine positive Spannung am Ausgang erzeugt wird und bei NO2 und CL2 eine negative. @Anon Ymous: µC steht schon fest und hat leider keine differentielle Messmöglichkeit oder integrierten Verstärker. Das muss ich alles extern realisieren... @Reinhard: das mit der Brücke klingt gut. Nur bin ich nicht sicher was die ganze zwischengeschaltete Elektronik an Drift und ungenauigkeiten mit sich bringt. Daher sind diese "rechnerischen Werte" eher zur Orientierung gedacht. Eine reine Umgebung gibts wohl eher nicht, da ich das ganze im Kfz einsetzen möchte. Aber ich bin eh am zweifeln ob das mit den Schadgassensoren was wird... Allerdings muss es irgendwie. Einen schönen Abend an alle und vielen Dank, Michael
Wie hoch ist denn der maximale Spannungshub des Sensorsignales? Wenn der nur ein paar µV oder mV beträgt, ist es sinnvoll, das Signal mit einem geeigneten Operationsverstärker zu verstärken, bevor es an den ADC kommt.
Hallo Michael Mit elektrochemischen Sensoren Gase unterhalb von 100ppb detektieren zu wollen, ist wie im Rauschen zu Fischen. Die Nebeneffekte wie Temperaturdrift des Nullpunktes, Feuchtegehalt des Gases, andere Gase, auf welche der Sensor Querempfindlichkeiten hat usw. sind größer als der Meßeffekt. Wie kommt es, daß Dein Sensorsignal auf 257mV steht und dann von dort ins Negative läuft? Hinter einem guten Messverstärker 100fach sollte der Sensor erstmal mit Nullgas (saubere Luft oder Stickstoff) und bei Raumtemperatur innerhalb +/- 1mV stabil bleiben. Dann läuft das Signal mit NO2 ins Negative oder mit NO nach "Oben". Gruß, Bernd
Hallo, habe die schaltung mal angehängt. @Bernd: mein Fehler: die NO2 und CL2 Sensoren geben immer einen negativen Strom aus proportional zur ppm Konzentration. das ganze wird dann über einen OPV in eine negative Spannung umgewandelt. Da negative spannungen nicht mit einem ADC eingelesen werden können, verwende ich einen Spanungsteiler, wobei am oberen Ende +1,5V anliegen und am unteren ende nicht Masse, sondern die negative Ausgangsspannung der Sensorschaltung. Die Spannung am ADC wird also nicht negativ sondern nur kleiner je mehr ppm vorhanden sind: => mehr ppm => negative spannung größer => Spannung am ADC kleiner @rufus: Was ist unter maximalem Spannungshub zu verstehen? Die maximale ausgangsspannung? Im datenblatt des sensors bzw in einer Applikation note wurde nur die folgende formel angegeben, die sich auf die angehängte Schaltung bezieht: Gas concentration (ppm) x sensor sensitivity (μA/ppm) = sensor output (μA) Allerdings wird für die "sensor sensitivity" immer nur ein bereich angegeben. Beim SO2 Sensor ist die sensor sensitivity zB 450-750nA/ppm. Die minimal/maximal-werte am ADC eingang sind dann laut Berechnung(sensor output current x R4) folgende: H2S_min: 0,000627V(@ 0,03ppm) H2S_max: 1V (@ 47ppm) SO2_min:0,0033V (@ 0,2ppm) SO2_max:0,825V (@ 50ppm) Jetzt die mit negativer ausgangsspannung und Spannungsteiler vor dem ADC (Spannungsangabe am ADC-Eingang!): NO2_min:0,0177V (@ 20ppm) NO2_max: 0,2851584V (@ 0,02ppm) CL2_min: 0,01762V (@ 20ppm) CL2_max: 0,25487218V (@ 0,02ppm) Zum besseren Verständnis habe ich mal die Schaltung für die Sensoren mit negativer Ausgangsspannung in einer Skizze angehängt. IC2 ist nur für das ausgleichen der Potentiale und schnelles anschalten der Sensoren erforderlich, ist also für die Ausgangsspannung unwichtig. IC1 wandelt den vom sensor erzeugten Strom in eine Spannung Uout um. Bei den "positiven" Sensoren (H2S und So2) fällt der spannungsteiler (R6 und R7) einfach weg und der Ausgang mit Uout wird direkt an den ADC angeschlossen. Jetzt ist eben die Frage was ich messen kann... Können µV noch vom ADC erfasst werden? nV gehen wohl eher nicht mehr => Lösung für die "negativen" Sensoren gesucht. Das mit dem Rauschen ist natürlich wahr. Soll ich die Uout Spannungen nochmals verstärken? Ich bin grad etwas verzweifelt, da ich die Sensoren gerne verwenden möchte, aber nicht weiß wie ich die Daten in meinen µC bekomme... am besten wäre es, die "negativen" ausgangsspannungen so zu verstärken, dass sie in etwa den pegeln der "positiven" sensoren entsprechen, dann bracuhe ich nur einen ADC mit einer Referenzspannung. Grüße, Michael
Hallo Michael, >Zum besseren Verständnis habe ich mal die Schaltung für die Sensoren mit >negativer Ausgangsspannung in einer Skizze angehängt. Hat IC1 denn eine negative Versorgungsspannung? >Jetzt ist eben die Frage was ich messen kann... Können µV noch vom ADC >erfasst werden? nV gehen wohl eher nicht mehr => Lösung für die >"negativen" Sensoren gesucht. Das mit dem Rauschen ist natürlich wahr. >Soll ich die Uout Spannungen nochmals verstärken? Wenn du eine doppelseitige Platine mit einem gewöhnlichen Layout verwendest, also mit einer nicht durchgehenden Massefläche, mußt du froh sein, wenn du mit dem ADC mV auflösen kannst. Also von µV oder nV ganz zu schweigen. Das beste Mittel ist, erst einmal die Spannung nochmals rauscharm, also schön weit weg von allem Digitalen, zu verstärken. Am besten mit einem invertierenden Verstärker, der dir wieder die Polarität dreht. Kai Klaas
Hallo Kai, danke für deine Antwort. Endlich weiß ich mehr über auflösung von mV und co. :) IC1 wird negativ versorgt werden, ich habe zwar eigentlich nur +3,3V aber über einen ADM8828 kommt dann die negative Versorgung zustande. Zunächst wird erstmal alles doppelseitig bleiben, zu testzwecken. wenn ich zufrieden bin und das gesamtkonzept einigermaßen funktioniert werde ich Multilayer verwenden. Evtl werde ich mit PSPICE vorher mal versuchen zu simulieren, wobei ich das noch nie gemacht habe. Dann kommt vielleicht doch gleich eine Multilayerlösung dabei raus Das mit dem invertierenden OP hört sich gut an. Vor allem wenn ich eh noch verstärken muss. Jetzt noch mal OFFtopic: bei einem ADC kann man ja die Bereichsbreite berechnen: also welcher Spannungswert entspricht einer ADC-Einheit. Laut Tutorial geht das so: Bereichsbreite=Vref/ADC_Wert konkretes Beispiel: Vref=0,4V 12bit-ADC Bereichsbreite=0,4V/4096=0,000097656V Theoretisch würde also der ADC alle 0,000097656V seinen Ausgabewert um 1 erhöhen. Ist das realistisch? Dann würde der ADC ja doch im µV-Bereich auflösen können. Ich hätte nämlcih den ADS7841E von TI hergenommen, bei dem kann man eine Vref von 0,1V bis Vcc anlegen. Grüße, Michael
Nein, die Referenz darf nicht so klein sein, resp. es bringt nichts. Denn die Limitierung ist das Rauschen.
Hallo Michael, >Theoretisch würde also der ADC alle 0,000097656V seinen Ausgabewert um 1 >erhöhen. Ist das realistisch? Dann würde der ADC ja doch im µV-Bereich >auflösen können. Ja, das ist theoretisch schon richtig. Aber in der Praxis sind den Analogspannungen oft wegen unvollkommener Masseführung und Einkopplungen digitale Störsignale im mV-Bereich überlagert. Manchmal ist der AD-Wandler sogar selbst der Störenfried, wenn er just im Moment der Wandlung gerade vom Microkontroller angesprochen wird, oder irgendein anderes digitales Bauteil gerade seinen Ausgang toggled. Auflösungen im µV-Bereich sind sehr sehr schwer zu realisieren. Man hilft sich da mit vielen Tricks: - Mehrfachsamplen des Wertes und Mittelwert bilden um digitale Störungen herauszurechnen. Funktioniert nur, wenn der Störglitch nicht synchron zur Wandlung stattfindet. - "Abschalten" aller digitaler Bauteile während der Wandlung, indem beispielsweise der Microkontroller in einen Sleep-Modus (oder ähnlich) gebracht wird und möglchst wenig digitale Chips, am besten gar keiner, seinen Ausgang toggled. - Strikte räumliche Trennung von digitalen und analogen Bauteilen, um eine Verseuchung der analogen Masse zu vermeiden. Manchmal sogar Verwendung getrennter Masseflächen. - und und und Kai Klaas
Wenn man sehr kleine Spannungen messen will, so sollte man es nicht unbedingt aus einem Controller heraus wollen. Und es auch nicht so eilg haben. Es gibt nahezu beliebig viele hochaufloesende ADC mit 20 bis 24 bit. Davon sind vielleicht 19 bit realisierbar. Was will man mehr.
Auflösung steigern klingt einfach, aber davon wird die Störeinstrahlung auch nicht weniger. Der Störabstand ist einfach sehr, sehr klein.
Vielen Dank für die infos. @KelleRassel: ich will nicht mit dem controller direkt messen, sondern über einen externen ADC. Die taktik sieht dann also zusammengefasst so aus, dass ich: 1) anaolog und digitalteil trenne (hatte ich aber sowieso vor wegen den ganzen EMV-geschichten) 2) die ausgangsspannungen der "negativen sensoren mit einem invertierenden OPV verstärke und in den mV bereich bringe. 3) die "positiven" sensoren auch in den mV-Bereich bringe. Das heißt bei den "negativen" Sensoren muss ich mit Faktor 100 Verstärken. Problem ist jetzt dabei, dass ohne Verstärkung gilt: Uout(@0,02ppm CL2)= -0,000154V => mit 100 verstärkt+invertiert Uout=0,0154V Uout (@20ppm CL2)= -0,286V => mit 100 verstärkt+invertiert Uout=28,6V Das haut mit der Referenzspannung nicht mehr hin, da ich nur 3,3V für die Spannungsversorgung zur verfügung habe. Soweit ich weiß darf die Referenzspannung bei den ADC die Versorgungsspannung nicht übersteigen. Und die Eingangsspannung darf Vref nicht übersteigen... Teufelskreis. Bleibt mir wohl nur die Wahl den Messbereich einzuschränken, also nicht bis 20ppm zu gehen. Eilig habe ich es bei der messung nicht. Die sensoren brauchen sowieso nach Aktivierung 30sec bis sie gemessen haben. Danach wird auch erst der ADC eingeschaltet. Grüße, Michael
Wo liegen denn die Störungen durchschnittlich? eher im µV-bereich oder im mV-bereich? Zum beispiel wenn man eine Platine hat auf der ein 10MHz µC sitzt mit externem Quarz, wobei aber digitalteil und analogteil getrennt voneinander auf der Platine (kein multilayer) untergebracht sind? Ich will nur erfahrungswerte wissen, da ich da noch im dunkeln tappe. gruß
Noch eine Dumme Frage: Mehr Auflösung (zB 20bit ADC) bringt nichts weil das Rauschen davon nicht verschwindet. Wenn ich jetzt das ganze verstärke, verstärke ich ja auch das Rauschen mit. Außerdem kommen noch drift etc. des verstärkers mit dazu. Ist es dann nicht am besten, so gut wie möglich zu schirmen, während der Messung alle HF-Störer abzustellen und doch davon auszugehen, dass der ADC hoch auflösen kann (also keine weitere Verstärkung)?
Eine Frage des Layouts. Ich messe zB Thermoelemente direkt mit dem ADC. Ein Chromel-Alumel bringt um die 40uV/K. Dabei habe ich eine 2.5V Referenz, daran einen Spannungsteiler fuer den negativen eingang des ADC, welcher dann auf 1.25V zu liegen kommt. Das Thermoelement zwischen dem negativen und positiven Eingang, und dabei kann ich dann auch Temperaturen mit negativer Thermospannung messen. Auf derselben Leiterplatte kann ich auch noch ein Schaltnetzteil betreiben, das 50V & 8A zerhackt.
Hallo Michael, >Wo liegen denn die Störungen durchschnittlich? eher im µV-bereich oder >im mV-bereich? Also, das Schlimmste was ich bis jetzt gesehen habe, waren Spikes von 100mV, stammed von einem nicht entkoppelten 74HCMOS Chip, der sich mit dem ADC eine dünne Massebahn teilte. >Zum beispiel wenn man eine Platine hat auf der ein 10MHz µC sitzt mit >externem Quarz, wobei aber digitalteil und analogteil getrennt >voneinander auf der Platine (kein multilayer) untergebracht sind? Ich >will nur erfahrungswerte wissen, da ich da noch im dunkeln tappe. Michael, bei allem Respekt, aber das kann man nicht so einfach sagen. Das mußt du wirklich selbst ausprobieren. Bei deiner skizzierten Situation habe ich schon separate, schnelle 12bit Wandler eingesetzt, wo das LSB nicht mehr zuckte, wo also das Rauschen auf jeden Fall unter 100µV lag. Aber da habe ich alle Chips mit LRC-Pi-Filtern entkoppelt, den Microkontroller besonders niedrig getaktet, während der Wandlung den Microkontroller ins Koma gelegt, getrennte Masseflächen verwendet, etc. Kein PWM nebenher, kein RS232 und RS485 Verkehr, u.s.w., alles tot! Es ist in jedem Fall ratsam, den Analogbereich des AD-Wandlers möglichst groß zu wählen und das Analogsignal so weit wie es irgend geht zu verstärken. Kai Klaas
Moin Leutz! Ich wollte damals den DDC114 für Messungen einsetzen, hab mir auch das Testboard von denen angeschaut und bin (bis jetzt) etwas verzweifelt g. Aber da es hier mal um präzise Messungen mit AD-Wandlern geht dachte ich mir ich zeig euch diesen Link hier, vielleicht ist da für die alten Hasen ja auch noch was dabei (interessante Links gibs da auch): http://www.edn.com/index.asp?layout=article&articleid=CA6434367&industryid=47038&text=ddc114 Auf alle Fälle ist es sehr wichtig die Teile welche HF strahlen gut abzuschirmen bzw. den ADC gut abzuschirmen (nichts geht über Kupfer (lol)) Gruß Andi
hallo Leute, vielen Dank, jetzt formt sich so langsam ein Bild :D @Kai: Du hast natürlich recht, sowas muss ich selbst ausprobieren. Dann werd ich schauen, dass ich alles in den mV Bereich bringe und versuche direkt mit Multilayertechnik zu arbeiten. Da dürfte ich dann mit 2 Masseflächen (digital und analog getrennt) gut schirmen können. kann man sowas (EMV) mit Pspice eigentlich simulieren? das wäre ganz interessant zu wissen. So könnte man sein Layout ja perfektionieren. Grüße, Michael
grundsätzlich kannst du da sicher simulieren... nur ist das ganze so komplex und unüberschaubar das es nich halwegs vernüftiger zeit nichtmal ansatzweise möglich ist... adc im mV Bereich messen... frag mich immer wiso sich die leute so mühe geben sich das leben selbst schwer zu machen... viel glück...
Man sollte möglichst nah am Sensor verstärken und dann erst das Signal auf die Reise schicken. Vielleicht ist es ja möglich den Sensor, OpAmp bzw. auch den ADC auf eine Platine auszulagern und möglichs nach an das zu messende Medium bringen. Habe es auch schon oft bei Motorsteuergeräten gesehen das ein 2ter µC zum Einsatz kommt der nur für die AD-Wandlung und Aufbereitung der Daten zuständig ist das erlaubt auch einen möglichst großen Abstand zum Digitalteil und es läßt sich alles schon vom Digitalteil abblocken.
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.