Futterautomat: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 167: Zeile 167:


[[Datei:Klasse_Katze_Futterautomat.jpg|mini|1000ptx|links|'''Abb.12''': Klassendiagramm der Klasse Katze]]
[[Datei:Klasse_Katze_Futterautomat.jpg|mini|1000ptx|links|'''Abb.12''': Klassendiagramm der Klasse Katze]]
<br clear=all>
==== Hauptprogramm ====
* '''Programmablaufplan'''
[[Datei:Programmablaufplan_Hauptprogramm_Futterautomat.jpg|mini|1000ptx|links|'''Abb.13''': Programmablaufplan zum Hautpprogramm]]
<br clear=all>
<br clear=all>



Version vom 6. Januar 2021, 21:56 Uhr

Autoren: Katrin Schöne, Maike Lütkewitte
Betreuer:


→ zurück zur Übersicht: WS 20/21: Angewandte Elektrotechnik (BSE)


Einleitung

Die Studierenden des Masterstudiengangs "Business and Systems Engineering" sollen im Rahmen des Praktikums "Angewandte Elektrotechnik" ein Projekt bearbeiten. Das Projekt beinhaltet folgende Ziele:

  • Auslesen von Sensordaten
  • Verarbeiten der Daten mithilfe eines Mikrocontrollers
  • Ansteuerung eines oder mehrerer Aktoren

Als Anwendungsfall für dieses Projekt wird ein Futterautomat für Katzen entwickelt. Dieser soll jedem Tiere eine individuell festgelegte Futtermenge zur Verfügung stellen. Somit kann auch bei Abwesenheit des Besitzers eine regelmäßige Fütterung der Tiere sichergestellt werden.

Anforderungen

Der Futterautomat soll die folgenden Anforderungen erfüllen:

  • Erkennung der unmittelbaren Anwesenheit des Tiers am Futterautomaten sowie Unterscheidung mehrere Tiere voneinander
  • Ausgeben der richtigen Futtermenge
  • Erkennung und Anzeigen des Füllstands des Futterspeichers
  • Schutz vor Überfüllung der Futterschale
  • Anpassung der Futtereinstellungen (Menge und Häufigkeit) für jedes Tier

Funktionaler Systementwurf/Technischer Systementwurf

Abb.1: Funktionaler Systementwurf Futterautomat


Komponentenspezifikation

Pos. Anz. Bezeichnung Artikel/Link Im Starterbaukasten enthalten (x)
1 1 Arduino UNO R3 x
2 1 Grove 125 KHz RFID Reader RFID-Reader
3 3 RFID Chip mit 125 kHz Transponder RFID-Chip
4 2 TRCT5000 IR Modul IR Sensor
5 1 Servomotor x
6 1 LCD-Display x
7 1 LED rot x
8 1 LED grün x
9 3 Taster (Schließer) x
10 3 Widerstand 1 kΩ x
11 2 Widerstand 330 Ω x

Zusätzlich wird ein Kunststoffgehäuse erstellt.

Umsetzung (HW/SW)

Hardware

Die Hardware besteht aus verschiedenen elektrischen sowie mechanischen Komponenten. Eine Stückliste der elektrischen Bauteile ist unter Komponentenspezifikation zu finden. Im Folgenden soll kurz näher auf die verwendeten Sensoren eingegangen werden.

RFID-Sensor

Die verschiedenen Tiere sollen mittels RFID-Chip am Halsband erkannt und unterschieden werden. Dazu wird ein RFID-Reader am Futternapf benötigt. Für den Anwendungsfall werden RFID-Reader und Transponder mit einer Frequenz von 125 kHz gewählt. Der Grove - 125KHz RFID Reader hat einen maximalen Leseabstand von 7 cm[1]. Durch die Verwendung dieses Readers soll gewährleistet werden, dass eine Futterausgabe erfolgen kann, wenn das Tier nahe genug an den Napf herantritt. Eine direkte Berührung ist nicht erforderlich.

Infrarotsensoren

Zur Füllstandserkennung für den Futterbehälter und den Futternapf wird das KY-033 Linienfolger Modul verwendet. Dieses nutz den IR-Sensor TCRT5000 und gibt via Analogausgang eine Spannung aus. Der im Datenblatt[2] gegebene Arbeitsbereich liegt zwischen 0,2 mm und 15 mm. Unter der Annahme, dass das Futter im zu überwachenden Behältnis gleichmäßig verteilt ist, reicht bei einem in der Wand verbauten Sensormodul eine geringe Reichweite von einigen mm aus, um zu detektieren, ob Futter vorhanden oder nicht vorhanden ist.

Schaltplan

Abb.2: Schaltplan zum Futterautomaten


