Hallo Forum,
Ich habe folgende Problematik:
Ich will mir eine kleine Waage bauen. Die wägezelle hat eine
Brückenschaltung die bei nicht Belastung abgeglichen ist. D.h 0V hat
Bei 1000g ist die Ausgangsspannung 4mV
Die Wägezelle hat einen Bereich bis 30kg. Die Ausgangsspannung ist
weitestgehend proportional zum Messbereich. Bei 30kg wären es dann
30x4mV = 120mV
Nach genauerer Analyse hab ich gemerkt dass die Wägezelle sehr viel
genauer ist als im kg Bereich. Pro g hab ich eine Änderung von 4uV
Mein Mikrokontroller hat ein 10bit AD Wandler. Bei einer
Referenzspannung von 5V ergibt dies pro Schritt 5:1024=4,88mV. D.h ohne
Verstärker kann ich nur im kg Bereich messen. Mein nächster Gedanke war
dass ich das Signal einfach um den Faktor 1000 Verstärke 1g = 4,88mV das
wäre eigentlich perfekt. Das Problem ist dass der Messbereich bis 30kg
geht. 4,88mV x 30000 = 146,4 V was natürlich viel zu viel ist.
was ist nun die richtige Vorgehensweise? Ein AD wandler mit 16Bit?
Würde gerne nicht allzuviel ändern, da ich die Platine schon fertig
gestellt habe. Gibt es überhaupt ne Lösung dafür oder soll ich die
Platine neu machen?
Mit nur einem 10 Bit ADC im µC wird man nicht weit kommen. Da dürfte man
nicht um einen externen ADC herum kommen. So etwa wie ein LTC2410 könnte
sich anbieten. Da kommt man ggf. sogar ohne Verstärkung aus.
Hallo Hans
erzähl doch mal, was Du gern für einen Messbereich hättest, und mit
welcher Auflösung. 16bit sind schon mal volle 30kg mit besser als 1
Gramm Auflösung.
Ludger
Hans schrieb:> Ein AD wandler mit 16Bit?
Ja, 24 bit. Sogar billige Sigma Delta A/D-Wandler sind so gut, daß sie
Submikrovolt auflösen und damit auch ohne Verstärker ausreichend sind,
zumal jeder Vorverstärker zusätzliche Fehler einbringt die mehr als 4uV
ausmachen, dazu gehören neben den Offsetfehlern auch Thermospannungen
und mechanische Spannungen der Leiterplatte und Spannungsabfall aufgrund
Stromfluss.
Dein Problem ist also nicht die 4uV Auflösung, sondern die
temperaturstabile Genauigkeit der Referenzspannung. Da gibt es nichts
für 24 bit, nichtmal 22.
Schau dir mal den MCP3911 von Microchip bei Reichelt an, allerdings will
der die Messpannung um 0 haben, deine Brücke wird also mit positiver und
negativer Spannung versorgt werden müssen. Er kann auch die
Brückenspannung als externe Referenz verwenden oder mit dem anderen
Kanal gegen die interne Referenz mitmessen. Eventuell gibt es auch
ähnlich billige D/A die bei VCC/2 messen können, hab gerade keine
Typennumer zur Hand.
Je genauer desto besser :-)
Wenn ich aber das Signal nur 40 Fach verstärke dann bekomme ich immerhin
eine Genauigkeit von 30g hin
1g = 4uVx40fach=160uV
Da ich einen 10Bit Wandler habe spricht dieser erst bei 4,88mV an
4,88mV/0,160mv = 30,5
D.h die Genauigkeit liegt bei 30,5 g
Wenn ich nun 30,5g x 1024 Schritte mache erhalte ich 31232g = 31kg
Was ja auch nicht so schlecht wäre :-)
Oder sehe ich das falsch?
Wenn du nur den dac vom mikrocontroller nutzen möchtest, wäre vielleicht
ein PGA103 oder sonst ein Programmable Gain Amplifier möglich. Da
brauchst du nur zwei zusätzliche pins, und du kannst das Signal x1, x10
oder x100 nehmen. (gibt natürlich auch andere Faktoren).
Danach noch eine Tiefpass mit tau=1s und alles ist dufte.
Es gibt übrigens auch Mikrocontroller mit eingebautem PGA
hmm... ich glaube, du meinst nicht "genauigkeit", sondern "auflösung".
selbst bei einer auflösung von 30g kann es durchaus sein, dass deine
waage nur auf's kilogramm genau ist ;o)
die von dir angegebene messbereichsdynamik von 30 kg zu 30 g (also
1000:1) mit "nur" 10 bit auflösen zu wollen, finde ich schon recht
sportlich, denn das bedeutet, dass der ADC bis ins LSB sauber arbeiten
muss (und das muss er erst mal bringen!). du wirst in der praxis
sicherlich 2 bit mehr brauchen.
wenn du aber unbedingt beim 10-bit ADC bleiben möchtest, dann kommst du
um eine messbereichsumschaltung (verstärkungsumschaltung) nicht herum.
Mit dem Vorverstärker könntest Du die Auflösung steigern - allerdings
bei verkleinertem Maximalgewicht.
Und ein OPV, der weniger als 4uV Eingangsfehler macht im gesamten
Temperaturbereich, ist auch schon ein Präzisionsteil.
Berücksichtigt man diese beiden Einschränkungen, ist Mawins Lösung mit
dem 24-bit Wandler deutlich überlegen.
Ok das verstehe ich.
Angenommen ich würde das Signal wie oben beschrieben mit dem Faktor 40
verstärken, dann kann ich ja mit den 1024 Schritte von 30g bis 30kg
theoretisch alles darstellen. Da ich den Controller AT Mega 644 verwende
hab ich das Glück das ich das Signal des AD Wandler nochmals um den
Faktor 200 verstärken kann. Wenn ich dann diese beiden
verstärkungsfaktoren multipliziere dann erreiche ich eine Verstärkung
von 40x200=8000
Angenommen es würden keine Störungen geben und alles optimal laufen ohne
Verluste, könnte ich dann die Auflösung erhöhen um den Faktor 8?
Statt 32g Genauigkeit würde ich dann auf 4g Genauigkeit kommen?
Durch die Umschaltung der Verstärkung (egal ob in µC oder extern)
vergrößert man die Auflösung - allerdings nur bei kleinen Lasten, denn
der Bereich reduziert sich dabei entsprechend der Verstärkung. Mit
zusätzlicher 200 facher Verstärkung geht es dann also nicht mehr bis 30
kg, sondern nur 150 g, dafür aber mit höherer Auflösung (theoretisch
0.15 g) und auch etwas besserer Genauigkeit als ohne Verstärkung.
Die µC interne Verstärkung ist bei AVR nicht besonders genau. Da kommen
also zusätzliche Fehler dazu. Es kommen auch Fehler vom Sensor selber
und der externen Verstärkung dazu, die mit der Verstärkung stärker
sichtbar werden, insbesondere der Offset.