LCD der EWD Waage

Digitale EWD Waage selbst gemacht mit Arduino Teil 1

Ich möchte euch heute meine aktuelles Projekt vorstellen: Seit Längerem bastle ich an einer digitalen EWD-Waage auf Arduino Basis, um meine Flugzeuge einfach und genau vermessen zu können. Falls jemand nicht weiß, was mit EWD gemeint ist, dem sei die Erklärung der Einstellwinkeldifferenz im RC-Network Wiki ans Herz gelegt.

Mein Ziel war es, mit einem Arduino und relativ günstigen Sensoren, eine Genauigkeit von einem zehntel Grad zu erreichen. Ich verrate es schon mal vorweg: Mit Einschränkungen ist mir dies gelungen.

Nun aber eine kurze Erklärung wie die digitale EWD Waage funktioniert:

Zwei, ich nenne es mal Messbrücken, werden an Tragfläche und Höhenleitwerk gesteckt und das Display zeigt die jeweiligen Winkel und eben auch die Differenz der beiden Winkel an.

Prototyp der EWD Waage
Prototyp der EWD Waage

Der Vorteil dieser Methode ist, dass die Lage des Flugzeugs dabei relativ egal ist. Uns interessiert ja nur die Differenz der beiden Winkel.

LCD der EWD Waage
LCD der EWD Waage

Die größte Herausforderung bei diesem Projekt war es, das Sensorrauschen in den Griff zu kriegen. Dafür habe ich die Filterfunktionen, wie in Filter in Arduino Teil 1 und Filter in Arduino Teil 2 beschrieben, verwendet.

Anleitung zum Nachbauen der EWD Waage:

Ich möchte euch hier nun genau erklären, wie Ihr die digitale EWD-Waage nachbauen könnt. Je nachdem was ihr an Bastelkram noch in der Werkstatt habt und ob ihr einen eigenen 3-D-Drucker besitzt, könnt Ihr die Waage für ca. 20-30€ nachbauen.

Sollte Interesse an gedruckten Teilesätzen oder fertigen Waagen bestehen, könnt ihr mich gerne anschreiben unter info@rc-maker.com

Update 18.07.2018: Nachdem ich erfreulicherweise doch einige Nachrichten zum Bau der Waage und Bestellungen von Druckteilen erhalten habe, möchte ich hier noch einen Hinweis aussprechen:

Bei der EWD Waage handelt es sich um ein Bastelprojekt. Keinesfalls um eine marktreife Lösung. Vorschläge was man verbessern könnte, baue ich gerne mit ein.

Nun aber los!

Zuerst eine Auflistung der Teile und Dateien welche Ihr zum Nachbau benötigt.

Hardware:

Elektronik:

Die mit Sternchen (*) gekennzeichneten Links sind sogenannte Affiliate-Links. Wenn du auf so einen Affiliate-Link klickst und über diesen Link einkaufst, bekomme ich von dem betreffenden Online-Shop oder Anbieter eine Provision. Für dich verändert sich der Preis nicht. Wenn Ihr eure Hardware über die oben genannten Links kauft, unterstützt Ihr mich gleichzeitig für die Umsetzung neuer Projekte. Ich bedanke mich jetzt schon mal dafür.

3D-Druck Teile:

  • 1 x Gehäuseboden
  • 1 x Gehäusedeckel
  • 2 x Halter hinten (der mit dem Sensorfach)
  • 2 x Halter vorn
  • 2 x Deckel für Sensorfach
3D-Druckteile EWD-Waage
3D-Druckteile EWD-Waage

In diesem Fall sind die Teile aus PETG gedruckt mit 100 % Infill und 0,5 mm Layerhöhe.

Sonstiges:

  • 2 x M3 Mutter
  • 2 x M3x8 Rändelschraube. Ich habe meine von hier.*
  • 1 x Alu Vierkantprofil 12,5×7,5mm. Gibts z.B. bei Bauhaus.

Werkzeuge:

  • 3-D-Drucker, wenn möglich
  • Lötstation (Ich hab mir vor einiger Zeit die hier* gekauft und bin sehr zufrieden)
  • Metallsäge für das Alu-Profil

