RPi Projekt Bienenwaage: Erste Messungen mit MCP3424 und Wägezelle

Endlich ist es soweit. Der Versuchsaufbau steht.

Ich habe die Wägezelle unter den Beutenunterboden geschraubt:

Wägezelle-am-Unterboden-2

Statt den ADC Aufbau (siehe Blogbeitrag Vorüberlegungen) selbst zu bauen, habe ich einen fertigen RPi Expansion Board von ABElectronic benutzt (Delta-Sigma Pi).

RPi-mit-Deltasigma

Die Signale lege ich an den den ersten ADC Kanal an und lege an die Wägezelle eine Anregungsspannung von 5V an (stellt der RPi bereit).

Anschluss-Wägezelle-an-RPi

Das Pythonprogramm ist auch schnell geschrieben, ich nutze die Library von ABElectronic.

#!/usr/bin/python
from ABElectronics_DeltaSigmaPi import DeltaSigma
import time
import os
import math
import numpy
# Sample rate can be 12,14, 16 or 18
adc = DeltaSigma(0x68, 0x69, 18)
adc.setPGA(8)
capacity = 50 #50 kg maximal Auschlag der Wägezelle
excitationVoltage = 5
fullscaleOutput = 0.001998 #Spannung/Volt bei 50kg
messwerte = 10
wartezeit = 0.10
a = range(messwerte)
while (True):
    Messwerte = input(„Anzahl der Messungen? „)
   for i in range(messwerte):
            gewicht =         adc.readVoltage(1)*capacity/(excitationVoltage*fullscaleOutput)
           a[i] = gewicht
           time.sleep(wartezeit)
           print (wartezeit, messwerte, numpy.mean(a), numpy.std(a))
time.sleep(1)

Und hier die Ergebnisse. Ich wiege den Beutenunterboden mit 3 Packungen Milch obendrauf an einer Ecke:

Gewicht-auf-Wägezelle

Das ganze ergibt ein Gewicht auf der Ecke von etwa 3.6 kg. Die anderen Ecken liegen einfach mit einer Schraube auf dem Boden auf.

Mit einem Gain=8 erreiche ich eine Genauigkeit von etwa 5g. Die Anzahl der Messungen hat wenig Einflus auf die Genauigkeit.

Anzahl-Messungen

Ebenso ist die Wartezeit zwischen 2 Messungen nicht ausschlaggebend.

Wartezeit-Messung

Lediglich der Gain (Vorverstärker) wirkt sich sehr auf die Genauigkeit des Ergebnisses aus.

Gain-Messung

  • Gain = 8 (etwa 5 g genau)
  • Gain = 4 (etwa 9 g genau)
  • Gain = 2 (etwa 20 g genau)
  • Gain = 1 (etwa 25 g genau)

Also, gute Ergebnisse, ich bin zufrieden.

Im nächsten Schritt werde ich 4 Wägezellen anschliessen. Dann kann ich auch den Beutenschwerpunkt bestimmen. Dazu kommt ein Beuteninnenthermometer und ein Feuchtigkeitsmesser und ein spritzwassergeschütztes RPi Gehäuse, dann sollte es fertig sein und ich kann mit mit dem Datensammeln beschäftigen und über Winter die Auswertungssoftware schreiben.

11 Gedanken zu „RPi Projekt Bienenwaage: Erste Messungen mit MCP3424 und Wägezelle“

  1. Wollte mal schnell eine Bienenwaage nachbauen und nun sitze ich schon 3 Nächte und bekomme das Programm nicht zum laufen.
    Nutze Pi B+, DeltaSigmaPi und bekomme nur Fehlermeldungen;-(((
    Meine Bienen waren heute schon am fliegen und haben geschaut was so los ist.

    1. Hallo Nils,

      ich kann dir gerne helfen, dazu brauche ich aber mehr Info.

      Funktioniert deine Wägezelle? Welches Modell hast du? Hast du mit einem empfindlichen Voltmeter/Oszilloskop den Ausgang der Wägezelle gemessen?

      Bevor du die Wägezelle anschliesst, probiert erstmal mit einem Drehpoti eine Messung hinzubekommen, siehe mein Blog „RPi Spannungsmessung mit ADC MCP3008“.

      Viele Grüsse.

  2. Hallo,
    ich bin durch Zufall auf diesen Blog gestoßen, weil ich auch gerade wieder eine Lösung für eine Stockwaage suche und auch den Raspi ins Auge gefasst hatte. Ich würde gerne mal versuchen die Waage nachzubauen. Bisher habe ich diese Seite nur kurz überflogen, aber könntest Du mir ein paar Infos zukommen lassen (z.B. Teileliste, Ebayhändler, Platinenlayout) Bin zwar ein bisschen aus dem Thema E-Technik raus, aber Spaß hätte ich schon dran.
    Besten Dank!
    Gruß
    Maik

    1. Hallo Maik, gute Idee mit der Teileliste, gehe ich in kürze mal an. Platinenlayout muss ich auch noch zeichnen, habe bisher alles auf einem Steckboard ausprobiert. Schau mal in den nächsten 2 Wochen im Blog vorbei, dann sollest du was finden, beste Gruesse, Markus

  3. Hallo Markus,
    da halte ich doch glatt die Augen auf! Besten Dank dafür schon mal vorab. ich freue mich schon auf das nachbauen – wen mir meine linke Hände da keinen Strich durch machen 😉
    Solltest Du bei irgendwas Unterstützung brauchen, sag bescheid, ich würde dann im Rahmen meiner Möglichkeiten helfen!
    Gruß
    Maik

    1. Hallo Roland,
      die Wägezellen sind in bestimmten Temperaturbereichen korrigiert, hast du Messwerte? Schwankungen gemessen?
      Grüsse, Markus

  4. Hallo,
    ich wollte auch eine Wägezelle verbauen 😉
    Kein Bienenstock, aber in einem Cocktailmixer 😉

    Jetzt wollte ich dich ein paar Details fragen.
    Ist der Delta PI auch gleichzeitig ein Verstärker?
    Wie viele Kabel hast du an deiner Wägezelle?
    Kannst du den Anschluss genauer erläutern?
    Herzlichen Danke.

    1. Hallo Florian, also, der Delta Pi hat einen Vorverstärker eingebaut (Gain 1,2,4, 8), siehe Spezifikation von ABElectronics . Leider habe ich wenig dokumentiert, lediglich mit ein paar Bildern. Aus einer Wegezölle kommt 1 Kabel mit 4 Leitern raus, an 2 Leiter kommt die Anregungsspannung und an 2 Leiter wir das Signal abgegriffen. Schau dir mal diesen Post an, dort wird das ausführlich erläutert, es wird aber ein andere ADC verwendet, der in Personenwaagen häufig verbaut wird (HX711), viele Grüsse, Markus

  5. Hallo,

    wo ist mein Fehler 🙁

    Habe am Code nichts verändert !

    File „beelogger2.py“, line 202
    measurement_data, measurement_tuple = measure()
    ^
    IndentationError: unindent does not match any outer indentation level

    1. Hallo Sebastian,
      IndentationError klingt danach, das mit der Einrückung im Code etwas nicht stimmt, vielleicht beim kopieren ein Fehler gemacht. Mach den Code mal mit einen Python-fähigem Editor auf, der die Code Struktur anzeigt, dann sollest du den Fehler finden,
      Grüsse, Markus

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *