PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LiPo an Arduino Nano Kabeldicke



xcalibur
16.08.2019, 21:22
Hallo Roboternetzler,

ich möchte einen LiPo-Akku als Stromversorgung an den VIN eines Arduino Nano anschließen. Bei dem Akku handelt es sich um einen 2-zelligen mit 2000mAh und 7,4V (Amazon-Link (https://www.amazon.de/dp/B07PLVYYCQ/ref=pe_3044161_185740101_TE_item)):
34344

Soweit ich das verstanden habe müsste ich den 2-poligen T-Stecker verwenden um den Akku and den Arduino anzuschließen und den kleineren 3-poligen um die Akku-Zellen zu laden.

Nun war die Idee als Gegenstück einen männlichen T-Stecker zu kaufen und dann daran 2 Kabel festzulöten, welche ich mit GND und VIN des Arduinos verbinde.

Jedoch sind die vorhandenen Kabel am T-Stecker viel dicker als die dünnen Jumper-Kabel die ich bisher am Arduino verwendet habe. Die dicken Kabel passen auch nicht durch die von mir verwendete Lochplatine. Kann ich stattdessen einfach 2 dünne Jumper-Kabel verwenden zwischen LiPo und Arduino oder ist das eine schlechte Idee?

Nach allem was ich gelesen habe sind LiPos ja sehr launische Energiespeicher und ich würde ungern Arduino oder Akku verschmoren oder einen Wohnungsbrand verursachen :rolleyes:

Ceos
16.08.2019, 23:01
Kabeldicke ist nur eine Frage des Stroms den du beziehst oder lädst!
Leider hab ich keine Faustformel zur Hand, aber immer darauf achten ob es um DC oder AC geht wenn du im Internet suchst

edit: achte aber drauf dass du möglichst wenig Wärme in den Akku beim löten einbringst, also nicht zu lange am Kabel rum braten und nicht zu nah am Akku

Moppi
17.08.2019, 06:15
Hallo xcalibur!

Da gibt es Gegenstücke (Buchen und Stecker) bei Conrad oder woanders. Bei den LiPos gibts verschiedene Steckersysteme. Ich habe immer die mit einfachem Stecker genommen (komm jetzt auf den Namen nicht ;) die lassen sich auf normale Stiftleisten aufstecken. An das Gegenstück kannst Du dann Kabel anlöten und die mit Deiner Platine verbinden. So musst Du den Anschluss vom Akku nicht zerstören, indem Du das Kabel abschneidest und musst auch nicht am Akku löten. Die Kabeldicke am Akku muss ausgelegt sein auf den maximalen Entladestrom, der bei einigen Ampere liegt. Das braucht aber Deine Schaltung voraussichtlich nicht, sondern eben nur Milliampere, für den Nano. Würdest Du aus dem Akku 5 oder sogar 10 Ampere entnehmen, müsstest Du mit dickeren Kabeln zum Verbraucher weiterverbinden. Also nimm Dünnere. Der mehrpolige Stecker ist in der Tat der Stecker zum laden am Ladegerät.

Nicht vergessen, während dem Betrieb die Spannung am Akku zu messen und frühzeitig z.B. eine LED blinken zu lassen, dass Du weißt, wann der nachzuladen ist. Ein paar mal tiefentladen wird er Akku unbrauchbar.


MfG

xcalibur
17.08.2019, 11:56
Kabeldicke ist nur eine Frage des Stroms den du beziehst oder lädst!
Leider hab ich keine Faustformel zur Hand, aber immer darauf achten ob es um DC oder AC geht wenn du im Internet suchst
Es ist überraschend schwierig den Stromverbrauch des Arduinos herauszufinden, da das anscheinend hauptsächlich von den angeschlossenen Bauteilen abhängt. In meinem Fall sind das ein 6-Achsen-Gyro-Sensor, eine LED-Matrix und ein Piezo-Buzzer. Aber anscheinend ist das alles in einem Bereich unter 1 Ampere (s. hier (https://arduino.stackexchange.com/a/35129)).
Außerdem scheinen die Online-Rechner für die minimalen Durchmesser von Kabeln eher auf Boote oder Camper ausgerichtet, daher kamen da mehrfach komische Ergebnisse zustande ("minimaler Kabeldurchmesser: 0mm" :D).


edit: achte aber drauf dass du möglichst wenig Wärme in den Akku beim löten einbringst, also nicht zu lange am Kabel rum braten und nicht zu nah am Akku
Danke für den Hinweis. Das war ohnehin nicht der Plan da ich vor dem Akku viel zu viel Respekt habe ;). Ich möchte wenn dann die dazugehörige Buchse an 2 Kabel löten die ich dann mit dem Arduino verbinde. Dann kann ich den Akku über den T-Stecker verbinden und muss überhaupt nicht direkt am Akku herumpfuschen.



Die Kabeldicke am Akku muss ausgelegt sein auf den maximalen Entladestrom, der bei einigen Ampere liegt. Das braucht aber Deine Schaltung voraussichtlich nicht, sondern eben nur Milliampere, für den Nano. Würdest Du aus dem Akku 5 oder sogar 10 Ampere entnehmen, müsstest Du mit dickeren Kabeln zum Verbraucher weiterverbinden. Also nimm Dünnere. Der mehrpolige Stecker ist in der Tat der Stecker zum laden am Ladegerät.

Danke, soetwas wollte ich hören. Komme aus der Softwareentwicklung und ich war etwas eingeschüchtert dass die Konsequenz eines Fehlers hier eine Batterieexplosion wäre und nicht das einfache Schmeißen einer Exception :D




Nicht vergessen, während dem Betrieb die Spannung am Akku zu messen und frühzeitig z.B. eine LED blinken zu lassen, dass Du weißt, wann der nachzuladen ist. Ein paar mal tiefentladen wird er Akku unbrauchbar.

Das ist sehr interessant. Das Problem habe ich bisher überhaupt nicht bedacht.
Um die Spannung am Arduino zu messen scheint es online ein paar verschiedene Ansätze zu geben.

Hier (https://provideyourown.com/2012/secret-arduino-voltmeter-measure-battery-voltage/) (SSL-Zertifikat ist abgelaufen aber die Seite funktioniert ansonsten) wird anhand der internen Spannung auf die anliegende Spannung geschlossen. Reicht das aus um einen niedrigen Ladezustand zu erkennen?
Hier (https://www.arduinoforum.de/arduino-Thread-Arduino-mobil-am-LiPo) ist der Ansatz die Spannung über einen Analog-Input des Arduinos auszulesen. Das würde außerdem in meinem Fall einen Widerstand erfordern (7,4V ist zu hoch für den Analog-Pin). Ist die Methode besser?


Vielen Dank nochmal für die Antworten bisher!
xcalibur

Moppi
17.08.2019, 12:27
Ich habs mit Spannungsteiler ( am ATmega328 ) gemacht (100k und 47k), da fließen nur geringe Ströme durch die Widerstände, die Spannung kann aber trotzdem sauber erkannt werden:

https://www.roboternetz.de/community/attachment.php?attachmentid=33850&d=1544805309

Gemessen werden die 12V (oder was am Akku anliegt).
Der LiPo hat, wenn es ein 11V-LiPo ist, ca. 12.6V wenn er voll geladen ist. Im Betrieb, beim Entladen, sinkt die Spannung. Erst bleibt sie nahezu konstant - sinkt nur langsam, bis sie am Schluss schnell einbricht. Ich habe viel herumprobiert. Gerade mit möglichst weit/tief entladen, wegen langer Laufzeit der Schaltung. Entscheidend ist, dass die einzelnen Akkuzellen nicht unter 2.8 bis 3.2V entladen werden dürfen. Von 3.2V bis 2.8V ist leider nicht weit, das geht dann sehr flott, am Schluss auch unter 2.6V. Und das ist dann zu viel. Einen defekten Akku habe ich schon und ein Zweiter hat eine verringerte Kapatität. Deshalb ist meine Empfehlung, die Spannung am Akku zu messen und die Grenze bei der Nennspannung des Akkus zu setzen. Heißt bei Deinem Akku, ab 7.4V irgendwie entweder die Schaltung zu trennen (gibt Schutzschaltungen für LiPos) oder wenigstens eine blinkende LED (o.ä.) zu verwenden. Dann nachladen.


MfG

xcalibur
17.08.2019, 13:39
Ich habs mit Spannungsteiler ( am ATmega328 ) gemacht (100k und 47k), da fließen nur geringe Ströme durch die Widerstände, die Spannung kann aber trotzdem sauber erkannt werden:

https://www.roboternetz.de/community/attachment.php?attachmentid=33850&d=1544805309

Ich tue mich mit dem Schema etwas schwer (komme wie gesagt aus der Softwareentwicklung und da ist bekanntlich alles schon verkabelt ;)). Anscheinend gibt es ja belastete und unbelastete Spannungsteiler (Quelle (http://www.elektronik-kompendium.de/sites/slt/0201111.htm)) und wenn ich das richtig erkenne verwendest du hier einen belasteten und liest an Pin 28 die Spannung aus (oder ist es doch Pin 21?).
Ich habe in der Größenordnung nur 5k1-, 10k- und 100k-Widerstände.
Kannst du mir sagen ob es auch ausreichen würde 2 Widerstände (als unbelasteten Spannungsteiler) wie folgt vor den Analog-Pin zu setzen (z.B. mit R1=100k und R2=10k) bzw. stattdessen sogar nur einen Widerstand zu verwenden (verstehe nicht wirklich warum beim unbelasteten Spannungsteiler mehrere in Reihe geschaltet werden müssen -> ein größerer Widerstand sollte den den gleichen Effekt haben wie 2 kleinere in Reihe, oder?):
34347



Gemessen werden die 12V (oder was am Akku anliegt).
Der LiPo hat, wenn es ein 11V-LiPo ist, ca. 12.6V wenn er voll geladen ist. Im Betrieb, beim Entladen, sinkt die Spannung. Erst bleibt sie nahezu konstant - sinkt nur langsam, bis sie am Schluss schnell einbricht. Ich habe viel herumprobiert. Gerade mit möglichst weit/tief entladen, wegen langer Laufzeit der Schaltung. Entscheidend ist, dass die einzelnen Akkuzellen nicht unter 2.8 bis 3.2V entladen werden dürfen. Von 3.2V bis 2.8V ist leider nicht weit, das geht dann sehr flott, am Schluss auch unter 2.6V. Und das ist dann zu viel. Einen defekten Akku habe ich schon und ein Zweiter hat eine verringerte Kapatität. Deshalb ist meine Empfehlung, die Spannung am Akku zu messen und die Grenze bei der Nennspannung des Akkus zu setzen. Heißt bei Deinem Akku, ab 7.4V irgendwie entweder die Schaltung zu trennen (gibt Schutzschaltungen für LiPos) oder wenigstens eine blinkende LED (o.ä.) zu verwenden. Dann nachladen.

Danke, die Angaben helfen schonmal immens.

Moppi
17.08.2019, 14:23
Weiß nicht, wie Du den Arbeitspunkt einstellen willst, mit nur einem Widerstand. So würde ich es nicht machen, bin auch nie auf die Idee gekommen. Über die 100k von den +12V fließt kein nennenswerter Strom mehr, meine ich. Dann geht es an den ADC-Eingang, der 47k ist auch noch sehr groß, da wirds nichts warm, dort fließt kein nennenswerter Strom. Wenn Du mit einem einfachen Reihenwiderstand von 12V abgehst, musst Du immens große Widerstandswerte nehmen, um von 12V auf max. 5V runter zu kommen. Ich weiß nicht, ob das dann auch noch funktionieren würde. Du möchtest ja auch, dass am ADC ein stabiler Wert anliegt.
Ich muss Dich hier etwas enttäuschen, der große Schaltungsexperte bin ich nicht (für meine Zwecke reicht es aus, aber nicht um Erklärungen pro und kontra abzugeben). Das soll lieber jemand beantworten, der sich im Detail hier besser auskennt, mit Spannungsteilern, Strömen, Störsicherheit am ADC-Eingang usw. Mein Bauchgefühl sagt mir, ein Spannungsteiler, wo in der Mitte abgegriffen wird zum ADC-Eingang, ist besser. ;) Ich weiß nur, dass es hier Leute gibt, die dafür kleinere Widerstandswerte nehmen. Mit den großen klappts bei mir auch gut.

Fürs Erste kannst Du wohl die 10k und 5.1k für einen Spannungsteiler nehmen, wenn Du nichts anderes da hast. 10k vom LiPo zum ADC-Eingang und von dort mit den 5.1k gegen GND. Sollte vom Verhältnis her passen, die ~8.5V auf unter 5V, für den ADC, zu bringen. Vorausgesetzt Du betreibst den Nano mit 5V. Wird der mit 3.3V betrieben, dürften am ADC max. 3.3V anliegen.


Nochmal nachgerechnet:
Bei 8.5V am Akku solltest Du, mit den 10k und 5.1k, ca. 2.8 bis 2.9V am Abgriff des Spannungsteilers erhalten (also zwischen 10k und 5.1k, wo es an den Eingang vom ADC dran geht).



MfG

021aet04
17.08.2019, 19:40
Einen Widerstand auf die Akkuspannung darfst du auf keinen Fall machen. Du hättest einen Pullup und damit hast du dann die Akkuspannung (also z.B. 8V) am Eingang. Wenn der Widerstand groß genug ist, ist es erlaubt (hast aber falsche Messwerte). Dann leiten die internen Schutzdioden, der Strom durch diese darf aber nur sehr gering sein.

Wie groß der Eingangsstrom des ADC ist habe ich nicht gefunden.

Ob ein Spannungsteiler belastet ist oder unbelastet hängt vom entnommenen Strom vom Mittelpunkt des Teilers ab. Wenn du einen ADC hast ist dieser "Querstrom" nicht zu merken und somit ist es wie ein unbelasteter. Bei einem Multimeter (Digital) hast du einen Eingangswiderstand von (häufig) 10MOhm.

Wenn du z.B. einen Spannungsteiler mit 2x10kOhm hast und du das Messgerät anschließt, sind ein 10k und ein 10M (vom DMM) parallel. Die Auswirkungen sind eher gering.
Wenn du den gleichen Spannungsteiler mit 10M Widerständen aufbaust, hast du 2x10M parallel, das ergibt als ergebnis 5MOhm. Somit wirkt es sich sehr stark aus.

Ich habe es simuliert (wollte nicht mit den Formeln arbeiten). Als Versorgung habe ich 10V genommen (Als Schaltung habe ich mein Beispiel mit dem DMM genommen).
Spannungsteiler unbelastet: 5V (ist aber auch logisch), Spannungsteiler 10k: 4,9975V, Spannungsteiler 10M: 3,3V

Prinzipiell kann man mit den Widerständen beim Spannungsteiler beliebig nach oben gehen. Aber je höher die Widerstände sind, desto leichter werden Störungen zum Problem. Man muss immer einen Kompromiss finden zwischen Leistung die im Spannungsteiler verbraten wird und Störungsempfindlichkeit. Was ich auch noch machen würde, wäre einen Kondensator (irgendwas bis 100nF) an den Eingang anschließen (zwischen ADC und GND).




Pin 21 ist vermutlich ARef (Analogreferenz) habe aber nicht nachgeschaut, Pin 21 ist der ADC Eingang.


Also in Kurzfassung:
Wenn du es so anschließt wie im Plan oben kannst du es als unbelasteten Spannungsteiler sehen.
Wenn du diese z.B. modifizieren willst und ein Poti einfügst (Pin 28 trennen, Spannungsteiler Mittelabgriff auf Poti, zweiter Potianschluss auf GND und Schleifer bzw Mittelabgriff auf Pin 28) wird es nicht funktionieren (nicht wie gedacht), weil du den Spannungsteiler mit dem Poti belastest.



Was du auch noch beachten solltest ist, das du den ADC Bereich so viel wie möglich ausnutzen sollst. Wenn du 10bit verwendest (=0-1023) und bei max. Akkuspannung einen Messwert von 100 hast ist es schlecht. Wenn du aber z.B. 900 hast ist es genauer. Du solltest den Messbereich aber nicht zu viel ausnützen (das du über die max. Spannung kommst) oder du schützt den Eingang mit einer Zenerdiode (zwischen ADC und GND). Wenn du ein Poti hast könntest du den Eingang "kalibrieren". Ersetze den unteren Widerstand gegen ein Poti.

MfG Hannes

Moppi
17.08.2019, 21:12
Pin 21 ist am mega328 der A-ref-Pin. Der soll mit einem externen Kondensator versehen werden, wenn die interne 1.1V-Referenz verwendet wird. Die internen 1.1V benutze ich aber nicht. Daher kann man den vermutlich weg lassen.

"Optionally, AVCC or an internal 1.1V reference voltage may be connected to the AREF pin by writingto the REFSn bits in the ADMUX Register. The internal voltage reference must be decoupled by an
external capacitor at the AREF pin to improve noise immunity."

021aet04
17.08.2019, 21:39
Ich habe auch ein DB vom 328er, bei mir steht aber etwas anderes drinnen (meines ist von 2018 mit Microchip Optik).

Im Kapitel zum ADC unter Overview steht:
"Internal reference voltages of nominally 1.1V or AVCC are provided On-chip. The voltage reference may be
externally decoupled at the AREF pin by a capacitor for better noise performance."

und unter dem Punkt "ADC Voltage Reference" steht:
"In either case, the external AREF pin is directly
connected to the ADC, and the reference voltage can be made more immune to noise by connecting a capacitor
between the AREF pin and ground."

Ein Kondensator kann nicht schaden.

Edit: Habe gerade im Blockschaltbild vom ADC gesehen das der AREF Pin nach der Referenzumschaltung ist und direkt zur DAC Einheit geht. Somit wirkt sich ein Kondensator immer aus.

MfG Hannes

xcalibur
18.08.2019, 01:00
Erstmal danke für die Antworten. Habe den Tag unter Anderem mit der Online-Recherche zu ein paar Zusammenhängen aus der Elektrotechnik und Schulphysik verbracht, damit ich die Berechnungen nachvollziehen konnte :rolleyes:


Einen Widerstand auf die Akkuspannung darfst du auf keinen Fall machen. Du hättest einen Pullup und damit hast du dann die Akkuspannung (also z.B. 8V) am Eingang. Wenn der Widerstand groß genug ist, ist es erlaubt (hast aber falsche Messwerte). Dann leiten die internen Schutzdioden, der Strom durch diese darf aber nur sehr gering sein.

Danke, nachdem ich nachgelesen habe wie Pullup- und Pulldown-Widerstände kann ich soweit folgen.



Was du auch noch beachten solltest ist, das du den ADC Bereich so viel wie möglich ausnutzen sollst. Wenn du 10bit verwendest (=0-1023) und bei max. Akkuspannung einen Messwert von 100 hast ist es schlecht. Wenn du aber z.B. 900 hast ist es genauer. Du solltest den Messbereich aber nicht zu viel ausnützen (das du über die max. Spannung kommst) oder du schützt den Eingang mit einer Zenerdiode (zwischen ADC und GND). Wenn du ein Poti hast könntest du den Eingang "kalibrieren". Ersetze den unteren Widerstand gegen ein Poti.

Zur Ausnutzung des Messbereiches wäre ich vermutlich auch mit einer Messgenauigkeit von ein paar Bit weniger zufrieden, da es ja nur um einen Schutz für Unterladung des Akkus geht und nicht um einen superexakten Akkustand. Stattdessen wäre es mir wichtiger den konstanten Stromverbrauch für die Messung des Ladezustandes gering zu halten.
Die Idee mit dem Poti ist gut aber auch zeitaufwändig zu verkabeln. Daher hoffe ich dass es für meine Zwecke auch ohne geht.

Nun zu der Rechnung:
Ich habe eine Energiequelle mit 2 Zellen mit jeweils maximal 4,2V (Quelle (https://www.rcgroups.com/forums/showthread.php?649684-max-voltage-per-lipo-cell)), also insgesamt maximal 8,4V Ausgangsspannung.
Der Arduino kann am ADC maximal 5V aufnehmen, d.h. z.B. R1=R2=10k ( eingesetzt in U2=(U1*R2)/(R1+R2) ) würden schon genügen um mit 4,2V im Bereich des ADC mit Toleranzen zu bleiben. Dann dürfte jedoch der Spannungsteiler einiges an Strom verbrauchen wie du gesagt hattest. Moppi hatter hier an Widerständen R1=100k und R2=47k verwendet. Da ich keine 47k-Widerstände daheim habe wäre R1=100k und R2=10k eine brauchbare Kombination oder kann es da schon mit Störungen zu Problemen kommen?

Moppi
18.08.2019, 06:05
xcalibur,

ich weiß nicht, ob Du es gelesen hast.
Du hattest geschrieben, dass Du nur bestimmte Widerstände hättest.

Entsprechend der Beschaltung, mit einem Spannungsteiler - vom Akku zum ADC-Eingang, hatte ich dazu nachgetragen:


Fürs Erste kannst Du wohl die 10k und 5.1k für einen Spannungsteiler nehmen, wenn Du nichts anderes da hast. 10k vom LiPo zum ADC-Eingang und von dort mit den 5.1k gegen GND. Sollte vom Verhältnis her passen, die ~8.5V auf unter 5V, für den ADC, zu bringen. Vorausgesetzt Du betreibst den Nano mit 5V. Wird der mit 3.3V betrieben, dürften am ADC max. 3.3V anliegen.


Nochmal nachgerechnet:
Bei 8.5V am Akku solltest Du, mit den 10k und 5.1k, ca. 2.8 bis 2.9V am Abgriff des Spannungsteilers erhalten (also zwischen 10k und 5.1k, wo es an den Eingang vom ADC dran geht).

In der Tat ist es hier nicht ganz so wichtig, mit dem Bereich, geht nur darum zu erkennen, ob die Spannung über einem Wert liegt.
Deshalb sollte ein Spannungsteiler aus 10k und 5.1k ausreichend sein. Der liefert eben dann ca. 3V am ADC-Eingang (wenn am Akku max 8.5V anliegen). Diese max. 3V am ADC-Eingang sind i.O., wenn Du den Nano mit 5V oder mit 3.3V versorgst. Auch von den Strömen die dort fließen können, sollten 10k und 5.1k völlig i.O. sein. Bei 8.5V und 10kOhm können über den Widerstand (I=U/R) maximal 0.00085A fließen - knapp ein Milliampere. Über die 10k und die 5.1k zusammen fließen, gegen GND, 0.00056A - ein halbes Milliampere. Sollen es später noch weniger sein, wähle die Widerstände größer.



Deine Akkuspannung beträgt max. 8.5V. Mit einem Spannungsteiler aus R1 100k und R2 10k bekommst Du eine Ausgangsspannung von ca. 0.77V, die am ADC-Eingang anliegt. Umgerechnet auf den Messbereich mit 1024 Werten auf die Versorgungsspannung, entspricht das ~158 Werten (von 0V bis 8.5V) aus 1024 Möglichen. Wenn Du den Nano mit 5V versorgst. Bei einer Versorgungsspannung mit 3V wären es ca. 260 Werte, aus 1024 Möglichen. Mit einem Spannungsteiler aus 10k und 5.1k, ungefähr 3.6mal soviel nutzbare Werte.

Ohne besondere Vorkehrungen können die digitalen Werte schwanken, die am ADC-Eingang ermittelt werden. Ein Minimum an Messbereich (Zahl der möglichen Messwerte) sollte da schon vorhanden sein. Wenn die 8.5V einem digitalen Wert von 158 entsprechen, dann die 7.4V einem Wert von 137. Und 7.0V dann 130. Das ist dann nicht sehr weit auseinander. Die Unterscheidung zwischen 7V und 7.4V in etwas ungünstigeren Fällen also kaum noch möglich.






Alternativ wären auch 3x 100k möglich. R1 = 100k und R2 dann bestehend aus 2x 100k parallel (50k).


Wenn der Nano mit 5V betrieben wird und den Messbereich auszunutzen: R1 = 100k und R2 = 147k ... oder ... 10k und 14.7k



MfG

021aet04
18.08.2019, 08:15
Ich würde 2x10k nehmen. Der Stromverbrauch ist relativ gering (420uA) und die Spannung ist auch noch weit genug von den 5V weg.
Die 100k kannst du auch nehmen. Ich würde aber dann sicherheitshalber zu jedem Widerstand einen 2ten parallel einplanen. Solltest du Störungen bekommen, brauchst du nur jeweils einen 2ten Widerstand einlöten. Du kommst dann auf 2x50k.

Bei den 100k kommst du beim Spannungsteiler auf 42uA.

Zu Störungen kommt es z.b. bei Bürstenmotoren, nicht entstörten Leuchtstofflampen (hört man manchmal bei Radios wenn die starten),...

Ein Poti ist auch nicht aufwendiger als ein Widerstand. Hier findest du einige Varianten http://www.dieelektronikerseite.de/Lections/Potentiometer%20-%20Alles%20geregelt.htm
Ich würde es so machen wie bei "Das Poti als regelbarer Widerstand" letztes Bild. Du musst nur das Poti und den Widerstand untereinander tauschen (Widerstand oben, Poti unten).


MfG Hannes

Moppi
18.08.2019, 08:18
Ich habe noch was gefunden, bezüglich der Störungen und der ADC-Eingangsbeschaltung: https://www.mikrocontroller.net/topic/69390

Insbesondere diesen Beitrag, mal als Zitat rüber geholt:


Hallo,

der Eingangswiderstand des ADC ist sehr hoch, weit im Megaohm-Bereich!
Der Pin muß Eingang ohne PullUp sein.


Es wird von Atmel eine relativ niederohmmige Quelle gefordert, weil die
Sample&Hold-Schaltung sonst Fehler erzeugt, weil das interne C aus einer
hochohmigen Quelle nicht innerhalb der 2 Takte auf den echten Wert
aufgeladen wird.


Ganz praktisch reicht es bei meinem AVR (Exemplaabhängig!) auch mit
220k/20k || 10n aus, um den Fehler unter 1% zu halten.


Gruß aus Berlin
Michael


Wenn das so ist, sollte man wohl dann mit 100k bis 200k bei R1 als Grenzwert arbeiten und keinesfalls in den Megaohm-Bereich hinein gehen.
Der Kondensator hier überbrückt R2 - soweit ich das gelesen habe. Ob das viel Sinn macht? Wollte es nur erwähnen.


Noch mal geschaut, was im Datenblatt zum mega328 steht:


The ADC is optimized for analog signals with an output impedance of approximately 10 kΩ or less. If sucha source is used, the sampling time will be negligible. If a source with higher impedance is used, the
sampling time will depend on how long time the source needs to charge the S/H capacitor, with can vary
widely. The user is recommended to only use low impedance sources with slowly varying signals, since
this minimizes the required charge transfer to the S/H capacitor.

021aet04
18.08.2019, 09:31
Welchen R2? Und ein Kondensator überbrückt nichts, außer er ist defekt, sondern speichert. Der C lädt und entlädt sich langsam über die Widerstände, somit ist es unempfindlicher gegen schnelle Spannungsänderungen wie sie bei Störungen auftreten.

MfG Hannes

Moppi
18.08.2019, 10:43
Spannungsteiler R1 , R2. R1 = oben, R2 unten. Gut, vielleicht hätte ich nicht "überbrückt" sondern "parallel zu" schreiben sollen.

xcalibur
18.08.2019, 21:43
So, danke für die Hilfe. Da sowohl Hannes als auch der in Moppis Antwort zitierte Michael für R1=R2=10k Ohm vorschlagen würde ich die beiden Widerstände verwenden. Bei dem Potenziometer war mir nicht bewusst dass es die als einfache Bauteile gibt (kenne die nur in überdimensionierter Form am Verstärker). Falls ich im Elektronikgeschäft einen passenden finde ersetze ich R2 damit.

So stelle ich mir dann die Verkabelung vor - mit 8,4V am VIN und max. 4,2V am A0 und einem Kondensator für eine bessere Fehlertoleranz. Seid ihr damit einverstanden?
34350

021aet04
18.08.2019, 21:50
Nicht ganz. Der Kondensator muss parallel zum R2. Also den Anschluss vom "A0" trennen und mit GND verbinden. Anschließend die Verbindung der Widerstände und des Kondensators zusätzlich mit "A0" verbinden. Den Kondensator würde ich noch kleiner machen (unter 1uF) und keinen Elko sondern einen keramischen nehmen.

MfG Hannes

xcalibur
18.08.2019, 22:07
Anschließend die Verbindung der Widerstände und des Kondensators zusätzlich mit "A0" verbinden.
Bin mir nicht sicher ob ich den Satz richtig interpretiert habe. Ist das so korrekt?
34351

Moppi
19.08.2019, 07:07
Ich versuchs mal mit einer Antwort. Ich hoffe aber, da kommen noch bessere Erklärungen und genauere!


Zumindest ist die Beschaltung des C so richtiger, bitte aber den C zwischen A0 und GND - nahe am µC, schalten!
In Verbindung mit R1 wirkt der Kondensator als Tiefpass. Allerdings verändert R2 den kapazitiven Blindwiderstand und damit die Charakteristik des Filters.
Ein Tiefpass sorgt dafür, dass hohe und sehr hohe Frequenzen gedämpft werden, bis dahin, dass sie den Filter gar nicht mehr passieren.
Jetzt haben wir hier keine Wechselspannungsanteile in der Versorgung (direkt vom Akku) so dass daher nichts ausgefiltert werden muss und kann. Da eine Gleichspannung gemessen werden soll, könnte ein Filter schon bei sehr geringer Frequenz wirksam werden. Unter nicht Beachtung von R2 kann C noch größer sein. Bei R1 = 10kOhm und C = 470nF läge die Grenzfrequenz bei ca. 33Hz. Bei 220nF für C, bei 72Hz. C hat einen Blindwiderstand (Xc), nach dem sich die Grenzfrequenz richtet, der wird hier durch den Parallelwiderstand R2 beeinflusst - meine ich. Da Du Gleichspannung messen willst und höherfrequente Störungen (ab 100, 200, 300 ... 500Hz) unterdrückt werden können, sind die 220nF schon in Ordnung so - würde ich jetzt sagen. Es kommt dann auf die Störungen an, die Du hättest - hast Du keine, brauchts keinen Filter :)


Betrachtet man die Störeinflüsse direkt am Eingangspin zum ADC - nach dem Spannungsteiler (also nicht die am Spannungsquellenausgang - LiPo), würden Frequenzen im MHz-Bereich ausgefiltert (vermutlich ab dreistelligem MHz-Bereich).

Ich würde, wegen der Klarheit, eher vielleicht dann so eine Beschaltung wählen:

34352
Wobei der Tiefpass dicht am µC plaziert werden sollte.




Normal wird ja VCC mit AVCC verbunden, hier kann - laut Datenblatt zum mega328 - noch ein Filter aus 100nF und 10µH eingebaut werden. Wenn es den braucht (Du hast Gleichspannung aus dem Akku). Steht bei mir im Datenblatt unter: 28.6.2. Analog Noise Canceling Techniques


Ich denke, Sicherheit bekommst Du, wenn Du im Betrieb der fertigen Schaltung mit einem Oszilloskop dran gehst und das Signal am ADC-Eingang anschaust.
Außerdem ist bis jetzt noch nicht klar, was Du mit dem Nano am Ende machen willst.




MfG

xcalibur
19.08.2019, 10:36
Es kommt dann auf die Störungen an, die Du hättest - hast Du keine, brauchts keinen Filter :)

An anderen Komponenten gibt es eine LED-Matrix, einen Piezo-Buzzer, einen zustandslosen Button und einen 6-Achsen-Gyro-Sensor. Weiß nicht ob die Störungen verursachen können oder nicht, deshalb habe ich es vorsichtigerweise mit eingeplant. Wenn das nicht nötig sein sollte ist das natürlich um so besser aber immerhin ist die Aussage ja auch schon im Thread gefallen:

Ein Kondensator kann nicht schaden.




Ich denke, Sicherheit bekommst Du, wenn Du im Betrieb der fertigen Schaltung mit einem Oszilloskop dran gehst und das Signal am ADC-Eingang anschaust.
Außerdem ist bis jetzt noch nicht klar, was Du mit dem Nano am Ende machen willst.

Ein Oszilloskop besitze ich leider nicht. Das Projekt ist ein Fahrradhelm der gestengesteuert über eine LED-Matrix "blinken" kann, also die Abbiegerichtung anzeigt :)
Daher ist sowohl der Stromverbrauch relevant als auch dass es recht kompakt bleibt. Habe das ganze schon auf einer Lochplatine verlötet (hatte ja nicht bedacht dass eine Akkustandsabfrage notwendig ist) und da ist noch Platz, aber begrenzt viel.



Ich würde, wegen der Klarheit, eher vielleicht dann so eine Beschaltung wählen:

34352

Hast du da jetzt noch einen 100 Ohm-Widerstand hinzugefügt? Wo kommt der her?

Moppi
19.08.2019, 12:14
Hast du da jetzt noch einen 100 Ohm-Widerstand hinzugefügt? Wo kommt der her?

Habe ich hinzugefügt, um zu verdeutlichen, wie ein Filter aussieht. :)


Ein Kondensator kann nicht schaden.

Bloß Sinn sollte er schon ergeben. Also dass er wenigstens etwas filtern könnte, wenn es denn da wäre, was für den Fall der Gleichspannungsmessung eben auftreten könnte. Deshalb aber, um Dein "außerdem" zu unterstützen, mach den Kondensator - wenn schon - dann wenigstens unmittelbar am A0-Pin dran und schalte den mit dem andern Beinchen an den nächsten GND-Pin.

021aet04
19.08.2019, 15:28
Es geht nicht darum das man Frequenzen filtert, sondern um kurzzeitige Störungen zu eliminieren. Die Schaltung aus Post 19 funktioniert.

Ich habe es jetzt nicht getestet (mit Funktionsgenerator o.Ä.) aber mit LT-Spice habe ich den Spannungsteiler gezeichnet und alle 3 Varianten getestet.
Habe als Spannung 8V genommen, einen kurzen Impuls auf 12V und anschließend auf 4V. Als Testimpuls habe ich einfach eine Rampe von 1ms genommen. Also 8V, in 1ms auf 12V, wieder 1ms später auf 8V und das gleiche mit den 4V.
Mein Ergebnisse:
ohne C: 2V und 6V
mit 100nF: ca. 2,67V und 5,29V (die restlichen Kommastellen einfach abgeschnitten)
mit 100nF und 100Ohm (wie im Post 20): 2,68V und 5,29V (Kommastellen ebenfalls abgeschnitten)


Der Kondensator sollte aber trotzdem so nah wie möglich an den Eingang.

Man kann das Signal noch weiter im uC verarbeiten (Mittelwertbildung, einzelne "Ausreißer" entfernen,...).

MfG Hannes

xcalibur
19.08.2019, 20:26
Der Kondensator sollte aber trotzdem so nah wie möglich an den Eingang.

Alles klar, werde ich machen!

Sehr vielen Dank nochmal an euch beide! Werde die Tage das Ganze wie besprochen verlöten und bin schon sehr gespannt wie es läuft :)

Moppi
20.08.2019, 06:12
Oszilloskop habe ich auch (noch) nicht. Ist aber die Möglichkeit, in fertig aufgebauten Schaltungen verschiedene Messpunkte abzugreifen und sich das Signal anzuschauen. Es gibt auch Günstige bis 60 Euro, die mindestens ein Signal anzeigen können. Für solche Zwecke, Störungen auszumachen, sollten die ausreichend sein.