Hallo,
bitte nicht gleich in der Luft zerreisen, ich möchte mich da
einarbeiten. Jedoch stehe ich da gerade vor dem Wald. Für euch scheint
das ein leichtes zu sein, für einen Anfänger jedoch ist es ziemlich
kompliziert. Über Hilfe bin ich euch sehr dankbar.
Ich habe nun mittlerweile zwei Jahre in die Welt der µC (AVR)
reingeschnüffelt. Habe schon so einiges gebastelt und mit dem löten
klappt es, nach anfänglichen Schwierigkeiten, auch wunderbar.
Nun möchte ich mit einem AVR (Tiny, Atmega, egal..) eine Strommessung
meiner Schaltung durchführen. Die Frage ist nun wie?!
Einige Schalten beruhen ja auf dem Prinzip der abfallenden Spannung an
einem Wiederstand. Diese geschichte klingt für mich auch logisch. Nur
ist die Frage - WO greife ich da den Strom ab?!
Wenn ich nun, die im obigen Bild, gezeigte Stelle (Roter Pfeil) messen
möchte. Schalte ich nun einen zwei Wiederstände in Reihe, der erste
Wiederstand wird ziemlich niederohmig (??) 0,5Ohm 1% und der Zweite
etwas höher - und zwischen den beiden greife ich den Strom für den ADC
ab. Oder habe ich das komplett falsch verstanden?!
Wie läuft das mit den Shottky Dioden?! Ich habe hier in meiner Kramkiste
noch einige TL431 Dioden liegen.
Datenblatt:
http://www2.ac-lyon.fr/enseigne/electronique/theme2001/tl431.pdf
Wie sieht es damit aus?!
Vielen Dank für eure liebe Hilfe ;)
Das ganze nennt sich Shunt-Widerstand und du brauchst nur einen
Widerstand. ;)
Nimm einen nieder-ohmigen Widerstand und messe den Spannungsabfall
direkt am Widerstand. Dank des Ohmschen Gesetz kannst du dann auch den
Strom schliessen.
Ich stell mir aber die Frage für was man an dieser Stelle den Stromfluss
messen will.
1. Trenne die markierte Stelle auf und klemme einen Strommesser
dazwischen.
2. Trenne die markierte Stelle auf und schalte einen kleinen Widerstand
dazwischen - z.B. deine 0.5Ω. Dann messe mit einem Spannungsmesser die
Spannung an diesem Widerstand. Dann rechne: I = U / R.
Bei beiden Methoden hast du das Problem, dass am Messgerät bzw. am
Widerstand eine Spannung abfällt, die deiner nachfolgenden Schaltung
fehlt und somit auch einen kleineren Strom zur Folge hat.
Deshalb:
Der Widerstand sollte so klein wie möglich sein, um den Messfehler klein
zu halten.
Der Strommessbereich sollte so groß wie möglich sein, damit hat der
Strommesser auch einen kleinen Innenwiderstand. Natürlich solltest du
noch was sinnvolles ablesen können.
Es gibt auch noch eine spezielle Schaltung zur Kompensation des
Spannungsabfalls - der Name ist mir gerade entfallen. Alternativ kannst
du statt des Spannungsreglers die 5V extern einspeisen und nach dem
Strommesser noch die Spannung messen und sie mit dem Netzgerät auf die
5V einstellen.
Pezi schrieb:> Ich stell mir aber die Frage für was man an dieser Stelle den Stromfluss> messen will.
Wenn ich an den 7805 noch weitere Abnehmer hänge (LED, etc..) möchte ich
gerne, während der Laufzeit, mit dem Atmega, berechnen wieviel Strom die
Schaltung verbraucht. Dafür sollte diese Stelle, vor allen Abnehmern,
doch am besten geeignet sein oder?
HildeK schrieb:> 1. Trenne die markierte Stelle auf und klemme einen Strommesser> dazwischen.
Ja mit dem Multimeter kann ich das ja wunderbar messen, keine Frage,
jedoch möchte ich dies ja meinen µC berechnen lassen.
HildeK schrieb:> Bei beiden Methoden hast du das Problem, dass am Messgerät bzw. am> Widerstand eine Spannung abfällt, die deiner nachfolgenden Schaltung> fehlt und somit auch einen kleineren Strom zur Folge hat.> Deshalb:> Der Widerstand sollte so klein wie möglich sein, um den Messfehler klein> zu halten.> Der Strommessbereich sollte so groß wie möglich sein, damit hat der> Strommesser auch einen kleinen Innenwiderstand. Natürlich solltest du> noch was sinnvolles ablesen können.
Hmm.. das Argument zählt natürlich, wenn ich in diese Leitung nun einen
Wiederstand schalte, dann kommen hinter dem Wiederstand ja keine 5V mehr
herraus.
HildeK schrieb:> 2. Trenne die markierte Stelle auf und schalte einen kleinen Widerstand> dazwischen - z.B. deine 0.5Ω. Dann messe mit einem Spannungsmesser die> Spannung an diesem Widerstand. Dann rechne: I = U / R.
DAS soll ja der Atmega mit ausrechnen, nur da scheitert es mir ja.
Danke schonmal sehr für eure Hilfe.
Rubelus schrieb:> Hmm.. das Argument zählt natürlich, wenn ich in diese Leitung nun einen>> Wiederstand schalte, dann kommen hinter dem Wiederstand ja keine 5V mehr>> herraus.
Das ist richtig! Daher sollte der Messwiderstand so klein wie Möglich
sein.
In der Regel arbeitet man mit Shunts, die mit einen Spannungsabfall von
0-60mV arbeiten.
Wenn du nun mit einer maximalen Stromaufnahme von 100mA rechnest, dann
benötigst du einen 0.6Ohm Widerstand.
Die 0-60mV musst du dann nur noch über deinen µC messen. ;)
Frank schrieb:> Bitte: WIDERSTAND
Jaja - das passiert leider im Eifer des Gefechtes einmal :D
Also... soweit wie ich das nun begriffen habe. Nehme ich einen
Shuntwiderstand - dann messe ich davor und danach - und die Differenz
ergibt mein Verbrauch?!
Also, ich weiß schon, was Dein ADC2 messen wird. Na? Genau immer 5V. Das
brauchst Du nicht. Da Du ja weißt, wieviel dort anliegt.
So funktioniert das alles nicht.
Probier doch einen einstellbaren Regler zu nehmen und zieh die
Spannungsrückkopplung des Reglers nach dem (kleinen) Shunt zurück. Dann
hast Du immer exakte 5V
und kannst trotzdem bequem vor dem Shunt via Spannungsteiler (1:9)
messen.
Ich denke Du brauchst nur einen ADC-Kanal, da Du nur einen Strom messen
willst.
Hoffe ich habe Dir damit geholfen und Du komst damit klar.
Gruss
- Frank
Hi
>Also... soweit wie ich das nun begriffen habe. Nehme ich einen>Shuntwiderstand - dann messe ich davor und danach - und die Differenz>ergibt mein Verbrauch?!
Du bekommst keine Differenz. Deine maximale Referenzspannung VREF ist
VCC. Mit VREF=VCC bekommst du folgende Werte:
ADC2 ist >VREF -> ADC=$3FF
ADC1 ist VREF -> ADC=$3FF
Differenz gleich Null.
MfG Spess
Rubelus schrieb:> Frank schrieb:>> Bitte: WIDERSTAND>> Jaja - das passiert leider im Eifer des Gefechtes einmal :D>> Also... soweit wie ich das nun begriffen habe. Nehme ich einen> Shuntwiderstand - dann messe ich davor und danach - und die Differenz> ergibt mein Verbrauch?!
Im Prinzip: ja
Aber so einfach ist die Sache nicht.
Denn du misst ja nicht die Spannung selber, sondern mit dem ADC stellst
du das Verhältnis der am ADC anliegenden Spannung in Bezug zu AREF fest.
Dein ADC1 wird immer 100% liefern und dein ADC2 ist sogar darüber.
Aber man kann etwas anderes machen:
Der Mega kann die Höhe seiner Versorgungsspannung messen.
Dazu benötigt man ein Spannungsnormal, das unabhängig von der
Versorungungsspannung ist. Glücklicherweise hat der Mega so etwas
eingebaut: Die Bandgap-Referenz
Die liefert immer die gleiche Spannung.
Man nimmt nach wie vor Vcc als Referenz (aber bitte nicht AREF an Vcc
anschliessen, das schaltet man per Software) und misst die
Bandgap-Referenz aus. Daraus kann man Vcc errechnen.
Da du die Spannung nach dem 7805 kennst und die Spannung nach dem
Widerstand messen kannst, kannst du den Spannungsabfall berechnen und
damit auch den Strom.
Rubelus schrieb:> Nur ist die Frage - WO greife ich da den Strom ab?!
Du greifst eben nicht den Strom ab. Eine Strommessung funktioniert immer
seriell. Bei höheren Stromstärken (reichen schon ein paar hundert mA)
dürfte man den Strom gar nicht mehr durch den µC leiten, da dieser, das
nicht aushalten würde. Also gibt es so etwas wie eine direkte
Strommessung mit einem µC nicht.
Deswegen nutzt man das Ohm'sche Gesetz welches den Zusammenhang zwischen
Strom und Spannung beschreibt mit:
Wenn du nun einen Shunt (kleiner Widerstandswert) verwendest kennst du
dessen Widerstand. Mit dem ADU tastest du nun den Spannungsabfall am
Widerstand ab und mit der oben genannten Formel kommst du auf den Strom.
Z.B:
R = 0,1 Ohm
U = 3,21V
Man erkennt hier schon, dass die Spannung welche abfällt nicht sehr hoch
sein wird, außer du hast sehr hohe Ströme. Deswegen ist es auch gescheit
wenn du eine niedrigere Referenzspannung als 5V nimmst. Somit kannst du
die Auflösung drastisch erhöhen.
Wenn du zb. einen maximalen Spannungsabfall von 1V hast, bei oben
genannten Widerstand und du einen 10-Bit ADU zur Verfügung hast beträgt
deine max. Auflösung 0,977mV. Bei 5V Referenzspannung wären es nur
4,88mV.
Ich hoffe du weist was ich meine^^. Sonst einfach noch mal fragen! :)
spess53 schrieb:> Du bekommst keine Differenz. Deine maximale Referenzspannung VREF ist> VCC. Mit VREF=VCC bekommst du folgende Werte:>> ADC2 ist >VREF -> ADC=$3FF> ADC1 ist VREF -> ADC=$3FF>> Differenz gleich Null.
Ach was, stellt euch doch nicht so an. ADC1 ist selbstverständlich
konstant -> entsorgen.
ADC2 über Spannungsteiler messen: funktioniert, aber Auflösung gering.
Lösung: Operationsverstärker ranhängen, per Verstärkung ist dann sogar
eine einstellbare Empfindlichkeit drin.
Optimale Lösung: fertigen Current Sense Amp benutzen, wie hier schon
gesagt.
Mir ist grad noch eine "Lösung" eingefallen, um die Versorgungsspannung
des Controllers zu entkoppeln.
Nimm einfach einen zweiten Spannungsregler :) . Einer ist dann nur für
den Controller (der ohne Shunt) und einer eben für deine Last mit
seriellem Messwiderstand.
Klar wären Lösungen wie die von Karl Heinz deutlich schöner, aber mit
zwei Spannungsreglern würde es auch gehen. Wie der Shunt dann an den
Controller angeschlossen wird bleibt gleich (mit OP z.B.).
Gruß
Ich sehe im Moment nicht, wie man mit einem ADC ohne Zubehör den Strom
messen kann, ohne die 5V des Spannungsreglers als gegebene Größe
hinzunehmen.
Gut, man kann natürlich manuell abgleichen, um die Toleranz des 7805
herausrechnen zu können. Die Temperatur- und Langzeitstabilität habe ich
nicht im Kopf, ich könnte mir aber schon vorstellen, dass die die
Auflösung schön reduzieren kann.
Also lieber gleich einen AVR mit Differenzspannungsmessung nehmen
(Common-Mode-Bereich sollte noch ok sein, müsste man aber noch einmal
nachschauen) oder ganz normal mit OP die Differenzspannung messen. Oder,
wie schon vorgeschlagen wurde, über zwei Spannungsteiler und rechnen
(aber dann müsste der uC eigentlich zwei ADC haben und exakt
gleichzeitig sampeln).
Eventuell so?!
Die AREFF Spannung vor dem Shunt abnehmen - Somit liegt AREFF immer auf
5V - nach dem Shunt dann die Spannung messen.
Nun meine Bedenken: Darf die AREFF Spannung höher sein als die
Versorgungsspannung solange sie 5V nicht übersteigt?!
(Mir ist bewußt das nun im Bild noch ein C zwischen GND und AREFF fehlt)
Bist du auf den Atmega8 festgelegt? Manche AVRs, z.B. der ATmega32 haben
einen Differenzverstärker mit bis zu 200x Verstärkung eingebaut. Dann
sind externe Opamps o.Ä. nicht notwendig.
Luk4s K. schrieb:> Bist du auf den Atmega8 festgelegt? Manche AVRs, z.B. der ATmega32 haben> einen Differenzverstärker mit bis zu 200x Verstärkung eingebaut. Dann> sind externe Opamps o.Ä. nicht notwendig.
Nönö... bin nicht auf einen 8er angewiesen. In der Krabbelkiste liegen
zum probieren noch 32iger und ein paar 644er rum.
Der Atmega8 hat ja überhaupt kein Gain, oder übersehe ich da was!? Der
Tiny45/85 hat ja schonmal wenigstens 20x.
Man kann die Spannung vor dem Shunt über einen Spannungsteiler messen.
Die Spannung am AVR kann man auch messen (Suche: AVR eigene Spannung
messen).
Dann rechnet man etwas und hat den Strom.
http://www.elektronik-kompendium.de/public/schaerer/i_sens.htm
Die erste Schaltung kann man für niedrige Spannungen ganz gut verwenden.
Entweder mit dem Großvater 741 oder einem neueren r2r overthetop OPV.
Die Schaltung des INA138 kann man auch so nachbauen. In der 30x
Schaltungsreihe stehen 2 oder 3 Beispiele. Hab nur gerade nicht zur
hand.
Bin der Meinung das hier im Wiki zu diesem Thema auch was steht. Finds
nur wider nicht.
Mein Vorschlag: lege einen Widerstand in die Masse-Rückleitung, also in
der Masse zwischen C2 und C3 rein. Am Fußpunkt vom C2 kannst Du dann
direkt den ADC anschließen. Bei einem 10 Ohm Widerstand sind 0,1 Volt
dann 1 Ampere.
Gruß
ReinHerR
byte schrieb:> Die erste Schaltung kann man für niedrige Spannungen ganz gut verwenden.
Hoppala.. zuweit vorrausgedacht. Diese Schaltung muss natürlich
modifiziert werden. Das ist ja erstmal ein "begrenzer". Das kann man
aber so ummodeln das es als Strommesser funzt. Läuf auf das INA138
Prinzip hinaus.
Wenn du beim Controller nicht festgelegt bist, dann würde ich einen Typ
mit interner Verstärkung wählen. Für einen Tiny45/85 hab ich sowas schon
ganz erfolgreich hingekriegt. Da köntest du dich dann auch noch
entscheiden, ob du lieber 1,1V Vref oder 2,56 Vref haben willst...
Dann brauchst du nurnoch den Shunt an zu klemmen, und fertig :) . Der
Shunt muß dann natürlich so dimensioniert sein, daß bei deinem maximal
auftretenden Strom UND Verstärkung der Messbereich des ADC nicht
überschritten wird. Bei einer Verstärkung von z.B. 20 würde deine
maximal messbare Spannung nurnoch 1/20 sein, nech? Aber alles nur halb
so wild, kriegste hin :)
Gruß
ReinHerR schrieb:> Bei einem 10 Ohm Widerstand sind 0,1 Volt> dann 1 Ampere.
Wie kommste denn dadrauf? Mit U = R * I sind
10 Ohm * 1 Ampere = 10 Volt :)
ReinHerR schrieb:> lege einen Widerstand in die Masse-Rückleitung, also in der Masse> zwischen C2 und C3 rein. Am Fußpunkt vom C2 kannst Du dann direkt> den ADC anschließen.
Das ist natürlich Quatsch, weil er den ADC des des Atmega nicht an ein
Potential kleiner 0V anschließen kann.
Joachim B. schrieb:> ReinHerR schrieb:>> Bei einem 10 Ohm Widerstand sind 0,1 Volt>> dann 1 Ampere.>
Okay, natürlich andersherum. Bin wohl schon bei Weihnachten rolleyes
Gruß
ReinHerR
Ich widerspreche jetzt nur ungern, aber ich sehe an dem foto kein
steuerbaustein der
Auch nur ansatzweise einen zweiten kreis bei einer höheren
leistungsanforderung
Schalten könnte. Daher würde ich sagen unten links der heizer ist
einfach falsch
Für das gerät. Eventuell wenn ein n vorhanden währe, könnte das ding
vielleicht
Besser heizen aber die chancen hierfür sind sehr gering.
Desweiteren sehe ich keinen stb? Muss der nicht eigentlich ein
eigenständiges
Bauteil sein? Hat man den schon mal weg rationalisiert?
Stb - sicherheits temperatur begrenzer...
Mfg!
Martin L. schrieb:> Ich widerspreche jetzt nur ungern, aber ich sehe an dem foto kein> steuerbaustein der> Auch nur ansatzweise einen zweiten kreis bei einer höheren> leistungsanforderung> Schalten könnte. Daher würde ich sagen unten links der heizer ist> einfach falsch> Für das gerät. Eventuell wenn ein n vorhanden währe, könnte das ding> vielleicht> Besser heizen aber die chancen hierfür sind sehr gering.>> Desweiteren sehe ich keinen stb? Muss der nicht eigentlich ein> eigenständiges> Bauteil sein? Hat man den schon mal weg rationalisiert?> Stb - sicherheits temperatur begrenzer...
???