Forum: Mikrocontroller und Digitale Elektronik Attiny84A soll differenzielle Spannungen messen - Beide Stromrichtungen am Akku wie messen?


von Andreas F. (solipo)


Lesenswert?

Hallo zusammen,

ich will mit einem Attiny84A zum einen die Spannungen an zwei Bleiakkus 
messen und zum anderen auch die Ströme, diese allerdings jeweils in 
beide Richtungen mit Polarität, also Laden und Entladen.

Da diese Tinys ja differenzielle ADCs haben, dachte ich, dass ich damit 
eigentlich leicht ans Ziel kommen müsste. Doch leider... die 
Spannungsmessung ist kein Problem, aber offenbar die Strommessung.

Man kann mit dem 84er und 85er ja mittels bipolarer Messung zuerst die 
Polarität am Shunt bestimmen und danach entsprechend die beiden Messpins 
in der ADC-Messung intern umpolen. Vom Prinzip her funktioniert das 
auch.

Was ich zunächst nicht sicher wusste, bis ich so ein Teil mal da hatte 
und es testen konnte: Kann man mit der differenziellen Messung auch 
externe, also potenzialfreie Spannungen messen? Angeblich geht es nicht, 
da sich die beiden Messpegel immer zwischen Attiny-Masse und Vcc 
befinden müssen, doch es funktioniert auch ohne gemeinsamen Massebezug. 
Hätte mich auch gewundert, da das Einsatzgebiet solcher Messungen ja 
sonst irgendwie unsinnig ist.

Aber, so ganz scheint das wohl doch nicht zu gehen, denn ich habe 
zumindest bei sehr kleinen Spannungen das Problem, dass die 
differenziellen Messungen ziemlich ungenau werden, während die 
massebezogenen passen. Ich probier da jetzt schon 3 Tage lang dran rum, 
aber es wird wohl nichts werden. Offenbar sind beide Meinungen richtig, 
dass es geht und auch nicht geht, je nachdem.

Daher die Frage: Wie kann ich denn im obigen Fall mit einem Arduino oder 
Tiny den Strom in beide Richtungen an einem Shunt messen? Dazu müsste 
ich ja jeweils die Masse des uC auf die andere Seite des Shunts legen, 
je nachdem, ob geladen oder entladen wird, was natürlich praktisch nicht 
geht. Gibt's dafür eine elegante Methode oder ist das eine größere 
Aktion?

Vielen Dank für einen Tipp.

: Bearbeitet durch User
von Hall- (Gast)


Lesenswert?

Stromsensor

von zuio (Gast)


Lesenswert?

Andreas F. schrieb:
> Dazu müsste
> ich ja jeweils die Masse des uC auf die andere Seite des Shunts legen,
> je nachdem, ob geladen oder entladen wird, was natürlich praktisch nicht
> geht.

Du kannst die Masse hochlegen mit einem weiteren Widerstand. Ob das 
praktikabel ist musst du entscheiden.

von Andreas F. (solipo)


Lesenswert?

Wie meinst Du das mit Masse hochlegen?

von stef (Gast)


Lesenswert?

die spannung am shunt anheben zb. auf 2.5v über einen 
spannungsteiler.... dann hast du positive und negative ströme...

von Andreas F. (solipo)


Lesenswert?

stef schrieb:
> die spannung am shunt anheben zb. auf 2.5v über einen
> spannungsteiler.... dann hast du positive und negative ströme...

Pardon, wie geht das denn?

von Fritz R. (fritz)


Lesenswert?

Ich kann dir aus eigener Erfahrung sagen, dass der differentielle ADC 
auch noch funktioniert, wenn ein Anschluss fest auf GND liegt und der 
andere 300-400mV darunter.
Für ein Massenprodukt natürlich nicht zu empfehlen, aber für ein 
privates Bastelprojekt mit entsprechender Schutzbeschaltung durchaus 
eine Option.

von Andreas F. (solipo)


Lesenswert?

Fritz R. schrieb:
> Ich kann dir aus eigener Erfahrung sagen, dass der differentielle ADC
> auch noch funktioniert, wenn ein Anschluss fest auf GND liegt und der
> andere 300-400mV darunter.
> Für ein Massenprodukt natürlich nicht zu empfehlen, aber für ein
> privates Bastelprojekt mit entsprechender Schutzbeschaltung durchaus
> eine Option.

