- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 68

Thema: Gewichtsmessung für Cocktails

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie Avatar von malthy
    Registriert seit
    19.04.2004
    Ort
    Oldenburg
    Beiträge
    1.379
    Hi,

    Als Messwandler habe ich den HX711 verwendet.
    Das ist vermutlich eine ganz gute Wahl, das verringert den Schaltungsaufwand deutlich. Ich baue auch gerade eine Waage auf Basis von diesem IC, bin im Moment dabei das System zu kalibrieren. Ansonsten ist es eigentlich fertig.

    Wir hatten hier ja auch mal kurz die Diskussion um das Rauschen des Systems. Ich habe das mal auf naive Art gemessen: Zum einen habe ich den Messeingang vom HX711 über einen 1k Widerstand kurzgeschlossen, weil meine Wägezelle eine Ausgangsimpedanz von ca. 1k hat. Zum anderen habe ich die Wägezelle angeschlossen. Für beide Fälle habe ich die vom HX711 ausgegebenen Daten für ca 45 Minuten aufgezeichnet. Ich habe die Rohdaten mit tiefpassgefilterten und ausreißerbereinigten Daten verglichen. Dann kommt etwa folgendes heraus:

    Klicke auf die Grafik für eine größere Ansicht

Name:	noise.jpg
Hits:	14
Größe:	62,2 KB
ID:	29556

    Gefiltert komme ich also auf 3.18 Bit Noise ohne Zelle und auf 4.11 Bit mit Zelle. In welches "Gewichtsrauschen" sich das übersetzt, hängt dann natürlich von der verwendeten Zelle ab. Insgesamt spielen auch noch zusätzliche Faktoren mit rein, die Genauigkeit und Präzision der Messung beeinflussen.

    Gruß
    Malte
    Geändert von malthy (27.12.2014 um 19:12 Uhr) Grund: typo

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.08.2006
    Ort
    Würzburg, Germany
    Beiträge
    716
    Hallo,

    @Peter: Der Aufbau mit der Schraubzwinge würde gehen, aber die Fläche für das Glas ist doch mehr als wackelig. Da möchte ich schon einen kleinen "Teller" anschrauben. Das Problem ist, dass ich im Urlaub zuhause nicht an die nötigen Mittel zur Verfügung habe. Es fehlt schon an den M6er Schrauben... Und stänig ist ein Feiertag, also Baumarktverwigerung!
    Ich habe immer mit meiner Lötzinnrolle als Gewicht probiert, aber die ist mir so oft runtergefallen. Mit einem Glas mit Wasser drin würde ich schnell frust schieben. Das ganze sollte schon etwas Stabilität haben. Aber keine Eile. In der Theorie und Programmierung sind noch genug Bauistellen:

    Ich habe meine Lötzinnrolle mit der Küchenwaage gewogen und damit schnell mal den Faktor von ADC-Wert und Gewicht berechnet (750 in meinem Fall). Heute habe ich versucht diesen per Rechnung zu bestätigen, komme aber auf einen ganz anderen Wert:

    Berechnung von Avdd:

    VBG (Bandgap-Spannung) aus dem Datenblatt des HX711: 1,25V
    R1 (bestückt): 8,2k
    R2 (bestückt): 20k
    ergibt laut Formel im Datenblatt des HX711 eine analoge Versorgungsspannung (Avdd) von 4,3V.
    Bezogen auf die 24 Bit des ADC also eine Auflösung von 260nV.

    Wägezelle:

    Laut Datenblatt eine Empfindlichkeit von 2mV/V ergibt bei 4,3V eine Spannung von 8,6mV bei Vollbelastung.
    Die Zelle ist mit 5kg angegeben, also eine Ausgangsspannung von 1,7µV pro Gramm.
    Diese Spannung wird im HX711 noch per Gain (64) auf 110µV verstärkt und dann gewandelt.
    Damit komme ich auf einen ADC-Wert von 430 pro Gramm.

    Dieser Wert liegt leider fast um die Hälft neben meinem durch Versuch ermittelten Wert. Findet jemand meinen Fehler?

    Mir ist nicht ganz klar, warum der Sensor einen Messbereich von +/-20mV bzw. +/-40mV (je nach Gain) angibt, wenn dieser doch eh von Avdd abhängig sein soll.

    Noch ein paar Gedanken zum Rauschen (danke malthy für deine Messungen):

    Gehen wir von 5 Bit Rauschen aus, also einen "Verlust" von 32 ADC-steps rauscht es um 8,2µV bzw. 75mg. (Milligramm) Kommt das hin? Das kommt mir auch sehr wenig vor.

    Viele Grüße
    Andreas

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von malthy
    Registriert seit
    19.04.2004
    Ort
    Oldenburg
    Beiträge
    1.379
    Hi,

    [...] R1 (bestückt): 8,2k [...] R2 (bestückt): 20k [...] ergibt laut Formel im Datenblatt des HX711 eine analoge Versorgungsspannung (Avdd) von 4,3V.
    Strenggenommen hast Du glaube ich R1 und R2 vertauscht, im Datenblatt steht nämlich mMn die Rechenvorschrift falsch: VFB sieht die Spannung über R2, deswegen muss in der Rechenvorschrift R2 in den Nenner. Dein Ergebnis ist aber trotzdem richtig .

    Bezogen auf die 24 Bit des ADC also eine Auflösung von 260nV.
    Da weiß ich nicht was Du damit meinst. Ich sehe was Du gerechnet hast, der Sache nach macht das aber keinen Sinn. Die 4.3V sind einfach nur die Spannung, die der in den HX711 integrierte Linearregaler ausgibt, das hat nichts mit dem ADC zu tun.

    1,7µV pro Gramm
    Ich komme auf das gleiche Ergebnis für Deine Zelle.

    Diese Spannung wird im HX711 noch per Gain (64) auf 110µV verstärkt [...]
    Das habe ich eigentlich anders verstanden. Ein Gain von 128 bedeutet mMn dass ein Eingangsspannungsbereich von +/- 20 mV auf 24 Bit umgelegt werden, bei Gain 64 entsprechend +/- 40 mV. So gerechnet komme ich auf einen ADC Wert von 1426/g. Dazu wird aber Deine Zelle vermutlich einen Offset haben, der HX711 hat außerdem einen. Im übrigen glaube ich dass die Angaben zu den billigen Wägezellen schlicht und einfach irgendwo abgeschrieben sind und durchaus falsch sein können. Bei den Daten zu meiner Zelle stimmten die angegebenen Impedanzen zB überhaupt nicht.


    Mir ist nicht ganz klar, warum der Sensor einen Messbereich von +/-20mV bzw. +/-40mV (je nach Gain) angibt, wenn dieser doch eh von Avdd abhängig sein soll.
    siehe oben, AVDD ist die Sapnnung die der Linearregler des HX711 ausgibt und hat nichts mit dem Messbereich des ADC zu tun.

    Gehen wir von 5 Bit Rauschen aus, also einen "Verlust" von 32 ADC-steps rauscht es um 8,2µV bzw. 75mg. (Milligramm) Kommt das hin? Das kommt mir auch sehr wenig vor.
    Die von mir gemessenen knapp 6 Bit Rauschen für den kurzgeschlossenen Verstärker passend überraschend gut zu den 90 nV RMS aus dem Datenblatt. Der gleitende Mittelwert auf den Daten drückt das Rauschen dann nochmal erheblich. Ich lese den Sensor mit 80 Hz aus und mittel über 100 Samples (tatsächlich mach ich auch eine rudimentäre Ausreißerkorrektur). So komme ich auf die gut 4 Bit Rauschen mit meiner Zelle. Das beschreibt ja aber erstmal nur die Streuung der Werte über 45 Minuten. Tatsächlich beobachte ich einen erheblichen Drift über längere Zeiträume (sorry, noch kein Diagramm gemacht), deren Ursache ich nicht kenne. Ich werde das parallel nochmal mit der Raumtemperatur messen, um eine Idee von dem Einfluss zu bekommen. Darüber hinaus weisen die Wägezellen auch ein "Kriechen" (Creep) auf, das die Brückenspannung driften lässt. Damit kenne ich mich aber noch nicht näher aus. Das alles ist aber für meine Anwendung nicht so wild, weil man für eine kurze Messung vorher eh mal Tara drücken wird .

    Gruß
    Malte
    Geändert von malthy (28.12.2014 um 14:41 Uhr) Grund: typos

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    67
    Beiträge
    2.435
    Hallo Malte,

    Irgendwo habe ich mal überschlagsmässig berechnet, dass Absolut und über Alles nur etwa 12-14 gültige Bits übrig bleiben.

    Verbessern kann man dann, wie du es machst über einen Mittelwert und das Rauswerfen von Ausreissern.
    evtl. kannst du die Drift noch durch eine Temperaturmessung etwas verbessern.

    MfG Peter(TOO)
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

  5. #5
    Erfahrener Benutzer Roboter Genie Avatar von malthy
    Registriert seit
    19.04.2004
    Ort
    Oldenburg
    Beiträge
    1.379
    Hi,

    Nach dem Eingangs-Muxer kommt direkt ein Gain, der das Signal verstärkt. Kannst du mir die Stelle nennen, an der es steht wie von dir beschrieben?
    Die Struktur des ICs ist natürlich so wie im Blockschaltbild beschrieben. Die Frage ist ja nur wie die ±20mV bzw ±40mV zu lesen sind. Ich beziehe das direkt auf die Eingangsempfindlicheit zB auch wegen des Satzes aus dem DB (Steite 1):

    Channel A can be programmed with a gain of 128 or 64, corresponding to a full-scale differential input voltage of ±20mV or ±40mV respectively
    Auch für diesen Wert wäre ich für eine nähere Erklärung dankbar.
    Ja, entschuldige, da habe ich in meiner Rechnung Unsinn mit dem Vorzeichenbit gemacht. Ich rechne (hoffentlich richtig) so: (1.7e-6 V/40e-3V)*2^24 = 713, das wäre der Fall für ±20mV d.h.128x Gain. Ich glaube damit sind wir uns dann einig, oder?

    Irgendwo habe ich mal überschlagsmässig berechnet, dass Absolut und über Alles nur etwa 12-14 gültige Bits übrig bleiben.
    Du meinst evnt hier? Ich hatte dann folgendermaßen geantwortet, weil ich Deine Rechnung nicht ganz nachvollziehbar fand. Dass das, was ich in dem Diagramm oben darstelle nicht die endgültige Genauigkeit des Gesamtsystems darstellt, ist klar - insbesondere wenn man dann noch berücksichtigt, dass die Kalibrierung selbst auch wieder fehlerbehaftet ist.

    evtl. kannst du die Drift noch durch eine Temperaturmessung etwas verbessern.
    Ja, da wollte ich nochmal abklären, welchen Einfluss die Temperatur auf die Drift hat, und was davon das Kriechen der Zelle ist. Leider habe ich in der ersten Version des PCBs für meine Waage eine Temperaturmessung nicht vorgesehen, das wäre vllt für Rev. 2 nochmal eine sinnvolle Ergänzung . So weit ich es im Moment sehe, ist die Drift aber deutlich langsamer als für mich relevant, typischerweise drückt man vor einer Wägung ja eh einmal auf Tara. Ansonsten hatte ich auch schon überlegt ob man noch einen ganz leichten Hochpass mit integriert, keine Ahnung ob der die Drift sinnvoll eleminieren kann.

    Gruß
    Malte

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    67
    Beiträge
    2.435
    Hallo,

    Hier mal das Datenblatt:
    http://www.dfrobot.com/image/data/SE...11_english.pdf

    Die ±20mV/±40mV gelten für AVdd = 5V

    Unter "Full scale differential input range" wird angegeben: ±0.5(AVDD/GAIN)

    Ergibt bei Gain = 128 und AVdd = 5V --> ±19.53mV

    AVdd wird die Versorgungsspannung des Verstärkers sein, bei höheren Pegeln wird der dann übersteuert.

    Andreas betreibt die Zelle jetzt aber mit 4.3V = AVdd
    dann sind es aber nur noch

    ±16.79mV ( Gain = 128 ) bzw. ±22.59mV ( Gain = 64 )

    Allerdings sollte man diese Werte nicht ganz ausreizten, ein bisschen Luft für Drift (Alterung, Offset usw.) sollte man schon noch lassen.

    MfG Peter(TOO)
    Geändert von Peter(TOO) (29.12.2014 um 08:30 Uhr)
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

  7. #7
    Erfahrener Benutzer Roboter Genie Avatar von malthy
    Registriert seit
    19.04.2004
    Ort
    Oldenburg
    Beiträge
    1.379
    Hallo Peter!

    Unter "Full scale differential input range" wird angegeben: ±0.5(AVDD/GAIN) [...] dann sind es aber nur noch ±16.79mV ( Gain = 128 ) bzw. ±22.59mV ( Gain = 64 ) [...]
    Vielen Dank, das habe ich bisher auch übersehen!

    Gruß
    Malte

Ähnliche Themen

  1. Bar Mixvah: Open-Source-Roboter bereitet Cocktails zu
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 28.05.2014, 12:10
  2. Gewichtsmessung
    Von frank_007 im Forum Sensoren / Sensorik
    Antworten: 12
    Letzter Beitrag: 28.10.2007, 12:13
  3. Warum sind Drucksensoren nicht für Gewichtsmessung geeignet?
    Von Sheridan im Forum Sensoren / Sensorik
    Antworten: 25
    Letzter Beitrag: 13.08.2007, 16:19

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test