Archiv verlassen und diese Seite im Standarddesign anzeigen : Batteriespannung auslesen
Wie kann ich mit einem ATmega16 die Spannung meines Akkus auslesen? Der spuckt insgesamt etwa 12 Volt aus. Ich habe leider nichts brauchbares gefunden...
MfG, Trabukh
Dazu mußt du einen Spannungsteiler anschließen! Schau dir mal das Beispielprogramm+Schaltplan zu RN-Control an. Daraus kannst du viel entnehmen und nachbauen.
Wo finde ich denn den Schaltplan? Unter Downloads ist er jedenfalls nicht.
Da siehst du übrigens auch gleich die I2C Verbindung nach der du gesucht hast
Irgendwie werd ich aus der Schaltung nicht schlau. Kann mir das mal jemand erklären? Ich hab sie mal angehängt:
Kann mir denn niemand erklären, was diese Schaltung bewirkt? Also wo was rankommt und rauskommt und bla...
Das ist die Stabilisierungssschaltung. Eine Gleichspannung von ca. 7 bis 18 V kommt über die Anschlüsse Power rein und an den beiden Ausgangspin´s JP1 stehen dann stabilisierte 5V zur Verfügung
Und darüber kann man die Batteriespannung auslesen? Ich hab hier irgendwas durcheinander gekriegt...
Ja da hast du was durcheinander gebracht. Die Batteriespannung wird über die beiden Widerstände R9 und R10 und den dran angeschlossenen analogen Port gemessen. Such die Widerstände im Plan dann sollte es klar werden.
Man muß nur einen Spannungsteiler an einen alalogen Port legen. Einfach gesagt: Zwei Widerstände in Reihe schalten. Ein Ende an die Batterie + und eines an Batterie -
Die Mitte an den analogen Port. Dann braucht man nur noch das Softwareprogramm. Auch das findest du im Demo.
Aber du solltest unbedingt erst mal einige Elektronik Bücher zur Unterstützung heran ziehen. Ein Spannungsteiler gehört eigentlich zu den Grundlagen die man schon kennen sollte bervor mal zu löten anfängt. Das ist keine Kritik sondern einfach nur ein Tip
Gruß frank
Danke, ich bin auch erst 16 und mehr an der Programmierung interessiert, aber ich werds tun, also das Lesen.
Welche Werte für die Widerstände muss ich nehmen, wenn ich 12 Volt auslesen will? Wenn ich das der Beschreibung richtig entnommen habe, ist das nur für 5 Volt geeignet. Gibt es das eine Rechnung oder sowas in der Richtung?
Gruß, Trabukh
Du kannst 22k und 5,1 k wie bei der RN-Control nehmen. Damit kann man Spannungen bis ca. beit über 20 V messen.
Denn Spanungsteiler nimmt man ja dadür das hohe Spannungen in Bereiche von 0 bis 5V umgewandelt werden. Nur wenn du keine Widerstände nimmst, dann kast du nur bis 5V messen!
Was wäre denn optimal für ca 12 Volt? Gut sagen wir mal bis 14 Volt, dann bin ich auf der sicheren Seite. Ich will die Unterteilungen möglichst genau haben, und da das ganze nur in 1024 Stufen unterteilt wird, möchte ich nicht 100 Stufen oder so an Spannungen >14 Volt verschwenden.
Gruß, Trabukh
Hi Trabukh,
wenn du als unteren Widerstand (gegen Masse) 27K nimmst und als oberen Widerstand (gegen +12V) 47K, dann kannst du fast bis 14 Volt messen. Der A/D-Wandler wird dann am unteren 27K Widerstand angeschlossen.
Ich habe das mal mit Excel grob durchgerechnet. Bis 14 Volt schaffst du's nicht ganz (Digitalwert über 1023). Ich habe bei dieser Rechnung angenommen, dass der A/D-Wandler von 0...5 Volt messen kann.
noch'n Tipp:
Messwiderstände sollten immer möglichst genau sein. Deshalb solltest du entweder Widerstände mit möglichst geringer Toleranz nehmen (1% oder noch kleiner) oder du suchst dir aus einer größeren Menge von Widerständen die genauesten raus. Da brauchst du natürlich ein genaues Messgerät.
Erläuterung:
Linke Spalte= Spannung über dem 74K Spannungsteiler (47K+27K=74K)
Mittlere Spalte = Eingang vom A/D-Wandler
rechte Spalte = Ausgang vom A/D.Wandler
Wie jetzt, am unteren Widerstand? Ich dachte, der Pin muss dazwischen. Und wie kommst du auf diese Rechnung? Über eine Erklärung würd ich mich freuen, aber schon jetzt ein riesen Dankeschön. Genau das hab ich gebraucht.
Gruß, Trabukh
Hi Trabukh,
du kannst dir auch mal diesen Thread anschaun https://www.roboternetz.de/phpBB2/viewtopic.php?t=1483
Da wurde das mit 22 und 5,1 K durchgerechnet.
Mit diesen Wiederständen kannst du bis fast 30 Volt messen.
Wenn du es aber nur bis ca. 14V noch genauer brauchst, dann kannst du trotzdem diese Widerstände nehmen. In dem Fall könnte man auch die Referenzspannung am Controller reduzieren. Dazu müsstest du dann noch ein Spannungsteiler (z.B. zwei mal 10K) an den REF-EIngang vom Controller legen.
Aber die Lösung von avatar ist natürlich auch möglich und schneller realisierbar. Die 14 Volt in der Tabelle kann man allerdings nicht mehr messen, da ja nur bis Digital 1023 messbar ist, aber halt fast.
Gut. Aber wie kommt ihr denn jetzt genau auf diese Werte? Muss jetzt der eine Widerstand in meinem Fall etwa um den Faktor 0.5555... kleiner sein als der andere? Kann ich nicht 47 Ohm und 27 Ohm nehmen? Wie kommt man GANZ genau auf diese Zahlen? Ich könnte das jetzt einfach so bauen, aber ich will das ja auch verstehen...
Gruß, TRabukh
Und noch eine Frage: Wie viel mA schluckt so ne Messung eigentlich?
Theoretisch und sogar praktisch kannst du auch deine oben genannten Widerstände 47 und 27 Ohm nehmen. Allerdings ist dann der Gesamtwiderstand 74 Ohm. Da fließ dann ein Strom
I=U/R
I=12V / 77 = 156 mA
Also da wird dann immer 156 mA verbraten, ohe was dafür zu leisten!
Das macht keinen Sinn. Daher nimmt man höhere Widerstände. Da der analoge Port sehr hochohmig ist, kann man auch sehr hohe widerstände nehmen. Der genaue Gesamtwiederstand ist garnicht so wichtig, gewöhnlich reicht es wenn er zwischen 10k und 100k liegt. Wenn man ihn zu hoch nimmt, dann wird das ganze etwas Störanfällig.
Welcher Strom nun verbraucht wird, kannst du nun nach oben genannter Methode selbst ausrechnen. Der analoge Port braucht quasi garnix, du musst nur den Spannungsteiler berechnen
Gut, bei 47K und 27K und ca. 14V sind das dann also etwa 0,0001892 A, sprich 1,892 mA, richtig? Das ist dann ja (fast) nix!
Gruß, Trabukh
Ich mische mich hier jetzt auch mal ein, weil ich das ganze auch recht interessant finde:
Das ganze arbeitet doch dann aber unabhängig vom Spannungswandler, ich kann es doch einfach so aufbauen:
(14 Volt) - (27kO) - (AD-Wandler angeschlossen) - (47kO) - (Masse)
oder hab ich da etwas falsch verstanden?
So, und wie kommt ihr jetzt auf 47K und 27K? Ich will ja nicht nerven (gut, tu ich sowieso), aber warum gerade diese Widerstände? Könnte man nicht einfach einen Widerstand nehmen, der das auf 5 Volt runterdrückt?
Gruß, Trabukh
Fast, so rum stimmts:
(14 Volt) - (47kO) - (AD-Wandler angeschlossen) - (27kO) - (Masse)
Ich persönlich würde das Verhältnis immer so wählen, das man eine etwas höhere Spannung messen kann, als man normalerweise anliegen hat. Wenn man z.b. 12 V nutzt, dann würde ich es ruhig bis ca. 18 oder 20 V auslegen. Damit ist es immer noch sehr genau und man hat etwas Reserve falls man mal Ladegerät oder wer weiss was anschließt.
Wenn nämlich die Messpannung mal überschritten wird, dann kann man Controller Leitung himmeln
Gut, werd ich das halt so machen. Danke nochmal an alle und diesmal ganz besonders an Frank.
Gruß, Trabukh
ok, danke auch an Frank. Ich werd das dann auch mal einsetzen
Bitte! Finde so ne Batteriespannungsüberwachung immer sinnvoll, zumal sie quasi fast nix kostet.
Noch eine letzte Sache: Ist das Verhältnis zwischen R1 und R2 wichtig?
Noch eine letzte Sache: Ist das Verhältnis zwischen R1 und R2 wichtig?
und wie kommt ihr jetzt auf 47K und 27K? Ich will ja nicht nerven (gut, tu ich sowieso), aber warum gerade diese Widerstände? Könnte man nicht einfach einen Widerstand nehmen, der das auf 5 Volt runterdrückt?
Mit einem einzigen Widerstand geht es nicht. Du musst schon die Spannung schon herunter teilen.
Warum gerade diese Widerstände?
Wichtig ist das Verhältnis der beiden Widerstände zueinander.
27/(47+27) = 0,364
Deine Forderung war ursprünglich: Aus 14 Volt sollen 5 Volt werden
5/14 = 0,357
Ich habe nur ein Widerstandspaar suchen müssen bei dem das Verhältnis zwischen Gesamtwiderstand und Teilwiderstand ungefähr 1 : 0,36 ist. Der Widerstand über dem gemessen wird (27K) ist in diesem Fall 0,36 mal so groß wie die beiden Widerstände zusammen. Warum es Kiloohm und nicht Ohm sind wurde schon erklärt: Du willst ja die Batteriespannung messen und nicht die Batterie leer machen.
Viele Grüße
O:)
@ Trabukh
Bevor du dich mit einem Lötkolben gewaffnest solltest du vielleicht zuerst ein wenig Wissen zum Thema ET ansammeln (Literatur bzw. elektronik-kompendium.de).
Wem ein Spannungsteiler unbekannt ist, der hat doch noch erheblichen Nachholebedarf. Ausserdem sparst du mit dieser Variante im Normalfall viel Geld, da viele Fehler vermieden werden können.
Gruss
@Gast
Jetzt stänker' doch hier nicht so rum. Und dann noch anonym. Es ist unnötig und überflüssig, einem Schüler zu sagen, dass er was lernen soll.
OK Leute. Nach dem ich eine NAcht darüber geschlafen habe, hats Klick gemacht: Spannungsteilerregel in der 8. Klasse in Physik! Mensch, in der Arbeit hab' ich ne 1 geschrieben und kann mich jetzt nicht mal mehr daran erinnern! ](*,) :oops:
Wie auch immer, vielen, vielen Dank an alle und ich hab' mich jetzt dazu entschieden, 30K und 68K zu nehmen und damit bis 16,333... Volt zu messen. Da der Gesamtwiderstand bei 98K liegt, verbraucht das ganze auch noch weniger als 1mA! Ich hoffe, dass der ATmega16 mit den 98K noch klarkommt, aber das werde ich ja sehen. Bei Reichelt gibt es übrigens Präzisionswiderstände mit einer Toleranz von 0,1%!
Gruß, Trabukh
EDIT:
Sorry, verrechnet: Das alles verbraucht natürlich 1,666... mA!!!
Sorry, verrechnet: Das alles verbraucht natürlich 1,666... mA!!!
Also ich komme da nur auf 0,166 mA (=166 µA) und auch nur
im ungünstigsten Fall, also wenn die max. Spannung von 16,3 Volt anliegt.
Hast du mal im Datenblatt nachgeschaut, wie groß der Strom max. ist, den der A/D-Wandler zieht? Normalerweise müsstest du auch diesen Strom bei der Spannungsteiler-Rechnung berücksichtigen. Wenn er aber sehr klein ist im Verhältnis zu dem Strom, der durch den Spannungsteiler fließt (z.B. 1000 mal kleiner), kannst du ihn vernachlässigen.
Viele Grüße
Ok, dann hab ich mich halt doch nicht verrechnet... Ich kann im Datenblatt leider nix finden.
Gruß, Trabukh
Hi Trabukh,
im Datenblatt vom ATMEGA16 habe ich auf Seite 289 eine Angabe gefunden und zwar Iaclk Input Leakage Current. Der Wert ist mit maximal +/- 50nA angegeben. Das ist etwa 3000 mal weniger als der Strom durch den Spannungsteiler. Man kann diesen Strom also wirklich vernachlässigen. Er ist fast Null und verfälscht das Messergebnis praktisch nicht.
Der Vollständigkeit halber habe ich ihn trotzdem erwähnt und zwar für den Fall, dass jemand diese Thread liest und dann auf die Idee kommt, noch hochohmigere Widerstände zu nehmen um die Batterie noch mehr zu schonen. Dann könnte es nämlich passieren, dass der Strom durch den Spannungsteiler so gering wird, dass man in die Größenordnung von Nanonampere kommt. Dann würde der "Iaclk" das Messergebnis tatsächlich verfälschen.
Viele Grüße
O:)
Dankeschön. Ich wäre ja nie drauf gekommen, dass das "Iaclk Input Leakage Current" heißen könnte. :-s
Gruß, Trabukh
Ich glaub, ich werd demnächst mal einen Artikel darüber schreiben, wie man die Spannung mit dem ATmega ausliest. Ich wette, das interessiert mehr Leute als nur mich...
Gruß, Trabukh
Hallo Trabukh
was Grundlagenwissen angeht stehst du nicht allein. Auch ich frische mein uraltes Wissen auf. Ein toller Ort das zu tun ist: www.elektronik-kompendium.de. Viel Spaß.
...mit dem kleinen Unterschied, dass ich noch kein "uraltes Wissen" habe, das ich auffrischen könnte, da ich erst 16 bin! :-)
Gruß, Trabukh
Ich hab grad nochmal die Doku zum RNControl angeguckt. Da steht was von wegen UREF-Jumper stecken usw... Deshalb wollte ich wissen, bis wie viel Volt man den AD-Wandler bei dieser Schaltung benutzen kann:
https://www.roboternetz.de/phpBB2/album_pic.php?pic_id=153
Also sind das jetzt 2,5V oder 5V, die der Wandler verträgt?
Hallo Trabukh
beim einem ist das Wissen "uralt", beim Anderen "neu". das Ergebnis ist das gleiche, man hat die freude neu zu lernen. Klasse, ich wünschte mir ich bekomme meine Kinder auch dazu sich für Elektronik zu interessieren.
Ja, fände ich auch toll, aber was mich im Moment mehr interessiert ist diese Frage, ob ich mit der oben gezeigten Schaltung bis 2,5 oder bis 5V messen kann.
Gruß, Trabukh
Hallo Trabukh
wenn du dir das Datenblatt vom 78s05 ansiehst, so steht dort bei "absolut maximum ratings" das der 78s05 diesen Wert bei 35V hat. Das heißt ab dem Wert der Eingangsspannung ist das Bauteil hinüber. Solange du deutlich darunter bleibst passiert dem Bauteil von der Spannung her nichts.
Wenn du darüber hinaus siehst, das Frank die RN-Control mit einer Versorgungsspannung von 7-18V gestattet, so ist das der Spannungsbereich den die Schaltung von RN-Conmtrol verträgt. Da der 78LS05 ein Spannungsregler mit festem, also unveränderlichen Wert, für die Ausgangsspannung ist kommt bei Versorgungsspannungen wie hier gestattet am Ausgang immer 5V raus. Die andere Größe ist der Strom, und da ist das Bauteil bis maximal 2A ausgelegt, wobei er intern eine Temperaturschutzschaltung hat. Je besser das Bauteil die Wärme ableiten kann, umso mehr Strom verträgt er im Dauerbetrieb. Ich habe bei mir bisher Spannungsregler mit variabler Ausgangsspannung verwendet, die Schaltung in ein Aluminium-Gehäuse gepackt und den Regler mit dem Gehäuse, elektrisch isoliert, thermisch leitend verbunden. Dadurch wird die Wärme gut abgeleitet. Ich werde in meinem Segelboot die RN-Control gleichfalls in einem Aluminiumgehäuse unterbringen, und zwar so, daß der 78S05 das Gehäuse als Kühlkörper verwendet.
Hallo Trabukh,
ist diese Frage, ob ich mit der oben gezeigten Schaltung bis 2,5 oder bis 5V messen kann.
bis 5V, weil der Ref-Eingang ja 5 Volt bekommen hat...
Gruss, Michael
Gut, bei 47K und 27K und ca. 14V sind das dann also etwa 0,0001892 A, sprich 1,892 mA, richtig? Das ist dann ja (fast) nix!
Gruß, Trabukh
0,1892 mA ;-)
10^-3 = milli
10^-6 = mikro
10^-9 = nano
10^-12 = pico
Gruß, Sonic
@Michael
Das sehe ich genau so. Auf dem Schaltbild ist der Referenzeingang für analog (AREF) fest mit 5V verbunden. Einen Jumper kann ich da nicht entdecken.
@Trabukh
Du hast ja auch deinen Spannungsteiler mit (30K und 68K) schon so berechnet, dass er die max. Eingangsspannung von 16,3V auf 5V herunter teilt.
@Sonic
Das mit dem falsch gesetzten Komma wurde bereits schon weiter oben geklärt.
Viele Grüße
...
@Sonic
Das mit dem falsch gesetzten Komma wurde bereits schon weiter oben geklärt.
Viele Grüße
Oh ups, hatte ich nicht gesehn :oops:
Wollte nicht den Oberlehrer spielen O:)
Gruß, Sonic
Danke michael, das wollte ich hören.
Gruß, Trabukh
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.