Gut zu wissen, Danke. Ich bin grad am überlegen, welchen Shunt ich dann 
nehmen kann, um bis zu 3A sicher zu messen. Mit 0,1 Ohm würds noch 
passen, 0,22 dann nicht mehr.

Hast Du es mal potenzialfrei getestet, ob es dann auch funktioniert? Ich 
bin mir nicht ganz sicher, ob es nicht doch geht, könnte vielleicht auch 
an meinen sehr hohen Rs vom Spannungsteiler gelegen haben.

von holger (Gast)


Lesenswert?

>Hast Du es mal potenzialfrei getestet, ob es dann auch funktioniert?

Potentialfrei geht nicht. Der ADC misst immer gegen GND.

von Andreas F. (solipo)


Lesenswert?

holger schrieb:
>>Hast Du es mal potenzialfrei getestet, ob es dann auch funktioniert?
>
> Potentialfrei geht nicht. Der ADC misst immer gegen GND.

Hast Du denn nicht gelesen, was ich oben geschrieben habe? Es geht sehr 
wohl.

von holger (Gast)


Lesenswert?

>> Potentialfrei geht nicht. Der ADC misst immer gegen GND.
>
>Hast Du denn nicht gelesen, was ich oben geschrieben habe? Es geht sehr
>wohl.

Doch habe ich. Du hast einen Eingang auf GND gelegt.
Und das ist nicht potentialfrei.

von Andreas F. (solipo)


Lesenswert?

holger schrieb:
>>> Potentialfrei geht nicht. Der ADC misst immer gegen GND.
>>
>>Hast Du denn nicht gelesen, was ich oben geschrieben habe? Es geht sehr
>>wohl.
>
> Doch habe ich. Du hast einen Eingang auf GND gelegt.
> Und das ist nicht potentialfrei.

Schau, ganz oben hab ich geschrieben, dass ich ohne Massebezug gemessen 
habe und das klappt. Man nehme einen 84A, messe zwischen zwei ADCs und 
hänge eine Batterie nur zwischen diese beiden ADC-Pin (mit 
potenzialfreiem Spannungsteiler).

von Fritz R. (fritz)


Lesenswert?

Andreas F. schrieb:
> Schau, ganz oben hab ich geschrieben, dass ich ohne Massebezug gemessen
> habe und das klappt. Man nehme einen 84A, messe zwischen zwei ADCs und
> hänge eine Batterie nur zwischen diese beiden ADC-Pin (mit
> potenzialfreiem Spannungsteiler).

Das funktioniert aber auch nur, weil es die potentialfreie Spannung über 
die µC internen Dioden und parasitären Elemente in den 
Versorgungsspannungsbereich des µC zieht.

von Andreas F. (solipo)


Lesenswert?

> Das funktioniert aber auch nur, weil es die potentialfreie Spannung über
> die µC internen Dioden und parasitären Elemente in den
> Versorgungsspannungsbereich des µC zieht.

Warum auch immer ist ja im Prinzip egal, wenn es dadurch funktioniert. 
Welche Möglichkeit gäbe es denn sonst noch, negative Spannungen am Shunt 
zu messen?

Wie geht das beispielsweise mit dem "Spannung am Shunt anheben über 
einen
Spannungsteiler"?

Wäre wirklich froh, wenn ich eine brauchbare Lösung finden würde, da ich 
so meine Zweifel habe, ob die Shunt-Messungen wirklich linear sind. Bei 
meinen Messungen laufen die ADC-Messwerte nämlich leider den echten 
Strommesswerten davon, je mehr Strom fließt. Sehr nervig.

von Jim M. (turboj)


Lesenswert?

Andreas F. schrieb:
> Wäre wirklich froh, wenn ich eine brauchbare Lösung finden würde, da ich
> so meine Zweifel habe, ob die Shunt-Messungen wirklich linear sind. Bei
> meinen Messungen laufen die ADC-Messwerte nämlich leider den echten
> Strommesswerten davon, je mehr Strom fließt. Sehr nervig.

Schaltplan, bitte. Und schau mal nach, welchen Eingangswiderstand die 
ADCs haben. Ich habe da grade bei Atmel relativ niedrige Werte im Kopf, 
die dann Messwerte verfälschen könnten.

