Forum: Mikrocontroller und Digitale Elektronik Analoge Spannung ohne Masseverbindung messen


von CC (Gast)


Lesenswert?

Hallo!

Ich möchte mit einen ATMega644P verschiedene Spannungen messen. Der 
ganze Aufbau ist an einen Bleiakku angeschlossen, der über eine 
Solarzelle mit einem Laderegler aufgeladen wird. Dazu möchte ich die 
Spannung von sowohl der Solarzelle als auch die des Akkus überwachen und 
gegebenenfalls einen Verbraucher einschalten können.

Nun habe ich das Problem, dass in dem Laderegler die Massen geschaltet 
werden, d.h., dass die Pluspole alle intern verbunden sind.
Da die Schaltung selber aus der Batterie gespeist wird, kann ich nun 
nicht einfach V+ der Solarzelle an den ADC-Eingang (natürlich über 
Spannungsteiler) anschließen und V- an AGND vom µC.

Ich brauche bei der Messung keine hohe Genauigkeit oder Auflösung, 
8-10Bit sollten reichen. Nun ist die Frage, wie ich am besten an die 
Spannung der Solarzelle komme...

Kann das mit dem differentiellen Eingang des ADC funtkionieren, indem 
ich an das Solarpanel einen Spannungsteiler (damit die maximale Spannung 
nicht größer wird als VCC des µC) hänge und dann den 
Spannungsteilerausgang und V- der Zelle an zwei ADC-Eingänge anschließe? 
Oder kann ich damit nur die Differenz zwischen zwei Spannungen messen, 
die sich auf die Masse AREF beziehen?

Oder gibt es sonst einen günstigen (bis etwa 5Eur und gut erhältlich) 
SPI/I²C/... ADC, bei dem sich die Masse der Analogen Spannung nicht auf 
die Signalmasse der Datenleitungen bezieht?

Viele Grüße und schon einmal vielen Dank!

von Klaus D. (kolisson)


Lesenswert?

>Oder gibt es sonst einen günstigen (bis etwa 5Eur und gut erhältlich)
>SPI/I²C/... ADC, bei dem sich die Masse der Analogen Spannung nicht auf
>die Signalmasse der Datenleitungen bezieht?

Einen ATTINY ! .. und dann die Messwerte z.B. über UART mit Optokoppler

Gruss

von CC (Gast)


Lesenswert?

Vielen Dank für die schnelle Antwort :)

Überlegt habe ich das auch schon, aber das könnte auch Probleme geben, 
da die Spannung aus der Solarzelle auch sehr weit einbrechen könnte.

Oder könnte es funktionieren, wenn ich einen Attiny nehme, der eine 
eigene Analoge Masse hat (die ist intern nicht mit dem "normalen" GND 
verbunden, oder?)
Welchen Tiny gibt es denn damit?
Dann könnte man ihn doch aus der Batterie speisen und auf die 
Optokoppler verzichten, richtig?

Viele Grüße!

von Klaus D. (kolisson)


Lesenswert?

>Oder könnte es funktionieren, wenn ich einen Attiny nehme, der eine
>eigene Analoge Masse hat (die ist intern nicht mit dem "normalen" GND
>verbunden, oder?)

NEIN ...  analog GND und digital GND müssen IMMER gleiches Potenzial
haben.

also entweder nen kleinen Akku an den Tiny und ihn bei Nichtmessung 
schlafen schicken ... oder:

naja ... mach doch mal ne Skizze von deinem Problem .
ist irgendwie alles schwer vorstellbar.
Ich vermute fast, dass es das Problem garnicht gibt

Gruss

von \0 (Gast)


Lesenswert?

Was macht ihr euch denn für Umstände?
den Pluspol des Digitalteils würd ich so wie er ist an den gemeinsamen 
Pluspol des Ladereglers, Solarzelle usw. schalten. Das ganze wird dann 
durch z.B. einen 7905 versorgt. Die Masse eures µC schwebt dann zwar, 
aber das macht nix. Solang die Versorgung des µC als Referenz gewählt is 
muss das klappen. Die Spannungen dann per Spannungsteiler, der in V+ den 
Fußpunkt hat, die "Anzapfung" am ADC-Pin und Akku Minus bzw. Solarzelle 
Minus an den Anfang der Spannungsteiler. Spannungen werden dann alle 
"Falsch herum" gemessen.
\0

