Forum: Mikrocontroller und Digitale Elektronik Messen von 530mV über einen Widerstand mit µC


von Hubert (Gast)


Lesenswert?

Hallo!

Ich habe eine etwas verzwicktere Frage:

In einer Schaltung möchte ich zwei Spannungungen, welche an Widerständen 
abfallen, mittels eines Atmega16 messen und auf einem LCD anzeigen 
lassen.

Gehe ich mit dem Multimeter an die beiden Anschlüsse des Widerstandes, 
so messe ich in etwa 530mV. genau diesen Wert würde ich gerne angezeigt 
bekommen. Es sei dazu gesagt, dass (gegen Masse gemessen) vor dem R 
24,00V, und nach dem R 23,47V anliegen.
Und genau da liegt das Problem. Ich hätte vor, beide Werte mittels 
zweier Pins am Atmel zu messen, und im Bascom Listing rechnerisch die 
Differenz zu ermitteln, um diese am LCD anzeigen lassen zu können.
Wie stelle ich das an, wenn ich die höchstmögliche Genauigkeit bekommen 
möchte?
Bei 5V am Atmel erhalte ich in etwa eine Auflösung von 5mV.
Macht man aus den 24 und den 23,47V per spannungsteiler nun irgendwas 
unter 5V, hat man natürlich auch im Verhältnis weniger Differenzspannung 
zwischen den beiden Werten, und wird somit ziemlich ungenau, denke ich?

Hatte irgendjemand evtl. schonmal ähnliche Probleme und kann mir helfen?

Ein weiteres "Schmankerl" dabei: Diesen Wert muss ich 2x ermitteln. 
Einmal für +530mV, und einmal für -530mV. Die Schaltung ist an +24V 
genauso aufgebaut, wie an -24V, somit würde theoretisch eine Lösung für 
beide Messwerte kopiert aufgebaut, genügen. Wenn, tja WENN da nicht noch 
zusätzlich der Haken mit der negativen Spannung wäre.
(Es handelt sich um eine Hifi-Verstärkerschaltung.)

Ich hätte evtl. gerne gewusst, welche Schaltung man für das Messen 
dieser beiden mV-Spannungen nehmen könnte, und wie man das am besten 
verdrahtet.
Ich hab schon tonnenweise Datenblätter studiert, bin aber in der Materie 
leider noch am Anfang.

Viele Grüsse und danke schonmal für eure Tipps!
Hubert

von Floh (Gast)


Lesenswert?

Hubert schrieb:
> Hatte irgendjemand evtl. schonmal ähnliche Probleme und kann mir helfen?

Schau dir mal Instrumentenverstärker an.
:-)

von MaWin (Gast)


Lesenswert?

24V  --+---SHUNT----+--
        |            |
       10k           |
        |            |
        +---------+  |
        |         |  |
       S|    /-|--+  |
 BS250  I|--<  |     |
  o.ä.  |    \+|-----+
        |   TL071
        +--------------- Spannungsabfall am SHUNT * 5
        |
       50k
        |
       GND

von Falk B. (falk)


Lesenswert?

@  Hubert (Gast)

>bekommen. Es sei dazu gesagt, dass (gegen Masse gemessen) vor dem R
>24,00V, und nach dem R 23,47V anliegen.

Also eine sogenannte High Side Messung, welche auf die 
Versorgungsspannung und nicht auf Masse bezogen ist. Dein AVR ist aber 
auf Masse bezogen.

>Wie stelle ich das an, wenn ich die höchstmögliche Genauigkeit bekommen
>möchte?

1.000.000 Euro ausgeben, dann kannst du auf 1ppm genau messen.
Oder wie genau soll es sein? 1% ist schon ganz gut, 0,1% noch machbar.

>zwischen den beiden Werten, und wird somit ziemlich ungenau, denke ich?

Sicher, das misst man auch anders. Schliesslich intersessiert die 
Spannung über deinem Strommesswiderstand, nicht die Spannung gegen 
Masse.

Die Lösung wurden ja schon genannt, per OPV und Transistor muss das 
Signal auf Massebezug gebracht werden.

MFG
Falk

von Heinz (Gast)


Angehängte Dateien:

Lesenswert?

Die Schaltung von MaWin funktioniert bei mir nicht. Der Ausgang führt 20 
V. Woran liegt's?

von Michael H. (michael_h45)


Lesenswert?

