Guten Abend,
Nachdem ich gesucht habe aber nicht wirklich fündig wurde wende ich mich
hier an euch.
Ich habe einen Arduino Nano und Messe damit die Spannung über einen
18650 beim entladen. An AREF hängt ein TL431 als Referenz mit einem
Kondensator.
Leider bekomme ich keinen geraden Wert heraus. Die Messwerte springen
herum um 0,18V wie man in dem Diagram sehen kann.
Hat jemand einen Hinweis wieso der Wert so springt und wie ich das
beheben kann?
Ich habe schon nach einem Tiefpass gesucht aber ich habe nicht gefunden
wie dieser dimensioniert sein soll. Nachdem es Gleichspannung ist habe
ich ja keine Grenzfreqzenz oder doch? Ich messe 4 mal pro Sekunde eine
Gleichspannung und denke mir ich sollte doch eigentlich immer den
gleichen Wert herausbekommen.
Danke
a)
dein Signal ist wirklich so bescheiden, eventuell durch Leitungsführung
bei der du dir störunfen einfängst.
b)
deine Sample-Zeit ist zu kurz.
Zeig mal Schaltplan!
Guten Abend,
Hier der Schaltplan. Ich bilde jetzt noch den Mittelwert von Messungen,
allerdings wird der Wert dann nur ein wenig stabiler. Ich habe die
Schaltung im Moment auf einem Breadboard aufgebaut und hier die
Leitungen gekürzt. Das hatte gar keinen Einfluss auf das MEssergebnis.
Hat noch jemand eine Idee was das sein kann?
Andreas schrieb:> Hat noch jemand eine Idee was das sein kann?
Ich vermisse Pufferkondensatoren an den Multiplexereingängen des ADC.
Deine Signalquelle ist mit 5kΩ sehr hochohmig.
Mit einerm PIC 12F675 kann man die Durchlassspannung von 4
hintergeschalteten 1N4148 Si-Dioden selbst auf einem Steckbrett
mit einem stablen LSB messen.
Du machst also was flasch [x].
Vllt solltest du dein Dummfon einen Meter weiter weg legen...
Ich vermute mal dein FET wird mit PWM beaufschlagt? In dem Fall ist es
nicht verwunderlich das du so ein Signal erhälst. Freunde dich mit dem
Herrn Nyquist an und spendiere deinen Spannungsteilern noch einen Satz
Kondensatoren.
Kevin M. schrieb:> Ich vermute mal dein FET wird mit PWM beaufschlagt?
Ach neeeeee?
weiter weg schrieb:> Ist den der FET statisch eingeschaltet oder beaufschlagst du> ihn mit einer PWM?
Hallo,
Kein PWM am FET. Der ist einfach nur eingeschaltet.
Kondensatoren hinzugefügt und den Spannungsteiler von 10k auf 4k7
geändert. Telefon ist weit weg.
Keine Verbesserung! :(
Herrn Nyquist ist sicher ganz ein netter! Ich habe hier aber eine
Gleichspannung die ich messen möchte. Also eine Frequenz von 0. Wie gehe
ich damit um?
Welchen Kanal zeigt deine Messung? A0 oder A1? Oder misst du
differentiell zwischen zwei Eingängen?
Falls du differentiell misst: wie stabil ist die Gate-Ansteuerung des
FET?
Wie sieht die Messung von A0 aus wenn der FET nicht eingeschaltet
sondern ausgeschaltet ist?
Dein Vref beträgt 2,5V, die gemessene Spannung liegt bei 3,5V. Diese
3,5V sind wohl ein "zurückgerechneter" Wert, bei dem du wegen des
Spannungsteilers einen Faktor 2 ranmultipliziert? Zeige möglichst auch
die Originaldaten der ADC-Messung ohne dass irgendwelche Korrekturen
reingerechnet wurden.
Andreas schrieb:> Leider bekomme ich keinen geraden Wert heraus
Na ja, Steckbrett ist schon mal mies, Masse vom uC ist ja nicht nur
Massebezugspunkt des A/D-Wandlers, sondern auch für die pulsförmig
wechselnde Stromaufnahme des uC.
Da du aber keinen nackten Chip hast, sondern einen Nano, versuche mal
die Schaltung so zu verdrahten, dass die Stromversorgung über den einen
GND und der TL431 und Analogeingang über den AGND kommen. Anlöten kann
auch helfen. Manche Nanos sind aber auch intern (4, 29) schlecht
geroutet.
5k Spannungsteilerimpedanz ist in Ordnung.
Ein TL431 will übrigens mit 4u7 abgeblockt werden.
Du hast (scheinbar) eine eigene 5V Versorgung, du nutzt nicht die zu
messende Batterie als Quelle, das ist ja erst mal gut.
Immer dran denken: Arduinos sind wie Lego: einfach zusammenzustecken,
auch für Kleinkinder. Von echter Elektronik aber so weit entfernt wie
Lego von Maschinenbau. Die Perforrmance echter Elektronik ist damit
nicht zu erreichen.
Andreas schrieb:> Die Messwerte springen> herum um 0,18V wie man in dem Diagram sehen kann.
Ohne die Umrechnung zu kennen, sind diese Werte wertlos. Zeige mal die
Rohwerte, also die echten 10 Bit.
A) Du ziehst 1 A? Vielleicht begrenzt da schon was. Versuch Mal, ob 0A
besser sind.
B) Misst Du beide ADs? Versuch Mal nur einen. (Kann bei A entfallen
C) verlängere die Sample-Zeiten auf Maximum und schalte den AD ein paar
100ms vorher schon zu.
Das ist nur, um den Fehler zu finden. Nachher kannst Du das zurückbauen.
Ich würde eine Mittelung in software versuchen. 8x messen und
aufsummieren und daraus die Spannung berechnen. Steckbrett ist nun mal
nich so super vong kontakt her.
Wenn ich mal das Diagramm interpretiere, ist ein LSB so zwischen 2..3
Linien groß. D.h. maximal sind die Schwankungen 4 LSB, so schlecht ist
das also nicht für einen Brettaufbau.
Bei V_ref 2.5V und dem Spannungsteiler sollte ein LSB 48.83mV sein, also
ca. 2.5 Linien. Die Werte im Diagram sind auf zwei Nachkommastellen
gerundet, das bringt zusätzliche Fehler.
Wie konfigurierst du denn den ADC (Frequenz, sampling Art, noise
reduction sleep usw...)? Sehr viel genauer wirds aber nur mit einem
externen ADC.
Den FET darf man zum testen auch abschalten, genauso wie jeden anderen
Ausgang (z.B. die LED). Das minimiert in Bezug auf die eigentliche
Messung externe Störungen.
Ansonsten: Messeingang der Batterie wech, externe Referenz wech, Poti
oder Spannungsteiler am ADC anklemmen und mit dieser
Minimalkonfiguration erst einmal gegen die internen Referenzen schauen,
was man an Rauschen am ADC erwarten kann.
Danach sukzessiv wieder aufbauen und sehen, woran es hapert.
Andreas schrieb:> Herrn Nyquist ist sicher ganz ein netter! Ich habe hier aber eine> Gleichspannung die ich messen möchte. Also eine Frequenz von 0. Wie gehe> ich damit um?
Du lebst also in einer idealen Welt ohne externe Störungen? Das ist
besonderst gut wenn alles über zig Steckbrettkabel geht.
Nimm die Sampling Frequenz des ADC, teile sie durch 5 bis 10 und du hast
deine Grenzfrequenz.
Die Schaltung zeigt ja nicht, was da noch so alles dranhängt (Netzteil,
USB, RS-232?), ob es darüber zu Masseschleifen kommt, wie stabil
überhaupt die unbekannte Batterie ist, ob die belastet wird usw.
Andreas schrieb:> Ich habe einen Arduino Nano ...
Dann ist AVCC nicht von VCC entkoppelt?
> An AREF hängt ein TL431 als Referenz mit einem Kondensator.
Und was hast du im ADMUX Register in den oberen beiden Bits stehen?
Peter D. schrieb:> Ohne die Umrechnung zu kennen, sind diese Werte wertlos. Zeige mal die> Rohwerte, also die echten 10 Bit.
Hier sind die 10 Bit. Es macht dabei keinen unterschied ob die Batterie
belastet ist oder nicht. Ich hab den FET mal entfernt und es Schwankt
weiter.
Peter D. schrieb:> Die Schaltung zeigt ja nicht, was da noch so alles dranhängt (Netzteil,> USB, RS-232?), ob es darüber zu Masseschleifen kommt, wie stabil> überhaupt die unbekannte Batterie ist, ob die belastet wird usw.
Die Schaltung ist so wie auf dem Schaltplan. Strom kommt über USB vom
Laptop. Ich habe auch schon mit einem externen Netzteil versucht.
Ich habe jetzt noch einen anderen Nano probiert und anderen
Batteriehalter. Gleiches Ergebnis.
Ich muss werde mir jetzt mal ansehen wie ich die Samlpingrate ändern
kann. Das habe ich noch nicht versucht, weiß aber auch noch nicht wie
ich das mache.
Andreas schrieb:> Es macht dabei keinen unterschied ob die Batterie> belastet ist oder nicht.
Sehr seltsam.
Was misst Du denn mit dem Voltmeter direkt am Eingangspin vom uC?
Gibt es da eine Spannungsänderung bei Belastung?
Siehst Du die in den Binärwerten?
Bastler_HV
Andreas schrieb:> Hier sind die 10 Bit.
Kannnst du die mal als Text statt als Bild liefern und mit einigen
Messwerten mehr (wenigstens ca. 1000, besser ca. 10000)?
Helge schrieb:> Ich würde eine Mittelung in software versuchen. 8x messen und> aufsummieren und daraus die Spannung berechnen
Das übertüncht nur die Fehler. Erstmal muss klar werden, wo der Dreck
her kommt.
Andreas schrieb:> Hier sind die 10 Bit.
Das sieht sehr seltsam aus, die Häufung bestimmter Werte. Rauschen oder
Störungen kenne ich anders.
Ist das wirklich ADCW als int16 oder machst Du noch komische
Berechnungen damit?
Ich verweise mal auf Fig. 16 im TI Datenblatt des TL431. Da sieht man,
das der TL431 in einem weiten Bereich des parallelgeschalten CL unstabil
ist und zum sicheren Oszillator wird (vor allem bei 0,1µF bis 1µF).
Entweder beschränkt man sich bei CL auf unter 5nF oder man geht deutlich
über 4,7µF, besser 10µF.
Ich erinnere mich, auf diesen Shuntregler bin ich auch mal
hereingefallen, ich hatte 1µF genommen. Eine schwingende Referenz ist
natürlich Gift für den ADC.
Bei einem 10µF MLCC muß man auch die Spannungsabhängigkeit beachten.
Matthias S. schrieb:> Ich verweise mal auf Fig. 16 im TI Datenblatt des TL431.
Danke dass du dir die Mühe gemacht hast etwas genauer
hinzuschauen.
Daraus lernt man dass man für Hobbyzwecke keine solche Mimose
von Referenz verwenden sollte. Aus meiner Erfahrung haben sich
die Referenzen
REF3012, REF3020, REF3025, REF3030, REF3033, REF3040
als unkritisch bewährt.
Gibt natürlich viele andere .....
ADC / REF Nutzer schrieb:> Daraus lernt man dass man für Hobbyzwecke keine solche Mimose> von Referenz verwenden sollte.
Naja, wenn man es einmal weiß, ist der TL431 sehr brauchbar und
preiswert dazu. Nur ist eben der typische 100nF, den man gerne mal an
AREF hängt, hier kontraproduktiv.
Matthias S. schrieb:> Ich verweise mal auf Fig. 16 im TI Datenblatt des TL431. Da sieht man,> das der TL431 in einem weiten Bereich des parallelgeschalten CL unstabil> ist und zum sicheren Oszillator wird (vor allem bei 0,1µF bis 1µF).> Entweder beschränkt man sich bei CL auf unter 5nF oder man geht deutlich> über 4,7µF, besser 10µF.
10uF eingebaut.... Es lag wirklich an dem Kondensator/TL431.
Hier die Spannung an der Batterie unter Last.
Vielen Dank an alle die mitgetüftelt haben.
Andreas schrieb:>> das der TL431 in einem weiten Bereich des parallelgeschalten CL unstabil> 10uF eingebaut.... Es lag wirklich an dem Kondensator/TL431.
Eine nette Falle.
Damit bist Du in guter Gesellschaft, auch im beruflichen Umfeld war es
schon hilfreich, dass ein Kollege oder ich ein IC kannten, mit welchem
jemand anders gerade auf die Nase gefallen ist.
Und eigentlich ein überflüssiges Bauteil, die interne Referenz des
ATMega ist gut genug, damit habe ich mehrere Aufbauten. Unschön ist
deren Serienstreuung, man muß für jeden µC individuell justieren.
Andreas schrieb:> Ich bilde jetzt noch den Mittelwert von Messungen,> allerdings wird der Wert dann nur ein wenig stabiler.
Das würde ich auch weiterhin so machen. Ich hole z.B. 11 Werte, den
ersten werfe ich direkt weg. Danach werfe ich den größten und kleinsten
weg und teile durch 8, das bringt zusätzliche Ruhe rein.
(Zur Ermittlung größer / kleiner kennt die Arduino-IDE "min" und "max")
Manfred schrieb:> Eine nette Falle.
in die Selbe Falle gehen auch viele mit dem LM78xx, ohne Cerco schwingt
der ganz schön.
Das selbe Fenomen beobachtet man auch oft bei LDO's.
Wir bekommen immer mal wieder Prints von Kunden zur Analyse, wo das
selbe Problem besteht!
Keine oder zu Kleine "C" bei den Spannungsregler oder aber auch IC's ;-)
Manfred schrieb:> Und eigentlich ein überflüssiges Bauteil, die interne Referenz des> ATMega ist gut genug, damit habe ich mehrere Aufbauten.
Die internen 1,1V? Puh, das ist eine Möglichkeit, aber erstens muss man
die immer kalibrieren, weil kein Mega wie der andere ist und zweitens
macht man damit die ADC Eingänge noch empfindlicher gegen Störungen, als
sie jetzt schon sind. Beim TL431 weiß man wenigstens, das er seine 2,5V
recht gut einhält, noch besser wird das mit dem TL431A.
CL ist ja auch nur eine Kleinigkeit, die man sich in Zukunft hinter die
Ohren schreibt und gut isses.
Patrick L. schrieb:> Wir bekommen immer mal wieder Prints von Kunden zur Analyse, wo das> selbe Problem besteht!> Keine oder zu Kleine "C" bei den Spannungsregler oder aber auch IC's ;-)
Wer keine Cs verbaut, sollte auf Gärtner umschulen. Böse finde ich
Regler, die trotz Kondensatoren schwingen, weil sie nur einen gewissen
Bereich tolerieren.
Matthias S. schrieb:>> Und eigentlich ein überflüssiges Bauteil, die interne Referenz des>> ATMega ist gut genug, damit habe ich mehrere Aufbauten.>> Die internen 1,1V? Puh, das ist eine Möglichkeit, aber erstens muss man> die immer kalibrieren, weil kein Mega wie der andere ist
Du hättest gerne lesen_ und _vollständig quoten dürfen:
Manfred schrieb:> Unschön ist> deren Serienstreuung, man muß für jeden µC individuell justieren.Matthias S. schrieb:> Beim TL431 weiß man wenigstens, das er seine 2,5V> recht gut einhält,
Wenn man eine Serie baut, macht das Sinn und wird vmtl. günstiger, als
jede Baugruppe individuell justieren zu müssen.
> und zweitens> macht man damit die ADC Eingänge noch empfindlicher gegen Störungen, als> sie jetzt schon sind.
Das sehe ich als frei erfundenes Problem.
Manfred schrieb:> Das sehe ich als frei erfundenes Problem.
und kommt auch oft davon das die C's zu klein, Fehlen oder zu weit weg
vom ATMega sind ;-) auch da konnten wir schon Kunden helfen in dem wir
die "Flöhe" auf dem PCB mit C's eingefangen haben :-)
Bedenke:
"HF und Störsignale sind wie Flöhe, sind sie erst mal in den
Leiterbahnen auf dem PCB, kann man sie kaum mehr einfangen ;-)
Manfred schrieb:> Das sehe ich als frei erfundenes Problem.
Nun, wir konnten ja das Problem des TE ohne deine geschätzte Mithilfe
lösen. Und wer rechnen kann, wird feststellen, das eine AREF von 1,1V
den Störspannungsabstand am ADC Eingang um mehr als die Hälfte
vermindert im Vergleich zu 2,5V AREF.
Das kannst du gerne als 'frei erfunden' bezeichnen, aber eine Begründung
fehlt dir wohl. Es fällt auf, das du erst reingekleckert kommst,
nachdem alles gelöst ist und nun nach irgendwelchen Fehlern suchen
möchtest.
my2ct schrieb:> Damit wirst du dich noch mindestens bis zur Einführung der nächsten NDR> gedulden müssen ...> https://de.wiktionary.org/wiki/fenomen
Hast du den Artikel Ganz gelesen
Bedeutungen:
[1] Phänomen, Erscheinung
LOL
Manfred schrieb:> Ich hole z.B. 11 Werte, den> ersten werfe ich direkt weg. Danach werfe ich den größten und kleinsten> weg und teile durch 8, das bringt zusätzliche Ruhe rein.
Ruhe != Genauigkeit
Von Dir möchte ich kein Messgerät haben.
Du hast schon mal beim Papst gefrühstückt?
Dann bist Du sicherlich ein gläubiger Mensch, der glaubt, mit
Datenmanipulation "wahre" Messwerte zu erhalten.
Anstatt alles durch Tiefpassfilter auf Mittelmaß zu reduzieren, rate
ich, die Ursachen für vermeintliche Messfehler zu suchen. Wie man sieht,
hat das bei anderen Leuten ja auch positiv funktioniert.
Manfred schrieb:> Weil Dein Beitrag inhaltlich sinnvoll war, habe ich mir das verkniffen!
Danke,
Ich schreibe immer mal wieder:
> "Deutsch ist NICHT meine Muttersprache!"
und:
> "Ich bin hier nicht im Forum Deutschunterricht"
ich versuche gerne zu helfen wenn ich kann. deshalb bin ich hier!
ich versuche eigentlich auch so gut es geht Pöbeleien zu ignorieren,
um den Thread nicht zu sehr verwässern.
Wenn man sucht findet man in fast jedem Thread von irgend ein User
manchmal "Tippfehler", haben aber kein Einfluss auf die guten Tipps.
So das war Offtopic genug :-D