von MaWin (Gast)


Lesenswert?

Es ist technisch vollkommen wurscht, ob nun die Plusleitung oder die 
Masseverbindung unterbrochen wird.
Du kannst in beiden Fällen die Spannung des Akkus und des Solarpanels 
oder eine Shunts zur Strommmessung mit einem mit der Schaltung über noch 
zumindest eine Leitung verbundenen Microcontroller-A/D-Eingang messen.

Bei unterbrochener Masseleitung und noch bestehender Plusverbindung 
musst du halt die Schaltung "auf dem Kopf stehend" aufbauen wie sonst 
bei vorhandener Masseverbindung.

In allen Fällen kannst du Spannungen mit Spannungsteilern und 
Operationsverstärkern auf die 0V bsi 5V (oder 0V bis 1.1V) des AVR 
wandeln.

So bald du überlegst, daß du angeblich andere, exotischere Bauteile 
brauchst, machst du etwas falsch, und unnötig aufwändig.

Manchmal kann es notwendig sein, einen single supply OpAmp wie LM324, 
der Signale bis Masse aber nicht bis Plus messen kann, gegen einen 
Rail-To-Rail (wie TS912) oder over-the-top (wie CA3140, LT1490, INA117) 
OpAmp zu ersetzen.

von CC (Gast)


Lesenswert?

Okay, auf die Idee mit dem negativen Spannungsregler bin ich ehrlich 
gesagt nicht gekommen, aber der Ansatz klingt vielversprechend.
Da das ganze mit 3.3V läuft - kann mir jemand einen solchen negativen 
Regler nennen?
Dann kann ich mir mal Gedanken machen, was alles an der Schaltung (habe 
den Plan gerade nicht zur Hand) geändert werden muss und wie das zum 
Beispiel mit der Strommessung (INA138) des Verbrauchers aussieht etc.

von Anja (Gast)


Lesenswert?

CC schrieb:
> kann mir jemand einen solchen negativen
> Regler nennen?

für größere Ströme LM337
für kleinere Ströme LT1964 (bis -20V Bat) oder TPS72301 (bis -10V Bat)

Gruß Anja

von Klaus D. (kolisson)


Lesenswert?

Hallo nochmal CC (Gast)

auf die Idee mit dem negativen regler wäre ich wohl auch nicht gekommen.
Das ist insofern eine Bereicherung des Ideenschatzes. Es ist also gut,
das was Mawin und /o-GAST geschrieben haben, mal gelesen zu haben.

Da ich selber seit 10 Jahren auf einer 12Volt-Insel lebe lässt mich 
deine Frage natürlich nicht ohne nachdenken zurück.

Da ich mich auch selbst durch Aussagen wie
> Was macht ihr euch denn für Umstände?

angesprochen fühle hier also ersteinmal etwas zur wiederherstellung 
meiner "Ehre"

In meinem ersten Post an dich habe ich lediglich einen TEil deiner Frage
beantwortet ... und das meines erachtens sehr richtig.

Hier die Frage und die Antwort:
-------------------------------------------------------


>Oder gibt es sonst einen günstigen (bis etwa 5Eur und gut erhältlich)
>SPI/I²C/... ADC, bei dem sich die Masse der Analogen Spannung nicht auf
>die Signalmasse der Datenleitungen bezieht?

Einen ATTINY ! .. und dann die Messwerte z.B. über UART mit Optokoppler

Gruss

--------------------------------------------------------

Nun zurück zum eigentlichen Thema:

a)
wenn man die Lösung mit dem floating-ground anwendet ist es spätestens 
dann eine schlechte Lösung, wenn man die Messwerte dann auch noch 
irgendwie  an eine andere Schaltung oder den PC weitergeben will.
Dann kämen nämlich wieder die Optokoppler ins Spiel und wenn man das 
nach Jahren vielleich vergessen hat, qualmt irgendwas.
Diese Lösung ist also nicht sehr zukunftssicher.

