Hallo allerseits, habe zum ersten mal mit dem MCP3208 zusammen mit einem Arduino Uno (ATMega328) gearbeitet und musste feststellen, dass einige Spannungen leider falsch angezeigt werden. Es soll ein 8S-LiFePo4 gemessen werden; da aber am Eingang des MCP3208 max. 5V anliegen dürfen müssen alle Balancer-Anschlüsse ab 2 Zellen über Spannungsteiler gemessen werden. Dies geschieht bei 2S (6,6V) über 2 10kOhm Widerstände mit Abgriff dazwischen. Somit ist die Gesamtspannung die gemessene multipliziert mit 2 (Widerstandsverhältnis). Bei 3S (9,9V) sind es 3 10kOhm Widerstände mit Multiplikator 3 usw. Beim Nachmessen der Widerstände (0,1%) gab es geringe Abweicheungen welche in die Rechnung im µC miteinbezogen sind. Die Spannungen der Zellen 6 und 8 sind bei der Anzeige über den Serial Monitor etwa 0,1V zu hoch! Habe dies mit einem UNI-T UT61C gemessen, welcher in diesem Bereich drei Nachkommastellen mit einer Genauigkeit von unter 1% ausgibt. Die gleichen Spannungen habe ich auch mit dem Ladegerät iCharger 208B ermittelt. Habe den MCP3208 schon gegen einen anderen ausgetauscht: gleiches Fehlerbild. Quellcode ist von hier: http://arduino.cc/playground/Code/MCP3208 Die gemessene Spannung wird mit VRef (=5,063V gemessen) multipliziert, durch 4096 geteilt und anschließend mit den gemesenen Widerstandsverhältnissen multipliziert. Trotzdem kriege ich einfach nur teilweise genauen Werte! Was mache ich falsch? Ich hoffe jemand hat Ahnung und kann mit einen Tipp geben. Und danke fürs lesen ;)
Hallo, was für Widerstände verwendest Du bei deinem Spannungsteiler. Die Toleranzen der selben können dir die Verschiebung verursachen. Miss diese vielleicht mal nach. Johannes
Die Toleranz beträgt 0,1%. Habe nachgemessen und mit den gemessenen Widerständen gerechnet, trotzdem will es einfach nicht :(
Hallo nochmal, sind die Massen korrekt miteinander verbunden? Vielleicht machst Du mal ne Skizze. Ich habe den MCP3208 schon ohne Probleme eingesetzt. Johannes
Ich habe alles so angeschlossen wie es auf der Arduinoseite steht: An Pin 14 (AGND) liegt die Masse des LiFePo4 und auch DGND, also Masse vom Arduino. Ob AGND und DGND verbunden sind macht keinen Unterschied. Habe aber festgestellt dass sobald der Akku angeschlossen ist, die ON-LED auf dem Arduino-Board leuchtet (ohne USB-Kabel!), jedoch schwächer als mit angeschlossenem USB-Kabel. Woher kommt das bzw. hat das irgendeine Einwirkung? Danke für deine schnellen Antworten! Vile
Ja, jetzt wo du es sagst, das hatte ich auch mal, dass sich der Mikrocontroller über einen angeschlossenen AD-Wandler versorgt hat. Da fließt dann die Versorgungsspannung über einen Ausgang des AD-Wandlers in den MC. Habe ich damals auch nicht genau verstanden. Das hatte aber eine Potentialverschiebung zur Folge. Nichtsdesto trotz. Mache bitte eine Skizze als Schaltplan. Johannes
So, hier mal die Schaltung. Ist zwar nicht ganz so schön, aber es ist erkennbar wie es angeschlossen ist (hoffentlich habe ich mit dem Dateiformat alles richtig gemacht, Scans sollen ja jpg sein...). Die Verbindung in schwarz ist die etwas fragliche, ziwschen AGND und DGND. Vile
Arduino mal wieder... Sicher dass die 10KOhm im Spannungsteiler nicht zu hoch sind? Was sagt das Datenblatt dazu`?
Hab leider nichts dazu gefunden, also welcher Strom über die Messeingänge geht. Habe es vorher mit 47k versucht und da wars das gleiche. Dachte dann zuerst es läge daran dass die Widerstände zu hoch sind, aber bei 10k ists nicht anders... Wenn schon die Stromaufnahme (also über VDD) 150µA beträgt, denke ich mal dass die Messströme nochmal deutlich geringer sind. Sollte ich das mal mit 4,7k oder so ausprobieren? Möchte natürlich auch nicht dass der Strom über die Spannungsteiler zu groß wird, da das auch den Akku - zwar nur etwas, aber trotzdem - leert. Vile
So, habe nun (nachdem ich nach meinen Prüfungen wieder Zeit habe...) das Problem gelöst. Einerseits variiert je nach Board (UNO, Nano,...), Betriebsart (USB, 12V) und restliche Verschaltung die "5V" Spannung. Diese also genau messen und damit rechnen lassen, bei mir beträgt sie nun 5,047V. Außerdem machte der Spannungsteiler Schwierigkeiten: Das Messen der Widerstände war weniger erfolgreich, aber den genauen Fator, mit welchem die gemessenen Werte multipliziert werden habe ich errechnet. Spannung auf den ADC geben, mit DMM messen und auf einem LCD oder serial Monitor ausgeben, durcheinander teilen und fertig. Nun passen auch die zweite und dritte Nachkommastelle ;) Danke für euer Engagement! Vile
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.