Wägedrucksensor mit Wägezelle (1kg) HX711AD
![](/wiki/images/5/58/W%C3%A4gedrucksensor_mit_W%C3%A4gezelle_-_1kg.jpg)
Autor: | Felix Neubauer |
Studiengang: | Business and Systems Engineering |
Modul: | BSE-M-2-1.03, Hausarbeit in Angewandte Informatik gehalten von Prof. Dr.-Ing. Schneider |
Semester: | Sommersemester 2024 |
Abgabetermin: | 28.07.2024 |
Einführung
In der Lehrveranstaltung Angewandte Informatik ist im Sommersemester 2024 eine semesterbegleitende Arbeit zu leisten. Jeder Student konnte sich einen Sensor seiner Wahl aussuchen und an diesem Sensor, die vorgegebenen Aufgaben abarbeiten. Die Aufgaben können in Tabelle 1 eingesehen werden.In diesem Kapitel geht es um eine Wägezelle (1 kg), die in Kombination mit dem Verstärker HX711AD betrieben wird. Der Sensor wird mithilfe des Microcontrollers Arduino Uno R3 ausgelesen. Die Software, um die Werte auszulesen wird in Simulink entworfen. Es werden außerdem in Simulink, die Signale gefiltert und für den weiteren gebrauch verarbeitet. Hier werden gelernte Methoden aus dem Modul Signalverarbeitende Systeme, welches ebenfalls in dem Studiengang BSE angeboten wird, angewendet.
Aufgabenstellung
Messen Sie die Masse mittels Wägezelle.
Anforderungen | |||||||||||||||||||||||||||
|
- Thema/Fragestellung: Messung des Gewichts mittels Wägezelle (1kg) und HX711AD verstärker
- Hypothese: Das Gewicht lässt sich mit der Wägezelle auf eine Genauigkeit ±0,02% F.S auslesen.
- Einordnung in den Lehrplan
Die Lehrveranstaltung angewandte Informatik baut auf das Modul Signalverarbeitende Systeme auf. Zum Abschluss und zum vertiefen der gelernten Methoden bietet sich die Hausarbeit, mit der praktischen Anwendung (auslesen eines Sensors) gut an.
Projektbeschreibung
# | Anzahl | Material |
---|---|---|
1 | 1 | PC mit MATLAB/Simulink R2023b |
2 | 1 | Wägezelle 1 kg |
3 | 1 | Arduino Uno R3 |
4 | 1 | Streckbrett |
5 | 5 | LCD Modul 16x02 I2C |
6 | 6 | HX711AD |
Beschreibung Funktionsweise der verwendeten Hard- und Software
Arduino Uno R3
Der Arduino Uno R3 ist ein kleiner preiswerter Microcontroller der mit 3,3 - 5V betrieben werden kann. Er besitzt einen AtMega328P Prozessor um Rechenoperationen durchzuführen. Außerdem besitzt er einen 32 KB Flash Speicher um Programme auf dem Arduino speichern zu können und diese können dann dauerhaft ohne PC ausgeführt werden. Um mit dem Uno kommunizieren zu können gibt es eine integrierte USB- Schnittstelle. Damit z.B Sensordaten eingelesen werden können besitzt der Arduino 14 Digitale I/O Pins und 6 Analog Input Pins.
Wägezelle 1 kg mit HX711 AD Wandler
Mit einer Wägezelle ist es möglich, das Gewicht von Gegenständen zu messen. Eine Wägezelle besteht in der Regel aus einem Metallkörper. Auf diesem Metallkörper sind an strategischen Punkten Dehnungsmessstreifen aufgebracht. Die Streifen bestehen aus einem dünnen Draht, welcher bei Dehnung oder Stauchung, eine elektrische Widerstandsänderung aufweist. Durch das auftragen eines Gewichts auf den Metallkörper verformen sich die Dehnungsmessstreifen und es kann eine Widerstandsänderung festgestellt werden. Die Widerstandsänderung kann anschließend über den Microcontroller in ein Gewicht umgerechnet werden. Die Wägezelle kann man allerdings nicht direkt an den Arduino anschließen, da der verbaute AD Wandler mit 10 Bit nicht ausreichend ist, um das Gewicht genau zu bestimmen. Hier wird der HX711 AD Wandler mit in die Schaltung integriert. Der HX711AD hat eine Auflösung von 24 Bit und eignet sich somit besser, zur genauen Gewichtbestimmung.
Simulink R2023b
Simulink ist eine Software des Unternehmens MathWorks. Simulink eignet sich um z.B Sensordaten auszulesen. Der Vorteil von Simulink ist, dass man keinen Code in einer Programmiersprache entwickeln muss. In Simulink können einzelne Blöcke, die eine bestimmte Funktion erfüllen, zu einem Gesamtsystem zusammengesetzt werden. Dies geht in der Regel einfacher und schneller als einen Code z.B in C++ zu schreiben und erleichtert somit die Arbeit. Um Simulink nutzen zu können, muss man ebenfalls MATLAB installieren. MATLAB ist ebenfalls eine Software des Unternehmens MathWorks.
Steckbrett
Das Steckbrett eignet sich für einen schnellen und einfachen Aufbau einer elektrischen Schaltung. Die elektrischen Bauteile können leicht miteinander verbunden werden, indem sie an die richtigen Plätze auf dem Steckbrett gesteckt werden. Die einzelnen Reihen auf dem Steckbrett sind hier miteinander verbunden. Die Spalten hingegen nicht. Einzig die Spalte + und - sind nach unten hin verbunden. So ist es möglich mit einer Spannungsquelle zu arbeiten. So kann eine Schaltung mit unterschiedlichen Bauteilen einfach und schnell realisiert werden.
- Buzzer
Technische Daten
Messbereich | 0 - 1000 g |
Genauigkeit | +- 0.02% F.S |
Versorgungsspannung | 2,6V - 5,25 V |
Stromverbrauch | < 1,5 mA |
Abmessung Wägezelle | 75mm • 20mm • 2mm |
Kabellänge | ca. 25 cm |
Gewicht | 33,5 g |
Pinbelegung
Pin | Belegung | Signal |
---|---|---|
1 | Versorgungsspannung VCC | 5 V |
2 | Triggereingang | TTL-Pegel |
3 | Echo, Ausgang Messergebnis | TTL-Pegel |
4 | Masse (GND) | 0 V |
Versuchsaufbau und Durchführung
Versuchsaufbau
![](/wiki/images/thumb/3/39/Schaltplan_Sharp.jpg/450px-Schaltplan_Sharp.jpg)
![](/wiki/images/thumb/a/a8/Anschlussplan_Sharp.png/450px-Anschlussplan_Sharp.png)
![](/wiki/images/thumb/1/1d/Foto_Sharp.png/450px-Foto_Sharp.png)
Der Versuchsaufbau wird durch einen Schaltplan (Abb. 2), Anschlussplan (Abb. 3) und Foto des Aufbaus (Abb. 4) dokumentiert.
Versuchsdurchführung
![](/wiki/images/thumb/b/b2/Simulink_Sharp.png/450px-Simulink_Sharp.png)
Das Modell zur Datenverarbeitung wurde gemäß Abb. 5 in Simulink aufgebaut. Die Messdaten wurden aufgezeichnet. Ein Video der Versuchsdurchführung findet sich hier.
Modelleinstellungen: Arduino Uno, Solver: Fixed-step, discrete, Abtastrate: 0,001 s
Versuchsbeobachtung
![](/wiki/images/thumb/6/6a/Sharp_Ergebnis_1.png/450px-Sharp_Ergebnis_1.png)
![](/wiki/images/thumb/4/41/Sharp_Ergebnis_2.png/450px-Sharp_Ergebnis_2.png)
Das Signal des Sensors weist alle 40 ms systematische Ausreisser auf (vgl. Abb. 6, rote Kurve).
Auswertung
Die Messhypothese wurde verworfen. Der Sensor weist systematische Messwertausreisser auf.
Die Ausreisser lassen sich mit einem Signalfilter eliminieren. Hierzu eignet sich ein Rangordnungsfilter (z. B. Median-Filter). Das Filter wird hierzu auf eine Fensterbreite von 30 Werten eingestellt. Das zufriedenstellende Filterergebnis für statische Werte zeigt Abb. 6 als blaue Kurve. Es konnte mit dynamische Werten verifiziert werden (vgl. Abb. 7). Das Datenblatt ([2, S. 6]) belegt die Messungen und bezeichnet die Messausreisser als "instabile Ausgabe" für maximal 5 ms alle 40 ms. Mit 50 Werten erhöht sich die Filterwirkung, es entsteht jedoch ein Delay von 10 ms. Mit 10 Werten ist die Filterwirkung zu gering.
Zusammenfassung und Ausblick
- Zusammenfassung der Kapitel 1-4
- Diskussion der Ergebnisse
- Ausblick
- Selbstreflexion/Lessons learned
Ergebnisvideo
Binden Sie hier Ihr Ergebnisvideo ein.
Anleitung: Videos im Wiki einbinden
Lernzielkrontrolle
Beantworten Sie in Ihrem Artikel die Lernzielkontrollfragen.
Lernzielkontrollfragen |
|
Literatur
Zitieren Sie nach DIN ISO 690:2013-10.
Anhang
- Datenblätter
- Simulink-Modell
- Originaldateien (PAP, Schaltplan,... )
→ zurück zum Hauptartikel: BSE Angewandte Informatik SoSe24 | Hausarbeit SoSe24