Hallo
Ich arbeite gerade an einer Windmessung mit einem Widerstandsdraht .
den ich bestrome und anhand der Stromänderung den Win bestimme.
Das klappt auch schon ganz gut ,nur ändert sich der Strom im Bereich
zwischen 1,5 und 2,5 mA also nicht viel.
Hab nun einen 100mOhm 4 Lleiterwiderstand zwischengeschalten und Messe
den Spannungsabfallder so bei 35 mVliegt und ändert sich im
Kommabereich .
Danach hab ich nun einen Verstärker LMP8172 nachgeschlten der Versärkt
das ganze nun um 20 fach auf so 700mV .Die wollte ich jetzt messen mit
einem M16 AVR.
Leider klappt das nicht so ganz da der gemessene Wert mit dem AVR stark
schwankt, obwohl wennn ich mit dem Multimeter messe der Wert gleich
bleibt.Da es bei mir ja aufs mV ankommt ist das völlig unbrauchbar
Habe schon mit unterschiedlichen Ref Spannungen probiert 1,5V bis 5
Volt.
Verwende Bascom AVR .
Hat jemand vieleicht eine Idee ?
Oder mach ich einfach bei der Messung mit dem AVR was falsch aber wenn
ich die Betriebsspannung messse komme ich immer auf 4,9998528.
Gruß
Wolfgang
bei 35mV ist es wichtig den Offset und wenn Temperaturschwankungen sind
den Offsetdrift zu kompensieren...
Ich würde auch die Verstärkung höher stellen... das du auf ~3V kommst...
dann lässt sich das ganze schön messen... wenn die Schwankungen nicht zu
schnell von statten gehn, vllt noch einen kleinen kondensator dazu,
damit die spannung nicht zu schlimm schwankt, von was auch immer
herrührend...
bei der programmierung kann ich leider nicht helfen, bin eingefleischter
C programmierer ^^
Weshalb nur auf 700mV verstaerken ? Da sollte man auf das maximal
moegliche gehen, sodass der Wandlerbereich ausgenuetzt wird. Der Opamp
sollte eine kleine Drift haben.
Hallo Danke für die schnelle Antworten
also mit Konensator habs ich schon mal Probiert hilft nichts
und ich habs auch mit dem Ossci nachgemessen die spannung schwankt
eigendlich nicht
Kann das Signal noch Vertärken muß mir noch einen guten Op suchen aber
wennn der AVR so unteschiedliche Werte liefert hulft das auch nicht
viel
Gruß Wolfi
Da der Wind nicht gleichmäßig weht, sind Deine Messungen natürlich
Schwankungen unterworfen. Wenn Du jeweils den Mittelwert über z.B. 10
aufeinander folgende Messungen nimmst, wird das Ergebnis wahrscheinlich
stabiler aussehen.
deine referenz ist einfach nicht gut genug....
schau mal im datenblatt vom uC nach was da alles vorgeschlagen wird...
wenns dann noch immer nicht so tut wies soll:
*guard-ringe rundherum
*extra-analog-masse machen
*alles schön niederohmig machen
*und dann erst in software noch nen filter drüber...
aja und schmalbandig messen hat auch noch niemanden geschadet... sprich
irgendwo einen tiefpass hin.. aber bitte nicht den C an die OP-eingänge
oder an den analog-eingang vom Uc... das kann zu lustigen schwingungen
führeren...
73
>mit einem Widerstandsdraht
Hallo Wolfi,
warum denn nun gerade Widerstandsdraht!??
der ist ja nun mal dafür gemacht, das er seinen Wert bei
Temparaturschwankungen gerade NICHT ändert (ändern sollte).
Bei einem dünnen Kupferdraht sieht die Sache messtechnisch wesentlich
freundlicher aus.
Natürlich ist der spezifische Widerstand deutlich kleiner. musst Du
einen dünneren Draht nehmen.
Du kannst auch von einer Taschenlampe"birne" den Glaskolben VORSICHTIG
entfernen und das, was von ihr übrig bleibt verwenden. Geht Seehr gut!!
Oder:
Hast du einen PTC zur Verfügung? Lass den warm werden.
Eine Diode in Flussrichtung könnte auch gehen.
VIele Grüße
AxelR.(Heute mal als GAST)
@Wolfi
>Das klappt auch schon ganz gut ,nur ändert sich der Strom im Bereich>zwischen 1,5 und 2,5 mA also nicht viel.>Hab nun einen 100mOhm 4 Lleiterwiderstand zwischengeschalten und Messe>den Spannungsabfallder so bei 35 mVliegt und ändert sich im>Kommabereich .
Diesen Satz verstehe ich nicht.
Wie hast du dein Widerstanddracht eingeschlossen?
Warum muss du Strom messen?
Ich nehme an du hast ein Widerstanddracht mit positiven oder negativen
Temperatur-Koeffizient, d.h. mit Temperatur ändert sich sein Widerstand.
Durch Strom erhitz sich Widerstanddracht durch Eigenerwärmung und
dadurch
steigt(oder sinkt) sein Widerstand.
Durch Wind wird Widerstanddracht abgekühlt und damit sinkt sein
Widerstand.
Damit ist möglich indirekt Windgeschwindigkeit zu bestimmen.
Du brauchst am ende die Widerstandänderung zu messen.
Am einfachste wehre mit einem Bruckenschaltung, mit 3 fix Widerstände
und
deinem Widerstanddracht:
AVCC----------
| | R1=R2
- -
R R
1 2
- -
| |
.-------|-----ADC0
| | (Diff. Modus)
| .-----ADC1
- -
Rwind R R3=Rwind(ohne Wind)
3
- -
| |
AGND----------
Am ende kannst du Differenz-Eingang von ATmega16(ADC0-ADC1) verwenden
und
Verstärkungs-Faktor einstellen.(Gain=10?).
Und am ende mereren Messwerten aufsummieren.
Branko
Manchmal sucht man am falschen Ende. Schließe erstmal ein Poti an am ADC
Eingang. Kleines BasCom Programm (mußt noch eine Pause einbauen, siehe
Thread:)
Beitrag "Mega8 ADC Meßproblem"
Laß hören, woran es gelegen hat.. :-)
also wenn ich mich recht erinnere hat der avr doch eien bandgap
drinnen.. damit wäre 700mV schon in etwa 2/3 von der full-scale...das
ist schon OK.. das größte problem ist meiner erfahrung nach die referenz
so stabil zu bekommen, dass die werte nicht springen.. das hat imho fast
ausschließlich mit der referenz und der eingangsstufe zu tun... dein
multimeter springt nicht weil da ein 2-rampen ADC drinnen ist und der
integriert dir über die zeit von selbst.. der avr hat einen SAR-ADC
drinnen... da ist das dann ein bisserl böser...
die idee mit dem poti und schaun obs dann noch immer springt würd ich
schonmal als zielführend ansehen....
73
Hallo
Vielen Dank für die rege Teilnahme an meinem Beitrag.
Also der Widerstandsdraht ist ein Temeraturabhängiger der ändert seinen
Wert von 0 bis 100° um 33%. Verwende ja 2 meter davon bei 21 Ohm pro
Meter
Hab da schon einige Versuche hinter mir ich kann nur sagen das es mit
der Strommessung am bessten klappt.
Die Widerstandsmeßbrücke hab ich auch versucht, aber ich komm da nicht
auf immer gleiche Ergebnisse da ja duch den Strom die Bauteile sich
auch erwärmen.Das Problem ist das sich eine Änderung nur im mV Bereich
ergibt und das sollte auch immer gleich sein bei einer bestimmten
Windgeschindigkeit(die liegt so zw.0,1 bis 1m/s) mehr kann man auch mit
dieser Methode nicht messen wie ich so ausprobiert habe.)
So nun zum eigendlichen Problem hab jetzt die Versuche mit dem Poti
gemacht und mußte feststellen, das das schon das Übl sein kann.
Wenn ich die Betriebsspannung als Ref nehme und auch diese dann mit dem
ADC messe bleibt der gemessene Wert gleich. Nehm ich aber eine andere
Spannung zb. von einem Netzteil und messe wiedrum die Spg der
Betriebsspannung bekomme ich unerschiedliche Werte zurück das ist zwar
nicht viel aber es schwankt doch um ein einige mV.
Also denk ich liegt schon viel an einer sehr genauen Ref Spannung wie
Hans vormir geschrieben hatt.
Werd also mir einen Präzisionsspannungsregeler besorgen und dann das
ganz mal wieder wiederholen und schauen was dabei rauskommt.
Melde mich dann wieder
Danke nochmal
Wolfi
du brauchst keinen speziellen-spg-regler... du musst die spannung nur
sauber bekommen...
so ein 7805 in std.-beschaltung und dann noch ein LC-Filter nach sollte
eigentlich schon funktionieren.. aber du kannst auch den bereits in
deiner schaltung verwendeten nehmen...nur sollte die spannung für deinen
sensor eben über ein LC-Filter und direkt vom regler kommen...
du hast auch nicht gerade zu vernachlässigende leiterschleifen... also
solltest du zumindest irgendwo einen integrator mit 300ms zeitkonstanten
haben um 60,50 und 16 2/3 Hz zu unterdrücken
73
>Also der Widerstandsdraht ist ein Temeraturabhängiger der ändert seinen>Wert von 0 bis 100° um 33%.
Das ist in Ordnung.
>Die Widerstandsmeßbrücke hab ich auch versucht, aber ich komm da nicht>auf immer gleiche Ergebnisse da ja durch den Strom die Bauteile sich>auch erwärmen.
Wie stellst du dir Messprinzip vor?
Widerstandsdracht hat kein Fehl um das Wind zu spüren.
Du verstehst Prinzip nicht. Widerstanddracht MUSS sich durch
den Strom erwärmen und je mehr desto besser.
Auf diese weise steigt sein Widerstand.
Durch den Wind wird dein Widerstanddracht abgekühlt und damit sinkt
seine Temperatur(und sein Widerstand).
Am besten wehren zwei identische Widerstände zu verwenden:
------------->
W--->/
i--->| . Wref
n--->\
d----->. Wmess
------------->
Auf diese weise kannst du Einfluss von Umgebungstempetarur kompensieren
weil ein Widerstand wird nicht durch der Wind beeinflusst und er liefert
dir dein Referenzwiderstand. Und Bruckenschaltung ist die beste Lösung
um richtige Messwerte zu bekommen.
AVCC--------
| |
R R
| |
| |
Wmess Wref
| |
AGND--------
also das mit dem Meßprinzip ist ganz einfach ich Heize den Draht mit
einer bestimmten Spannug und messe den Strom.
Wird nun der Draht von einem Wind umströhmt so ändert sich sein
Widerstand und somit auch der Strom und diese Veränderung werte ich dann
aus um den Wind zu Bestimmen.
Das ist die Theorie aber praktisch ist das viel schwerer es mu der
richtige srtom fließen das sich der Draht nicht so stark erwärmt aber
auch nicht zu wenig hab da schon einige Versuche hintermir .
Gruß wolfi
>Das klappt auch schon ganz gut ,nur ändert sich der Strom im Bereich>zwischen 1,5 und 2,5 mA also nicht viel.
O.K. 1,5mA<I<2,5mA
>Hab nun einen 100mOhm 4 Lleiterwiderstand zwischengeschalten und Messe
R=100mOhm=0,1 Ohm
>den Spannungsabfallder so bei 35 mVliegt
Wie kommst du darauf?
U=I*R -> 1,5mA*0,1 0hm=0,15mV; 2,5mA*0,1 Ohm=0,25mV
>den Spannungsabfallder so bei 35 mVliegt und ändert sich im>Kommabereich .
Du hast offensichtlich ein offset von ca.35mV weil Spannungsänderung
ist nur 0,1mV(100µV).
Lösung ist villeicht ein AD8551 oder AD8571 OPA mit 1µV Offset
Branko
Ich habe die Erfahrung gemacht dass die gemsessenen Werte des ADC im AVR
ziemlich stabil sind, wenn man mehrere Messungen vornimmt und dann den
Mittelwert errechnet. Bei einem Mittelwert von 64 (10 Bit) Messungen
(passt gut in eine 16 Bit Variable und lässt sich mit einfachen Shift
Operationen wieder teilen) schwankt nur noch das LSB. Gegen einen
konstanten Offset hilft das aber eher nicht.
Wenn man es mit Messgeschwindigkeit absolut nicht eilig hat, kommt man
mit sehr vielen Messungen mit der Auflösung auch deutlich unterhalb die
10 Bit. Allerdings habe ich festgestellt, dass dies dann nicht mehr ganz
linear ist .
Im Anhang mal die Ladekurve eines Akkus. Die Skala ist in mV (abzüglich
eines Offests zur besseren Darstellung). Der ADC könnte bei meiner
Schaltung eigentlich nur Unterschiede von knapp 20mV feststellen (daher
wohl die kleinen Wellen in der Kurve). Es wurde jeweils der Mittelwert
von 2048 Messungen verwendet.
Hallo,
mein Bastelprojekt ist zwar ein ganz anderes, aber ich versuche
ebenfalls kleine Spannungen und/oder Ströme mit einem ATmega8 zu messen.
Das Layout der Platine scheint große Bedeutung zu haben.
Die Führung der Masseleitung usw.
Mit der ATmega8 Platine hier
http://www.razyboard.com/system/morethread-wrdkontrollekamikrokontrolle-wiesollichnurheissen-1542510-4190906-0.html
habe ich überraschend gute Ergebnisse.
mfg werner
P.S: Sauberer als die Spannung am Widerstandsdraht wird die Messung
nicht werden.
Hallo,
bei DMS (120 Ohm, delta 0,3 Ohm) mache ich das auuf folgende Weise.
1000 mal messen und dann den Mittelwert bestimmen. Dadurch kann man die
Auflösung des ADU auf Kosten der Geschwindigkeit erhöhen.
Komme damit weit unter die Auflösung des ADU.
Da sich auch dieses Signal sehr langsam ändert, sollte das für eine
Temperaturmessung auch möglich sein.
mfg
fritz123
PS
siehe Stochastische Messtechnik bzw. Dither
Ja, theoretisch ist Rauschen dazu nötig. Ich nehme aber die Spannung (5
Volt) von der USB Schnittstelle und das funktioniert auch.
(In der Praxis ist das eine brauchbare, billige Rauschquelle.)
fritz123