Dosenautomat: Unterschied zwischen den Versionen
Zeile 240: | Zeile 240: | ||
<syntaxhighlight lang="cpp" style="border: none; background-color: #EFF1C1; font-size:larger"> | <syntaxhighlight lang="cpp" style="border: none; background-color: #EFF1C1; font-size:larger"> | ||
//Bartos Schwichtenberg für Projekt der HSHL, Projektname: Dosenautomat | //Bartos Schwichtenberg für Projekt der HSHL, Projektname: Dosenautomat | ||
/////////////////////////////// | |||
// Hochschule Hamm Lippstadt // | |||
// GET-Fachpraktikum // | |||
// Wintersemester 2023/2024 // | |||
// Projekt: Dosenauomat // | |||
// Gruppe: MTR 2.2 // | |||
// Bartos Schwihtenberg // | |||
// & // | |||
// Berta Nissen // | |||
/////////////////////////////// | |||
#include <Wire.h> | |||
#include <LiquidCrystal_I2C.h> | |||
#include <Servo.h> | |||
#include <Keypad.h> | |||
// | // LCD-Display | ||
LiquidCrystal_I2C lcd(0x27, 16, 2); | |||
Servo servo2; | |||
// Servos | |||
Servo servo1; | |||
Servo servo2; | |||
Servo servo3; | |||
// Neue Servo-Pins | |||
int servo1Pin = 10; // PWM-fähiger Pin | |||
int servo2Pin = 11; // PWM-fähiger Pin | |||
int servo3Pin = 12; // PWM-fähiger Pin | |||
// 1x4 Tastenfeld | |||
const byte ROW_NUM = 1; | |||
const byte COLUMN_NUM = 4; | |||
char keys[ROW_NUM][COLUMN_NUM] = { | |||
{'1','2','3','4'} | |||
}; | |||
byte pin_rows[ROW_NUM] = {5}; // Verbinde dies mit einem digitalen Pin | |||
byte pin_column[COLUMN_NUM] = {9, 8, 7, 6}; // Neue Tastenpins | |||
Keypad myKeypad = Keypad(makeKeymap(keys), pin_rows, pin_column, ROW_NUM, COLUMN_NUM); | |||
void setup() { | void setup() { | ||
lcd.begin(); | |||
lcd.backlight(); | |||
// Neue Servo-Pins konfigurieren | |||
servo1.attach(servo1Pin); | |||
servo2.attach(servo2Pin); | |||
servo3.attach(servo3Pin); | |||
// Servos auf 0-Stellung setzen | |||
servo1.write(0); | |||
servo2.write(0); | |||
servo3.write(0); | |||
lcd.setCursor(0, 0); | |||
lcd.print("G.-Fachpraktikum"); | |||
lcd.setCursor(0, 1); | |||
lcd.print("B&B-Dosenautomat"); | |||
} | |||
void loop() { | |||
char key = myKeypad.getKey(); | |||
if (key) { | |||
lcd.setCursor(0, 1); | |||
if (key == '4') { | |||
lcd.print(" Abbruch "); | |||
delay(1000); // Warte 1 Sekunde | |||
} else { | |||
lcd.print(" Warenausgabe D" + String(key) ); | |||
// Servos basierend auf den Tasten steuern | |||
if (key == '1') { | |||
moveServo(servo1, 35); | |||
} else if (key == '2') { | |||
moveServo(servo2, 35); | |||
} else if (key == '3') { | |||
moveServo(servo3, 35); | |||
} | |||
delay(1000); // Warte 1 Sekunde, während der Servo sich bewegt | |||
delay(1000); | |||
} | } | ||
resetDisplay(); | |||
} | } | ||
} | |||
void moveServo(Servo &servo, int angle) { | |||
servo.write(angle); | |||
delay(1000); // Warte 1 Sekunde, während der Servo sich bewegt | |||
servo.write(0); | |||
} | |||
void resetDisplay() { | |||
lcd.setCursor(0, 1); | |||
lcd.print("B&B-Dosenautomat "); // Setzt die zweite Zeile auf "Dosenautomat" zurück | |||
} | |||
Version vom 18. Januar 2024, 23:29 Uhr
Autor: Bartos Schwichtenberg & Berta Nissen
Betreuer: Marc Ebmeyer
Einleitung
Das Projekt befasst sich mit der Entwicklung eines "Dosenautomaten mit Dreifachauswahl" im Rahmen des Studiengangs Ba. Mechatronik im 5. Semester. Dieser innovative Automat zeichnet sich durch drei wesentliche Komponenten aus: 1. drei Aktuatoren (Motoren zur Fachauswahl), 2. Sensorik Nr. 1 (Tasteneingabe durch Benutzer), 3. Sensorik Nr. 2 (Beleuchtung für Fachentnahme). Das System funktioniert mit einem(r) Chip/Chipkarte ohne Guthaben und soll der Benutzers erkannt werden. Nach Erkennen wird das Bedienfeld entsperrt. Die Artikelwahl erfolgt über das Bedienfeld des Automaten. Jede Taste ist nur einem Servo zugewiesen und dieser Servo ist nur einem Artikelplatz. Eine Beleuchtung im Ausgabeschacht gibt dem Benutzer den Hinweis, den Artikel aus dem Schacht zu nehmen.
Anforderungen
ID | Inhalt | Ersteller | Datum | Geprüft von | Datum |
---|---|---|---|---|---|
1 | Das Chiplesegerät muss den Chip/Chipkarte erkennen und das Bedienfeld des Automaten entsperren (Benutzererkennung). | Bartos Schwichtenberg | 11.10.2023 | Berta Nissen | 17.01.2024 |
2 | Das LCD-Display muss Bereitschaftsbetrieb anzeigen (Begrüßung). | Bartos Schwichtenberg | 11.10.2023 | Berta Nissen | 17.01.2024 |
3 | Die Taste 1 steuert nur den Servo 1 an (Artikel von Platz 1). | Bartos Schwichtenberg | 11.10.2023 | Berta Nissen | 17.01.2024 |
4 | Die Taste 2 steuert nur den Servo 2 an (Artikel von Platz 2). | Bartos Schwichtenberg | 11.10.2023 | Berta Nissen | 17.01.2024 |
5 | Die Taste 3 steuert nur den Servo 3 an (Artikel von Platz 3). | Bartos Schwichtenberg | 11.10.2023 | Berta Nissen | 17.01.2024 |
6 | Servo 1 muss zwischen 0° und 35° schwenken. | Bartos Schwichtenberg | 11.10.2023 | Berta Nissen | 17.01.2024 |
7 | Servo 2 muss zwischen 0° und 35° schwenken. | Bartos Schwichtenberg | 11.10.2023 | Berta Nissen | 17.01.2024 |
8 | Servo 3 muss zwischen 0° und 35° schwenken. | Bartos Schwichtenberg | 11.10.2023 | Berta Nissen | 17.01.2024 |
9 | Beleuchtung im Schacht aufleuchten. | Bartos Schwichtenberg | 11.10.2023 | Berta Nissen | 17.01.2024 |
Funktionaler Systementwurf/Technischer Systementwurf
|
|
|
```markdown
Komponentenspezifikation
Umsetzung (HW/SW)
Gehäuse
Die Abbildung 4a, 4b, 5a und 5b zeigt das Gehäuse. Es ist aus Holzplatten zusammen geleimt und verschraubt. Als Schutz dient auf der Vorderseite eine Plexiglasscheibe. Zur einfachen Auffüllung ist die Oberklappe zum öffnen und als Eingabefach. Die Steuerung der Aktuatoren, Sensoren, Mikrokontroller ist im Gehäuse eingebaut. Die Bedienelektronik befindet sich auf der Vorderseite des Geräts.
Schaltung
Zum Einsatz kommt der Mikrokontroller.
|
|
Regelstrecke | Eingabegeräte / Ausgabegeräte |
---|---|
|
Eingabegeräte:
Ausgabegeräte:
|
Regelstrecke für Servomotor | Regler-Code-Matlab | |
---|---|---|
|
|
|
Programablaufplan (PAP) | Programmcode | ||
---|---|---|---|
|
Es wird ein Code in auf den Mikrocontroller geschrieben. Programmcode wurde im weiteren Verlauf in MATlab/Simulink erstellt.
|
Komponententest
ID | Inhalt | Getestet von | Datum |
---|---|---|---|
1 | Der Automat muss mit 5V und 12V Spannung versorgt werden. | B.Sch. | 16.01.2024 |
2 | Die LCD-Messung soll aufleuchten, damt die Spannungsversorgung angezeigt wird. | noch offen | **.01.2024 |
3 | LCD-Display muss aufleuchten und vorgegebenen Text ausgeben. | noch offen | **.01.2024 |
4 | Chiplesegerät muss den korrekten Chip erkennen. | noch offen | **.01.2024 |
5 | LCD-Display zeigt die Auswahlbereitschaft an. | noch offen | **.01.2024 |
6 | Durch Tastenauswahl muss tastenabhöngig der richtige Motor (Servo) angesteuert werden. | noch offen | **.01.2024 |
7 | Informierung des Benutzer zur Entnehmung der Ware (LED). | noch offen | **.01.2024 |
Tabelle 3 zeigt, welche Anforderung vom welchen Bearbeiter getestet wurde.
Ergebnis
Platzhalter für den Artikel "Ergebnise"
Zusammenfassung
Das Projekt zur Entwicklung eines "Dosenautomaten mit Dreifachauswahl" im 5. Semester des Studiengangs Ba. Mechatronik verfolgte das Ziel, einen innovativen Automaten zu schaffen. Die Kernkomponenten des Automaten umfassten drei Aktuatoren (Motoren zur Fachauswahl), Sensorik Nr. 1 (Tasteneingabe durch den Benutzer) und Sensorik Nr. 2 (Beleuchtung für Fachentnahme). Die Erkennung des Benutzers erfolgte mittels einer Chipkarte ohne Guthaben, woraufhin das Bedienfeld entsperrt wurde. Die Artikelwahl wurde über das Bedienfeld des Automaten ermöglicht. Trotz eines anfänglichen Komponententests kam es im Laufe des Projekts zu Schwierigkeiten durch Defekte und Störungen einiger wesentlicher Komponenten. Diese unvorhergesehenen Probleme erforderten kurz vor Abschluss des Projekts teilweise Umarbeitungen, um überhaupt eine erfolgreiche Vorführung zu ermöglichen. Diese Herausforderungen unterstreichen die Bedeutung einer kontinuierlichen Überwachung und Evaluierung der Komponentenleistung während des gesamten Projektverlaufs. Die bereits identifizierten Lessons Learned, darunter mangelnde Kommunikation, Alleingang zu Beginn, verspätete Einigung, sowie die Anpassung an unvorhergesehene Ausfälle, erweisen sich als entscheidende Faktoren für die auftretenden Verzögerungen. Die positive Veränderung durch verstärkte Teamarbeit und die strategische Anpassung an die Schwierigkeiten bei den Komponenten betonen die Relevanz einer flexiblen Projektplanung. Die gewonnenen Erkenntnisse aus diesem Projekt dienen als Basis für künftige Entwicklungsprojekte in der Mechatronik. Eine verbesserte Planung, kontinuierliche Überwachung der Komponenten und die Fähigkeit zur Anpassung an unvorhergesehene Herausforderungen sind dabei zentrale Elemente für eine erfolgreiche Umsetzung.
Lessons Learned
- 1. Mangelnde Kommunikation zu Beginn: Zu Projektbeginn wurde festgestellt, dass die Kommunikation innerhalb des Teams unzureichend war.Der Mangel an klaren Absprachen und einem koordinierten Vorgehen führte zu einem zunächst isolierten Arbeiten.
- 2. Alleingang statt Teamarbeit: Insbesondere zu Projektbeginn dominierte der Alleingang, anstatt im Team zu arbeiten. Dies führte zu einem unkoordinierten Ansatz, der die Effizienz des gesamten Projekts beeinträchtigte.
- 3. Verbesserung durch Teamarbeit: Im Verlauf des Projekts konnte jedoch eine positive Veränderung festgestellt werden, als das Team begann, besser zusammenzuarbeiten. Dies trug dazu bei, die Kommunikationslücken zu überbrücken und den Gesamtprozess zu optimieren.
- 4. Verzögerung durch verspätete Einigung: Leider führte die anfängliche Uneinigkeit zu einer verzögerten Fertigstellung des Projekts. Die Zeit, die benötigt wurde, um zu gemeinsamen Entscheidungen zu gelangen, erwies sich als kritischer Faktor, der das Projekt letztendlich beeinträchtigte.
- 5.Deutliche Verzögerungen durch Ausfälle: Die Ausfälle im Projektverlauf führten zu erheblichen Verzögerungen. Unvorhergesehene Ereignisse und Ressourcenengpässe hatten direkte Auswirkungen auf den Zeitplan und erforderten eine Anpassung der strategischen Planung.
- 6.Lessons Learned und zukünftige Verbesserungen: Basierend auf den gesammelten Erfahrungen, haben wir erkannt, dass eine verbesserte Kommunikation und ein frühzeitiger Fokus auf Teamarbeit entscheidend sind. Eine detailliertere Vorbereitung und eine optimierte Zeitplanung sollten Schwerpunkte bei zukünftigen Projekten sein, um eine schnellere und erfolgreichere Umsetzung zu gewährleisten. Der bewusste Umgang mit unvorhergesehenen Ausfällen und eine flexiblere Anpassung an Veränderungen sollten ebenfalls in die Projektstrategie integriert werden, um potenzielle Verzögerungen zu minimieren.
- 7 Es wäre empfehlenswert gewesen, ein weiterers Netzteil in Reserve zu haben. Da das verbaute vor kurz vor Projektende angefangen, geschwankt hat.
Projektunterlagen
Projektplan
Projektdurchführung
Erstmals kamen wir auf die Idee einen Getränkeautomaten selbst zu bauen, wodurch die erste Skizze entstanden ist. Wir haben uns für einen kompakten und mobilen Dosenautomat mit max. 3 Dosenauswahlen entschieden. Erst haben wir ein Plan erstellt, wo wir alle wichtigen Punkte notiert haben (z.B Termine und Aufgaben), anschließend haben wir die CAD-Zeichnungen gemacht. Als nächstes haben wir alle benötigten Bauteile und Elektroteile bestellt. Folglich haben wir Holzarbeiten durchgeführt und gemerkt, dass wir etwas Umbauen müssen, da nicht alles reinpasste hat. Daraufhin kamen die technischen Aufgaben, Simulink, Kühlung mit Peltier und das alles ist dem Microkontroller verbunden. Zuletzt haben wir ein Plakat, ein Video und eine Präsentation erstellt und die Wiki-Seite bearbeitet.
YouTube Video
Platzhalter für den Artikel "YouTube Video"
Weblinks / Grafiklinks / Multimedialink
Grafiken von Materiallinks:
- https://amzn.eu/d/4NuWy0d
- https://www.conrad.de/de/p/az-delivery-hd44780-1602-lcd-modul-display-bundle-mit-i2c-schnittstelle-2x16-zeichen-mit-gruenem-hintergrund-854720767.html
- https://www.ebay.de/itm/403572412958?mkcid=16&mkevt=1&mkrid=707-127634-2357-0&ssspo=othh7_s5qtq&sssrc=4429486&ssuid=x3WGzMX3Tbu&var=673533160861&widget_ver=artemis&media=COPY
- https://www.conrad.de/de/p/xilence-xp400r6-pc-netzteil-400w-peak-power-atx-2892733.html#productTechData
- https://funduinoshop.com/elektronische-module/sonstige/peltierelemente/kuehler-inkl-luefter-fuer-peltierelement-kuehlsystem-kit-90mm
- https://www.conrad.de/de/p/az-delivery-rfid-kit-rc522-mit-reader-chip-und-card-fuer-raspberry-pi-und-co-13-56mhz-850038438.html
- https://www.ebay.de/itm/403574423895?mkcid=16&mkevt=1&mkrid=707-127634-2357-0&ssspo=othh7_s5qtq&sssrc=4429486&ssuid=x3WGzMX3Tbu&var=673534476888&widget_ver=artemis&media=COPY
- https://www.hornbach.de/p/hobbyglas-2x500x1000-mm-glatt-klar/1477812/
- https://www.conrad.de/de/p/kaiser-753-sw-kaltgeraete-steckverbinder-753-stecker-einbau-vertikal-gesamtpolzahl-2-pe-10-a-schwarz-1-st-612545.html
- https://www.hornbach.de/p/osb3-platte-mini-ungeschliffen-1250x625x15-mm/10587891/
- https://www.hornbach.de/p/heco-topix-plus-holzschraube-senkkopf-mit-fraestaschen-tx-teilgewinde-4-5x35-mm-edelstahl-a2-200-stueck/10434659/?searchTerm=HECO-TOPIX-plus+Holzschraube+Senkkopf+mit+Fr%C3%A4staschen+TX+Teilgewinde+4%2C5x35+mm+Edelstahl+A2
- https://www.hornbach.de/p/mantelleitung-nym-j-5x25-mm-grau-meterware/6471650/
- https://www.conrad.de/de/p/logilink-loetdraht-o-1-mm-bleifrei-0-7-kupfer-12-5g-spenderbox-808011504.html
- https://www.hornbach.de/p/steinel-schrumpfschlauch-set-iii-4-0-12-0-mm-20-stueck/7631923/
- https://www.hornbach.de/p/schmales-scharnier-50x30-mm-edelstahl-matt-10-stueck/5863118/
- https://www.hornbach.de/p/pattex-montageband-superstark-weiss-19-mm-x-1-5-m/10401735/
- https://www.conrad.de/de/p/intos-electronic-inline-netzkabel-schutzkontakt-gerade-auf-c13-kaltgeraetestecker-laenge-1-80m-in-schwarz-800403474.html
- https://www.hornbach.de/p/pattex-montageband-superstark-weiss-19-mm-x-1-5-m/10401735/
- https://www.conrad.de/de/p/startech-com-80mm-gehaeuseluefter-luefter-8cm-fuer-pc-gehaeuse-mit-3-pin-molex-stecker-80mmx80mmx25mm-806138943.html
- https://www.ebay.de/itm/272298475466?chn=ps&_trkparms=ispr%3D1&amdata=enc%3A1OLIfN_dGSmqM1u8yc9V1oA67&norover=1&mkevt=1&mkrid=707-134425-41852-0&mkcid=2&mkscid=101&itemid=272298475466&targetid=1716911581439&device=c&mktype=pla&googleloc=9044160&poi=&campaignid=17943303986&mkgroupid=140642150118&rlsatarget=pla-1716911581439&abcId=9301060&merchantid=112143330&gclid=EAIaIQobChMI1MC9wsnzggMVsICDBx1kJAR3EAQYByABEgIa5fD_BwE
- https://funduinoshop.com/elektronische-module/sensoren/temperatur/temperatursensor-tmp36gt9z
- https://funduinoshop.com/elektronische-module/elektromotoren-und-zubehoer/servomotoren/mg90s-metallgetriebe-micro-servo
- https://www.amazon.de/dp/B08NTMX62K?psc=1&ref=ppx_yo2ov_dt_b_product_details
- https://www.amazon.de/dp/B0BGSCM4YF?psc=1&ref=ppx_yo2ov_dt_b_product_details
- https://www.amazon.de/dp/B09TXPS559?psc=1&ref=ppx_yo2ov_dt_b_product_details
- https://www.amazon.de/dp/B0BTYRBBFY?psc=1&ref=ppx_yo2ov_dt_b_product_details
- https://www.hornbach.de/p/luesterklemme-1-5-2-5-mm-12-polig-2-stueck/8266981/
- https://www.amazon.de/Arduino-A000066-UNO-Rev3/dp/B008GRTSV6/ref=sr_1_8?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&keywords=arduino&qid=1705309800&sr=8-8
Literatur
1.Schmidt M.: Arduino-ein schneller Einstieg in die Microcontroller-Entwicklung, 2.Auflage, dpunkt Verlag, 2015.
2.Spanner G.: Coole Projekte mit dem Arduino Micro,Franzis.
3.Snieders,R.:Arduinolernen, 10.Auflage,Nordhorn,2023.
4.Banzi M.:Arduino für Einsteiger,3.Auflage,O.Reilly Verlag,2015.
5.Mann H.,Schiffelgen,H,Froriep,R.:Einführung in die Regelungstechnik.
6.Lutz H,WendtW:taschenbuch der Regelungstechnik mit Matlab und Simulink,Europa Lehrmittel,2021.
7.Dorf C.,BishopR:Moderne Regelungssysteme,10.Auflage,Pearson Studium 2006
→ zurück zur Übersicht: WS 22/23: Angewandte Elektrotechnik (BSE)