Aufbau auf Steckbrett

Abb.3: Steckbrettaufbau der Aktoren und Sensoren zum Futterautomaten


Aufbau auf Lochrasterplatine

Um einen möglichst platzsparenden und sicheren Einbau der elektrischen Komponenten in den Futterautomaten zu ermöglichen, wird eine Lochrasterplatine verwendet. Auf dieser Lochrasterplatine werden die Widerstände und Schraubklemmen zur Verbindung mit dem Arduino UNO und den extern gelegenen Bauteilen verschaltet. Der Arduino UNO wird an jeder Seite mit einer Schraubklemmleiste versehen. Diese bietet die Möglichkeit einer deutlich stabileren mechanischen Fixierung der Leitungen im Vergleich zu den Steckbuchsen des Arduino UNO. Die elektrischen Komponenten, wie diverse Aktoren und Sensoren werden an den entsprechenden Stellen im Futterautomat verbaut. Durch Lötverbindungen werden sie mit Leitungen verbunden, welche dann an die Klemmen des Arduino UNO bzw. der Lochrasterplatine angeschlossen werden können.

Abb.4: Layout der Lochrasterplatine für den Futterautomaten


3D-Modell

Der Futterautomat besteht insgesamt sechs Komponenten. Im Folgendem werden diese im Einzelnen beschrieben. Zu Anfang des Projektes wurden 3D-Modelle auf Basis von ersten theoretischen Überlegungen erstellt. Nach dem Testen der gedruckten Komponenten wurde für einige Komponenten eine überarbeitete Version konstruiert, um diese mechanisch zu verbessern. Für die Erstellung der 3D-Modelle wurde Autodesk Fusion 360 verwendet.

  • Technikbehälter

Der Technikbehälter dient zur Aufbewahrung der elektrischen Komponenten. Er hat eine Grundfläche von 140mm x 60mm, eine Höhe von 220mm und eine Wandstärke von 2mm. Auf der Vorderseite werden Aussparungen für den Bildschirm, die drei Taster und die beiden LEDs gelassen. An der Seite befindet sich ein kreisrundes Loch für die Kabel. Damit der Füllstand des Futterbehälters erfasst werden kann, ist auf der Rückseite eine rechteckige Aussparung mit den Maßen 11mm x 5,7mm eingefügt. Damit in Zukunft ein Deckel ergänzt werden kann, existieren auf der oberen Kante zwei Ösen zum Öffnen und Schließen des Deckels.

Abb.5: Vorder- und Rückseite des 3D-Modells vom Technikbehälter


  • Futterbehälter

Der Futterbehälter hat eine Grundfläche von 190mm x 60mm, eine Höhe von 220mm und eine Wandstärke von 2mm. Er wird hinter neben dem Technikbehälter angebracht und hat die Funktion das Futter aufzubewahren. An der oberen Kante befinden sich ebenfalls zwei Ösen, um zukünftig einen Deckel anzubringen. Auf einer Seite befindet sich die gleiche rechteckige Aussparung für den IR-Sensor, wie beim Technikgehäuse, zur Füllstandserfassung. Die Unterseite ist leicht abgeschrägt, damit das Futter nachrutschen kann. Zwischen Grundfläche und Futteröffnung befindet sich ein Abstand von 32,311mm. Der Winkel beträgt 7,305°. Die Futteröffnung ist ein ebener Kreis mit Radius 38,118mm, der sich in der Mitte des Behälters befindet und zu einem Drittel geöffnet ist. Durch diese Öffnung kann später das Futter rutschen.

Verbesserung:
Der Winkel der Schräge ist nicht groß genug gewählt, aufgrund dessen rutscht das Futter nicht nach. Zudem ist der Futterbehälter überdimensioniert. Deswegen wird die Breite auf die Hälfte reduziert. Bei der neuen Version ist eine Seite gerade, sodass der IR-Sensor für die Füllstandserkennung platziert werden kann. Aus diesem Grund befindet sich die Futteröffnung nicht mehr zentral unter dem Futterbehälter, sondern an der geraden Seitenfläche. Außerdem wird der Abstand zwischen Öffnung und Grundfläche auf 117,348mm und der Winkel der Abschrägung auf 62,342° erhöht. Zusätzlich wird aus dem Drittel-Kreis der Öffnung ein Rechteck mit den Maßen 29,5mm x 51,5mm.

Abb.6: Alte (links) und neue Version (rechts) des 3D-Modells vom Futterbehälter


  • Rutsche

