Legoteil Zählmaschine: Unterschied zwischen den Versionen

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


Die Schritte im Allgemeinen:
Die Schritte im Allgemeinen:
 
# Vorbereitung
1) Vorbereitung
## LED-Stecker anschließen
 
## Hauptstecker anschließen
1.1) LED-Stecker anschließen
## Hauptschalter betätigen
 
# Matlab Programm öffnen
1.2) Hauptstecker anschließen
## unter SVN\MTR_SDE_Praktikum_2015\SRC die main_new-datei öffnen
 
## Programm starten
1.3) Hauptschalter betätigen
## 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.
2) Matlab Programm öffnen
###Bei "Name" Lego eintragen, bei Server localhost.
 
# Baukasten in der GUI auswählen
2.1) unter SVN\MTR_SDE_Praktikum_2015\SRC die main_new-datei öffnen
# Handgezählte Teile eintragen
 
# Automatischer Zählprozess
2.2) Programm starten
## Esc-Taste betätigen zur Beendigung des automatischen Zählprozess
 
# Motoren werden automatisch ausgeschaltet
2.3) Sollte die Datenbank nicht richtig konfiguriert werden, muss wie folgt vorgegangen werden:
# Inventurliste wird ausgegeben
  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''' =
= '''Projektplanung''' =

Version vom 28. Juli 2017, 15:36 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 Sommersemesters 2017 zusammengefasst.

In Abbildung 1 sieht man die Maschine. Ganz links ist der Schaltschrank zu sehen, über welchen alles gesteuert wird. Rechts daneben befindet sich das Bunkerband, in welches die Teile gefüllt werden. Dieses fördert die Teile in das dahinterliegende Förderband. In dem Holzkasten auf der rechten Seite sitzt eine Bildverarbeitung, welche die Teile erkennt und zählt. Davor sitzt eine Linearläufer der die Teile einsortiert.


Betreuer: Prof. Schneider, Prof. Goebel


Historie

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



Einleitung

Abbildung 2: Entwurf des Programmablaufes

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 10 mm 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.

Programmablauf

In Abbildung 2 sieht man den geplanten Programmablauf der Maschine. Da die drei Brereiche Seperarierung, Bildverarbeitung und Sortierung noch in der Entwicklungsphase stecken, ist dieser noch nicht vollständig umgesetzt.


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

Stand: Zum jetzigen Stand wird das Bunkerband bei einer Erkennung von Legoteilen angehalten. Des Weiteren wurde eine Einzelansteuerung der Düsen implementiert. Eine hundertprozentige Erkennung und Unterscheidung der Legoteile und eine daraus resultierende Separierung konnte noch nicht realisiert werden.

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 Sortierverfahrens

- 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.

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 gestartet 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 Separierungseinheit 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. LED-Stecker anschließen
    2. Hauptstecker anschließen
    3. Hauptschalter betätigen
  2. Matlab Programm öffnen
    1. unter SVN\MTR_SDE_Praktikum_2015\SRC die main_new-datei öffnen
    2. Programm starten
    3. Sollte die Datenbank nicht richtig konfiguriert werden, muss wie folgt vorgegangen werden:
      1. Unter Systemsteuerung\System und Sicherheit\Verwaltung "Datenquellen(ODBC)" auswählen.
      2. Unter dem Reiter Benutzer-DSN auf "Hinzufügen" MYSQL ODBC 5.3 ANSI Treiber auswählen.
      3. Bei "Name" Lego eintragen, bei Server localhost.
  3. Baukasten in der GUI auswählen
  4. Handgezählte Teile eintragen
  5. Automatischer Zählprozess
    1. Esc-Taste betätigen zur Beendigung des automatischen Zählprozess
  6. Motoren werden automatisch ausgeschaltet
  7. Inventurliste wird ausgegeben

Projektplanung

Zur Projektplanung wurde 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 Post-it 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 Kategorien. Sie heißen 'offen', 'in Arbeit', 'warten' und 'erledigt'. In der ersten Katerogie stehen alle Aufgaben die noch bearbeitet werden. Arbeitet eine Gruppe an einer Aufgabe, so wandert das Postet in die nächste Kategorie. Kann an einer Aufgabe nicht weiter gearbeitet werden, weil zum Beispiel etwas anderes benötigt wird, so wird die Aufgabe in die Kategorie 'warten' verschoben. In der letzten Kategorie 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