Translate

04 Dezember 2013

Galvanisch getrennte Spannungsmessung per I²C

Die Messung per I²C läuft jetzt im aktuellsten Programm der Franzbox!
derzeit bis 160V, aber das ist nur eine Frage des Eingangsspannungsteilers.
Hier wird zwar die "Akkuspannung" angezeigt, aber nur deshalb, weil
ich da schöner testen kann, und weils für die Strommessung noch ein paar
Änderungen im Programm braucht. Ich hätte gerne beide Möglichkeiten
einstellbar bzw sogar automatisch umgeschaltet, entweder wie bisher
Strommessung per LEM und Onboard AD-Wandler ohne Spannungsmessung
und als Option die genauere Messung per I²C extern und galvanisch getrennt
inklusive Akkuspannung.       ............sieht schon mal sehr gut aus!

Hier taucht auch wieder mal die Frage auf Shunt oder Induktiver Wandler.
Weil die Spannungsmessung ohnehin schon eine Verbindung zum Akkupack hat
wäre für den Shunt nur noch eine Leitung zusätzlich zu legen.
Der Shunt hätte den größten Vorteil bei geringen Strömen, weil da 0A
auch 0,0V Messignal ergeben, keine Drift, kein Nullabgleich,
da kommts nur auf die Qualität des Messverstärkers an.
Hier ist aber alles möglich, mal Preise und Verfügbarkeit checken!
So ein Shunt liegt preislich wohl irgendwo bei 50 Euro, und ist damit deutlich teurer
als ein LEM-Wandler für unter 20Euro.Die LEM-Wandler arbeiten erstaunlich gut,
aber mit 1-2% Fehler muss man immer rechnen und der Nullpunkt wandert ein bisschen
mit der Temperatur. An einem 10Bit AD-Wandler ist ein Schritt schon 1,6A
Da kann man keine Wunder erwarten, und zur Messung des Nachladens mit
10A oder so genügt das halt einfach nicht. Zum Ah-zählen bei Strömen um 150A
reichts aber locker!
Wie schon gesagt, es kommt halt drauf
an, welche Messeigenschaften man haben will, und was man bereit ist, dafur zu bezahlen.
Shunts sind in der Regel auf 50 ; 60 ; 100; oder 200mV Ausgangsspannung
abgeglichen, und weil die Last im Fall eines Antriebs nicht dauerhaft anliegt darf man den
hier auch mal etwas knapp dimensionieren. Ein 300A/100mV -Shunt kann hier also
durchaus auch für 600A/200mV verwendet werden. Das hält der schon ein paar Minuten aus!
Allerdings: 500A und 200mV sind schon 100W Verlustleistung! das darf man nicht
auf die leichte Schulter nehmen! Da verwundern die Abstimmungen auf 50mV nicht!
Aber dann ist der Messverstärker wirklich gefordert, wenn das so um 0A auch
noch passen soll!

Die Signale laufen übrigens auch schon über den Isolator, und das Problem
des Programm-Stillstandes bei "offenem" I²C-Bus ist inzwischen auch gelöst

Kleiner Nachtrag 5.12.13:
Mit einem anderen Spannungsteiler (60k + 500R =121:1) kann jetzt bis 247V
gemessen werden, Das passt fürs erste.
Leider ist die ganze Ausleserei in der Interrupt-routine nicht ganz unproblematisch.
Es kommt zu etwas seltsamen Timing-Problemen??? im Display die ich vorher nicht
feststellte. Mehrstellige Zahlenwerte die ich direkt anzeigte wurden sporadisch nur
einstellig dargestellt, wodurch die Anzeige gelegentlich flackerte und zuckte.
Dies betraf hauptsächlich das Menue und die Anzeige der Amperestunden bei 100%.
Ich konnte zwar die wirkliche Ursache noch nicht feststellen, aber als "Workaround"
wandle ich diese Werte jetzt in einen String bevor ich sie anzeige. Dann passt die Anzeige!
Ich muss zumindest den Strom-Wert unbedingt in einer Interrupt- Schleife einlesen,
und dann auch beide Kanäle abwechselnd. Weil der AD-Wandler dazu auch jedesmal
umkonfiguriert werden muss sind das durchaus einige Daten auf den I²C-Leitungen.
Die Spannung bräuchte zwar nicht derart oft gemessen werden ( ca 15x je Sekunde),
aber anders wärs noch komplizierter, weil ja die ganzen Schreib- und Lesevorgänge
koordiniert sein müssen.Erst IC ansprechen, Kanal aktivieren, ein bisschen warten und
dann auslesen.
Der Zeitliche Ablauf und die Berechnungen laufen im Hintergrund so wie bisher,
und die Werte sind nach wie vor korrekt, es ist noch kein unlösbares Problem aufgetaucht.




Keine Kommentare:

Kommentar veröffentlichen