Hallo zusammen! Folgendes ist die Ausgangslage: Ich möchte mittels Mikrocontroller und externem Analog-Digital-Wandler (ADS1115; fertiges Breakout Board von Adafruit) die Spannung einer handelsüblichen 12V Gelbatterie messen. Da überdies noch Elektromotoren im Spiel sind, will ich die Eingänge meines AD-Wandlers gegen Überspannungen absichern, allerdings scheint hier mein Problem zu liegen. Ich verwende die differentielle Messung, um die Spannungsdifferenz an Eingang A0 und A1 zu ermitteln. Im Anhang befindet sich die Schaltung, die dem jeweiligen Eingang des AD-Wandlers vorgeschaltet ist. Neben dem Spannungsteiler sind das wichtigste Element augenscheinlich die Dioden, die vor Überspannung schützen sollen. Mein Problem ist nun folgendes: - Ich teste das ganze zur Zeit mit einer 9V-Batterie mit einer gemessenen (Multimeter) Spannung von 9,52V. Die erwartete Ausgangsspannung des Spannungsteilers liegt dann bei 865mV (+/- ein bisschen für die toleranzen der 0.1% Widerstände). - Mit der Schaltung wie sie im Anhang zu finden ist, messe ich am Spannungsteiler 630mV, der AD-Wandler zeigt das selbe Ergebnis. - Gleiche Schaltung, allerdings ohne die Dioden: Ich messe 857mV am Spannungsteiler, der AD-Wandler 'sieht' nur 641mV. - Wenn ich den Pin von V_BATT_NEG auf Masse (hier: GND) lege, dann stimmen Multimeter und AD-Wandler überein. Der Wandler 'sieht' die selbe Spannung wie das Multimeter: 864mV - Selbst wenn ich den negativen Pol der Batterie direkt auf GND lege und der Eingang am ADC unbeschaltet bleibt, erhalte ich vom AD-Wandler das vermeintlich richtige Ergebnis von 864mV. Bei der differentiellen Messung sollte das eingetlich nicht vorkommen, oder? Ich kann mir dieses Verhalten noch nicht so ganz erklären, aber vielleicht hat jemand von ein eine Idee, woran es liegen könnte und mag mich in die richtige Richtung schubsen. Danke, Christian
Christian schrieb: > Mit der Schaltung wie sie im Anhang zu finden ist, messe ich am > Spannungsteiler 630mV, der AD-Wandler zeigt das selbe Ergebnis Diode nach GND falschrum drin? Christian schrieb: > Gleiche Schaltung, allerdings ohne die Dioden: Ich messe 857mV am > Spannungsteiler, der AD-Wandler 'sieht' nur 641mV. Das ist seltsam, wo soll der Rest denn hin sein?
Es war auch mein erster Gedanke, also dass ich die Diode nach GND falsch herum gesteckt habe. Aber wenn das Datenblatt nicht lügt, dann markiert der schwarze Ring immer noch die Kathode und demnach stecken die Dioden richtig herum in der Schaltung. :D Und wo die restlichen mV abgeblieben sind... das ist eine gute Frage. :) Sobald ich dazu komme, werde ich mal die Spannungen über den einzelnen Bauteilen messen.
Mag sein das ich da ganz falsch liege, aber 2 Dinge fallen mir ein: a) Wie ist das mit dem Eingangsstrom des ADC? Ich nutze normal nur die ADCs im PIC oder AVR, und beide mögen es nicht wenn da draußen ein Widerstand >1k dranliegt: Der Eingangsstrom des S&H zieht den Eingang etwas runter und die Messung ist was daneben. b) Die Batterie ist mit nix verbunden außer BatPos und BatNeg? Dann ist der eine Eingang negativ, denn es bildet sich doch ein Spannungsteiler + 10k 10k Abgriff 2k Masse 2k Abgriff 10k 10k - Der eine Abgriff ist dann 432mV positiv, der andere 432mV Negativ. Kann der ADC das? Oder spinn ich?
> Die Batterie ist mit nix verbunden außer BatPos und BatNeg? > Dann ist der eine Eingang negativ, denn es bildet sich doch ein > Spannungsteiler + 10k 10k Abgriff 2k Masse 2k Abgriff 10k 10k - > Der eine Abgriff ist dann 432mV positiv, der andere 432mV Negativ. > Kann der ADC das? Das ist eine gute Frage. Im Datenblatt wird die Mininmalspannung mit VDD -0.3 Volt angegeben. Weia... :/
> Das ist eine gute Frage. Im Datenblatt wird die Mininmalspannung mit VDD > -0.3 Volt angegeben. Weia... :/ Korrektur: Nicht VDD - 0,3 Volt sondern NUR -0.3V
Das ist aber nicht der Messbereich sondern die Ansprechschwelle der ESD-Schutzdioden.
Also die Gain Range spricht von +/- 4.096 Volt bei einem Gain von 1.
Christian schrieb: > Wenn ich den Pin von V_BATT_NEG auf Masse (hier: GND) lege, Klingt, als ob die Batterie sonst nur über V_BATT_POS und V_BATT_NEG mit der Messchaltung überhaupt verbunden ist, dadurch besteht kein Potentialbezug und man kann natürlich nichts vernünftiges messen. Ein KOMPLETTER Schaltplan würde helfen, das gehört aber NATÜRLICH mal wieder zum CIA Geheimprojekt, bzw. der notorischen Faulheit der Fragenden.
:
Bearbeitet durch User
Christian schrieb: > Also die Gain Range spricht von +/- 4.096 Volt bei einem Gain von 1. Das DB spricht aber auch unter Abs Max Analog input voltage Min GND -0.3 Max VDD +0.3 Was du meinst ist Der Full Scale Range, der ist "Vin = VAinP - VAinN", also zwischen den Pins gemessen. Hier wird durch den Spannungsteiler aber ein Massebezug hergestellt, und der klappt nicht.
Michael B. schrieb: > dadurch besteht kein Potentialbezug und man kann natürlich nichts > vernünftiges messen. Der Potentialbezug ergibt sich über die Spannungsteiler. Und dabei passiert genau das, was Jens beschrieben hat: Jens M. schrieb: > Dann ist der eine Eingang negativ, denn es bildet sich doch ein > Spannungsteiler + 10k 10k Abgriff 2k Masse 2k Abgriff 10k 10k - > Der eine Abgriff ist dann 432mV positiv, der andere 432mV Negativ. Und die negative Spannung sorgt dafür, dass die eine BAT85 zu leiten beginnt.
Achim S. schrieb: > Und dabei > passiert genau das, was Jens beschrieben hat: Nicht genau, weil: Achim S. schrieb: > Und die negative Spannung sorgt dafür, dass die eine BAT85 zu leiten > beginnt. Eben. Also ist: Christian schrieb: > - Wenn ich den Pin von V_BATT_NEG auf Masse (hier: GND) lege, dann > stimmen Multimeter und AD-Wandler überein richtig und er soll seine differentielle Messung vergessen.
Michael B. schrieb: > Nicht genau, weil: Na gut, dann dir zuliebe die noch ausführlichere Beschreibung: Ohne die externen Dioden geschieht fast genau das, was Jens beschrieben hat. Dementsprechend misst das Multimeter den korrekten Wert, aber der ADC ist außerhalb seines Messbereichs und gibt einen falschen Wert an: Christian schrieb: > Gleiche Schaltung, allerdings ohne die Dioden: Ich messe 857mV am > Spannungsteiler, der AD-Wandler 'sieht' nur 641mV. Das "fast" bezieht sich auf den geringen Unterschied zwischen 857mV und 865mV, der sich ggf. aus dem schon einsetzenden Strom über die ESD-Diode des ADCs ergibt. Mit externen Dioden belastet die untere BAT85 den einen Spannungsteiler. Damit verschiebt sich das Teilerverhältnis, so dass auch mit Multimeter eine Differenzspannung angezeigt wird, der kleiner ist als vom TO erwartet: Christian schrieb: > - Mit der Schaltung wie sie im Anhang zu finden ist, messe ich am > Spannungsteiler 630mV, der AD-Wandler zeigt das selbe Ergebnis. Lustigerweise misst der ADC dabei den identischen Wert wie das Multimeter, obwohl der Absolutwert an einem Differenzeingang eigntlich außerhalb seines nominellen Messbereichs liegt.
Michael B. schrieb: > Ein KOMPLETTER Schaltplan würde helfen, das gehört aber NATÜRLICH mal > wieder zum CIA Geheimprojekt, bzw. der notorischen Faulheit der > Fragenden. Nein, kein CIA Geheimprojekt. Ich werde den Rest der Schaltung nachher nachliefern, auch wenn es wirklich nicht spektakulär ist. Ein Arduino mit ADC Breakout (verbunden via I²C). Momentan noch betrieben über USB. Und richtig: Keine direkte/gemeinsame Masseverbindung zwischen der messenden Schaltung und dem negativen Pol der Batterie. Achim S. schrieb: > Mit externen Dioden belastet die untere BAT85 den einen > Spannungsteiler. Damit verschiebt sich das Teilerverhältnis, so dass > auch mit Multimeter eine Differenzspannung angezeigt wird, der kleiner > ist als vom TO erwartet: Okay, ich glaube so langsam verstehe ich, was das Problem ist. Sehe ich das richtig, dass eine derartige Beschaltung der Eingänge des AD-Wandlers also nicht für eine differentielle Messung geeignet ist?
Nochwas .. Die Zehnerdiode. Zehnerdioden sind spezifiziert bei 1mA Strom, nicht Null. Und eine Zehnerdiode beginnt nicht bei der Nennspannung abrupt an zu leiten, sondern ein Stueck vorher. Siehe Datenblatt
:
Bearbeitet durch User
*Zener, ohne "h" Der Herr hieß Zener, aber eigentlich sind Zener nur so bis 2 oder 3V, darüber ist es ein anderer Effekt, daher richtigerweise "Z-Diode". @Christian Jau, soooo gehts nicht! Der Massebezug ists. Aber warum willst du einen Akku differentiell messen?
:
Bearbeitet durch User
Name H. schrieb: > Nochwas .. Die Zehnerdiode. Zehnerdioden sind spezifiziert bei 1mA > Strom, nicht Null. Und eine Zehnerdiode beginnt nicht bei der > Nennspannung abrupt an zu leiten, sondern ein Stueck vorher. Siehe > Datenblatt Das sind keine Z-Dioden, sondern Schottky-Dioden. Jens M. schrieb: > Der Massebezug ists. Aber warum willst du einen Akku differentiell > messen? Kann ich gerade gar nicht mehr sagen. Ich hab mich darauf versteift. War kein kluger Zug.
So, nochmal zum Schaltplan: Das angehängte Bild zeigt den Zustand, wie er Momentan auf meinem Breadboard vorhanden ist. Der DC/DC Wandler ist zwar da, aber momentan kommt die Versorgungsspannung noch über die USB-Schnittstelle von meinem Rechner. Zwei "Inputs" sind über den Spannungsteiler an den ADS1115 angebunden. Bezüglich der Messart: Ich habe natürlich die Möglichkeit, die Batteriespannung mittels "Single-Ended-Conversion" messen zu lassen, nur benötige ja auch hierfür einen Bezugspunkt. Reicht es dafür, den negativen Pol der Batterie mit GND zu verbinden? Und welchen Einfluss kann das auf meine Schaltung im Bezug auf Überspannung, negative Spannung usw. haben?
Es wurde ja schon erwähnt was falsch läuft, zur Visualisierung das Bild. Schnell am Tablet bearbeitet daher sorry für die grobe Qualität. Stromfluss rot von Batt+ nach Batt- dies gibt eine auf Gnd bezogen negative Spannung an A1 vom Adc. Was du machen kannst wenn du eine differentielle Messung möchtest, statt die Spannungsteiler "enden" auf Gnd zu beziehen diese auf z.b vref/2. So bleibst du erstmal im Bereich der zulässigen Eingangsspannung. Gruß Flo
Man könnte die Spannungsteiler auch einfach gegeneinander beziehen, dann wäre man den Ärger los ;) Einfach + R1 Abgriff R2 Abgriff R3 - R1=R3, R2 << R1, denn es gilt immer noch das die Eingänge nur wenig voneinander entfernt sein dürfen und innerhalb VDD/VSS sein müssen. Reihenwiderstand vor den Abgriff, Cap direkt am ADC, juhu. So wird das normalerweise gemacht...
Jens M. schrieb: > + R1 Abgriff R2 Abgriff R3 - Hmm... Also ungefähr so, wie in meiner angehängten Darstellung? (Sorry, diesmal kein Eagle...) Zwei Fragen stellen sich mir allerdings noch. Erstens: Wie würde man die Eingänge so gegen Überspannung schützen? Zweitens: Der Messbereich ist mit +/- X angegeben, wobei X vom gewählten Gain abhänging ist. Das Minus wundert mich ein wenig. Ist das so einfach möglich, eine negative Spannung auf den Spannungsteiler zu geben, solange ich das Ganze gegen GND 'referenziere'?
Christian schrieb: > Hmm... Also ungefähr so, wie in meiner angehängten Darstellung? Das wird dir bei deiner Problemstellung keinerlei Vorteil bringen gegenüber der einfachen Lösung, dass Batterie-Minus mit GND-ADC verbunden wird. (und dann ein einfacher Spannungsteiler mit nachgeschaltetem Kondensator an Batteri-Plus). Bei der gezeichneten 12V-Batterie wird diese differentielle Variante auch gar nicht funktionieren, weil die Spannung an A0 rechnerisch 6,3V betragen würde, die Spannung an A1 rechnerisch 5,7V. Das liegt beides außerhalb des Arbeitsbereich deines ADCs, real würden also wieder die ESD-Dioden deines ADCs das Teilerverhältnis verzerren. Christian schrieb: > Der Messbereich ist mit +/- X angegeben, wobei X vom gewählten > Gain abhänging ist Das gilt für die Differenzspannung: der Differenzspannung zwischen A0 und A1 darf sowohl negativ als auch positiv sein. Trotzdem muss für die Spannung zwischen A0 und GND und die Spannung zwischen A1 und GND jeweils gelten, dass sie zwischen 0V und 5V liegen.
So langsam nähere ich mich der Sache. Das heißt also, dass der ADC intern zuerst gegen GND referenziert und dann die Differenz bildet, oder? Hmm... Also einer der Gründe, warum ich die differentielle Messung wollte, war, dass ich davon ausgegangen bin, dass es weniger aufwändig wird auch negative Spannungen zu messen. (Ich habe hier noch einen Hall-Sensor, dessen Spannungsausgang von -5V bis +5V reicht.) Wenn ich nun die "Single-Ended"-Messung realisiere, dann werde hier zumindest um einen Levelshift nicht herum kommen.
Die Verbundung Bat-Minus gegen GND ist über, die muss weg. Dann ist der Schaltplan richtig. Sofern man die Batteriespannung differentiell messen muss/will. Der Achim hat das ja auch erklärt. Und nein, der ADC referenziert In+ gegen In-, daher sind ja auch negative Eingangsspannungen möglich. Gegen GND wird das nichts, denn da greift ja das Hardwarelimit von "GND-0,3V" (was aber "kaputt" ist, nicht "messen"). Bei dem Sensor gibt sich zusätzlich das Problem, das der ja auch eine negative Versorgung braucht. Da bietet sich evtl. an, einen potentialgetrennten +-5V-Wandler mit dem Mittelpunkt an einen Teiler zu setzen, der die 5V des ADC 1:1 teilt, und den Ausgang ebenfalls 1:1 zu teilen. Schwupps, 2,5V +-2,5V out of nowhere.
Jens M. schrieb: > Und nein, der ADC referenziert In+ gegen In-, daher sind ja auch > negative Eingangsspannungen möglich. Was ist es, dass ich nicht verstehe? :/ Laut Achim ist es ein Problem, dass die beiden Eingänge im Verhältnis zu GND außerhalb der Spezifikation liegen. Du sagst nun wieder, dass gar nicht erst gegen GND referenziert wird und die Schaltung deshalb in Ordnung ist (abgesehen von von der Verbindung Batt- zu GND). > Bei dem Sensor gibt sich zusätzlich das Problem, das der ja auch eine > negative Versorgung braucht. Der Sensor kommt schon komplett fertig; der bekommt 24V (via DC/DC Wandler) und macht den Rest selbst. Siehe: http://www.hallsensors.de/CYHCS-WLY-300A.pdf
Christian schrieb: > Was ist es, dass ich nicht verstehe? :/ Laut Achim ist es ein Problem, > dass die beiden Eingänge im Verhältnis zu GND außerhalb der > Spezifikation liegen. Du musst einfach beide Randbedingungen einhalten. Die Spannungsdifferenz zwischen beiden Eingängen muss im erlaubten Bereich sein. Und gleichzeitig müssen auch die Eingänge bezogen auf GND im erlaubten Bereich sein. Stell dir vor, A0 läge auf 1000V und A1 auf 1001V. Die Differenz zwischen beiden wäre in Ordnung. Trotzdem ist es anschaulich klar, dass die 1000V am Eingangspin den ADC sofort grillen würden.
Christian schrieb: > Keine direkte/gemeinsame Masseverbindung zwischen der > messenden Schaltung und dem negativen Pol der Batterie. Da darf man sich dann halt nicht wundern. Christian schrieb: > Also ungefähr so Nein, das zeigt eher dein Problem als eine Lösung: Auch hier wird der common mode des ADC überschritten. Name H. schrieb: > Nochwas .. Die Zehnerdiode. Zehnerdioden sind spezifiziert bei 1mA > Strom, nicht Null. Und eine Zehnerdiode beginnt nicht bei der > Nennspannung abrupt an zu leiten, sondern ein Stueck vorher. Siehe > Datenblatt Nochwas: Keineswegs jede Z-Diode ist spezifiziert bei 1mA, sondern je nach dem was im Datenblatt steht 100uA oder 10mA oder auch mal 100mA, genau so wenig wie der Herr Zener seinen Zeh verewigen wollte, der will sowieso daß die Dioden eher Z-Dioden genannt werden, schliesslich basiert nicht mal jede auf den Zener-Effekt, sondern nur die unterhalb 5.5V.
Achim S. schrieb: > Stell dir vor, A0 läge auf 1000V und A1 auf 1001V. Die Differenz > zwischen beiden wäre in Ordnung. Trotzdem ist es anschaulich klar, dass > die 1000V am Eingangspin den ADC sofort grillen würden. Ja, das habe ich schon verstanden. Nur dann würde die von Jens ins Spiel gebrachte Schaltung nur innerhalb eines gewissen Bereichs funktionieren; nämlich solange, wie die Eingänge des ADCs innerhalb der Grenzen liegen (bis ca. 10V im allerbesten Fall). Ergo kann ich meinen zu Messenden bereich damit nicht abdecken.
Christian schrieb: > Nur dann würde die von Jens ins Spiel > gebrachte Schaltung nur innerhalb eines gewissen Bereichs funktionieren; du hast die Schaltung ja auch nicht so umgesetzt, wie von Jens gedacht. Deswegen ergänzte er ja: Jens M. schrieb: > Die Verbundung Bat-Minus gegen GND ist über, die muss weg. > Dann ist der Schaltplan richtig. Sofern man die Batteriespannung > differentiell messen muss/will. Dann würde sie schon funktionieren - hätte aber in deiner Anwendung keine besonderen Vorteile gegenüber der single ended Messung mit geerdetem Batterie-Minus.
Christian schrieb: > Der Sensor kommt schon komplett fertig; der bekommt 24V (via DC/DC > Wandler) und macht den Rest selbst. Siehe: Oha. Der Sensor hat den Ausgang auf Masse bezogen. Also brauchst du eine Isolierte 24V-Versorgung, damit du den Ausgang des Sensors frei auf den ADC legen kannst. Der ADC kann ja +-5V messen, also "frei fliegend" ran damit und gut. Christian schrieb: > Ja, das habe ich schon verstanden. Nur dann würde die von Jens ins Spiel > gebrachte Schaltung nur innerhalb eines gewissen Bereichs funktionieren; > nämlich solange, wie die Eingänge des ADCs innerhalb der Grenzen liegen > (bis ca. 10V im allerbesten Fall). Ergo kann ich meinen zu Messenden > bereich damit nicht abdecken. Solange deine Eingänge von der Spannung der ADC-Schaltung isoliert sind, ist alles gut. Das genannte Beispiel mit 1000 und 1001V (gegen Masse) würde rauchen, wenn die Spannung an GND angeschlossen ist. Wenn sie isoliert ist, sagt der ADC "1V" und alles ist supi. Effektiv könntest du auch single ended arbeiten und die 1000V an deine GND anschließen. Die Widerstände in dem Beispiel was du oben gezeichnet hast (nach meinem Post) ermöglichen dir, beliebige Werte auf den Wertebereich des ADC zu skalieren. Du hast jetzt 10k-1k-10k eingezeichnet, mir ist eingefallen das es ja eigentlich egal ist, mein Fehler, sorry. Du brauchst nur einen normalen Spannungsteiler mit 2Rs, also "BatNeg" an A1 direkt, Spannungsteiler BatNeg zu BatPos, Abgriff an A0. Mit den 10:1k misst der ADC also aktuell 6.144v*11 als Full Scale, also 67,6V. Du musst nur wie die Sau aufpassen, das du nirgends irgendwelche Verbindungen hast, z.B. über PE, USB, sonstige Messgeräte, SPS usw. usf.
Okay, aber nur, damit ich es jetzt richtig verstanden habe: Das Überschreiten von GND -0.3V und/oder VDD +0.3 ist bei der korrigierten Version (ohne Verbindung zwischen dem negativen Pol der Batterie und GND) nicht gegeben, da der ADC tatsächlich den Potentialunterscheid zwischen den beiden Eingängen betrachtet und ihn nicht nach GND refernziert (auch nicht 'intern')?
Jens M. schrieb: > Der Sensor hat den Ausgang auf Masse bezogen. Also brauchst du eine > Isolierte 24V-Versorgung, damit du den Ausgang des Sensors frei auf den > ADC legen kannst. > Der ADC kann ja +-5V messen, also "frei fliegend" ran damit und gut. Die Versorgung soll über einen DC/DC Wandler mit voneinander getrennten Ein- bzw. Ausgängen stattfinden. Ich habe hier z.B. einen TMR6 zur Verfügung: https://assets.tracopower.com/20190124103907/TMR6WI/documents/tmr6wi-datasheet.pdf
Jens M. schrieb: > Du musst nur wie die Sau aufpassen, das du nirgends irgendwelche > Verbindungen hast, z.B. über PE, USB, sonstige Messgeräte, SPS usw. usf. Das ist klar, sonst gibt es unter Umständen nette Funken und magischen Rauch. Nur die Frage die sich mir noch stellt ist die, wie ich die differentielle Messung gegen Spannungsspitzen absichern würde. Spricht etwas dagegen, eine (bidirektionale) TVS Diode über den Spannungsteiler zu legen?
Christian schrieb: > Nur die Frage die sich mir noch stellt ist die, wie ich die > differentielle Messung gegen Spannungsspitzen absichern würde. In dem du den Minuspol der Batterie fest mit Masse deiner Schaltung verbindest über einen guten Kupferdraht.
Eine Diode vom AD-Eingang gegen Plus/Minus sollte reichen. Die hat ja den Vorwiderstand aus dem Teiler, da muss schon was kommen damit der versagt. Und dann ist es auch egal.
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.