Legoteil Zählmaschine: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 110: Zeile 110:
[http://193.175.248.52/wiki/index.php/Legosortiermaschine_Sortierung Zum Artikel Sortierung]
[http://193.175.248.52/wiki/index.php/Legosortiermaschine_Sortierung Zum Artikel Sortierung]


Die Legosortiermaschine soll am Ende als eine Einheit funktionieren. Dazu wurde bereits ein Programmablauf entwickelt. Dieser ist in der Grafik zu sehen, ist jedoch noch nicht im Programm umgesetzt.
[[Datei:Programablauf_Legomaschine_main.png|640px|thumb|right|Entwurf des Programmablaufes]]


= '''Anleitung Programmstart'''=
= '''Anleitung Programmstart'''=

Version vom 30. Juni 2017, 13:47 Uhr

Abbildung 1: Aufbau der Legoteil Zählmaschine

Die HSHL Lego® Zählmaschine ist eine Maschine zur automatischen Sortierung und Zählung von Legoteilen. Es ist ein studentisches Projekt, welches im Schwerpunkt System-Design-Engineering des Mechatronikstudiums an der Hochschule Hamm Lippstadt durchgeführt wird. In diesem Artikel werden die Ergebnisse zum Stand des Sommersemester 2017 zusammengefasst.


Betreuer: Prof. Schneider, Prof. Goebel


Historie

Folgende Gruppen haben sich bisher mit dem Aufbau und der Weiterentwicklung der Legoteil-Zählmaschine beschäftigt.



Einleitung

Ziel dieses Projektes ist, ein System zu entwerfen, welches Legoteile zählt. Insbesondere sollen Baukästen anhand ihrer Baukastennummer eingegeben werden können, bevor die Teile dieses Baukastens physikalisch in den Bunker der Legoteilzählmaschine gefüllt werden. Alles folgende soll vollautomatisch ablaufen:

  • Vereinzelung der Legoteile
  • Zentrierung der Legoteile auf dem Band
  • Bildverarbeitung der Legoteile. Die erkannten Legoteile sollen in einer Excel Liste anhand ihrer Lego Teilenummer abgeglichen werden, in welcher die Anzahl aller Legoteile in Bezug auf einen Baukasten vermerkt sind.
  • Sortierung der Legoteile in zwei Kategorien 'Erkannt' und 'Nicht erkannt'

Ergebnis: Als Ergebnis soll eine Teileliste ausgegeben werden, in der vermerkt ist ob der Baukasten vollständig ist, also alle Legoteile gezählt wurden, die im Neuzustand des Baukastens darin vorhanden waren.
Falls dies nicht der Fall ist, soll der Teileliste entnommen werden können, welche und wie viele Teile fehlen.


Aufbau der Maschine

Die Legoteilzaehlmaschine wurde als neues Projekt im SDE Praktikum 2015 von Null an geplant, konstruiert, beschafft und aufgebaut. Sie unterteilt sich in zwei Förderbänder und einen Schaltschrank:

  • Förderband 1: Förderband als Stufenförderer mit 10mm hohen Stollen, um die Legoteile eines gesamten Baukastens aus dem Teilebunker zu befördern. Dieses ist in Höhe und Neigung einstellbar.
  • Förderband 2: Förderband zum transportieren der Legoteile zur Vereinzelung und zur Bildverarbeitung. Durch den Stufenförderer sollen die Teile möglichst in einer Linie hintereinander auf Förderband 2 landen.
  • Schaltschrank: Der Schaltschrank beinhaltet die gesamte, sonst offen zugängliche, Elektronik und ist vor Förderband 3 auf der Holzplatte fest montiert.

Beschreibung der Komponenten

Neben den bereits genannten Förderbändern wurden folgende Komponenten verbaut:

  • Bildverarbeitungsbox: Hier werden Teile mit Durchlicht und Auflicht beleuchtet und so Formen und Farben extrahiert
  • Teilvereinzelungsbox: Hier werden Teile erkannt, die dicht beieinander liegen und durch Druckluft vereinzelt werden
  • Schaltschrank: Beinhaltet zwei Spannungswandler sowie einen Arduino MEGA 2560 mit selbst entwickelten Aufsteckboard zur Ansteuerung der Motoren, Servos sowie zum Auslesen von Infrarotsensoren und Potentiometern. Der Arduino dient als Schnittstelle zwischen MATLAB Software und Förderbandsystem und wird über die serielle Schnittstelle angesteuert (USB).
  • Laptop: Der Laptop beinhaltet die Software zur Bildverarbeitung und ermöglicht in Zukunft durch Leistungsstarke Komponenten ein Livetracking zum Zählen und Sortieren der Legoeile.
  • Webcam: Zur Anwendung kam eine Logitech C920 Webcam.

Aufgabenteilung und Ziele in den Semestern 2017/2018

Die Aufgaben werden in drei Themengebiete unterteilt und von den jeweiligen Teams bearbeitet.

Separierung

Team: Maik Schmotz, Nils Busemann, Dong Yank

Ziel: Die Teile sollen einzeln in die Bildverarbeitung fallen.

Aufgaben:

- Bunkerband bei vollem Förderband stoppen

- Wenige Teile pro Lamelle auf dem Bunkerband garantieren

- Die erste Bildverarbeitung optimieren

- Luftdüsen optimal einstellen und ansteuern

- Abschirmung für zurückfliegende Teile anbringen

Zum Artikel Separierung

Bildverarbeitung

Team: Jan Auf der Landwehr, Matthias Maas

Ziel: Alle Teile werden richtig erkannt und aufgelistet. Dabei soll eine GUI die Bedienung benutzerfreundlich machen und ein Teach-In von neuen Teilen zur Verfügung stellen.

Aufgaben:

- Hardware und Software starten und Bedienungsanleitung ergänzen

- GUI verbessern

- Datenbank pflegen

- Teach-In über GUI ermöglichen

- Sonderaufgabe 16.06.2017: Legoteil_Zählmaschine:_Analyse_und_Teiloptimierung_der_Bilderkennung

Zum Artikel Bildverarbeitung

Sortierung

Team: Alexander Soschnikow, Paul Klages

Ziel: Die Legoteile werden von der Bildverarbeitung über ein neu entwickeltes Sortierverfahren direkt in die Legokästen sortiert.

Aufgaben:

- Abbau des Linearläufers und eventueller Rückbau

- Auswahl eines neuen Sortieverfahrens

- Entwicklung des neuen Verfahrens

- Konstruieren der Sortieranlage

- Aufbau der Sortierung

Zum Artikel Sortierung


Die Legosortiermaschine soll am Ende als eine Einheit funktionieren. Dazu wurde bereits ein Programmablauf entwickelt. Dieser ist in der Grafik zu sehen, ist jedoch noch nicht im Programm umgesetzt.

Entwurf des Programmablaufes

Anleitung Programmstart

Anleitung Programmstart

Vor dem Starten der Legoteil-Zählmaschine müssen einige Voraussetzungen erfüllt sein. Es gilt zu prüfen, ob alle benötigten Komponenten mit dem Rechner verbunden sind, von dem das Programm gestart werden soll. Dazu zählen:

  • USB-Kabel zum Arduino
  • USB-Kabel zur Webcam in der Separierungseinheit
  • USB-Kabel zur Webcam in der Erkennungseinheit

Außerdem muss die Anlage an das Stromnetz und die Ventilinsel an eine Druckluftleitung angeschlossen sein.

Vor dem Start gilt es außerdem zu überprüfen, ob die Notschalter der Anlage deaktiviert sind und ob der Linearläufer in seine Initialposition gebracht wurde. Ist dies nicht der Fall ist dies durchzuführen. Anschließend ist der Luftdruck, der an der Ventilinsel anliegt einzustellen. Empfohlen werden zwischen 3 und 5 Bar. Der Start des Programms wird durch ausführen der Datei main_new.m ausgelöst. Es öffnet sich eine Eingabemaske, in der die zu zählenden Baukästen ausgewählt werden oder zum Teach_In gewechselt werden kann. Nach dessen Bestätigung sind die Anzahlen der Legoteile anzugeben, die nicht durch die Maschine gezählt werden können. Anschließend startet die Maschine das automatische Zählen. Der Inhalt der Legokiste, abzüglich der manuell gezählten Teile, ist in den Bunker zu geben. Da die Separierungseiheit noch nicht zuverlässig funktioniert und noch nicht in den Gesamtprozess integriert ist, sollten zunächst nur kleine Mengen in den Bunker geschüttet werden und eine manuelle Separierung vorgenommen werden. Wenn der Bunker leergelaufen sein sollte, sind nicht erkannte in den Bunker zurückzuführen (Aus Sicherheitsgründen darf dies in dem aktuellen Status nicht bei einer laufenden Maschine durchgeführt werden!) Ist der Zählprozess durchlaufen, kann die Zählung vom Anwender mit der ESC-Taste beendet werden. Es wird eine Inventur- sowie eine Fehlteilliste im Tool Excel ausgegeben. Außerdem werden Motoren und LEDs ausgeschaltet und der Linearläufer auf Initialposition gefahren. Nach gebrauch der Anlage ist der Druck der Druckluftleitung herunterzuregeln und die Anlage vom Strom zu trennen.

Die Schritte im Allgemeinen:

1) Vorbereitung

1.1) LED-Stecker anschließen