von Joachim B. (jar)


Lesenswert?

Andreas F. schrieb:
> Aber, so ganz scheint das wohl doch nicht zu gehen, denn ich habe
> zumindest bei sehr kleinen Spannungen das Problem, dass die
> differenziellen Messungen ziemlich ungenau werden, während die
> massebezogenen passen. Ich probier da jetzt schon 3 Tage lang dran rum,
> aber es wird wohl nichts werden.

mache doch einfach vor und nach dem Shunt 2 Teiler und messe mit 2 ADC 
die Spannungen und bilde die Differenz, das ist genau der 
SpannungsabfallAbfall  über den R und damit ein Maß vom Strom.

von Andreas F. (solipo)


Lesenswert?

Jim Meba schrieb:
> Schaltplan, bitte. Und schau mal nach, welchen Eingangswiderstand die
> ADCs haben. Ich habe da grade bei Atmel relativ niedrige Werte im Kopf,
> die dann Messwerte verfälschen könnten.

Danke für Deine Hilfe. Schaltplan is noch nicht, aber es ist trivial: In 
der Masseleitung des Testverbrauchers, welcher vom Steckbrett des 84A 
aus versorgt wird, hängt der Shunt und links und rechts davon gehts zu 
den ADCs.

Deine Anmerkung betreffs Eingangswiderstand kann ich nicht recht 
zuordnen. Was meinst Du damit? Meinst Du, da fließt zuviel Strom vom 
Shunt weg durch den UC? Ich habe in beide ADC-Leitungen auch mal je 100k 
gehängt, bringt keinen Unterschied.

von Andreas F. (solipo)


Lesenswert?

Joachim B. schrieb:
> mache doch einfach vor und nach dem Shunt 2 Teiler und messe mit 2 ADC
> die Spannungen und bilde die Differenz, das ist genau der
> SpannungsabfallAbfall  über den R und damit ein Maß vom Strom.

Danke, gute Idee, das ist wohl der obige Vorschlag mit dem 
Spannungsteiler am Shunt, oder?

Allerdings frag ich mich, ob man damit den Strom wirklich genau messen 
kann, wenn man z.B. stattliche 0,33 Ohm Shunt und 0,01A hat. Da würde 
der ADC mit interner Referenz ja nur 3 Punkte messen (0,0033V). Da es 
aber 2 ADCs und 2 Spannungsteiler sind mit jeweiliger Toleranz, wird die 
Messungenauigkeit schon recht groß sein. Oder irre ich mich?

: Bearbeitet durch User
von Andreas F. (solipo)


Lesenswert?

Ich habe noch eine ergänzende Frage zu den Spannungsteilern:

Wenn ich z.B. 20k und 330k Ohm Widerstände nehme, dann hätte ich bei 
12-14V Messspannung einen Spannungsbereich am Spannungsteiler-Ausgang 
von etwa 0,68V bis 0,79V. Das ist natürlich blöde, weil ich ja damit die 
1,1V Messbereich des ADC nur zum Bruchteil nutze und eine entsprechend 
geringe und ungenaue Auflösung habe.

Wenn ich nun stattdessen 2 x 100k nehme, hätte ich Messspannungen von 6 
bis 7V. Könnte ich nun mittels Dioden in Reihe in Richtung des ADC diese 
ADC-Messspannung um 6V kappen und dann quasi das eine Volt Differenz 
(also zwischen 6 und 7V, nur um 6V angehoben) am ADC messen?

Falls sowas möglich ist, wie realisiert man denn diesen 
Offset-Spannungsabfall, ohne 10 oder mehr Dioden verwenden zu müssen?

Oder gibt es andere Möglichkeiten, den ADC-Messbereich im hier 
beschriebenen Spannungsrahmen annähernd vollständig auszunutzen?

von Andreas F. (solipo)


Lesenswert?

