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 ;)
Oh, jetzt ist das bild zweimal drinne :/ Kann ja ein Mod eins löschen - dankö
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.
Der Spannungsabfall am 0.5 Ohm Widerdtans R1 wird zu gering sein. Statt einen höheren Spannungsabfall durch einen grösseren Widerstand zu bauen (der die Betriebsspannung deines AVR ruiniert), sollte man verstärken. Und da gilt es ein sinnvolles Prinzip, für das es sogar ICs gibt (natürlich kann man es auch diskret aufbauen): http://www.fairchildsemi.com/ds/FA%2FFAN4010.pdf http://www.linear.com/pc/productDetail.jsp?navId=H0,C1,C1154,C1009,C1077,P10220
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.
Rubelus schrieb: > Der Atmega8 hat ja überhaupt kein Gain Stimmt, dessen ADC ist im Vergleich zu den ADCs manch seiner Brüder überaus retardiert.
Schlussendlich misst du den spannungsabfall über einem Widerstand (Shunt). lies mal das INA138 datenblatt...
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... ???
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.