b)
bei einem vernünftigen (und einfachen) Solarregler (bis evt. 200Watt ist 
es ein Shuntregler) ist die Batteriespannung an den Panel gleich  der 
Spannung an der Batterie (abzüglich Kabelverlust und Diodenspannung(en) 
)

... ausser   nachts oder ohne Sonne (siehe  Diode  antiretour)

hier würde es also garkeinen Bedarf für deine Frage geben.

c)
es stellt sich hier natürlich die schon gestellte Frage nach einer 
Skizze deines Problemes

d) auch ich habe im Anfang meines Inselkarriere über die Messungen und 
Steuerungen nachgedacht und dies und das ausprobiert, bin aber im Ende 
zu dem Schluss gekommen, dass ein Atmel (oder sowas) in meiner 
Stromversorgung nichts zu suchen hat. (Gewitter oder andere 
Fehlerquellen)

e) und wenn es nur darum geht, einen Verbraucher nur einzuschalten, wenn 
reichlich Strom verfügbar ist, so löse ich das mit einem Komparator , 
der an meinen Laderegler angeschlossen ist.

Wenn du also magst, lass mich mehr wissen, um was es geht und ich kann 
dir noch Tipps geben.

UND ICH HOFFE:
dass es sich im nachhinein nicht herausstellt , dass es sich (wie bei 
vielen) wieder um ein lächerliches Panel mit 10Watt oder weniger  geht.

Also .. so long
Klaus

von CC (Gast)


Lesenswert?

So, nun kann ich mich endlich wieder zu Wort melden... Die befürchteten 
10W stimmen nicht ganz - es sind immerhin 16 ;)

In der Schaltung befindet sich ein XBee-Modul, das auf Nachrichten hören 
soll und bei Bedarf (wird mittels der Nachricht aus dem Funkmodul 
entschieden) über Mosfets eine RouterStation einschalten soll. Zudem 
können der Atmega und die RS über einen FTDI-Chip kommunizieren - ich 
befürchte, dass es das nicht einfacher machen würde, wenn ich die 
Schaltung "auf dem Kopf" aufbaue, wie mir gerade auffällt.
Somit wäre hier dann vielleicht doch ein weiterer ADC einfacher, zumal 
ich dann auch einen anderen Solarladeregler, in dem dann eventuell die 
Massen verbunden sind, nutzen könnte.

Gilt es denn allgemein, dass die digitale und analoge Masse verbunden 
sein müssen oder gibt es hier Ausnahmen?

Ansonsten greife ich vielleicht doch auf einen U/f-Wandler mit einem 
Optokoppler zurück....

Viele Grüße,
CC

von adfix (Gast)


Lesenswert?

oder mit nem isolierten OPV:

http://focus.ti.com/lit/ds/symlink/iso122.pdf

von Klaus D. (kolisson)


Lesenswert?

@  CC (Gast)

> - ich
> befürchte, dass es das nicht einfacher machen würde, wenn ich die
> Schaltung "auf dem Kopf" aufbaue,

GENAU .. so wie ich von Anfang an gesagt habe

> Gilt es denn allgemein, dass die digitale und analoge Masse verbunden
> sein müssen oder gibt es hier Ausnahmen?

NEIN .. es gibt keine Ausnahmen .. es denn über Opto
.. und es kann im Ende sehr komplex werden (mit OPV .. Subtrahierer etc)

Es gibt natürlich diese Digital Isolierbausteine ADUM oder so.
evt. ist das aber zu viel des Guten für eine Project.

Gruss K

evt noch ne andere Idee:
Nimm den Tiny für den preiswerten ADC und nimm einen "galvanisch 
getrennten "
DC to DC konvertor .
Dann haste ein für allemal die Sache im Griff

von MaWin (Gast)


Lesenswert?

> Nimm den Tiny für den preiswerten ADC und nimm einen
> "galvanisch getrennten " DC to DC konvertor .


Für eine simple Spannungs- bzw. Strommessung ?



> es kann im Ende sehr komplex werden (mit OPV .. Subtrahierer etc)

Achsoja, wem das zu komplex ist, weil er in Analogtechnik nicht 
aufgepasst hat, der muss natürlich mit Kanonen auf Spatzen schiessen.