Falsche Versorgung.
Du musst entweder die Eingänge vom OpAmp noch weiter runterteilen, oder 
den OpAmp mit 24V versorgen.
Ein LM358 ist aber auch nicht geeignet. Du braucht entweder einen 
JFET-OpAmp oder einen Rail2Rail-OpAmp für diese Schaltung.

von Heinz (Gast)


Lesenswert?

Michael H. schrieb:
> Falsche Versorgung.
> Du musst entweder die Eingänge vom OpAmp noch weiter runterteilen, oder
> den OpAmp mit 24V versorgen.
> Ein LM358 ist aber auch nicht geeignet. Du braucht entweder einen
> JFET-OpAmp oder einen Rail2Rail-OpAmp für diese Schaltung.

Danke für den Hinweis. Jetzt funktioniert es (Simulation) :)

von Harald (Gast)


Lesenswert?

INA 270
(evtl.)

von Thomas G. (mrmp3)


Lesenswert?

Der Mega16 hat z.B. differenzielle ADC Eingänge, damit ist sowas 
problemlos machbar. Einfach mal die Datenblätter wälzen ;).

Sollte sein Signal gut verrauscht sein, dann kannst du versuchen durch 
Oversampling ( Appnote von Atmel vorhanden ) die Auflösung Softwaremäßig 
noch zu erhöhen, das geht aber dann zu Lasten der Samplingrate.

von Hubert (Gast)


Lesenswert?

@MaWin:

VIELEN DANK, damit kann ich bereits etwas anfangen!
diese Schaltung sollte ich doch im Prinzip für beide Spannungen nutzen 
können, wenn ich für die andere "Seite" den P-Fet durch einen N-Fet 
ersetze, oder sehe ich das falsch?

@Thomas G.:

Hmm, leider sagt mir das noch nicht allzu viel. Und 357 Seiten 
Hardcore-µC-Datenblatt wälzen würde mich eher um meinen Verstand 
bringen, als zielführend zu sein. Kurzum, es würde mich erschlagen. :(

ABER: deine Info interessiert mich schon sehr! Würde das bedeuten, dass 
man einfach vorgeht, wie bei einer Multimetermessung, als 2 PINs des 
ATMega16 direkt mit dem Widerstand verbinden?

Viele Grüsse und herzlichen Dank für euere Hilfe- KLASSE sowas!

Hubert

von Anja (Gast)


Lesenswert?

Hubert schrieb:
> wenn ich für die andere "Seite" den P-Fet durch einen N-Fet
> ersetze, oder sehe ich das falsch?

ja.

auf der anderen Seite brauchst Du statt des TL071 einen LM358 oder einen 
anderen OP der bis auf 0V herunter messen kann.

Den Widerstand auf der anderen Seite des N-Fet solltest du nicht an 
Masse sondern an +5V anschließen. Deine Meßspannung ist dann 5V - 
"Spannung am Widerstand".

Gruß Anja

von Kurt (Gast)


Lesenswert?

Willst du 530 mV auf µV genau messen, oder den
Strom der Audio-Endstufe mit aussagekräftiger
Auflösung beobachten?

Bei einer Audio-Endstufe würde ich mal davon
ausgehen, dass manche Musik auch mal schnell
1000 mV am Shunt erzeugt - oder über lange Zeit
nur wenige mV.

Wie gefällt dir denn die Idee, an den Shunts
Sensorschaltungen zu installieren, die aus den
0...1000 mV eine linear zur Spannung veränderliche
Frequenz oder Pulsdauer/Tastverhältnis erzeugen.
Über Optokoppler ist es dem Atmega16 vollkommen
egal, auf welchem Potential die Messsignale
entstanden sind.

von Sorbititius (Gast)


Lesenswert?

Heinz schrieb:
> Michael H. schrieb:
>> Falsche Versorgung.
>> Du musst entweder die Eingänge vom OpAmp noch weiter runterteilen, oder
>> den OpAmp mit 24V versorgen.
>> Ein LM358 ist aber auch nicht geeignet. Du braucht entweder einen
>> JFET-OpAmp oder einen Rail2Rail-OpAmp für diese Schaltung.
>
> Danke für den Hinweis. Jetzt funktioniert es (Simulation) :)

Es funktioniert auch leidlich mit dem LM358. Allerdings kommt der OPA 
nicht unter 20 mV ((siehe Datenblatt w. c.) an die GND-Versorgung.

Der Mega16 hat z.B. differenzielle ADC Eingänge, damit ist sowas
problemlos machbar. Einfach mal die Datenblätter wälzen ;).