Angeblich sollte mein Problem doch mit einem Spannungsteiler mit Offset 
gelöst werden können 
(http://www.mikrocontroller.net/articles/Spannungsteiler#Spannungsteiler_mit_Offset.2C_passiv). 
Ich habe per Excel-Tabelle folgendes errechnet:
U_ein_min: 12V
U_ein_max: 15V
U_aus_min: 0V
U_aus_max: 1,1V
Vcc: 3,3V
R2: 100k

Folgende Widerstandsdaten erhalte ich:
R1: 280k
R3: 127K

Ich hab für R1 der Einfachheit halber 220k und für R3 100k genommen und 
es mal kurz aufgebaut. In keinster Weise kommt aber hierbei die 
gewünschte Spannung raus. Was mach ich falsch?

von Hans M. (Gast)


Lesenswert?

Schau dir mal den AMC1200 an.

http://www.ti.com/lit/ds/symlink/amc1200.pdf

Kannst als Sample bestellen.

von Andreas F. (solipo)


Lesenswert?

Vielen Dank. Ist aber bisschen teuer für den Bastelzweck, den ich 
anstrebe. Immerhin, im Vergleich zum ACS712 würde das Ding schon mit 
3,3V und nicht mit 5V laufen. Aber ansonsten ist das wohl ziemlich 
ähnlich - abgesehen vom Preis.

von Joachim B. (jar)


Lesenswert?

Andreas F. schrieb:
> Allerdings frag ich mich, ob man damit den Strom wirklich genau messen
> kann, wenn man z.B. stattliche 0,33 Ohm Shunt und 0,01A hat. Da würde
> der ADC mit interner Referenz ja nur 3 Punkte messen (0,0033V). Da es
> aber 2 ADCs und 2 Spannungsteiler sind mit jeweiliger Toleranz, wird die
> Messungenauigkeit schon recht groß sein. Oder irre ich mich?

der shunt muss natürlich eine noch passende Größe haben aber nicht so 
groß sein das der Stromfluss bei maximalem Strom die Spannung zu sehr 
drückt.

Für Batteriekästen habe ich das schon gemacht und den Abgleich recht gut 
mit der Gradengleichung hinbekommen, Ampermeter in die Zuleitung mal 
Strom min und max eingeprägt und min und max ADC ermittelt, der Rest ist 
Software

I = m * x + b mit
x = (ADC1-ADC2)

m bekommt man ja mit delta Y / delta X und b mit Nullstellenbestimmung.

wenn man dann noch mehrere ADC Werte mittelt wirds noch ein Tick 
ruhiger, so sehr springen ja die Stromwerte hoffentlich nicht am Akku

von Hans M. (Gast)


Lesenswert?

Naja, eigentlich ist das schon n bissl was anderers ;-)
Bekommt man gut als Sample ( soll ja Bastelzweck sein )!
und den fixen Gain find ich sehr praktisch, da der Shunt schön klein 
bleiben kann und ich mir den Verstärker danach spare.
Definiere am Ausgang V/2 als 0mA und schon reicht ein ADC um 
positiven/negativen Strom zu messen.

von Andreas F. (solipo)


Lesenswert?

Joachim B. schrieb:
> I = m * x + b mit
> x = (ADC1-ADC2)
>
> m bekommt man ja mit delta Y / delta X und b mit Nullstellenbestimmung.
>
> wenn man dann noch mehrere ADC Werte mittelt wirds noch ein Tick
> ruhiger, so sehr springen ja die Stromwerte hoffentlich nicht am Akku

Danke. Ich nehme an, Du meinst damit einfach die Steigung und den 
Offset, die ich mittels Vergleichsmessungen erhalte, um die 
ADC-Messdaten zu eichen, richtig?

Hab es mal testweise aufgebaut. Das klappt doch recht gut mit dem diff. 
ADC, ist mit 0,33 Ohm Shunt und 2 x Spannungsteiler von 22k/330k im 
gewünschten Messbereich.

Wichtig scheint der Massebezug zu sein, sonst klappt zumindest bei 
kleinen Strömen die diff-Messung nicht gescheit. Doch genau das ist in 
meinem Fall ein Problem, zumindest solange, wie der Solarladeregler die 
Masse abschält zwischen Attiny-Spannungsversorgung und Akku, wenn keine 
Sonne scheint. Das muss ich mal am offenen Herzen testen und dann bin 
ich wieder beim Potenzialfrei-Problem.

von Gerald M. (gerald_m17)


Lesenswert?

Was du brauchst ist ein single Ended to differential converter.
Kannst du sehr einfach aus 2 OPVs bauen oder als IC kaufen.

