Legoteil Zählmaschine 2015

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Legoteilzählmaschine im Überblick

In diesem Projekt gilt es eine Maschine aufzubauen, die Legoteile zählt.

Einleitung

  • Aufbau der Maschine
  • Beschreibung der Komponenten

Getting Started

Einschaltreihenfolge

Im Folgenden wird der Ablauf zum Starten der Legoteilzählmaschine und einer erfolgreichen Verbindung mit dem PC beschrieben. Sofern alle Schaltschrank internen Verbindungen wie im Stromlaufplan belassen wurden, ist der Ablauf wie folgt einzuhalten:

1. PC einschalten und USB Webcam (Logitech C920) sowie die USB Verbindung zum Arduino MEGA mit dem PC Verbinden.
2. Netzstecker für die Lichtbox einstecken, solange diese noch manuell über den Netzstecker eingeschaltet werden muss.
3. Netzstecker für den Schaltschrank einstecken.
4. Hauptschalter (seitlich am Schaltschrank) einschalten.
5. MATLAB GUI starten und Bildverarbeitung bzw. Förderbandansteuerung über diese grafische Oberfläche durchführen. SVN Link zur GUI


Leitfragen für die Dokumentation von Prof. Schneider:

  • Wie wird geflasht?
  • Notwendige Tools in welcher Version? Vorraussetzungen?
  • Links zu den Startdateien
  • Screenshots und Fotos verwenden


Matlab Webcam Installation

Da es bei der Einrichtung der USB-Kamera in MatLab des Öfteren zu Schwierigkeiten kam wird an dieser Stelle eine Anleitung zur Einrichtung dieser bereitgestellt. Bei der Installation handelt es sich um das Support Package OS Generic Video Interface - Windows Video (winvideo)

Matlab Webcam Installation

Matlab GUI

  • Link des Standorts
  • SW als PAP
  • Modulbeschreibung

Kommunikation Matlab mit Arduino

String zur Ansteuerung der Förderbänder und der Servomotoren

Die Kommunikation zwischen Matlab und dem Arduino wird über die serielle Schnittstelle realisiert. Alles nötigen Informationen werden als String von MATLAB an den Arduino geschickt, wo der String ausgelesen und seinen Variablen zugeordnet wird.
Ein kompletter Motorstring zum Anschalten der Förderbänder würde beispielsweise wie folgt aussehen: S1A010B075C001;
Erzeugt wird der benötigte String aus der GUI in MATLAB heraus, sodass der Nutzer nicht direkt mit diesm Format in Beerührung kommt.
DIe Interpretation und Bedeutung der Daten ist dennoch der Tabelle innerhalb diesen Kapitels zu entnehmen.

Unabhängig von der eingestellten Geschwindigkeit wird diese über eine Anlauffunktion in der Arduinosoftware Schrittweise erreicht. Sobald das erste Förderband seine Sollgeschwindigkeit erreicht hat, wird das nächste über die Anlauffunktion gestartet. Somit wird verhindert, dass alle drei Motoren gleichzeitig starten, was einen hohen Anlaufstrom von insgesamt etwa 30A zur Folge hätte. Die Reihenfolge der Förderbandanläufe ist durch die Reihenfolge Band 3, Band 2, Band 1 so gewählt, dass nach einem Stillstand des Systems zuerst alle alten Legoteile von den Förderbändern transportiert werden können. Es werden dadurch auch erst neue Teile auf die Bänder 2 und 3 befördert, wenn diese bereits ihre Sollgeschwindigkeit erreicht haben. Das verhindert eine Häufung der Teile und ermöglicht eine Vereinzelung der beförderten Legoteile.

Der String ist folgendermaßen Aufgebaut und interpretiert:

Buchstabe Wert Beschreibung Funktion
S 0 oder 1 Status der Förderbänder Status gibt an ob die Förderbänder Ein-(1) oder Ausgeschaltet(2) werden sollen
A 000-100 Geschwindigkeit Band 1 Prozentuale Geschwindigkeit des Stufenförderers (Band 1)
B 000-100 Geschwindigkeit Band 2 Prozentuale Geschwindigkeit des mittleren Förderbandes (Band 2)
C 000-100 Geschwindigkeit Band 3 Prozentuale Geschwindigkeit des letzten, kurzen Förderbandes (Band 3)
Z 1-3 Zuordnung Legoteil Öffnet / Schließt Schranken zur Sortierung der durchlaufenden Legoteile
Z1 = Teil erkannt, gehört zum Set -> Durchlauf
Z2 = Teil erkannt, gehört nicht zum Set -> Linke Schranke öffnen
Z3 = Unbekanntes Teil -> Rechte Schranke öffnen



Arduino MEGA 2560 mit Aufsteckboard

Blockschaltbild des Arduinos

Zur Ansteuerung der drei Gleichstrommotoren, der zwei Servomotoren und der Verwendung von bis zu zwei Infrarotsensoren über den Arduino wurde ein Aufsteckboard entwickelt und angefertigt.
Der Link SVN Link zur Dokumentation des Aufsteckboards führt zur ausführlichen Dokumentation des Aufsteckboards mit Stückliste, fertigen Schaltplänen und dem Layout sowie der Pinbelegung zum Arduino MEGA. Zum generellen Verständnis dient das Blockschaltbild des Arduinos.

Inputs
Potentiometer 1 -3:      Werden vorerst zur manuellen Geschwindigkeitseinstellung der Bänder genutzt, falls dies in der Arduino Software als '#define' festgelegt wurde.
Infrarotsensor 1 & 2:   Einer der Sensoren soll als Absicherung der berechneten Öffnungszeit der Sortierschranken dienen. Die Infrarotsensoren sind noch nicht implementiert.

Outputs
Motor 1-3:    Pulsweitenmodulation zur Transistorschaltung, welche zur Ansteuerung der Förderbandmotoren dient.
Motor 4&5:   Pulsweitenmodulation für die Servomotoren, die am Ende des Bandes die erkannten Teile in die drei Kategorien 'Erkannt' , 'Nicht erkannt' und 'Erkannt: Fremdteil'



  • Dokumentation der Schnittestelle zu Matlab
  • HW Platine als BSB mit Beschreibung und Links zu den Quellen (PCB-Layout, Stückliste,...)

Stand Bildverarbeitung

Gefährdungsbeurteilung

SVN Link zur Gefährdungsbeurteilung

Projekttagebuch

Liste offener Punkte

Die offenen Punkte und Ideen für kommende Semester sind im Nachfolgenden aufgelistet.

Thema Beschreibung Nähere Informationen Status benötigter Teile
Neues 24 V Netzteil 24V/10A Netzteil gegen 24V/20A austauschen, um Überlast beim Lauf aller Motoren zu verhindern. Netzteil ist bestellt (Frau König)
Notausschalter Notausschalter montieren und verdrahten Vorschlag: Montage Zentral über Förderband oder auf Montageplatte Kabel sowie Notausschalter vorhanden
Servo für Teilesortierung Identisches Servo wie bisher gegenüberliegend montieren, um drei Sortierfächer (Erkannt/Nicht Erkannt/Fremdteil) zu sortieren Konstruktion siehe *link* (tbd) Bestellung wurde an Fr. König geleitet
Kabelkanal montieren Kabelkanal zur ordentlichen Verlegung der Leitungen an den Förderbändern montieren
Kamerahalterung Konstruktion einer Kamerahalterung für die Logitech C920 WebCam Vorschlag: Brücke über Förderband
Bildverarbeitungskasten Für die Bildverarbeitung muss eine der gebauten Bildverarbeitungsbox-Prototypen ausgewählt und montiert werden. Hierfür wurden Lichttests durchgeführt. Ergebnisse sind protokolliert SVN Link zu den Lichttests Prototypen der Lichtboxen vorhanden


Siehe auch / Weiterführende Links

  1. SVN: Checkout URL | https://svn.hshl.de/svn/MTR_SDE_Praktikum_2015/trunk