von James (Gast)


Lesenswert?

Entweder wie Klaus schrieb Attiny, Optokoppler und DC/DC-Wandler,

oder die gewünschte Spannung mit der Methode "Flying Capacitor"
messen. Da hat LT (Nummer weiß ich nicht auswendig) ein paar
sehr interessante Bausteine.

Hatte ich schon mal im Einsatz um Messwerte von einem High-Side-Shunt
nach "unten" zu bekommen.

Die Funktionsweise ist einfach:
Ein Kondensator wird wechselweise zwischen dem Highsite-Shunt und dem
eigentlichen Meßeingang hin- und hergeschaltet. Solange die 
Spannungsfestig-
keit des ICs. der den Kondensator bedient, nicht überschritten wird,
arbeitet das einwandfrei.
Das ganze ist im Linear Technology Datenblatt bestens beschrieben.

Schönen Abend noch.

von Klaus D. (kolisson)


Lesenswert?

Jetzt sag doch mal MAWIN...
kannst du dir nicht vorstellen, dass man evt. mal etwas mehr Material 
einsetzt um dann etwas ochsensicheres zu haben?

Irgenwie scheinen hier die WElten aufeinander zu prallen.

Kennst du das KISSS System ?
KEEP IT SIMPLE STUPID SAVE


Okay .. schönen Abend noch

von MaWin (Gast)


Lesenswert?

> Irgenwie scheinen hier die WElten aufeinander zu prallen.

Du sagst es.

Die der Vernunft, die sagt, ein OpAmp reicht.

Und die der kleinen Kinder, die selbst Widerstände durch 32 bit 
Prozessoren ersetzen.

Schaut einfach in kommerzielle Solarcontroller rein, die Spannung und 
Strom messen können, und ihr werdet NIRGENDS einen zusätzlichen uC 
finden der per DC/DC-Wandler spannungsversorgt seine digitalisierten 
Messergebnisse per Optokoppler an den Hauptprozessor sendet, nicht bei 
einem Bleiakku. Schlisslich git Keep it simple, stupid.

Die Frage vom OP rührt einzig und alleine daher, weil er nicht weiss, 
wie man einen Differenzverstärker benutzt.

von Klaus D. (kolisson)


Lesenswert?

@ mawin

>> Irgenwie scheinen hier die WElten aufeinander zu prallen.
> Du sagst es.

> Die der Vernunft, die sagt, ein OpAmp reicht.

> Und die der kleinen Kinder, die selbst Widerstände durch 32 bit
> Prozessoren ersetzen.

Danke für den Spruch..  Ich musste selten so zufrieden lachen.
Du hast natürlich recht ..
... aber wie hilft es dem TO


auf jeden Fall werde ich meine Abneigung gegen einen MAWIN nun 
überdenken.
Wer so schöne relationen zwischen den Welten bilden kann... dem gebührt 
es angehört zu werden.

also .. bis bald

von CC (Gast)


Lesenswert?

@MaWin:
Du hast recht, ich habe in der Tat nicht viel Ahnung von Analogtechnik, 
ist in meinem Studiengang nicht vorgesehen, aber darum frage ich ja hier 
und hoffe auf ein paar Hinweise :)

Wenn ich den von dir angesprochenen Differenzverstärker/Subtrahierer 
richtig verstanden habe, dann liegt doch am Ausgang die Differenz von 
zwei Eingangsspannungen an, die jeweils auf ein gemeinsames GND bezogen 
sind, auf das sich auch die Ausgangsspannung bezieht? Genau das bringt 
mich ja eben leider nicht weiter, leider.

Oder ist eine Verbindung/ein Bezug auf die Masse hier nicht zwingend?
Könnte ein Instrumentenverstärker hier das Richtige sein?