1.2) Hauptstecker anschließen

1.3) Hauptschalter betätigen


2) Matlab Programm öffnen

2.1) unter SVN\MTR_SDE_Praktikum_2015\SRC die main_new-datei öffnen

2.2) Programm starten

2.3) Sollte die Datenbank nicht richtig konfiguriert werden, muss wie folgt vorgegangen werden:

  Unter Systemsteuerung\System und Sicherheit\Verwaltung "Datenquellen(ODBC)" auswählen.
  Unter dem Reiter Benutzer-DSN auf "Hinzufügen" MYSQL ODBC 5.3 ANSI Treiber auswählen.
  Bei "Name" Lego eintragen, bei Server localhost.


4) Baukasten in der GUI auswählen


5) Handgezählte Teile eintragen


6) Automatischer Zählprozess

6.1) Esc-Taste betätigen zur Beendigung des automatischen Zählprozess


7) Motoren werden automatisch ausgeschaltet


8) Inventurliste wird ausgegeben


Projektplanung

Zur Projektplanung wurd ein Kanbanboard angeschafft. Dieses visualisiert die Aufgaben jeder Gruppe, sodass jeder auf einen Blick seine Aufgaben sieht. Dies fördert die Motivation und garantiert, dass zielstrebig an dem Projekt gearbeitet wird. Dazu werden die einzelnen Aufgaben in kleine Arbeitspakete eingeteilt und jeweils auf einen Postet geschrieben. Um eine gute Übersicht zu garantieren wird das Board in die drei Gruppen Separierung, Bildverarbeitung und Sortierung eingeteilt. Um die Aufgaben einzuteilen gibt es vier Katerogien. Sie heißen 'offen', 'in Arbeit', 'warten' und 'erledigt'. In der ersten Karerogie stehen alle Aufgaben die noch bearbeitet werden. Arbeitet eine Gruppe an einer Aufgabe, so wandert das Postet in die nächste Katerogie. Kann an einer Aufgabe nicht weiter gearbeit werden, weil zum Beispiel etwas anderes benötigt wird, so wird die Aufgabe in die Katerogie 'warten' verschoben. In der letzen Katerogie stehen die fertigen und abgeschlossenen Aufgaben. Arbeitspakete werden möglichst so definiert, dass jede Gruppe bzw. jeder einzelnen pro Team eine Aufgabe an einem Termin abarbeiten kann und somit auf dem Board verschieben kann.



Offene Punkte

- Einbinden eines Rückführbandes für nicht erkannte Legoteile

Links

Dateiablage in SVN