von Andreas F. (solipo)


Lesenswert?

Gerald m. schrieb:
> Was du brauchst ist ein single Ended to differential converter.

Danke. Was kann das Ding denn konkret? Oder ist das nur die Bezeichnung 
für Dinger wie ACS712 und AMC1200?

von Joachim B. (jar)


Lesenswert?

Andreas F. schrieb:
> und dann bin
> ich wieder beim Potenzialfrei-Problem.

das verstehe ich nicht, du kannst wenn du weiterhin Potenzialfrei 
bleiben willst auch einen DC/DC Wandler nehmen SIM1 z.B. mit 4 Beine und 
deine Atmelschaltung mit allem direkt unter dem Shunt klemmen, was 
interessiert da die Masseabschaltung?

von Andreas F. (solipo)


Lesenswert?

Joachim B. schrieb:
> das verstehe ich nicht

Ich hab gleich zwei Akkus, die keine richtig gemeinsame Masse haben, da 
jeder einen eigenen Laderegler besitzt, und dazu noch ein Solarpanel, 
was nachts von der Masse getrennt wird, will aber alle 3 Ströme und 
Spannungen mit einem Tiny messen.

Doch ich glaube, ich bekomms jetzt hin, da ich die Massen der Akkus eh 
schon per Schottky verbunden habe und das Solarpanel bzw. die daran 
hängenden ADCs werden einfach per zusätzlicher Diode geschützt.

von Gerald M. (gerald_m17)


Lesenswert?

Andreas F. schrieb:
>
> Danke. Was kann das Ding denn konkret? Oder ist das nur die Bezeichnung
> für Dinger wie ACS712 und AMC1200?

Die Schaltung hat einen Eingang, an dem du eine positive und negative 
Spannung einkoppeln kannst. Beispielsweise +-10V
Außerdem hat die Schaltung zwei Ausgänge, sagen wir A und B.
Bei 0V liegen A und B auf gleichem Potential --> Differenz beträgt 0V
Ist die Spannung positiv, wird Ausgang A proportional größer und Ausgang 
B kleiner.
Bei 10Volt erreicht Ausgang A beispielsweise Vref und B 0V.
Bei negativer Spannung ist das umgekehrt.
Bei dem differentiellen ADC wird einfach der jeweilige Ausgang an den 
Eingang gehängt. So bleibt die zu messende Spannung immer innerhalb 0V 
und Vref.
Mit ein paar Widerständen wird eben dir maximale Eingangs-und 
Ausgangsspannung festgelegt.

von Andreas F. (solipo)


Lesenswert?

Das ist natürlich toll, genau sowas hatte ich gesucht. Ist nur für 
dieses Projektchen etwas zu teuer. Aber ich behalts im Hinterkopf, 
vielen Dank für die Info!

von Gerald M. (gerald_m17)


Lesenswert?

Naja, zu teuer ist relativ.
Zwei Operationsverstärker. Ich glaube es gibt auch eine Variante mit 
einem OPV.
Für 1€ bist du dabei. Lediglich die Spannungsversorgung könnte 
problematisch sein, da auch eine negative Spannung benötigt wird (soweit 
ich mich richtig erinnere)

von Andreas F. (solipo)


Lesenswert?

Ach so, ich ging jetzt von dem AMC1200 aus, der ja in etwa so ähnlich 
ist. Wie geht das denn genau mit dem OP?

Negative Spannung ist in der Tat schwierig. Dasselbe gilt ja, wenn ich 
das oben beschriebene Offset-Problem mit einem OP lösen wollte.

von Gerald M. (gerald_m17)


Lesenswert?

Sollte auch mit nur einer positiven Versorgungsspannung funktionieren. 
Du kannst dann nur nicht bis ganz nach 0V gehen (deswegen rail2rail OPVs 
nutzen)
Du musst einen OPV als invertierenden Verstärker schalten und einen als 
nicht invertierenden.
So etwas sollte gehen:
http://cds.linear.com/image/264_circuit_1.jpg

von Gerald M. (gerald_m17)


Lesenswert?