von CC (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe nun endlich einmal eine kleine Skizze gemacht, wie das ganze 
aussieht.
Die Verbindung der +-Zweige kommt wie gesagt über den Laderegler 
zustande, da kann ich leider nichts dran ändern.
Mich interessiert nun die Spannung VSolar, ich darf aber nun eben nicht 
den Minuspol vom Solarpanel mit der Masse der Batterie verbinden, da es 
dann eben einen Kurzschluss gäbe.

von MaWin (Gast)


Lesenswert?

Du baust einen simplen
http://www.elektronik-kompendium.de/sites/slt/0210153.htm
und schliesst den Akku + an E2 und den Akku - an E1 an und bekommst die 
Differenzspannung, also die Spannung des Akkus, am Ausgang Ua bezogen 
auf Masse des Microcontrollers angeliefert.
Die Widerstände suchst du so aus, daß der Messbereich stimmt.
Als OpAmp nimmt man am besten einen Rail-To-Rail-OpAmp wie TS912 oder 
LMC6484, der braucht keine zusätzliche negative Versorgungsspannung, 
oder falls der A/D-Eingang nur von 0 bis 2.5V geht, reicht auch ein 
Single Supply OpAmp wie LM324 oder LT1013, die mit 5V versorgt werden.
Dank des Spannungsteilers am Eingang wird kein over the top OpAmp wie 
LT1490 oder gleich INA117 als Differenzverstärker bis 200V benötigt.
Aber das Datenblatt des INA117 zeigt viele Anwendungsbeispiele.

von Klaus D. (kolisson)


Lesenswert?

Ich koppel mich dann mal aus , heraus aus diesem Unfug

von CC (Gast)


Lesenswert?

MaWin schrieb:
> und schliesst den Akku + an E2 und den Akku - an E1 an und bekommst die
> Differenzspannung, also die Spannung des Akkus, am Ausgang Ua bezogen
> auf Masse des Microcontrollers angeliefert.

Damit bekomme ich dann doch nur die Akkuspannung... Aber genau die messe 
ich ja schon über den simplen Spannungsteiler und gehe damit direkt an 
den ADC, was auch wunderbar funktioniert.
Oder meintest du in deinem Post an E1 bzw E2 einen Anschluss des 
Solarpanels? Um das geht es mir ja...

von Florian (Gast)


Lesenswert?

Hallo, also ich bin mir nicht sicher ob ich das richtig verstehe, aber 
du willst jeweils eine Spannung messen die in 2 voneinander getrennten 
Kreisläufen anliegt.

Mal ganz dumm gefragt: Warum so kompliziert? Besorg dir einen Laderegler 
der die Massen verbindet und gut is. Bei einer 16W Lösung würde ich mir 
da net mal Gedanken drum machen. Kemo bietet ein Modul an das für diesen 
Zweck doch mehr als ausreichend sein dürfte.

Hier findest du den Regler:
http://www.kemo-electronic.de/de/Wandler-Regler/Regler/M083-Akku-Laderegler-12-V-DC.php

Alles was du brauchst: gemeinsame Masse, V+(Bat), V+(Solar) alles da.

von Micha H. (mlh) Benutzerseite


Lesenswert?

Florian schrieb:
> du willst jeweils eine Spannung messen die in 2 voneinander getrennten
> Kreisläufen anliegt.

Das will er nicht, er hat eine gemeinsame Masse. Nur ist das in diesem 
Fall die Plus-Schiene, alleine davon lassen sich fast alle Beteiligten 
verwirren.
Mawin's Ansatz ist der allein sinnvolle.

von Florian (Gast)


Lesenswert?

Micha H. schrieb:
> Das will er nicht, er hat eine gemeinsame Masse. Nur ist das in diesem
> Fall die Plus-Schiene, alleine davon lassen sich fast alle Beteiligten
> verwirren.
> Mawin's Ansatz ist der allein sinnvolle.

OK, ich hab schon verstanden dass er einen gemeinsamen Pluspol als 
Bezugspunkt hat, aber was soll er denn bitte damit dann mit dieser 
Schaltung anfangen? Ich erkenne den Sinn dieser Schaltung leider nicht.

Die Schaltung liefert die Differenzspannung bezogen auf den Massepunkt 
vom Controller. OK, aber wenn der Controller vom Akku versorgt wird ist 
der Massepunkt der selbe wie der des Akkus. In dem Fall wäre die 
Schaltung aber vollkommen überflüssig, weil er ja mittels 
Spannungsteiler schon jetzt die Akkuspannung messen kann.

Folglich soll der MC einen anderen Massebezugspunkt besitzen. Aber 
welchen? Soll er von der Solarzelle versorgt werden?

Was mir gerade noch einfällt: Hier würde es auch schon reichen den 
Stromfluss der Solarzelle zu messen. Ist dieser Imax (+- 
Tolleranzgrenze) hat er doch schon die Information die er braucht. Gehen 
würde es z.B. mit einer Schaltung wie hier: 
http://www.wohnmobilforum.de/rlink/rlink.php?url=http://www.lem.com/images/stories/files/Products/P1_5_1_industry/CH99102D.pdf

Mir geht es dabei nicht um das Bauteil, sondern um die Schaltung die ein 
oder zwei Seiten darunter in der Box zu sehen ist. Diese würde den Zweck 
ja schon erfüllen.

von Micha H. (mlh) Benutzerseite


Lesenswert?

Florian schrieb:
> weil er ja mittels
> Spannungsteiler schon jetzt die Akkuspannung messen kann.

Akkuspannung ja, soweit ich verstanden habe will er die Panelspannung 
messen. Dazu der Differenzverstärker, wegen plus als Bezugspunkt.
Er könnte es sich natürlich schaltungsmäßig noch einfacher machen und 
die Panelspannung per Spannungsteiler abgreifen, aber dann ist das 
Ergebnis invertiert und zudem von der Akkuspannung abhängig, die also 
zwingend mitgemessen werden muß und in die Berechnung eingeht.

So oder so muß eine Differenz berechnet werden, ob hardware- oder 
softwaremäßig.

von CC (Gast)


Lesenswert?

Hallo nochmal...

So langsam glaube ich, dass das ganze doch seeehr viel einfacher als 
gedacht sein könnte - im leicht abgedunkelten Raum liefert das Panel im 
Leerlauf (der Regler lädt den Akku nicht) ca 8 Volt.
Wenn ich nun zwischen der Masse der Batterie und dem Minuspol vom Panel 
messe, kriege ich eine Spannung von etwa 4 Volt - das passt also. Hier 
müsste dann ja auch fast ein hochohmiger Spannungsteiler reichen um dann 
an den ADC zu gehen.

Vielleicht stellt sich dann sogar nur noch eine Frage - was passiert, 
wenn beispielsweise der Akku voll ist (Laderegler müsste das Panel 
trennen) und viel Licht vorhanden ist? Vermutlich wird dann die Spannung 
negativ - den Fall müsste ich dann noch irgendwie abfangen.

Ich werde nun erstmal mit dem LM324 ein wenig rumprobieren (hab ich im 
Lager gefunden) und den Akku aufladen....

An eine Strommessung habe ich auch schon gedacht, die wird vermutlich 
noch zusätzlich kommen.

von CC (Gast)


Lesenswert?

Micha: deinen Beitrag hab ich grad erst gesehen - die Akkuspannung messe 
ich schon, hatte ich versucht in der Skizze oben anzudeuten, das wäre 
daher kein Problem.

von Micha H. (mlh) Benutzerseite


Lesenswert?

Kommando zurück, mit Spannungsteiler und Differenzbildung funktioniert 
das nicht, da die Panelspannung größer als die Akkuspannung werden kann, 
bei dieser Beschaltung also negativer als GND des µC.
Damit funktioniert die direkte Messung über ADC nicht, das habe ich 
nicht bedacht.

von CC (Gast)


Lesenswert?

den Fall könnte man theoretisch ja mit einer Diode abfangen, die dann 
aber ja wieder das Messergebnis verfälschen würde.

Oder kann man je nach Vorzeichen die negative Spannung mit einem 2ten 
OPV (wenn man einen als den Differenzverstärker (ich glaub, ich hab was 
gelernt :D)) wieder invertieren, dass sie positiv wird und mit einer 
kleinen Logik das automatisch machen, dass immer eine positive Spannung 
am ADC ankommt?

Natürlich könnte man aus ein paar Dioden einen Gleichrichter bauen, aber 
ich glaub, da bin ich wieder auf einem Weg, der es wieder nur unnötig 
kompliziert macht...

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
Noch kein Account? Hier anmelden.