Das wars im Großen und Ganzen schon.

Dateien für die EWD Waage:

Ein kleiner Hinweis noch: Mit dem Klick auf Download stimmst du zu, diese Dateien nur zu nichtkommerziellen Zwecken zu nutzen.

  1. Die benötigten 3-D-Druck Dateien findet Ihr HIER
  2. Den aktuellsten Arduino Sketch findet Ihr auf dieser Seite HIER
  3. Den aktuellsten Sketch für die Kalibrierung der Sensoren findet Ihr HIER
  4. Um die Adressen eurer Komponenten rauszufinden, braucht Ihr den I²C Scanner

Damit habt Ihr nun alles beisammen, und könnt loslegen!

Weiter gehts dann in Teil 2

25 Kommentare

  1. Hallo Max,
    ich habe dieses Projekt bereits mehrfach in Betrieb gesehen und mir endlich jetzt auch 3D Drucker, etc. angeschafft, vielen Dank für diese tolle Arbeit!
    Meine Frage: Wir fliegen ziemlich große Modellflugzeuge, für die sich die Waage wirklich hervorragend eignet.. allerdings sind die Profile etwas zu dick, sodass das Aluprofil etwa 15mm höher geführt werden müsste. Gäbe es die Möglichkeit, die Teile 15mm höher zu erstellen? Ich bin in Sachen 3D-Konstruktion leider noch nicht so weit…
    Vielen Dank für Deine Antwort und viele Grüße
    Stefan Buch

  2. Hallo zusammen,

    Ich versuche seit einigen Tagen die EWD Waage nachzubauen, ich habe alle definitiv richtig angeschlossen aber es funktioniert nicht, die Sensoren habe ich so angeschlossen wie es Frank Röckelein beschrieben hat. Ich finde beim I2C Scann nur das Display mit X027 und nichts weiteres. Auch wenn ich die Adresse vom Display in den sketch Eintrage und ihn dann hochlade erscheint auch nichts auf dem Display, ich bin mit meinem Latein am Ende, hat einer von euch noch eine Idee?

    Ich habe auch gemessen ob überall Durchgang ist und die Spannung überall ankommt das ist der Fall, was mir aber aufgefallen ist das an den Sensoren 7,3V ankommen ist das nicht zuviel? Die sind ja laut Datenblatt und auf den Sensoren steht 5V.

    Bitte helft mir, Gruß Christoph

    1. Hallo Christoph, es sollten tatsächlich nur 5V am Sensor ankommen. Hast du denn einen andern Arduino gegen den du mal tauschen könntest? Möglicherweise ist das Board einfach defekt. Das könnte evtl. auch der Grund sein, warum sich deine Sensoren nicht melden. Der neue Sensor braucht zum ändern der Adresse minus an A ohne Widerstand, sonst geht es nicht zuverlässig. Achja, ich hatte schon einige Displays bei denen der Kontrast runtergedreht war. Dreh doch mal an dem Drehpoti am Display. Gruß Max

      1. Hallo source,
        Danke für die schnelle Antwort, leider habe ich keinen anderen arduino da es meine erst Begegnung damit ist aber ich denke das ich das alles soweit verstanden habe was zu tun ist. Denke das jetzt durch die Überspannung die Sensoren evtl. Defekt sind. Der Kontrast am Display ist auf hell habe ich schon ausprobiert das hoch und runter zu drehen, es zeigt immer quasi ein „volles Display an sprich alles mit vierecken voll“ neia dann werd ich mir mal noch einen arduino besorgen.

  3. Hallo,
    gibt es zu diesem Projekt eine Fehlerrechnung in Bezug auf den Schwerpunktsabstand. Es nützt ja nichts wenn man nicht weiß wie hoch letztendlich die Genauigkeit ist.
    mfG

    1. Hallo Rainer,nein, es gibt keine Fehlerrechnung. Verstehe auch nicht was du mit „in Bezug auf den Schwerpunktabstand“ meinst. Die EWD Waage misst ausschließlich die Winkeldifferenz mit für mich ausreichender Genauigkeit.

  4. Hallo, ich bin ein italienisches Modellflugzeug. Ich fand Ihr EWD Waage Digital-Projekt sehr interessant und werde versuchen, es zu bauen.
    Ich entschuldige mich für mein Deutsch, bekomme aber Hilfe von Google.
    Ich möchte Ihnen eine Frage stellen. Können Sie den Arduino-Code so ändern, dass er die Bewegung der beweglichen Teile in Grad und Millimeter misst?
    Dies wäre beispielsweise beim Einstellen von Querrudern und Klappen sehr nützlich.

    Hallo und danke, Marco

  5. Hallo Edgar hier,
    so es geht!!
    Fehler 1 :Es hat auch noch eine Adafriut Bibliothek gefehlt (Sensor), dann geht das kompilieren
    Fehler 2: Der neue Sensor braucht zum ändern der Adresse minus an A ohne Widerstand, sonst geht es nicht zuverlässig.
    A is the I2C Address select pin. By default this is pulled up to 3.3V with a 10K resistor, for an I2C address of 0x1D. You can also connect it to the GND pin for an address of 0x1C

    Info: Der neue Sensor ist auch größer und passt nicht ins Gehäuse, musste ein wenig = 0,8 mm abschleifen.
    Grüße Edgar
    .

  6. Hallo Herr Hoffmann,
    ich bin beim Kompilieren des Sketches und erhalte die Fehlermeldung“ Fehler beim Kompilieren für das Board Arduino Nano“. Ich kann das Board ansprechen um die Adressen auszulesen und habe diese in den Sketch eingebunden. Nun wollte ich den Sketch aufspielen.
    Habe Sie mir einen Tipp.
    Grüße Edgar

    1. Hallo Edgar,
      mein Name ist nicht Herr Hoffmann. Herr Hoffmann hatte nur weiter unten kommentiert 😉
      Gib doch bitte mal die genaue Fehlerbeschreibung durch. Dein Arduino Programm müsste auch sowas wie eine Zeilennummer ausgeben die nicht kompiliert werden kann.
      Gruß Max

      1. Hallo Herr Kaiser,
        danke für das aufklären.
        Habe einiges gerichtet, jetzt das nächste Problem
        Ich habe die MMA8452 bekommen, die Adressen kann ich auslesen und habe sie im Sketch eingetragen
        Allerdings erhalte ich beim booten die Fehlermeldung Sensor A faild. Ich bin nicht der Arduino Profi
        kann aber Sketche laden, abändern usw., habe allerdings keinen Plan was ich jetzt machen soll.
        Die Adressen sind 0x27 fürs Display und 0x1C und D für die Sensoren.

        Gruß Edgar Bauer

        1. Hallo Edgar,
          du schreibst, du hättest MMA8452 ? Mein Sketch ist auf MMA8451 ausgelegt, weil diese eine höhere Auflösung und somit eine deutlich höhere Genauigkeit haben. Schau mal mit einer Lupe was auf dem Chip genau draufsteht. Die MMA8452 funktionieren nur mit einer angepassten Library und sind dazu noch ungenau. Schau doch mal im Thread http://www.rc-network.de/forum/showthread.php/686047-EWDuino-EWD-Messung-mit-Arduino
          vorbei. Dort haben einige User dasselbe Problem.
          Gruß Max

          1. Hallo Max,
            ich hatte die Sensoren aus dem Link bestellt, unter der Lupe steht 8452 auf dem Chip und auf der Platine MMA 845x drauf.
            Da ich ich jetzt schon Stunden vergeudet, habe werde ich mir noch 2 andere bestellen und auch mal den Thread lesen.
            Gruß Edgar

          2. Hallo Max,
            es läuft mit den 8452, habe aber auch gleich 2 Stück 8451 bestellt.
            Jetzt mal alles richtig einbauen und wenn die 8451 da sind, die einbauen.
            Danke für die Hilfe und den Link.
            Gruß Edgar

          3. Hallo Max,
            ich mal wieder.
            Habe die 8451 Sensoren bekommen und konfiguriert, Adressen sind da.
            Jetzt wollte ich den Sketch laden und bekomme immer diese Fehlermeldung
            es fehlt irgendwie ein Verweis auf eine Datei oder so.
            Arduino: 1.8.8 (Mac OS X), Board: „Arduino Nano, ATmega328P (Old Bootloader)“

            In file included from /Users/eddy/Downloads/RC-Incidence-meter_V1.2/src/EWDuino/EWDuino.ino:1:0:
            /Users/eddy/Documents/Arduino/libraries/Adafruit_MMA8451/Adafruit_MMA8451.h:33:29: fatal error: Adafruit_Sensor.h: No such file or directory
            compilation terminated.
            exit status 1
            Fehler beim Kompilieren für das Board Arduino Nano.

            Können Sie mir einen Tipp geben?
            Grüße Edgar

  7. Hallo Herr Hoffmann,
    Tolles Projekt,
    Ich habe aber ein kleines Problem mit den Sensoren, über den I2C -Scanner kann ich die Sensoren auslesen, im Programm ( EWD, Kalibrierung) findet er die Sensoren nicht)
    Sensoren sind die aus dem link ( keine Original Adafruit ) was für ein LIb muss ich benutzen und wie wird die eingebunden

    1. Hallo Herr Schmeer,
      was gibt der I²C-Scanner denn für Adressen der beiden Sensoren zurück? Sind das diesselben wie im Sketch (0x1D und 0x1C)?
      Falls nein: im rc-network.de berichten User davon dass statt den MMA8451, MMA8452 geliefert wurden. Die Platine ist aber diesselbe. Sie könnten mal mit der Lupe schauen was auf dem Chip steht.
      Die Librarys sind im Download enthalten. Diese müssen Sie, je nach Programmierumgebung, in einen Ordner legen. Hier eine Anleitung für die Arduino IDE.
      Gruß Max
      P.S. wer ist denn Herr Hoffmann?

  8. Hallo Max,
    vielen Dank für die Anleitung und die ganze Arbeit die Du uns zukommen lassen hast, die Waage funktioniert jetzt. Etwas ist mir bei meiner Waage noch aufgefallen, sie läst sich nur einmal nach dem Start reseten. Es wird bei nochmaligen reset ok angezeigt
    aber kein Wert auf Null gesetzt (Werte bleiben wie sie sind). Nach einem Neustart geht es wieder einmal.
    Läst sich aber verschmerzen.

    Gruß Jens

  9. Hallo Max,
    ich brauche bitte eine Hilfestellung beim Kalibrieren, weil ich nicht weiter komme. In dem Kalibrierungssketch ist nur eine 8451demo.ino enthalten. Muss ich diese ino hochladen
    um die Gain und Offset Werte zu erhalten wenn ich die leertaste drücke.
    Wo werden die Werte angezeigt (Display oder Seriellem Monitor).

    Gruß Jens

  10. Hallo Herr Kaiser,
    reicht es bei einer Platine den Pin SAO mit 3,3V zu brücken und fällt der
    Wiederstand dann weg.

    Viele Grüße

    Jens Dennstedt

  11. Hallo Herr Kaiser,

    vielen Dank für Ihre Ausführungen und Ihre Mühe. Beim Nahcbau bin ich auf ein Problem gestossen. Die beiden Sensoren die Sie verwendet haben sind ja original Anafruit. Ich habe die anscheinend Noname Ihres links gekauft. Diese haben jedoch keinen Anschluss A um die I2C adresse zu ändern. Hätten Sie einen TIpp wie das mir diesen Sensoren gehen kann. Ich habe leider im Netz nichts gefunden. Ich bitte um Ihren Support.

    Danke und beste Grüße,

    Robert Hoffmann

    1. Hallo Herr Hoffmann,
      vielen Dank für den Hinweis und sie haben Recht, im Schaltplan habe ich der Einfachheit halber die Breakoutboards von Adafruit verwendet. Der Eigentliche Sensor ist von NXP. Aber das nur am Rande.
      In ihrem Fall müssen Sie den PIN SA0 auf den 3,3V Pin durchbrücken. Ich werde das im Artikel gleich ändern.

      Viele Grüße

Kommentar hinterlassen

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