Hilfe beim ersten Arduino Projekt

AndreasL90

Erfahrener Benutzer
#1
Hallo,

ich bastel gerade an meinem ersten Arduino-Projekt rum und bin mir bei der ein- oder anderen Sache noch nicht so sicher.
Es wäre also super, wenn die Profis mal einen Blick auf meine Ideen werfen könnten. :)

Ich möchte u.A. die Zellenspannung des 3s Lipos, der gleichzeitig das Arduino mit Spannung versorgt, überwachen. Funktioniert das so, wie im folgenden dargestellt? Die Spannungsteiler sind so ausgelegt, dass die max. anliegende Spannung <5V bleibt. Daraus soll dann im Code die Spannung der einzelnen Zellen berechnet werden.

 

Anhänge

Rangarid

Erfahrener Benutzer
#2
Das ist dann wohl eher eine Frage an die Elektrotechniker und nicht an die, die sich mit Arduino auskennen (wobei viele wohl auch elektro Kram können...)

Wenn die Spannung unter 5V bleibt kannst du jedenfalls die Analog in nehmen um die Spannung zu messen. Wenn Vin 12V aushält sollte das also gehen...

Vorsicht nur wenn du dich über USB verbindest. Dann solltest du Vin vom Akku nicht verbinden, weil sonst die 5V vom USB kommen und die 5V vom Vin und die können ungleich sein, ist dann wie das Problem mit der Plusleitung bei mehreren Regler in Coptern.
 
Zuletzt bearbeitet von einem Moderator:

AndreasL90

Erfahrener Benutzer
#4
Servus,

meine Bedenken sind, dass da Ströme fließen könnten, die nicht fließen sollten oder sich die Impedanzen der Spannungsteiler verändern.
Ich hab das mal mit einem 2s (statt wie oben gezeigt 3s) Lipo getestet und es werden falsche Werte ausgegeben:
Zelle 1: 2,xxV
Zelle 2: 5,xxV (Was doch bedeutet, dass die maximal zulässige Spannung am ADC überschritten wird?)

Bin ziemlich ratlos... (Brauchts mehr Infos um das Problem zu beurteilen?)

@fofi1: Bei den Widerständen handelt es sich um 5kOhm. Größer wäre sinnvoll, damit geringere Ströme fließen, aber im Datenblatt vom Atmega heißt es, dass am Eingang vom ADC maximal 10kOhm hängen sollten.

Vg,
Andreas
 

Rangarid

Erfahrener Benutzer
#5
Wo werden die falschen Werte ausgegeben?AnalogRead() gibt ja nur einen Wert zwischen 0 und 1023 aus. Da musst du dir dann einen Divider einbauen, der das umrechnet in die eigentliche Voltzahl.

Beispiel:

gemessener Wert 512
eigentliche Spannung 2,2V

--> Die korrekte Spannung ist immer 0,004296875 * gemessener Wert.

gemessener Wert 133: 133 * 0,004296875 = 0,57V
gemessener Wert 1023: 1023 * 0,004296875 = 4,39V

So misst du die Spannung bei Arduino. Wenn du natürlich genau weißt welche Maximale Spannung engelegt werden kann lässt sich das recht einfach berechnen indem du einfach Maximal anliegende Spannung / 1023 rechnest, das ist dann der Wert mit dem du die gemessenen Werte multiplizieren musst.

Was sollten da für Ströme fließen? Es liegt einfach nur eine Spannung am Arduino an, da fließt nichts...Dein Messgerät geht ja auch nich kaputt wenn du die Spannung am Akku misst während du den Motor volle Pulle aufdrehst.
 

AndreasL90

Erfahrener Benutzer
#6
Wie ich die am ADC die Werte einlese und umrechne ist klar. ;)

Das Problem mit den falschen Werten konnte ich lösen indem der delay nach jeder Messung erhöht wurde, um den ADC wieder zu beruhigen. Dazu kam, dass ich noch einen Pulldown Widerstand eingebaut habe, der natürlich den Spannungsteiler beeinflusst hat...

Jetzt funktioniert es perfekt.
 

dotpitch

Throttle Trottel
#7
Hy Leute, ich habe gerade das selbe versucht mit nem 4s. Leider kann ich jetzt nichts mehr auf den Arduino uploaden. Vin sollte doch die 16.8V aushalten oder habe ich da was falsch verstanden? Den Spannungsteiler habe ich auf 0.02 A berechnet.

Gruß Christian
 

dotpitch

Throttle Trottel
#9
Hey Fofi, hab mal eben gemessen was der Spannungsteiler abgibt. Hmm ich Dösi, das messen muß noch in Fleisch und Blut übergehen. Bin noch nicht soo lange dabei mit der Elektronik.

Jedenfalls kommen da wirre Ergebnisse.
Zelle 1: 12.5V
Zelle 2: 8.31V
Zelle 3: 1.96V
Zelle 4: 10.8 V

Da ist wohl was nicht ganz richtig :)

Die Wiederstände habe ich mit dem Tool berechnet.
Vin immer die jeweilige Zelle, also 4.2V dann 8.4V .. Vout = 4.2V bei 0.02 A

Ergebniss war so:

Zelle 1 R1 0 R2 210 (220)
Zelle 2 R1 210 (220) R2 210 (220)
Zelle 3 R1 420 (480) R2 210 (220)
Zelle 4 R1 630 (660) R2 210 (220)

(*) das habe ich tatsächlich benutzt

Wiederstände habe ich leider nur 220 Ohm (für 210 eingesetzt) so das ich immer etwas drüber bin. Das sollte ja eigentlich nur weniger rauskommen anstatt mehr?

Gruß Christian
 

Rangarid

Erfahrener Benutzer
#10
Also wenn die Werte oben mit dem Multimeter gemessen wurden hast du deinen Arduino gegrillt würde ich mal sagen. Da dürfen max 5V anliegen. Vielleicht hast du R1 und R2 jeweils am Spannungsteiler vertauscht, das macht massive Unterschiede...

Bei Zelle 3 scheints immerhin zu stimmen...

Was ist bei dir Vin? Und wie kommst du auf Ampere? wenn du über einen Spannungsteiler Spannung misst hat das doch nichts mit Ampere zutun.
 
Zuletzt bearbeitet:

dotpitch

Throttle Trottel
#11
Hy Rangarid, Vin am Arduino ist der 4s Akku, also 16.8V (Bis 20V kann er?). Die Ampere muß man mit in das Tool eingeben. LINK

Das er durch ist habe ich beim Messen auch gecheckt :| Ein neuer wurde geordert.


[+][12.6][8.4][4.2][-] So kommts ja aus dem Balancerstecker oder?
|________16.8______|

[+][12.6][8.4][4.2][-]
|________16.8______|
|
| 630 Ohm -- [Signal Arduino mit 4.2V] -- 210 Ohm --->GND

So müßte das oder? Versteht man das? :) Beispielhaft für die 16.8V

THX so fare, Christian
 

Rangarid

Erfahrener Benutzer
#12
| 630 Ohm -- [Signal Arduino mit 4.2V] -- 210 Ohm --->GND

Falls du damit meinst

Code:
+ ---R1---\
             ------- Die Spannung die du willst
GND -----R2---/
Könnte das stimmen. Aber soweit ich weiß musst du auch ein paar hochomigere Widerstände nehmen. Ein Beispiel für 4S sind 4k7 und 10k:

Von Hand ausrechnen kannst du das so:

Spannung = Spannung in * R2 / (R1 + R2)
(siehe Wikipedia: http://de.wikipedia.org/wiki/Spannungsteiler)

Beispiel:

Spannung = 15V * 4700 / (4700 + 10000) = 4,79V
 

dotpitch

Throttle Trottel
#13
Ok Danke, das hilft mir schon weiter. Mein Gedanke war alle Zellen auf 4.2 V runter zu bringen.
Das wird so wohl nicht funktionieren oder? Ich denke da werden 4 verschiedene Werte rauskommen die ich dann weiter verarbeiten muß?

Warum spuckt der Rechner dann Werte von 210 - 630 Ohm aus?
Wie kommt man auf die Wiederstände? Z.B. 4k7 und 10k. Schaut man was an Bauteilen verfügbar ist? Erfahrung?

Gruß #C
 
FPV1

Banggood

Oben Unten