ich versuche im Zuge eines Projekts, mit hilfe eines Arduino UNO,den Akkustand einer Solaranlage auszulesen.
Der Akku ist 12V basiert und hat eine Leistung von 720AH
Den Spannungsteiler habe ich mir so vorgestellt(funktioniert der so?):
Desweiteren brauche ich ja eine stabile Referenzspannung oder?(für was wird die eig genau benötigt?)
Ich habe nachgelesen das der Ardunio eine hat von 1,1V aber das man seinen wert auf die 1,1V anpassen muss? und wie geht das wenn der Wert zwischen 13,8 und 12,2 schwankt?
Wenn es nicht zuviel verlangt ist könnte mir jemand in möglichst einfachen Worte erklären bzw aufzeichnen wie das funktioniert und was ich dafür benötige? (bin ein Elektrotechnischervoll... anfänger)
Ich würde die zwei Widerstände vertauschen, um aus 14V dann ( 14V * 6.8 / 28.8 = 3.3V ) zu erhalten.
Hast du keinen 15k Widerstand?
14V ---15k --+-- 6k8 --- GND
|
4.367 V
für was wird die eig genau benötigt?
Na als Referenz
Wenn du den Solar-Akku verwendest, um damit den Arduino zu betreiben. hast du einen Spannungsregler der aus deinen 12..14V ziemlich konstante 5V macht, wenn daran nicht viel mehr als der Arduino und evtl. eine LCD-Anzeige hängt.
Dann brauchts du garnichts mit analogReference zu machen.
Soo genau muss es ja nicht sein, kannst ja bei 13.9 V auch gerne 105% anzeigen
Oder eben kalibrieren, wenn der Laderegler zu macht.
Bei ratiometrischen Messungen kann man gut die Vcc als Referenz verwenden.
Bei der Akkumessung ist ein absoluter Wert gefragt. Also die interne Referenz verwenden!
Der Spannungsteiler muss darauf berechnet werden.
Bei einem Bleiakku ist mit bis zu 15V zu rechnen.
Bei einer Referenz von 1,1V ist dann ein Widerstandsverhältnis von 1,1 zu 13,9 angesagt.
Da die Referenz nicht genau 1,1V hat, empfehle ich dir die "Ein Punkt Kalibrierung"
Hallo,
hast du mal daran gedacht, einen ADC 1115 als A/D-Wandler zu nehmen? Damit sparst du dir das ganze Theater mit der Stabilität bei wesentlich höherer Auflösung.
Davor einen Spannungsteiler 30k/10k und eine 5,3 V Zenerdiode parallel zu den 10k nach Masse.
Wenn es nicht genau sein muß, reicht die Spannungsüberwachung.
Wenn es genauer sein soll, wird es kompliziert. Da braucht man einen "coulomb counter" oder eine "battery fuel gauge".
Da wird dann der Lade- und Entladestrom gemessen und zusammengerechnet. Außerdem muß man ermitteln wie sich der Akku beim Laden- und Entladen verhält. Je höher der Strom, umso mehr Energie wird im Akku in Wärme umgesetzt.
Für den Effekt beim Entladen gibt es die Peukert Gleichung (Peukert-Gleichung – Wikipedia). So ähnlich sollte es auch beim Laden aussehen.
Auf der Wikipedia Seite gibt es unten noch Literatur Hinweise. Da ist die Dissertation von C. Liebenow aufgeführt. Die Angaben und Messungen sind zwar von 1905, sind aber auch heute noch weitgehend so.
@michael danke für die schnelle antwort ich hab sie sofort gelesen konnte aber nicht gleich antworten ich muss leider meine Widerstände verwenden die niedriegere auflösung ist aber kein problem die reicht mir vollkommen.
@uk1408 leider habe ich bereits etwas zeitdruck und kann das Bauteil nicht mehr bestellen.
Mir geht es um eine inetwa genauigkeit das heißt 2-3% +/- sind voll ok.
Was mich jetzt noch interessieren würde ist der Code teil ich will das ganze mit dem Arduino auslesen und dann über i2c an einen Raspberry senden um es auf diesem über python script auf einem node.js server auf einer Webseite anzeigen zu lassen. (etwas kompliziert ich weiß aber mit ds18b20/attiny85 hab ichs schon zusammen bekommen)
Theoretisch sollte es ja, wenn ich i2c richtig verstanden habe, kein Problem sein das ich den Arduino mit ins i2c zu ca 5 ATTiny85 hängen da ich ja einfach mit der adresse die daten vom arduino auslesen kann oder?
Mir ist klar das mein Projekt ein Microkontroller Profi wie ihr es seit wohl in einem Nachmittag runterklopft nur für mich ist jede Codezeile harte Arbeit und vorallem Try and Error. Ich bin also für jede Hilfe mehr als dankbar!
Falls jemand möchte (es sich antun will ) kann er mich gerne bei Skype hinzufügen (sputikus86). Mir brennen immer wieder Fragen auf der Zunge die für euch eh klar sind und um diese zu beantworten ich Stunden im Internet suche
scheinbar war meine bitte oberhalb etwas zu dreist sry dafür bin verzweifelt und brauche Hilfe.
Meine Frage muss ich den Aufbau:
14V ---15k --+-- 6k8 --- GND
|
4.367 V
oder kann ich meinen mit:
14V ---22k --+-- 6k8 --- GND
|
3.3 V
auch verwenden?
Soweit ich das verstanden habe ändert sich nur die Auflösung oder?
Ich hab mit meinen eig Code zusammengebastelt mit dem ich die Daten per i2c an einen Raspberry schicken will. Leider kann ich das ganze live erst am Abend oder Wochenende testen kann der Code so funktionieren wie ich mir das denke?
Nein, map ist schon ok, du musst es nur so verwenden, dass der Rohwert auf z.B. HunderstelVolt skaliert wird: float Spannung = map(messung, 0, 675, 0 , 1400)/100.0;
Die Ganzzahl 0 .. 1400 wird mit Division durch eine float-Konstante in eine float Zahl umgerechnet
( 0.000 .. 14.000 ) und entspricht dann etwa der gemessenen Spannung vor dem Spannungsteiler.
Man könnte sich natürlich gleich den passenden Divisor ausrechnen, aber das wäre an der falschen Stelle optimiert. [color=red] float Spannung = messung / 48.21; // geht auch, ist nur mehr HokusPokus[/color]
So hab das ganze jetzt getestet und es "funktioniert" ich bekomme nur ganze zahlen als ausgabe denke aber das es am python script am Raspberry hängt. Werde morgen weitermachen
Eine Frage theoretisch sollte ich mit meinem Programm ja die Akkustandsanzeige in % bekommen oder?
Ich habe jetzt die angabe im Python gefixet aberich bekomme die Volt übermittelt nicht die % und das nicht sonderlich genau: Anzeige: 7,7-8,1 Multimeter: 7,88 -7,89
Wir sind hier nicht im python-Forum, und du könntest wahlweise auch die Umrechnung von Volt in % auf dem Arduino machen, aber irgendwo musst du es eben machen, wenn du es haben willst.