Mir gefällt gerade ein, wenn du 2 rail2rail OPVs nimmst, beide nur von 
0-5V betreibst, einen als invertierenden OPV und einen als nicht 
invertierenden schaltest, sollte bei negativer Spannung der 
invertierende Verstärker die invertierte Spannung ausgeben, und der 
nicht invertierenden auf wenige mV (da er ja 0V nicht erreicht). Bei 
positiver Spannung ist das umgekehrt. So hättest du die gewünschten 
differentiellen Ausgänge, allerdings einen größeren Fehler bei 
Spannungen um 0V.

von Andreas F. (solipo)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich wollte das Thema nochmal aufwärmen, weil ich nun was gebaut habe, 
aber das Ergebnis nicht wie gewünscht, sondern wie befürchtet ausfällt. 
Der obige Schaltplan funktioniert zwar für die Messungen der Akkus, aber 
die Messung des Solarteils klappt nicht. Die beiden Solar-ADC-Pins 
erhalten nämlich eine viel zu hohe Spannung, zumindest heute beim Test 
bei dem miesen Wetter.

Vielleicht funktioniert es, wenn die Sonne scheint, kann ich aber 
mangels Sonne leider nicht testen. Außerdem würde es wohl auch dann nur 
solange funktionieren, wie die Akkus nicht voll sind und die Laderegler 
die Solarmasse ständig ganz durchschalten.

Das Problem der CMP12 und vieler anderer Solarladeregler ist, dass die 
Plus-Anschlüsse durchgeschleift sind und nur die Massen geschaltet 
werden. Somit rutscht der negative ADC-Messpunkt an D2 (Solarzelle) 
immer weiter nach oben, wenn der Laderegler die Masseleitung Richtung 
Solarzelle abschält. Das geschieht dann, wenn der Laderegler wegen 
Vollladung dicht macht. Offenbar aber auch, wenn die Sonneneinstrahlung 
zu schwach ist.

Hat jemand eine Idee, wie ich das mit möglichst wenig Aufwand so 
umstricken kann, dass ich auch Strom und Spannung der Solarzelle mit dem 
Attiny84 messen kann? Falls es noch ganz andere, möglichst einfache 
Ansätze gibt, gerne. Vielen Dank!

von Joachim B. (jar)


Lesenswert?

Andreas F. schrieb:
> Hat jemand eine Idee, wie ich das mit möglichst wenig Aufwand so
> umstricken kann, dass ich auch Strom und Spannung der Solarzelle mit dem
> Attiny84 messen kann?

nimm dir einen DC/DC Wandler SIM1 galvanisch getrennt und mach dir mit 
dem Tiny deine eigene Masse oder Fusspunkt wo du willst, messe vor und 
hinter dem Shunt am Spannungsteiler an 2 ADC vom Tiny und du hast 2x 
Spannung und die Differenz = Strom sogar in beide Richtungen +- Lade- 
oder Entladestrom, es wechselt ja nur welche Spannung größer oder 
kleiner ist und abgeglichen sollte es hinreichend genau sein.

: Bearbeitet durch User
von Andreas F. (solipo)


Lesenswert?

Vielen Dank, Joachim. Deine Idee mit den 2 Spannungsteilern vor und nach 
dem Shunt von neulich war schon sehr hilfreich. Aber was Du mit dem SIM1 
meinst, versteh ich nicht ganz.

Meinst Du den hier? 
http://www.produktinfo.conrad.com/datenblaetter/150000-174999/156685-da-01-ml-DC_DC_WANDLER_1_WATT_SIM1_1203_SIL_de_en.pdf

Falls ja, soll ich darüber also den Tiny versorgen? Dann würde ich die 
dadurch potenzialfreie Masse des Tiny vor oder hinter den Shunt legen, 
aber ich habe ja 3 Shunts. Soll ich die z.B. per Mosfet die Masse 
jeweils auf einen der 3 Shunts schalten und dann messen oder wie 
dachtest Du das genau?

von Joachim B. (jar)


Lesenswert?

Andreas F. schrieb:
> Meinst Du den hier?
> 
http://www.produktinfo.conrad.com/datenblaetter/150000-174999/156685-da-01-ml-DC_DC_WANDLER_1_WATT_SIM1_1203_SIL_de_en.pdf

