Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
projektesose24:m-o:projektdokumentation [2024/09/30 00:52] jana_alexandra |
projektesose24:m-o:projektdokumentation [2024/09/30 02:05] (aktuell) jana_alexandra |
||
---|---|---|---|
Zeile 13: | Zeile 13: | ||
> **Abbildung 2:** Putzroboter M-O "Microbe Obliterator" | > **Abbildung 2:** Putzroboter M-O "Microbe Obliterator" | ||
- | Seine Hauptaufgabe ist es, einer zuvor definierten Strecke, in Form einer schwarzen Linie auf einer möglichst ebenen Oberfläche, zu folgen und dabei mittels einer an den Armen angebrachten Rolle die besagte Oberfläche zu reinigen. Das Ziel ist es, eine möglichst originalgetreue Abbildung seines Verhaltens aus dem Film zu erschaffen. Dies wird in erster Linie durch den begrenzten Arbeitsbereich ermöglicht, da M-O im Film seine Arbeit ebenfalls nur im Bereich einer klar definierten Linie verrichten darf.\\ | + | Seine Hauptaufgabe ist es, einer zuvor definierten Strecke in Form einer schwarzen Linie auf einer möglichst ebenen Oberfläche zu folgen und dabei mittels einer an den Armen angebrachten Rolle die besagte Oberfläche zu reinigen. Das Ziel ist es, eine möglichst originalgetreue Abbildung seines Verhaltens aus dem Film zu erschaffen. Dies wird in erster Linie durch den begrenzten Arbeitsbereich ermöglicht, da M-O im Film seine Arbeit ebenfalls nur im Bereich einer klar definierten Linie verrichten darf.\\ |
Das allein reicht jedoch nicht aus, um eine originalgetreue Abbildung von M-O darzustellen, weshalb weitere Überschneidungen von Verhalten und Aussehen zum Film benötigt werden. Um den Beginn seines Arbeitsprozesses, sowie seine Arbeitsbereitschaft anzukündigen, soll er zudem - wie im Film - seine Arme samt der Rolle bewegen können. In unserem Fall soll er die Arme zu Beginn enthusiastisch hochwerfen und anschließend wieder runternehmen, um mit seiner Aufgabe anzufangen. | Das allein reicht jedoch nicht aus, um eine originalgetreue Abbildung von M-O darzustellen, weshalb weitere Überschneidungen von Verhalten und Aussehen zum Film benötigt werden. Um den Beginn seines Arbeitsprozesses, sowie seine Arbeitsbereitschaft anzukündigen, soll er zudem - wie im Film - seine Arme samt der Rolle bewegen können. In unserem Fall soll er die Arme zu Beginn enthusiastisch hochwerfen und anschließend wieder runternehmen, um mit seiner Aufgabe anzufangen. | ||
Zeile 31: | Zeile 31: | ||
- Ausgabe von Audiodateien im MP3-Format | - Ausgabe von Audiodateien im MP3-Format | ||
- | Aufgrund von Zeitmangel, unzureichendem Programmierspeicherplatz sowie ausgelasteten Digitalpins, konnte die ursprünglich geplante fünfte Baugruppe nicht umgesetzt werden: Das Generieren von Augen über LED-Matrizen. | + | Aufgrund von Zeitmangel, unzureichendem Programmierspeicherplatz sowie ausgelasteten Digitalpins, konnte die ursprünglich geplante fünfte Baugruppe nicht umgesetzt werden: Das **Generieren von Augen über LED-Matrizen**. |
+ | |||
+ | {{:projektesose24:m-o:m-o_angeschlossen_an_akku_und_powerbank.jpg?nolink&300|M-O angeschlossen an Akku und Powerbank}} | ||
+ | {{:projektesose24:m-o:m-o_aufbau.jpg?nolink&300|M-O Aufbau}} | ||
+ | {{:projektesose24:m-o:schaltung_3.jpg?nolink&300|M-O Innenleben - Schaltung}}\\ | ||
+ | |||
+ | > **Abbildung 3:** Aufnahmen von unserem gegenwärtigen Roboter, M-O. | ||
==== Systembestandteile im Detail ==== | ==== Systembestandteile im Detail ==== | ||
Zeile 48: | Zeile 54: | ||
Zunächst mussten wir feststellen, welches der Räder sich nach vorne bewegen würde. Aufgrund der spiegelverkehrten Befestigung, drehte sich ein Schrittmotor zwangsläufig in die entgegengesetzte Richtung. Dementsprechend musste entweder die Schrittzahl vom linken oder vom rechten Rad negativ gesetzt werden. Dies ließ sich durch schlichtes Ausprobieren schnell ausmachen. Um eine Kurvendrehung zu ermöglichen, musste zuletzt die Schrittzahl des entsprechenden Rades herabgesetzt werden, in welche Richtung M-O sich bewegt. Wenn M-O bspw. nach links abbiegen soll, so muss das linke Rad deutlich weniger Schritte pro Umdrehung ausführen als das rechte Rad, um ein Abbiegen zu ermöglichen.\\ | Zunächst mussten wir feststellen, welches der Räder sich nach vorne bewegen würde. Aufgrund der spiegelverkehrten Befestigung, drehte sich ein Schrittmotor zwangsläufig in die entgegengesetzte Richtung. Dementsprechend musste entweder die Schrittzahl vom linken oder vom rechten Rad negativ gesetzt werden. Dies ließ sich durch schlichtes Ausprobieren schnell ausmachen. Um eine Kurvendrehung zu ermöglichen, musste zuletzt die Schrittzahl des entsprechenden Rades herabgesetzt werden, in welche Richtung M-O sich bewegt. Wenn M-O bspw. nach links abbiegen soll, so muss das linke Rad deutlich weniger Schritte pro Umdrehung ausführen als das rechte Rad, um ein Abbiegen zu ermöglichen.\\ | ||
+ | |||
+ | {{:projektesose24:m-o:drv8834_schaltung.png?nolink|Schaltplan für den Anschluss eines Mikrocontrollers an einen DRV8834 Schrittmotortreiberträger}} | ||
+ | > **Abbildung 4:** Schaltplan für den Anschluss eines Mikrocontrollers an einen DRV8834 Schrittmotortreiberträger. [[projektdokumentation#Quellenverzeichnis|1.)]] | ||
+ | |||
+ | {{:projektesose24:m-o:nema_11_schrittmotor_spulenanordnung.png?nolink|Schaltplan des bipolaren Schrittmotors - Spulenanordnung}}\\ | ||
+ | > **Abbildung 5:** Schaltplan des bipolaren Schrittmotors. Die Anordnung der Spulen ist beim Anschluss des Schrittmotors an den Driver zu beachten. [[projektdokumentation#Quellenverzeichnis|2.)]] | ||
**3.) Gestikulation**\\ | **3.) Gestikulation**\\ | ||
Zeile 66: | Zeile 78: | ||
Nicht eingebundene Audiodateien stellten Alternativen zu den bestehenden dar. | Nicht eingebundene Audiodateien stellten Alternativen zu den bestehenden dar. | ||
- | Um kurze Audioausschnitte auf einem Arduino Nano abspielen zu können, müssen wir zunächst die Größe der MP3-Dateien anpassen. Mithilfe des kostenlosen Audio-Editors Audacity, stellen wir ein 16-bit-Format ein und setzen die Projektrate auf das kleinstmöglichste Niveau (8000 Hz). Anschließend exportieren wir die Dateien. Um die Dateien nun einbinden zu können, dekodieren wir sie mithilfe einer Software genannt „EncodeAudio“ für Windows. Der dekodierte Code wird direkt in die Zwischenablage kopiert und kann einfach im Programmcode eingefügt werden. Einzig verändert werden musste die eingebundene Bibliothek „PCM.h“. Aufgrund der Inkompatibilität der Bibliotheken „Servo.h“ und „PCM.h“, bedingt durch gleiche Timer-Konfiguration (Timer 1), mussten wir auf die alternative Bibliothek „FlagPCM.h“ umsteigen, welche einen anderen Timer verwendet, um nicht in Konflikt mit der Servo-Bibliothek zu geraten. | + | Um kurze Audioausschnitte auf einem Arduino Nano abspielen zu können, müssen wir zunächst die Größe der MP3-Dateien anpassen. Mithilfe des kostenlosen Audio-Editors Audacity, stellen wir ein 16-bit-Format ein und setzen die Projektrate auf das kleinstmöglichste Niveau (8000 Hz). Anschließend exportieren wir die Dateien. Um die Dateien nun einbinden zu können, dekodieren wir sie mithilfe einer Software genannt „EncodeAudio“ für Windows. Der dekodierte Code wird direkt in die Zwischenablage kopiert und kann einfach im Programmcode eingefügt werden. Einzig verändert werden musste die eingebundene Bibliothek „PCM.h“. Aufgrund der Inkompatibilität der Bibliotheken „Servo.h“ und „PCM.h“, bedingt durch gleiche Timer-Konfiguration (Timer 1), mussten wir auf die alternative Bibliothek „FlagPCM.h“ umsteigen, welche einen anderen Timer verwendet, um nicht in Konflikt mit der Servo-Bibliothek zu geraten.\\ |
- | + | ||
- | + | Das Abspielen von Audiodateien nimmt mit Abstand den größten Teil vom Programmierspeicherplatz ein. Unter Berücksichtigung der anderen Baugruppen, werden 95% des Speichers für M-Os Anwendung belegt. Dies ist einer der Gründe, weshalb die nächste Baugruppe - mit einem Programmierspeicherplatz von 8% - nicht implementiert wurde. | |
- | + | ||
- | + | ||
- | + | ||
+ | **5.) Generieren von Augen über LED-Matrizen**\\ | ||
+ | \\ | ||
+ | Die Augen generierenden LED-Matrizen hätten M-Os Bild vervollständigt. An sich ist der Programmcode fertig. Es gibt drei verschiedene Modi, um seinen Gemütszustand auszudrücken: neutral, wütend und angestrengt/konzentriert. Der Code müsste lediglich in Zusammenhang mit dem Hauptprogramm gebracht werden, gäbe es da nicht das Problem mit dem mangelnden Speicherplatz. Zudem ist unklar, ob erneut Bibliotheken in Konflikt geraten, aufgrund gleicher Timer-Konfigurationen. Außerdem könnte sich die Schaltung ans Breadboard als schwierig erweisen, zudem so gut wie alle Digitalpins am Arduino Nano belegt sind. Möglicherweise gelingt es zukünftigen Gruppen, Ideen für diese Probleme zu entwickeln. | ||
+ | ---- | ||
{{ :projektesose24:m-o:schaltplan_m-o_steckplatine.png?nolink |Steckplatine M-O}} | {{ :projektesose24:m-o:schaltplan_m-o_steckplatine.png?nolink |Steckplatine M-O}} | ||
- | > **Abbildung 3:** Steckplatine von M-O erstellt mit dem open-source Programm [[https://fritzing.org/|Fritzing]]. \\ Da die LED-Matrizen noch nicht im Gesamtsystem integriert sind, werden sie im gegenwärtigen Schaltplan nicht aufgeführt. | + | > **Abbildung 6:** Steckplatine von M-O erstellt mit dem open-source Programm [[https://fritzing.org/|Fritzing]]. \\ Da die LED-Matrizen noch nicht im Gesamtsystem integriert sind, werden sie im gegenwärtigen Schaltplan nicht aufgeführt. |
^Pinbelegung am Arduino Nano ^^ | ^Pinbelegung am Arduino Nano ^^ | ||
Zeile 91: | Zeile 103: | ||
|**<color #7092be>D11</color>**|Base-Pin Transistor | | |**<color #7092be>D11</color>**|Base-Pin Transistor | | ||
- | > **Abbildung X:** Pinbelegungstabelle. Ausschließliche Verwendung von Digitalpins. | + | > **Abbildung 7:** Pinbelegungstabelle. Ausschließliche Verwendung von Digitalpins. |
+ | |||
+ | ---- | ||
==== Liste verwendeter Bauteile ==== | ==== Liste verwendeter Bauteile ==== | ||
Zeile 128: | Zeile 142: | ||
Das Zusammenfügen der Einzelbestandteile erfolgte mittels einer Heißklebepistole. Zur Verbesserung der Stabilität der Konstruktion, empfehlen wir Nachbau-Interessierten, den Einsatz von Schrauben und Ähnlichem. Um die Verkabelung der elektrotechnischen Bestandteile mit der Steckplatine zu ermöglichen, wurden mehrere Löcher in die obere und untere Holzbasis gebohrt. | Das Zusammenfügen der Einzelbestandteile erfolgte mittels einer Heißklebepistole. Zur Verbesserung der Stabilität der Konstruktion, empfehlen wir Nachbau-Interessierten, den Einsatz von Schrauben und Ähnlichem. Um die Verkabelung der elektrotechnischen Bestandteile mit der Steckplatine zu ermöglichen, wurden mehrere Löcher in die obere und untere Holzbasis gebohrt. | ||
* **Gehäuse:** | * **Gehäuse:** | ||
- | * mehrere DIN-A3 Blätter harte Pappe | + | * mehrere DIN-A3 Blätter harte Pappe, Orientierung an einem Papiermodell von [[https://paper-replika.com/index.php/disney/m-o-paper-model|Paper Replika]]. [[projektdokumentation#Quellenverzeichnis|4.)]] |
- | \\ | + | |
- | + | ||
- | {{:projektesose24:m-o:piezolautsprecher_und_transistor_2.jpg?nolink&300|Schaltung des Piezolautsprechers und Transistors}} | + | |
- | {{:projektesose24:m-o:piezolautsprecher_und_transistor_1.jpg?nolink&300|Schaltung des Piezolautsprechers und Transistors}}\\ | + | |
- | \\ | + | |
- | Eine ganze Reihe an Bildern...\\ | + | |
- | \\ | + | |
- | {{:projektesose24:m-o:m-o_angeschlossen_an_akku_und_powerbank.jpg?nolink&300|}} | + | |
- | {{:projektesose24:m-o:m-o_aufbau.jpg?nolink&300|}} | + | |
- | {{:projektesose24:m-o:schaltung_3.jpg?nolink&300|}}\\ | + | |
- | \\ | + | |
- | + | ||
- | {{:projektesose24:m-o:drv8834_schaltung.png?nolink|Schaltplan für den Anschluss eines Mikrocontrollers an einen DRV8834 Schrittmotortreiberträger}} | + | |
- | > **Abbildung 4:** Schaltplan für den Anschluss eines Mikrocontrollers an einen DRV8834 Schrittmotortreiberträger. [[projektdokumentation#Quellenverzeichnis|1.)]] | + | |
- | + | ||
- | {{:projektesose24:m-o:nema_11_schrittmotor_spulenanordnung.png?nolink|Schaltplan des bipolaren Schrittmotors - Spulenanordnung}}\\ | + | |
- | > **Abbildung 5:** Schaltplan des bipolaren Schrittmotors. Die Anordnung der Spulen ist beim Anschluss des Schrittmotors an den Driver zu beachten. [[projektdokumentation#Quellenverzeichnis|2.)]] | + | |
===== Ergebnis und Diskussion ===== | ===== Ergebnis und Diskussion ===== | ||
Zeile 170: | Zeile 167: | ||
{{:projektesose24:m-o:m-o_testfahrt_auf_gerader_strecke.mp4|M-O: Testfahrt auf gerader Strecke}}\\ | {{:projektesose24:m-o:m-o_testfahrt_auf_gerader_strecke.mp4|M-O: Testfahrt auf gerader Strecke}}\\ | ||
- | > **Video 1:** Jungfernfahrt auf gerader Strecke. (Die Kurvenerkennung über die Infrarotsensoren erfolgt zwar einwandfrei, doch aufgrund der eingestellten Schrittzahl/Schritte pro Umdrehung der Räder, ist M-O nicht in der Lage, rechtzeitig die Kurve zu kriegen.) Das Abbiegen ist noch nicht geglückt.\\ | + | > **Video 1:** Jungfernfahrt auf gerader Strecke. Aufgrund der im Abschnitt [[projektdokumentation#Systembestandteile im Detail|Systembestandteile im Detail]] unter dem Punkt Fortbewegung genannten Hindernisse, ist das Abbiegen zu diesem Zeitpunkt noch nicht geglückt.\\ |
{{:projektesose24:m-o:m-o_testfahrt_-_fehlgeschlagenes_abbiegen.mp4|M-O: Testfahrt im Kreis}}\\ | {{:projektesose24:m-o:m-o_testfahrt_-_fehlgeschlagenes_abbiegen.mp4|M-O: Testfahrt im Kreis}}\\ | ||
Zeile 179: | Zeile 176: | ||
===== Programmcode und Rohdaten ===== | ===== Programmcode und Rohdaten ===== | ||
- | <note important>Ergänzende Bemerkungen zu den Files!</note> | ||
* {{:projektesose24:m-o:m-o_programmcode.zip|}}\\ | * {{:projektesose24:m-o:m-o_programmcode.zip|}}\\ | ||
* {{:projektesose24:m-o:m-o_rohdaten.zip|}}\\ | * {{:projektesose24:m-o:m-o_rohdaten.zip|}}\\ |