Die Rutsche hat die Funktion, dass das Futter vom Futterbehälter in den Futternapf gelangen kann. Sie hat eine Länge von 160,942mm und eine Maximalhöhe von 92,174mm. Die Rutschfläche ist 36mm breit. An den Seiten befinden sich Erhebungen, die verhindern sollen, dass das Futter zu den Seiten hinausläuft. Die beiden vorderen Stützen sind nicht miteinander verbunden, damit der IR-Sensor zur Füllstandserkennung des Futternapfes ggf. an dieser Stelle verbaut werden kann.

Verbesserung:
Die Seitenabgrenzungen wurden an der Futteraustrittsstelle manuell mithilfe von Pappstücken provisorisch erhöht. Dadurch wird ein Überlaufen des Futters minimiert.

Abb.7: 3D-Modell der Rutsche


  • Stützen

Aufgrund der Höhenlage der Rutsche müssen sich die Behälter ca. 100mm über den Boden befinden. Deshalb werden die Behälter von Stützen getragen. In der Konstruktion werden sowohl Eckstützen als auch Seitenstützen kreiert. Jedoch werden nur die Eckstützen gedruckt, weil diese bereits genügend Stabilität bieten. Die Stützen haben eine Höhe von 150mm. Auf der Höhe von 107,5mm befindet sich eine kleine Plattform mit der Grundfläche 21,416mm x 25mm und einer Dicke von 1,5mm. Diese Plattform dient als Ablagefläche für den Technikbehälter. Aufgrund der Trichterform am unteren Ende des Futterbehälters ist an diesen Eckstützen die Plattform nur 2mm lang. Somit kann der Behälter nicht in Schieflage geraten.

Abb.8: 3D-Modell der Stuetzen


  • Futternapf

Der Futternapf hat einen Radius von 75mm und eine Randhöhe von 40mm. Die innere Futterfläche ist leicht abgeschrägt. Somit soll das Futter weiter ins Innere rutschen. An einer Seite befindet sich eine Aussparung für den IR-Sensor auf der Höhe von 27,021mm.

Abb.9: 3D-Modell des Futternapfs


  • Futterverschluss

Der Verschluss hat einen Radius von 38,118mm und entspricht dem Futteröffnungsradius. Es wird eine Fläche von 141° bedeckt, somit ist diese circa 20° größer als die Futteröffnung.

Verbesserung:
Aufgrund des Gewichtskraft des Futters verbiegt sich der Verschluss, sodass trotz verschlossener Abdeckung Futter auf die Rutsche fällt. Aus diesem Grund wird ein überarbeiteter Kreis mit einem Radius von 44mm erstellt. Der Kreis erhält eine Aussparung von 120°. Damit bildet der neue Entwurf nahezu das Gegenstück zur ursprünglichen Konstruktion.

Abb.10: Alte (links) und neue Version (rechts) Version des 3D-Modells vom Verschluss


Wenn die einzelnen Komponenten zusammengefügt werden, entsteht der folgende Futterbehälter.

Abb.11: Alte (links) und neue Version (rechts) Version des zusammengebauten 3D-Modells


Software

Die Software wird in der Entwicklungsumgebung Arduino IDE in der Programmiersprache C++ geschrieben. Die Software ist in zwei Bereiche zu unterteilen: Die Software für das LCD Display und die Eingabe über die Buttons wird zunächst getrennt von der Software zur Steuerung des Hauptprogramms betrachtet.

Includes

Zunächst werden die Bibliotheken eingebunden, die für die Ansteuerung des LCD Displays und des Motors sowie das Auslesen des RFID Readers benötigt werden. Weitere Informationen zu diesen Bibliotheken sind hier zu finden:

LiquidCrystal_I2C
Wire
Servo
SoftwareSerial

Zudem wird die selbstgeschriebene Klasse Katze verwendet.

Die Klasse Katze

Die Klasse Katze enthält alle notwendigen Attribute und Methoden, die im Zusammenhang mit der Funktionsweise des Futterautomaten erforderlich sind.


Abb.12: Klassendiagramm der Klasse Katze


Hauptprogramm

  • Programmablaufplan
Abb.13: Programmablaufplan zum Hautpprogramm


Komponententest

Ergebnis

Zusammenfassung

Lessons Learned

Projektunterlagen

Projektplan

Abb.3: Projektplan Futterautomat



Projektdurchführung

YouTube Video

Weblinks

Literatur

  1. Seeed Technology Co. (o. D.) Grove - 125KHz RFID Reader [1] Letzter Aufruf: 06.01.2021
  2. AZ-Delivery Vertriebs GmbH (o. D.) Tracker Sensor TRCT5000 Linienfolger Modul Datenblatt [2] Letzter Aufruf: 06.01.2021

→ zurück zur Übersicht: WS 20/21: Angewandte Elektrotechnik (BSE)