Laser-Schießstand: Unterschied zwischen den Versionen
Zeile 181: | Zeile 181: | ||
=Zusammenfassung= | =Zusammenfassung= | ||
=Projektunterlagen= | =Projektunterlagen= |
Version vom 11. Februar 2021, 17:48 Uhr
Autoren: Sperhake, Lukas Aaron und Iván, Kleiböhmer
Betreuer: Prof. Schneider
→ zurück zur Übersicht: WS 20/21: Angewandte Elektrotechnik (BSE)
Einleitung
Das 2 Semester des Master Studiengangs Buisness and System Ingeninering beinhaltet das GET-Fachpraktikum. Neben den vier angesetzten laborterminen ist darüber hinaus noch ein semesterbegleitendes Projekt in zweien Gruppen angesetzt.
Dieser Artikel beschäftigt sich dabei mit dem Projekt der Gruppe 1.4. Zielsetzung ist es einen Laser-Schießstand zu entwickeln und bauen, welcher seinem Anwender direkt Rückkopplung über seinen Treffer gibt.
Erwartungen an die Projektlösung
- Planung und Konstruktion des Laser-Schießstandes
- Darstellung der regelungstechnischen Theorie
- Beschaffung der Bauteile (z.B Holz, Arduino Uno, Laser Sensor, Lautsprecher)
- Systemidentifikation (Übertragungsfunktion der Regelstrecke bestimmen)
- Realisierung des Aufbaus
- Modellbasierte programmierung der Hardware via Arduino IDE
- Video erstellen, welches die Funktion die Funktionen des Projektes darstellt.
- Dokumentation des Projektes
Aufgabe
Bei unserem Projekt handelt es sich um einen Laser Schießstand mit vier Zielpunkten. Ziel ist es mit Hilfe eines Lasers alle Ziele zu treffen. Dabei wird von links nach rechts auf die Zielpunkte jeweils einmal mittels des Lasers gefeuert. Wird ein Zielpunkt getroffen, wird dies mit dem Lasersensor detektiert und es erscheint für den Anwender ein optisches Signal durch eine grün aufleuchtende LED direkt über dem jeweiligen Zielpunkt. Zusätzlich ertönt ein akustisches Signal, welches das Geräusch einer abgefeuerten Waffe imitiert.
Darüber hinaus wird der Treffer auf dem oben anliegenden Display angezeigt. Trifft der Anwender auch den nächsten Zielpunkt, so erfolgt wie bei jedem anderen detektierten Treffer eines Lasers das optische sowie das akustische Signal. Auf dem Display wird der Treffer zu den bisherigen Treffern hinzuaddiert. Beim Detektieren des vierten und letzten Lasersignals wird dies ebenfalls wieder über die Ausgabesysteme ausgegeben und der Schießstand wird zurückgesetzt und ist bereit von vorne gespielt zu werden.
Projekt
Projektplanung
Projektmanagement
Aufgrund der besonderen Umstände durch die Corona Pandemie, wodurch kein direkter Austausch oder Kick-off Meetings möglich waren, ist eine gute Projektplanung von entscheidender Rolle beim Erreichen des Projektes.
Unsere Projektplanung basiert dabei auf einem Gantt-Diagramm, welches unsere Tätigkeiten in Zeitliche abschnitte einteilt.
Um zu überprüfen, ob die von uns definierten Vorgaben im Gantt-Diagramm auch eingehalten wurden, haben wir wöchentlich ein Kick-off Meeting gehalten(skype). Im Kick Off Meeting wurde sowohl über den Momentanen stand des Projektes gesprochen als auch über Problematiken und Lösungsansatze.
Änderungen, welche aus dem Kick-off Meeting resultierten, wurden im Gantt-Diagramm festgehalten. Jedoch ist zu erwähnen, dass die meisten unserer Tätigkeiten zu zweit über Skype durchgeführt wurden.
Hier finden sie das vollständige Gantt-Diagramm: Medium:Gantt-Diagramm Laser.pdf
Planung der Umsetzungsmöglichkeiten
Es wurde zur Planungstätigkeit ein morphologischer Kasten erstellt, dieser half bei der Findung konkreter Lösungsvarianten bei unserem Projekt. Im Weiteren soll auf einige Elemente es morphologischen Kasten eingegangen werden:
So fiel die Wahl des Gehäusematerials auf Holz, da sich dieser Leichter verarbeiten lässt und Holz Kosteneffizienter ist als Aluminium und ein 3D-Druck. Zudem lies sich Holz auch zu Hause mit vorhandenem Werkzeug bearbeiten und erforderte nicht wie Aluminium oder ein 3D-Druck das Werkzeug oder die Hilfestellung der Hochschule . Zudem haben wir uns bei der Stromversorgung für eine 9V Blockbatterie und gegen ein externes Netzteil und einen USB-Anschluss entschieden.
Entscheidungsgrund für die 9V Blockbatterie war die daraus resultierende Mobilität des Laser Schießstandes. Zudem konnte die Blockbatterie mit im Gehäuse verstaut werden. Ein externes Netzteil hätte zudem immer eine Steckdose in der Nähe benötigt, wodurch nicht an jedem Ort mit dem Laserschießstand hätte gespielt werden können.
Die Maximale Benutzerfreundlichkeit und Mobilität ließ sich als durch eine 9V Blockbatterie realisieren.
Materialplanung
Nachdem mithilfe des morphologischen Kastens festgelegt worden ist, wie unsere Variante des Laser Schießstandes aufgebaut werden soll und mit welchen Elementen wurde ein Material Plan erstellt.
Wichtig bei der Materialplanung war es zu beachten, dass es aufgrund der Corona Pandemie zu Lieferschwierigkeiten oder längeren Lieferzeiten kommen kann. So stellte beispielsweise die Beschaffung des Leimholzes eine Herausforderung da, da die Baumärkte von dem Lockdown betroffen waren.
Einen Großteil der Bauelemente haben wir über Conrad und Reichelt erwerben können. Die Gesamtkosten des Projektes belaufen sich auf 89€.
Es ist jedoch wichtig zu erwähnen, dass nicht alle Produkte erwerbt werden mussten, da einige Produkte wie das Arduino Uno bereits in unserem Besitz waren. Der Vollständigkeitshalbe haben wir dies jedoch mit in unserer Materialplanung mit Preis aufgeführt, damit sich der Wert des Laser Schießstandes genaustens ermittelt lässt.
Projektdurchführung
Konstruktion des Gehäuses
Der erste Schritt bei der Konstruktion des Gehäuses war es eine Entwurfsskizze anzufertigen, nach der man orientieren kann.
Nach dem bei der Projektplanung auch das Material ausgewählt worden ist, konnte mit der Konstruktion begonnen werden.
Bei der Größe des Gehäuses wurde darauf geachtet, dass alle Komponenten genügend Platz darin finden und die Anschlüsse wie USB-Anschluss und die Stromversorgung nach wie vor gut erreichbar sind.
Aus wirtschaftlichen Gründen wurden die einzelnen Elemente des Gehäuses vorher so berechnet, dass sich möglichst wenig verschnitt beim Zuschneiden 60x40x1,5cm Leimholzplatte ergibt.
Zugeschnitten wurden die einzelnen Elemente aus der Leimholzplatte mithilfe einer Tischkreissäge. Zusammengefügt wurden die einzelnen Holzplatten durch 20 Holzschrauben mit je einer Länge von 2,5 cm. Sowohl die Bohrungen für die LED's als auch für die Laser Sensoren wurden mit einem 8 Bohrer gebohrt. Die später dort sich befindenden LED's und Sensoren wurden mit einer Heizklebepistole dort fixiert.
Die Bohrung für den Lautsprecher sind mit einer Lochsäge, mit einem Durchmesser von 4 cm, durchgeführt worden. Zusätzlich ist in der Innenseite der Front noch eine Aufhängung angebracht worden, an der das Arduino Uno vertikal befestigt werden kann. Dabei schauen der USB-Anschluss und der Anschluss für die 9V Blockbatterie nach oben, fast eine leichte Handhabung garantiert.
Schaltplanentwurf und Aufbau der Schaltung
Der Schaltplan für den Laser Schießstand wurde mit der Software Fritzing erstellt.
Die Stromversorgung des Laser-Schießstandes erfolgt über eine 9 V Blockbatterie. Die einzelnen LED's die bei einem Treffer des jeweiligen Ziels aufleuchten sollen, werden über die Inputs 9 bis 12 angesteuert. Vor den jeweiligen LED's ist noch ein Vorwiderstand von 220Ω vorgeschaltet. Dieser wurde vom Hersteller vordefiniert. Auf den Steckbrettern wird jeweils eine Reihe als 3,3 V Anschluss und eine weitere als Ground Reihe genutzt. Von diesen Reihen werden die LED's, Lautsprecher, Laser Sensor und das Display mit Strom versorgt. Das Display wurde darüber hinaus noch mit den analogen Inputs A4 und A5 verknüpft.
Programmierung
Der vollständige Quellcode befindet sich in dieser PDF: Medium:Quellcode Laser-Schießstand.pdf
Verwendete Bibliotheken
Die folgenden Biobliotheken wurde verwendet. Die Adafruit GFX sowie die Adafruit SSD1306 wird dabei vom Display benötigt
// Libraries #include <SPI.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h>
Sound
Der Lautsprecher soll bei einem Treffer ein Schuss ausgeben. Um das umzusetzten war es nötig eine WAV.Datei in 8 Bit zu Konvertieren, um diese dann in einem Zahlencode zu encodieren. Diese wird dann anschließend in Arduino IDE eingefügt. Durch den Aufruf in einer if Schleife wird der Sound nun bei einem Treffer abgespielt.
const unsigned char sample [] PROGMEM = { 129, 129, 129, 127, 127, 127, 129, 128, 128, 129, 129, 131, 128, 129, 129, 129, 130, 129, 128, 125, 126, 126, 126, 128, 126, 126, 125, 127, 130, 128, 126, 123, 124, 125, 126, 129, 126, 129, 129, 128, 128, 129, 130, 127, 128, 127, 126, 127, 124, 126, 128, 127, 127, 125, 125, 125, 129, 127, 123, 124, 121, 123, 127, 128, 130, 129, };
Input/Output
Übersicht über die Input und Output Vergabe
pinMode(SOUND, OUTPUT);//definiert die Soundausgabe Pin 2 pinMode(LASER1, INPUT);// definiert den Laserinput Pin 3 pinMode(LASER2, INPUT);// definiert den Laserinput Pin 4 pinMode(LASER3, INPUT);// definiert den Laserinput Pin 5 pinMode(LASER4, INPUT);// definiert den Laserinput Pin 6 pinMode(LED1, OUTPUT);// Pin 9 pinMode(LED2, OUTPUT);// Pin 10 pinMode(LED3, OUTPUT);// Pin 11 pinMode(LED4, OUTPUT);// Pin 12
Array
Um den Quellcode so kompakt und effektiv zu machen, wie es nur geht, wurden die einzelnen Laser Sensoren in ein Array mit der Länge 4 gepackt.
#define Size 4 int laserinput[Size] = {digitalRead(LASER1), digitalRead(LASER2), digitalRead(LASER3), digitalRead(LASER4)};
Beispiel Schleife beim detektieren ein Lasers
Sollte ein Laser Sensor aus dem Array getroffen so werden so wird dieser Laser Sensor auf HIGH gesetzt. Ist dies der Fall so wird nach dem folgenden Schema die Schleife durchlaufen. Als erstes wird die zugeordnete LED zu dem jeweiligen Laser Sensor´s auf HIGH gesetzt und leuchtet somit. Zudem wird über das Display der Treffer angezeigt. Auch wird in der Schleife der Sound des Schusses abgespielt.
for(int i = 0; i < Size; i++) { if( laserinput[0] == HIGH) { Serial.println("Input1"); startPlayback(sample, sizeof(sample)); digitalWrite(LED1,HIGH); Serial.println("Detected!"); display.setTextColor(WHITE); display.setTextSize(2); display.setCursor(1,0); display.println("Treffer1"); display.setCursor(40,20); display.display(); display.clearDisplay(); }
Ergebnis
Der Laser Schießstand wurde fertiggestellt. Allerdings gab es im Ergebnis leichte abweichungen von den vorher definierten Anforderungen. So lässt sich der Treffer des jeweiligen Laser Sensors nicht auf die bisherigen Treffer zusammen addiert und dies als "Treffer x ausgeben. Alle anderen Anforderungen wurden erfüllt.
Zusammenfassung
Projektunterlagen
YouTube Video
Direktlink zum Youtube Video: https://youtu.be/ydVlzDAZNwg
Literatur
→ zurück zur Übersicht: WS 20/21: Angewandte Elektrotechnik (BSE)