du hast mich haargenau verstanden, ein 4-Pin Wandler der die MAsse 
trennt damit ist der Tiny frei dahin zulegen wo du magst, nur musst du 
dir trotzdem füe die Teiler die richtigen Punkte suchen wo für den Tiny 
mit ADC und Teiler die richtige Polarität rauskommt, schaffe ich grad im 
Kopf ohne vollständigen Plan auch nicht, aber der Weg sollte klar sein.
(so skizziert, + vom Wandler ist vor dem Shunt und - vom Wandler ist 
Tiny - und Tiny + ist + vom Wandler sieht der Tiny vor und hinter dem 
Shunt nur + geteilt auf ADC)

Andreas F. schrieb:
> Falls ja, soll ich darüber also den Tiny versorgen? Dann würde ich die
> dadurch potenzialfreie Masse des Tiny vor oder hinter den Shunt legen,
> aber ich habe ja 3 Shunts. Soll ich die z.B. per Mosfet die Masse
> jeweils auf einen der 3 Shunts schalten und dann messen oder wie

peile ich gerade nicht, bau das mal in einen richtigen Plan.

von Andreas F. (solipo)


Lesenswert?

Meinst Du folgendes?

1. Der SIM1 bekommt von irgendwo 12V her (da die Akkus zwischen 12 und 
14V haben, der SIM1 aber nur 10% um 12V pendeln darf, ist das wohl schon 
das nächste Problem, es sei denn, ich versorg den mit einem 
Spannungswandler)

2. Der Attiny bekommt von SIM1 seine 5V.

3. Masse vom Attiny (damit auch Masse vom SIM1-Ausgang) wird auf vor dem 
Shunt gelegt.

4. Jetzt kann ich mit dem Attiny die beiden Spannungsteiler messen.

Problem: Ich habe 5 Spannungsteiler, da ich ja 2 Akkus und eine 
Solarzelle habe. Wie kann ich nun mit dem potenzialfreien Attiny all 
diese Werte messen? Siehe mein obiger Schaltplan.

von Simpel (Gast)


Lesenswert?

Lest ihr Datenblätter?

Der Attiny kann differentielle ADC-Messungen. Ja auch solche mit 
negativer Polarität. Das 10te Bit stellt dann das Polarity-Bit dar, die 
neun Bits darunter den Wert. Auch eine Vorverstärkung von 20x kann 
selektiert werden.

Notfalls kann für die Messung des Solarpanels an eine Umschaltung der 
AREF gedacht werden, die als Kalibriergrösse für den Ausgabewert 
fungiert und nicht als Bezugspunkt für die Differentialeingänge, was ja 
ohnehin keinen Sinn machen würde.

16.11.3 Bipolar Differential Conversion

The result
is presented in two’s complement form, from
0x200 (-512d) through 0x1FF (+511d). The GAIN is either 1x or 20x.
Note that if the user wants
to perform a quick polarity check of the result, it
is sufficient to read the MSB of the result (ADC9
in ADCH). If the bit is one, the result is negative,
and if this bit is zero, the result is positive.
As default the ADC converter operates in the unipolar input mode, but 
the bipolar input mode
can be selected by writting the BIN bit in the
ADCSRB to one. In the bipolar input mode two-
sided voltage differences are allowed and thus
the voltage on the negative input pin can also be
larger than the voltage on the positive input pin.

von Andreas F. (solipo)


Lesenswert?

Danke Simpel, aber das ist nicht das Problem. Ich messe ja bereits 
erfolgreich differentiell, zunächst, um die Polarität festzustellen mit 
9bit und danach nochmals mit korrekter Polarität in 10bit.

Das Problem ist, dass ich im Prinzip 3 verschiedene Potenziale habe für 
den ADC. Mit der obigen Schaltung habe ich nach Sonnenuntergang 12V auf 
dem ADC-Eingang, was wohl nicht so gesund sein dürfte.

Zudem messen die Akku-ADC-s leider auch falsch, weil über den Schottkys 
je nach Last unterschiedlich hohe Spannungen abfallen, wodurch die 
Messungen deutlich verfälscht werden.

Ich überlege daher, ob es nicht der "einfachste" Weg ist, zunächst mal 
eine potenzialfreie Versorgung für den Attiny herzustellen und diesen 
dann über je einen Mosfet abwechselnd mit dem jeweiligen Spannungsteiler 
für die jeweilige Messung zu "erden".

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.