Das Datenblatt habe ich so verstanden, dass dies nur möglich ist, wenn 
alle zu messenden Spannungen innerhalb der Versorgungspannung des µCs 
sind.

von Sorbititius (Gast)


Lesenswert?

Heinz schrieb:
> Michael H. schrieb:
>> Falsche Versorgung.
>> Du musst entweder die Eingänge vom OpAmp noch weiter runterteilen, oder
>> den OpAmp mit 24V versorgen.
>> Ein LM358 ist aber auch nicht geeignet. Du braucht entweder einen
>> JFET-OpAmp oder einen Rail2Rail-OpAmp für diese Schaltung.
>
> Danke für den Hinweis. Jetzt funktioniert es (Simulation) :)

Es funktioniert auch leidlich mit dem LM358. Allerdings kommt der OPA 
nicht unter 20 mV ((siehe Datenblatt w. c.) an die GND-Versorgung.

> Der Mega16 hat z.B. differenzielle ADC Eingänge, damit ist sowas
> problemlos machbar. Einfach mal die Datenblätter wälzen ;).

Das Datenblatt habe ich so verstanden, dass dies nur möglich ist, wenn 
alle zu messenden Spannungen innerhalb der Versorgungspannung des µCs 
sind.

von Michael H. (michael_h45)


Lesenswert?

Sorbititius schrieb:
> Es funktioniert auch leidlich mit dem LM358. Allerdings kommt der OPA
> nicht unter 20 mV ((siehe Datenblatt w. c.) an die GND-Versorgung.
Das ist nicht das Problem, sondern wie weit die Eingänge an die Positive 
Versorgung kommen und wie weit nach oben die common mode range reicht.
Daher ja auch der Hinweis mit dem JFET-OpAmp.

> Das Datenblatt habe ich so verstanden, dass dies nur möglich ist, wenn
> alle zu messenden Spannungen innerhalb der Versorgungspannung des µCs
> sind.
Richtig. Musst du also um einen Faktor von knapp 5 teilen und mit der 
geringeren Skalierung der Messgröße klarkommen.

von Sorbititius (Gast)


Lesenswert?

Michael H. schrieb:
> Sorbititius schrieb:
>> Es funktioniert auch leidlich mit dem LM358. Allerdings kommt der OPA
>> nicht unter 20 mV ((siehe Datenblatt w. c.) an die GND-Versorgung.
> Das ist nicht das Problem, sondern wie weit die Eingänge an die Positive
> Versorgung kommen und wie weit nach oben die common mode range reicht.
> Daher ja auch der Hinweis mit dem JFET-OpAmp.
>

Das war jetzt nicht mein Problem.

von Michael H. (michael_h45)


Lesenswert?

Sorbititius schrieb:
> Das war jetzt nicht mein Problem.

dann wird es das, wenn du die schaltung verstehst, oder aufbaust.

von usr (Gast)


Lesenswert?

die   alternative  wäre  hier  auch  einen Stromwandler   zu  verwenden
z.b.  von  Lem  o.ä.

die  geben  eine  potentialfreie Spannung  aus  und  erlauben  den 
direkten  Anschluss des A/D  Wandlers

von Sorbititius (Gast)


Lesenswert?

Michael H. schrieb:
> Sorbititius schrieb:
>> Das war jetzt nicht mein Problem.
>
> dann wird es das, wenn du die schaltung verstehst, oder aufbaust.

Worunter leidest du sonst noch so, von deiner Rechtschreibschwäche 
einmal abgesehen?

Die Schaltung funktioniert, weil die Versorgungsspannung des OPAs höher 
ist, als die Spannungen die an den invertierenden bzw. nicht invertieren 
Eingang gehen. Muss man euch geistigen Zwergen den alles bis ins Detail 
erklären, bevor ihr etwas kapiert?

von Michael H. (michael_h45)


Lesenswert?

Sorbititius schrieb:
> Die Schaltung funktioniert, weil die Versorgungsspannung des OPAs höher
> ist, als die Spannungen die an den invertierenden bzw. nicht invertieren
> Eingang gehen.
lies doch erst mal nach, was man unter common mode input range versteht.
wenn du nicht gleich so aufgeplüstert dümmlich dahergeschrieben hättest, 
hätte ichs dir sogar erklärt.

Sorbititius schrieb:
> Muss man euch geistigen Zwergen den alles bis ins Detail
> erklären, bevor ihr etwas kapiert?
reichlich arrogant für jemanden, der die grundlagen offenbar nicht 
kennt.

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.