Ich habe schon einige Beiträge zur Strommessung gefunden, aber keine, die mein Problem vollständig löst: Ich möchte bei der Autobatterie Lade- und Laststrom messen. Ein uC, vorzugsweise ein Arduino soll das Auswerten und mitels Bargraph anzeigen. Das Problem ist nun folgendes: Die Stromwandler von z.B. LEM haben meistens einen symetrischen Bereich, z.B. +/- 50A, wobei bei den Messwandlern mit analogem Ausgang (0-5V) 0A auf 2.5V liegt. Da der Ladestrom der Batterie aber viel geringer ist als der Laststrom (ca. 4A gegenüber bis zu ca. 50A), möchte ich ihn in der Anzeige besser auflösen. Ich befürchte nun, dass durch Temperaturabhängigkeit, Betriebsspannungsschwankungen und sonstige Messfehler diese 2.5V=0A nicht präzise getroffen werden und es mir dann einen kleinen Ladestrom von 1A entweder gar nicht oder zu hoch anzeigt (hoffe es ist verständlich, was ich meine). Meine Idee ist nun folgende: Zwei Stromwandler zu nehmen, einen für den Ladestrom, einen für den Entladestrom. Diese müssten aber den Strom nur in eine Richtung messen. Frage: woher nehmen und nicht stehlen? Oder hat jemand eine andere Idee? Danke E.T.
1. Der Entladestrom kann locker im dreistelligen Bereich liegen, beruecksichtige das 2. Beachte, dass Veraenderungen am Auto abgenommen werden muessen, sonst erlischt die Zulassung. 3. Wenn wir 250 Ampere fuer den Anlasser veranschlagen und du 500mA aufloesen willst, sind das 500 Stufen oder 9bit Aufloesung. AVRs haben 10bit-Wandler verbaut, damit koennte man also schon ganz gute Resultate erzielen. Dir fehlt also noch ein passender Messaufnehmer, der so genau auslesbar ist, aber den Maximalstrom packt. Vielleicht hilft dir http://www.allegromicro.com/en/Products/Current-Sensor-ICs.aspx weiter...
David ... schrieb: >Vielleicht hilft dir > http://www.allegromicro.com/en/Products/Current-Sensor-ICs.aspx > weiter... Der ACS758 kann zB 600-1200A Ueberstrom fuer eine Sekunde ab, je nach Temperatur, bei 200A erlaubtem Dauerstrom. Bei einem kleinen Anlasser koennte das klappen. Da er aber auch mal 2% Fehler produzieren kann, was bei 200A schon 4A Abweichung waeren, solltest du wirklich in die Ladeleitungen einen anderen Wandler setzen.
Hi Danke für die Antwort. Aber ich glaube du verstehst mein Problem nicht ganz. Der Arduino hat einen 10bit DAC, die Auflösung ist nicht das Problem. Das Problem ist, dass bei einer Betriebsspanung von 5.2V der Sensor bei 0A 2.6V ausgibt, der Arduino aber 2.6V den Wert 532 beimisst, was bei einem Bereich von sagen wir +/-100A 4A bedeutet. Der Arduino denkt also es fliesst 4A Ladestrom obwohl 0A fliesst. Zum Starterstrom: Der kann auch deutlich über 250A liegen, deswegen will ich den gar nicht messen, es geht mir nur um die normalen Verbraucher.
Es gibt von LEM auch welche mit zwei Messbereichen die sich um den Faktor 10 unterscheiden und gleichzeitig zwei stromproportionale Spannungswerte liefern können. Oder du nimmst wirklich zwei Stück. Einen von z.B. von -5 bis +5A. Mit dem machst du zunächst die Unterscheidung ob geladen oder entladen wird. Nur beim Laden nutzt du ihn tatsächlich zum quantitativen Messen des Ladestroms. Auch wenn er dann beim Entladen oft am negativen Anschlag kleben dürfte, ist dir das dann egal, denn dann nimmst du die Werte vom „großen“. Der kann dann gern auch einer sein, der kein Vorzeichen kennt (muss er aber nicht).
Ernst Lagler schrieb: > Der Arduino hat einen 10bit DAC, die Auflösung ist nicht das Problem. > Das Problem ist, dass bei einer Betriebsspanung von 5.2V der Sensor bei > 0A 2.6V ausgibt, der Arduino aber 2.6V den Wert 532 beimisst, was bei > einem Bereich von sagen wir +/-100A 4A bedeutet. Der Arduino denkt also > es fliesst 4A Ladestrom obwohl 0A fliesst. Dann nimmst du die Betriebsspannung als Referenzspannung fuer den ADC - der Sensor gibt dann die halbe Spannung aus, die auch korrekt gemessen wird.
@myzyn Das ist eine gute Idee mit der Fallunterscheidung, vielen Dank!
David ... schrieb: > Ernst Lagler schrieb: > >> Der Arduino hat einen 10bit DAC, die Auflösung ist nicht das Problem. >> Das Problem ist, dass bei einer Betriebsspanung von 5.2V der Sensor bei >> 0A 2.6V ausgibt, der Arduino aber 2.6V den Wert 532 beimisst, was bei >> einem Bereich von sagen wir +/-100A 4A bedeutet. Der Arduino denkt also >> es fliesst 4A Ladestrom obwohl 0A fliesst. > > Dann nimmst du die Betriebsspannung als Referenzspannung fuer den ADC - > der Sensor gibt dann die halbe Spannung aus, die auch korrekt gemessen > wird. Achso, das ganze kannst du gut mit einem Poti testen: Wenn du das als Spannungsteiler zwischen GND und VCC mit dem Schleifer an den ADC haengst und die Betriebsspannung als Referenz nimmst, kann die Spannung wackeln soviel sie will - der ADC-Wert steht.
@David In der Theorie hast du vielleicht recht, aber nach meiner Praxiserfahrung glaube ich nicht daran, dass 5V, die irgendwo vielleicht im Kofferraum erzeugt werden, in der Fahrgastzelle wo vielleicht der uC liegt, gleich hoch sind wie im Motorraum wo der Sensor ist. Da liegen Kabel dazwischen, in die kann Spannung induziert werden, es kann auch Spannungsabfall geben, jenachdem ist alles möglich.
> sonstige Messfehler diese 2.5V=0A
Einige LEM Sensoren haben einen Ref-Out. Dort kannst du diese 2,5V
abgreifen und ebenfalls per ADC einlesen. Somit kannst du dieses Offset
im µC abziehen.
So plane ich das.
Ernst Lagler schrieb: > @David > > In der Theorie hast du vielleicht recht, aber nach meiner > Praxiserfahrung glaube ich nicht daran, dass 5V, die irgendwo vielleicht > im Kofferraum erzeugt werden, in der Fahrgastzelle wo vielleicht der uC > liegt, gleich hoch sind wie im Motorraum wo der Sensor ist. Da liegen > Kabel dazwischen, in die kann Spannung induziert werden, es kann auch > Spannungsabfall geben, jenachdem ist alles möglich. Das ist richtig, aber davon hast du nie gesprochen. Natuerlich setzt man uC und Sensor moeglichst dicht nebeneinander, um das zu vermeiden - analoge Leitungen moeglichst kurz! Bei Bedarf schiebst du das dann durch einen stoersicheren digitalen Bus.
Nur mal so am Rande, wenn der Arduino weiss, dass 5,2 V nicht 4 sondern 0A sind, sollte das sich kein Problem sein. Das Thema heisst Skalierung und muss doch sowieso gemacht werden. Außerdem kann man das locker im Programm abfangen. Da werden halt verschiedene Case-Anweisungen angelegt und für jeden case kann man unterschiedlich skalieren... MfG
Wow hier geht ja etwas ab an einem gewöhnlichen Mittwochabend. Vielen Dank @lippy für den Hinweis mit dem Ref-Out, das war mir nicht bewusst. @David Ja, den uC neben den Sensor und dafür die 20 Kabel zur Anzeige 3m verlängern ;)
Ernst Lagler schrieb: > @David Ja, den uC neben den Sensor und dafür die 20 Kabel zur Anzeige 3m > verlängern ;) Ja - immernoch besser als umgekehrt. Die Wandler geben ein paar mV/A aus, was meinst du was auf deiner Leitung los ist, wenn daneben der Anlasser eingeschaltet wird. Hast nicht du mir eben was von Induktionsspannungen erzaehlt? Sonst musst du eben einen 2. uC fuer den Wandler einsetzen, ist halt so.
Mal ne andere Frage wenn wir dabei sind: Manche Sensoren geben auch PWM aus, solche wurden hier ja auch schon gepostet, das wäre in der Übertragung natürlich zuverlässiger, aber wie zuverlässig ist die das auf uC seite? Der Arduino hat ja keinen PWM-Eingang in dem Sinne, man muss entweder ständig den Eingang abfragen oder mit Interrupts arbeiten aber so oder so wird es dann schwierig, wenn der uC daneben auch noch andere Messungen machen soll, richtig?
> hat ja keinen PWM-Eingang in dem Sinne,
Dafür haben die allwissenden Erfinder der µC den Input Capture Pin
ersonnen..
Na in dem Fall das eine PWM anliegt, nimmste binnen normalen Eingang Digital und musst dann die Impulse in der Sekunde ermitteln. Sogesehen nen spectrumanalyser programmieren. Denke mal besser wäre noch die interupts zu benutzen und dann die Zeit für an zu messen. Danach noch umrechnen mit der hoffentlich bekannten PWM-Frequenz auf den benötigten Wert. Oder denke ich da falsch?
Hi Willst du den Anlasserstrom auch messen? Wenn nicht, könntest du einen Stromsensor in die Leitung von der Lichtmaschine und einen in die Leitung zu den anderen Verbrauchern einbauen. Die Leitung zum Anlasser bleibt direkt.
Ernst Lagler schrieb: > Ich möchte bei der Autobatterie Lade- und Laststrom messen. Der schrieb: > Willst du den Anlasserstrom auch messen? Wenn nicht, könntest du einen > Stromsensor in die Leitung von der Lichtmaschine und einen in die > Leitung zu den anderen Verbrauchern einbauen. Die Leitung zum Anlasser > bleibt direkt. Das trifft wohl am Besten die Aufgabestellung. Die Anzeige "sieht" nur den Strom der in oder aus der Batterie fliesst, der Rest kürzt sich sozusagen weg.
@Ernst Zwei Punkte, die ich als wichtig erachte: 1. Es gibt nur sehr wenige Plätze, die so schmutzig sind wie das Auto. Damit meine ich nicht die Außenseite des Fahrzeugs, sondern die Elektrik. Ungenaue Spannungen mit ordentlichen Spitzen sind dabei nicht die Ausnahme sondern der Normalfall. 2. Auch wenn Dich die 200 und mehr Ampere nicht "interessieren", so sollte dein A/D-Wandler doch bei deren Auftreten nicht aus der "Fassung springen". Viele Wandler sind das was ich demokratisch nenne. Wird aus einem Strom von 4 Ampere eine Spannung von 5 V genertiert, so entsprechen 400 Ampere auch 500 V. Gut, viele Faktoren werden zwar diesen Fall verhindern, aber A/W-Wandler haben meist keine "Reserven". Oft nur Ucc + 0,5V oder so, nach unten hin sieht's genauso aus.
> Da der Ladestrom der Batterie aber viel geringer ist als der > Laststrom (ca. 4A gegenüber bis zu ca. 50A), möchte ich ihn > in der Anzeige besser auflösen. Dann miss halt nicht von 0V bis 5V mit 2.5V in der Mitte, sondern von 2V bis 5V mit 2.5V für 0V nicht mehr in der Mitte. > Das Problem ist, dass bei einer Betriebsspanung von 5.2V der Sensor bei > 0A 2.6V ausgibt, der Arduino aber 2.6V den Wert 532 beimisst, was bei > einem Bereich von sagen wir +/-100A 4A bedeutet. Falsche Schaltung ? Du hast NATÜRLICH schlauerweise nicht angegeben, welcher Sensor. LEM hat hunderte. ENTWEDER es ist ein Sensor mit einen VRef-Ausgang von ca. 3.5V, und wenn der eigentliche Ausgang dieselbe Sapnnung hat, dann bedeutet das 0. Dann miss einfach Vref mit. ODER er hat gar keinen Ausgang, sondern einen Eingang, und erzeugt eine Spannung relativ dazu, positiv beim Laden, negativ beim Entladen. Dann kannst du diesem Anschluss eine beliebige Spannungvorgeben, das müssen keine 2.5V sein, dan kann 1V sein, mit mehr als -1V netaiven Werten dann eben ausserhalb deines A/D Messbereichs.
Der schrieb: > Willst du den Anlasserstrom auch messen? Wenn nicht, könntest du einen > Stromsensor in die Leitung von der Lichtmaschine und einen in die > Leitung zu den anderen Verbrauchern einbauen. Die Leitung zum Anlasser > bleibt direkt. Und dann die Differenz berechnen, welche dem Ladestrom entspricht. Wäre eine Möglichkeit, lasse ich mir durch den Kopf gehen. Danke. amateur schrieb: > 2. Auch wenn Dich die 200 und mehr Ampere nicht "interessieren", so > sollte dein A/D-Wandler doch bei deren Auftreten nicht aus der "Fassung > springen". Viele Wandler sind das was ich demokratisch nenne. Wird aus > einem Strom von 4 Ampere eine Spannung von 5 V genertiert, so > entsprechen 400 Ampere auch 500 V. Gut, viele Faktoren werden zwar > diesen Fall verhindern, aber A/W-Wandler haben meist keine "Reserven". > Oft nur Ucc + 0,5V oder so, nach unten hin sieht's genauso aus. Die Sensoren die 0-5V ausgeben haben schon einen Wandler drin und können nicht mehr ausgeben als 5V. Schlimmstenfalls hänge ich halt noch ne 5.1V Z-Diode dran. MaWin schrieb: > Dann miss halt nicht von 0V bis 5V mit 2.5V in der Mitte, > sondern von 2V bis 5V mit 2.5V für 0V nicht mehr in der Mitte. Entweder hast du meine Frage nicht verstanden, oder ich verstehe deine Antwort nicht. MaWin schrieb: > Du hast NATÜRLICH schlauerweise nicht angegeben, welcher Sensor. > LEM hat hunderte. Weil es Teil der Frage ist, welchen ich nehmen soll. Da ich ihn im Auto verwenden und auf den Eingang eines uC legen möchte wäre es aber sinnvoll, er würde nicht mehr als 12V Betriebsspannung benötigen und nicht mehr als 5V ausgeben.
Deine Baustelle scheint mir etwas größer. Die Spannung aus dem Kfz ist nur ein Störfaktor (F.23), Temperaturen von -40 bis >+70Grad und Erschütterungen und Resonanzen solltest Du auch noch bedenken.
> Weil es Teil der Frage ist, welchen ich nehmen soll. Du kannst z.B. den http://www.lem.com/docs/products/habt%20120-v.pdf HABT120 nehmen. Schaltung im Datenblatt. Die 5V der Versorgung leitest du aber von der VRef des A/D-Wandlers ab, damit sie ratiometisch exakt ist. Da du nur 60A bis -5A messen willst, statt +120A..-120A, nutzt du nur einen Ausschnitt der gelieferten 5V, nämlich von 1.25 bis 2.604V, und dehnst diesen auf deinen Messbereich von 0V bis 5V. Dann liegt 0 Ampere bei 4.615V bzw. 945 A/D-Wandlerwert. +5VLEM ---+----------- AVCC (ARef=AVCC) | R1 | TS912 Ausgang --(--|+\ | | >--+-- A/D Eingang +--|-/ | | | +---R2---+ | R3 | GND Die Widerstandswerte müsste man nun ausrechnen, das mach ich normalerweise, aber ich hab gerde keine Lust.
Ernst Lagler schrieb: > Da der > Ladestrom der Batterie aber viel geringer ist als der Laststrom (ca. 4A > gegenüber bis zu ca. 50A), möchte ich ihn in der Anzeige besser > auflösen. Hast du dir schon mal die Daten deiner Lichtmaschine angesehen? Die kann bei einem modernen Auto auch locker mal über 1KW Leistung haben, das sind dann 80 - 100A, rechnest du 30A für die ganzen Steuergeräte ab hast du immer noch bis 70A Ladestrom. Ansonsten müsstest du nach jedem Starten mindestens 100km fahren bis die Starterbatterie wieder voll ist. Deine max. 4A kannst du knicken!
Udo Schmitt schrieb: > Hast du dir schon mal die Daten deiner Lichtmaschine angesehen? Ja, liefert maximal 100A > rechnest du 30A für die ganzen > Steuergeräte ab hast du immer noch bis 70A Ladestrom. Nö, wieso? Das Zauberwort heisst stabilisierte Spannung, und bei 14V lädt eine Batterie nicht mit 70A Udo Schmitt schrieb: > Ansonsten müsstest du nach jedem Starten mindestens 100km fahren bis die > Starterbatterie wieder voll ist. Wieso? Wenn beim starten ein paar Sekunden 0.5kA fliesst, ist die Batterie ja deswegen nicht gleich leer. Udo Schmitt schrieb: > Deine max. 4A kannst du knicken! Ich hoffe nicht, das wäre auf Dauer nicht gut für die Batterie. Ich rechne aber schon damit, dass der maximale Wert höher liegen kann, aber als Schnitt dürfte das etwa hinkommen, eher noch darunter.
@MaWin Das ist eine gute Idee, den Messbereich mit einem OP-Amp etwas aufzuziehen. Das werde ich wahrscheinlich machen. Zwei Fragen aber noch dazu: Du empfiehlst den HABT 120-V. Ich nehme an, weil er fürs Auto gedacht ist, was, soweit ich das sehe, sich in erster Linie darin niederschlägt, dass er wassergeschützt und temperaturbeständig ist. Andererseits: Selbst wenn ich den Messbereich dehne, die Genauigkeit wird damit nicht wesentlich besser: Wenn ich sagen wir 1-10A Ladestrom auf 1A genau messen möchte, der Sensor aber +/-2A Toleranz hat (was bei einem Messbereich von 120A prozentual nicht viel ist, bei 10A aber schon). Wäre es da nicht besser, doch einen "kleineren" zu nehmen? Z.B. den HAIS 50-P https://www.distrelec.ch/ishop/Datasheets/HAIS50100TP_eng_datasheet.pdf 50A Messbereich mit 1% Toleranz wäre von dem her doch praktischer, ausserdem hat der einen Referenz-Ausgang, der HABT nicht. Die zweite Frage wäre: gibt es einen besonderen Grund, dass du den TS912 als OP empfiehlst? Ich habe bisher zwar schon mit OP-Amps gearbeitet, aber bisher war die Genaugigkeit eher unkritisch, daher fehlt mir der Marktüberblick, ist der TS912 besonders genau? Danke und Gruss E.T. Edith sagt, der HP-50 geht auch bis +/-150A, aber die 1% Messfehler beziehen auf den Nennstrom von 50A, von daher schon genauer.
Matthias Lipinsky schrieb: >> hat ja keinen PWM-Eingang in dem Sinne, > > Dafür haben die allwissenden Erfinder der µC den Input Capture Pin > ersonnen.. Hm, Danke für den Hinweis, damit muss ich mich mal auseinandersetzen, wenn ich mehr Zeit habe. Auf die Schnelle habe ich nicht viel dazu gefunden, es scheint so, dass der ICP sich über die normale Arduino IDE nicht so ohne weiteres aktivieren lässt, weil die internen Timer für die PWM-Ausgänge benutzt werden, evtl. müsste man den Atmega dazu im Assembler programmieren? Damit kenne ich mich leider noch gar nicht aus.
> Z.B. den HAIS 50-P
Du wolltest 60A, siehe Überschrift, da reicht ein 50A Typ nicht.
Der TS912 ist ein hier nötiger Rail-To-Rail OpAmp. Er hat 2mV Abweichung. Das ist nicht besonders genau, aber ausreichend
MaWin schrieb: > Du wolltest 60A, siehe Überschrift, da reicht ein 50A Typ nicht. Geht doch, denn: 1. 50A ist Effektivwert ("Primary nominal current rms") 2. Messbereich geht bis +/-150A ("Primary current measuring range") Gruß Dietrich
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.