AM 17: Ardumower-Mini: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(68 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 2: Zeile 2:
Dieser Wiki-Beitrag ist Teil eines Projektes, welches im Rahmen vom [[Fachpraktikum_Elektrotechnik_(WS_16/17)|Fachpraktikum Elektrotechnik]] im 5. Semester [http://www.hshl.de/mechatronik-bachelorstudiengang/ Mechatronik] absolviert wurde. Ziel des Beitrags ist es, eine nachhaltige Dokumentation zu schaffen, welche die Ergebnisse festhält und das weitere Arbeiten am Projekt ermöglicht.
Dieser Wiki-Beitrag ist Teil eines Projektes, welches im Rahmen vom [[Fachpraktikum_Elektrotechnik_(WS_16/17)|Fachpraktikum Elektrotechnik]] im 5. Semester [http://www.hshl.de/mechatronik-bachelorstudiengang/ Mechatronik] absolviert wurde. Ziel des Beitrags ist es, eine nachhaltige Dokumentation zu schaffen, welche die Ergebnisse festhält und das weitere Arbeiten am Projekt ermöglicht.


Autoren:
Autoren: [[Benutzer:Philip_Struemper| Philip Strümper]] , [[Benutzer:Phillip_Blunck| Phillip Blunck]]


Betreuer: [[Benutzer:Ulrich_Schneider| Prof. Schneider]]
Betreuer: [[Benutzer:Ulrich_Schneider| Prof. Schneider]]
Zeile 8: Zeile 8:


= Aufgabe =
= Aufgabe =
Aufbau der Indoor-Entwicklungsumgebung "Mini Ardumower"
Aufbau der Indoor-Entwicklungsumgebung "Mini Ardumower". [[Datei:Mini-ardumower-2wd-experimentier-und-lernbausatz-forschungsbausatz-5.jpg|250px|thumb|Ardumower Mini]]




Zeile 28: Zeile 28:
= Einleitung =
= Einleitung =


Der Ardumower Mini ist eine stark verkleinerte Version des Ardumower und dient als Testplattform für Software und Sensorik des Ardumower. Er ist für den Indooreinsatz ausgelegt und somit auch mit keinem Mähwerk ausgestattet. Die Hauptplatine wird beim Ardumower Mini durch einen Arduino mit aufgesetztem Sensorshield ersetzt, wodurch es möglich wird Sensoren schnell anzuklemmen und zu tauschen. Einige notwendige Sensoren, wie zum Beispiel ein Empfänger für die Perimeterschleife und Sensoren für die Odometrie sind schon am Ardumower Mini verbaut.
Im Rahmen des GET-Fachpraktikums wurde neben den Hauptversuchen das Projekt "Ardumower - Open Source Autonomer Rasenmähroboter" für die Bachelorstudierenden zugewiesen. Dabei wurden Unterprojekte wie der "Ardumower Mini" gebildet und sollten von den Studierenden vorbereitet, erarbeitet und dokumentiert werden.
Der Ardumower Mini ist eine verkleinerte Version des Ardumower und dient als Testplattform für Software und Sensorik für die anderen Teilgruppen. Er ist für den Indooreinsatz ausgelegt und somit auch mit keinem Mähwerk ausgestattet. Die Hauptplatine wird beim Ardumower Mini durch einen Arduino Mega mit aufgesetztem Sensorshield ersetzt, wodurch es möglich wird, mehrere Sensoren schnell anzuschließen und beliebig zu tauschen. Einige notwendige Sensoren, wie zum Beispiel ein Empfänger für die Perimeterschleife und Sensoren für die Odometrie sind schon am Ardumower Mini verbaut. Des Weiteren sind zwei Motoren und ein Batteriefach am Ardumower Mini befestigt.


= Projektdurchführung =
= Projektdurchführung =
 
Im Folgendem werden die Arbeitsschritte dieses Projektes erläutert, ein Ergebnis definiert und schließlich eine Zusammenfassung mit nachfolgendem Ausblick gegeben.
== Projektplan ==
== Projektplan ==
   
   
Um die Anforderungen an den Ardumower Mini zu klären, war es zunächst nötig sich in die Unterlagen zum Ardumower Mini einzulesen. Aus den Unterlagen wurden die benötigten Bauteile gesucht und auf die BOM gesetzt. Nach Eintreffen der Bauteile, wurde mit dem mechanischen Aufbau des Ardumower begonnen.
1. Um die Anforderungen an den Ardumower Mini zu klären, war es zunächst nötig sich in die Unterlagen zum Ardumower Mini einzulesen. Diese sind auf der [http://wiki.ardumower.de/index.php?title=Ardumower_Mini Ardumower Mini_Wiki-Seite] zu finden. Aus diesen Unterlagen wurden die benötigten Bauteile gesucht und auf die BOM gesetzt, welche in der Abbildung zu sehen ist. Parallel zur Wartezeit der Bauteile (Sensoren, Bausatz usw.) erfolgte eine Einarbeitung in die Datenblätter der Sensoren/Aktuatoren. <br /> <br />
2. Nach Eintreffen der Bauteile, wurden die projektspezifischen Teile gesammelt und begutachtet. <br /> <br />
3. Parallel zur Empfangsnahme fanden ein Brainstorming über die Umsetzung der Hardware/Software und die Einarbeitung in die Schaltpläne der Sensoren/Arduino Megas statt. <br /> <br />
4. Daraufhin erfolgte der Zusammenbau des Mini-Bausatzes. Jedoch tauchte ein Problem mit dem Motortreiber auf, da eine seperate Spannungsquelle benötigt wird. <br /> <br />
5. Später wurde sich in die Arduino Mega-IDE eingearbeitet und eine Planung über die Bestückung des Bausatzes mit den Sensoren erstellt. <br /> <br />
6. Die Sensoren wurden platziert und die Software (Quellcode mini.cpp) des Mini-Ardumower gedownloaded. Es folgten eine erste Einarbeitung in die Hauptsoftware und erste Tests mit den Sensoren. <br /> <br />
7. Die Position des Batterieträgers und der Odometriesensoren wurden verändert und der Perimeterempfänger samt Spule traf ein. Des Weiteren ergab sich durch Recherche des Schaltplans des Sensorshields eine Lösung der Spannungsversorgung, sodass der Motortreiber durch den Output des Shields versorgt wird. <br />
 
[[Datei:Bom_ardumower_mini.PNG|500px|BOM]] <br />
(''Bill of materials'')


== Verwendete Bauteile ==
== Verwendete Bauteile ==


- Mini Ardumower 2WD Bausatz für Test's und Entwicklung, z.B. Ardumower
Mini Ardumower 2WD Experimentier- und Lernbausatz - Forschungsbausatz ----> [https://www.marotronics.de/index.php?a=152 Shop] <br />
- Mega Board 2560 R3 ATmega2560 mit USB Kabel Arduino kompatibel
 
- Sensor Shield 2.0 Sensor Expansions Board für Arduino MEGA 2560
Mega Board 2560 R3 ATmega2560 mit USB Kabel Arduino kompatibel ----> [https://www.marotronics.de/Mega-Board-2560-R3-ATmega2560-mit-USB-Kabel-Arduino-kompatibel Shop] [[Datei:Mega-board-2560-r3-atmega2560-mit-usb-kabel-arduino-kompatibel.jpg|150px|thumb|Mega Board 2560 R3 + Sensor Shield]] <br />
- Motortreiber L298N Dual H Brücke Motor Treiber
 
- Jumper Wire 10x1P female to female 20cm
Sensor Shield 2.0 Sensor Expansions Board für Arduino MEGA 2560 ----> [https://www.marotronics.de/Sensor-Shield-20-Sensor-Expansions-Board-fuer-Arduino-MEGA-2560 Shop] <br />
- Dual Drehzahlsensor Counting Modul für Odometrie Drehzahlmessung Arduino Raspberry PI
 
- Schleifenempfänger Kit, perimeter receiver Kit
Motortreiber L298N Dual H Brücke Motor Treiber ----> [https://www.marotronics.de/Motortreiber-L298N-Dual-H-Bruecke-Motor-Treiber Shop] <br />
 
Dual Drehzahlsensor Counting Modul für Odometrie Drehzahlmessung Arduino Raspberry Pi ----> [https://www.marotronics.de/Dual-Drehzahlsensor-Counting-Modul-fuer-Odometrie-Drehzahlmessung-Arduino-Raspberry-PI Shop] <br />
 
Schleifenempfänger Kit, perimeter receiver Kit ----> [https://www.marotronics.de/Schleifenempfaenger-Kit-perimeter-receiver-Kit Shop]


= Ergebnis =
= Ergebnis =


= Zusammenfasung =
[[Datei:Motortreiber-l298n-dual-h-bruecke-motor-treiber.jpg|right|200px]]
Aufgrund eines fehlerhaften Motortreibers (''L298N Dual H-Brücke'') war es nicht möglich, den Ardumower Mini zum fahren zu bringen. Der Motortreiber wird über die Inputschnitstelle mit Spannung versorgt. Über die Outputschnittstelle (''ab 7V DC gibt der Motortreiber 5V am Output aus'') sollte es möglich sein ebenfalls den Arduino zu versorgen, indem die Brücke auf den Sensorshield entfernt wird. Dies lässt die Outputschnittstelle des Shields als Inputschnittstelle fungieren. Dies klappte nach mehreren Anläufen und Tests nicht. Durch Messungen stellte sich heraus, das der Output des Motortreibers immer stromlos blieb. Nach Rücksprache mit den [[AM_11:_PID-Regler|Team PID Regler]], welches einen eigenen Ardumower-Mini besitzt, wurde festgestellt, dass der Motortreiber fehlerhaft sein muss, da die Schaltungen identisch waren.<br />
Weiterhin lässt sich sagen, das keine weiteren Teams die Testumgebung des Ardumower Mini nutzen wollten. Die Kommunikation mit dem [[AM_13:_Ardumower_Hauptplatine_-_Software|Team Hauptplatine-Software]] war nicht möglich, wodurch keine benötigten Schnittstellen abgesprochen wurden. Ein weiteres Problem war das Auslesen der Odometriedaten mit Hilfe von Matlab/Simulink. Der Odometriesensor gab keine Rohwerte zurück, sodass der Sensor im Hauptprogramm (mini.cpp) nicht genutzt werden konnte.
 
= Zusammenfassung =
 
Zusammenfassend lässt sich sagen, dass das Projekt aufgrund von vielen Problemen noch nicht vollständig ist, eine Basis für eine Testumgebung jedoch gelegt wurde. Durch die Fehlersuche beim Ardumower Mini ist viel Zeit verloren gegangen, sodass Test des Perimeterempfängers nicht möglich waren. Fehlende Kommunikation innerhalb der Gruppen erschwerte ebenfalls den Fortschritt, da Probleme nicht zusammen gelöst werden konnten.
 
== Ausblick ==
== Ausblick ==


Um das Projekt zuende zu führen, ist es nötig den Motortreiber zu tauschen und die Schnittstellen der Software mit den Anderen Gruppen abzusprechen, bzw. nach Absprache zu erstellen. Weitere Absprachen mit den anderen Teilprojekten, den Ardumower Mini als Testumgebung zu nutzen, wären ebenfalls wünschenswert, um mögliche Konflikte für die Software zu vermeiden oder projektfremde Fehler gemeinsam zu lösen.


= Weiterführende Links =
= Weiterführende Links =
Zeile 59: Zeile 81:
= Unterlagen =
= Unterlagen =


= YouTube-Video =
 





Aktuelle Version vom 30. Januar 2017, 11:54 Uhr

Dieser Wiki-Beitrag ist Teil eines Projektes, welches im Rahmen vom Fachpraktikum Elektrotechnik im 5. Semester Mechatronik absolviert wurde. Ziel des Beitrags ist es, eine nachhaltige Dokumentation zu schaffen, welche die Ergebnisse festhält und das weitere Arbeiten am Projekt ermöglicht.

Autoren: Philip Strümper , Phillip Blunck

Betreuer: Prof. Schneider


Aufgabe

Aufbau der Indoor-Entwicklungsumgebung "Mini Ardumower".

Ardumower Mini


Erwartungen an die Projektlösung

  • Einarbeitung in die bestehenden Ardumowers-Unterlagen
  • Planung und Beschaffung der Bauteile gemäß Lastenheft
  • Aufbau und des Mini Ardumowers
  • Aufbau der Testumgebung mit Begrenzungsdraht
  • Inbetriebnahme und Funktionstest
  • Schnittstellen zur Simulation und zum Ardumower müssen identisch sein
  • Erstellen Sie ein faszinierendes Video, welches die Funktion visualisiert.
  • Test und wiss. Dokumentation

Schwierigkeitsgrad

  • Mechanik: **
  • Elektrotechnik: **
  • Informatik: **

Einleitung

Im Rahmen des GET-Fachpraktikums wurde neben den Hauptversuchen das Projekt "Ardumower - Open Source Autonomer Rasenmähroboter" für die Bachelorstudierenden zugewiesen. Dabei wurden Unterprojekte wie der "Ardumower Mini" gebildet und sollten von den Studierenden vorbereitet, erarbeitet und dokumentiert werden. Der Ardumower Mini ist eine verkleinerte Version des Ardumower und dient als Testplattform für Software und Sensorik für die anderen Teilgruppen. Er ist für den Indooreinsatz ausgelegt und somit auch mit keinem Mähwerk ausgestattet. Die Hauptplatine wird beim Ardumower Mini durch einen Arduino Mega mit aufgesetztem Sensorshield ersetzt, wodurch es möglich wird, mehrere Sensoren schnell anzuschließen und beliebig zu tauschen. Einige notwendige Sensoren, wie zum Beispiel ein Empfänger für die Perimeterschleife und Sensoren für die Odometrie sind schon am Ardumower Mini verbaut. Des Weiteren sind zwei Motoren und ein Batteriefach am Ardumower Mini befestigt.

Projektdurchführung

Im Folgendem werden die Arbeitsschritte dieses Projektes erläutert, ein Ergebnis definiert und schließlich eine Zusammenfassung mit nachfolgendem Ausblick gegeben.

Projektplan

1. Um die Anforderungen an den Ardumower Mini zu klären, war es zunächst nötig sich in die Unterlagen zum Ardumower Mini einzulesen. Diese sind auf der Ardumower Mini_Wiki-Seite zu finden. Aus diesen Unterlagen wurden die benötigten Bauteile gesucht und auf die BOM gesetzt, welche in der Abbildung zu sehen ist. Parallel zur Wartezeit der Bauteile (Sensoren, Bausatz usw.) erfolgte eine Einarbeitung in die Datenblätter der Sensoren/Aktuatoren.

2. Nach Eintreffen der Bauteile, wurden die projektspezifischen Teile gesammelt und begutachtet.

3. Parallel zur Empfangsnahme fanden ein Brainstorming über die Umsetzung der Hardware/Software und die Einarbeitung in die Schaltpläne der Sensoren/Arduino Megas statt.

4. Daraufhin erfolgte der Zusammenbau des Mini-Bausatzes. Jedoch tauchte ein Problem mit dem Motortreiber auf, da eine seperate Spannungsquelle benötigt wird.

5. Später wurde sich in die Arduino Mega-IDE eingearbeitet und eine Planung über die Bestückung des Bausatzes mit den Sensoren erstellt.

6. Die Sensoren wurden platziert und die Software (Quellcode mini.cpp) des Mini-Ardumower gedownloaded. Es folgten eine erste Einarbeitung in die Hauptsoftware und erste Tests mit den Sensoren.

7. Die Position des Batterieträgers und der Odometriesensoren wurden verändert und der Perimeterempfänger samt Spule traf ein. Des Weiteren ergab sich durch Recherche des Schaltplans des Sensorshields eine Lösung der Spannungsversorgung, sodass der Motortreiber durch den Output des Shields versorgt wird.

BOM
(Bill of materials)

Verwendete Bauteile

Mini Ardumower 2WD Experimentier- und Lernbausatz - Forschungsbausatz ----> Shop

Mega Board 2560 R3 ATmega2560 mit USB Kabel Arduino kompatibel ----> Shop

Mega Board 2560 R3 + Sensor Shield


Sensor Shield 2.0 Sensor Expansions Board für Arduino MEGA 2560 ----> Shop

Motortreiber L298N Dual H Brücke Motor Treiber ----> Shop

Dual Drehzahlsensor Counting Modul für Odometrie Drehzahlmessung Arduino Raspberry Pi ----> Shop

Schleifenempfänger Kit, perimeter receiver Kit ----> Shop

Ergebnis

Aufgrund eines fehlerhaften Motortreibers (L298N Dual H-Brücke) war es nicht möglich, den Ardumower Mini zum fahren zu bringen. Der Motortreiber wird über die Inputschnitstelle mit Spannung versorgt. Über die Outputschnittstelle (ab 7V DC gibt der Motortreiber 5V am Output aus) sollte es möglich sein ebenfalls den Arduino zu versorgen, indem die Brücke auf den Sensorshield entfernt wird. Dies lässt die Outputschnittstelle des Shields als Inputschnittstelle fungieren. Dies klappte nach mehreren Anläufen und Tests nicht. Durch Messungen stellte sich heraus, das der Output des Motortreibers immer stromlos blieb. Nach Rücksprache mit den Team PID Regler, welches einen eigenen Ardumower-Mini besitzt, wurde festgestellt, dass der Motortreiber fehlerhaft sein muss, da die Schaltungen identisch waren.
Weiterhin lässt sich sagen, das keine weiteren Teams die Testumgebung des Ardumower Mini nutzen wollten. Die Kommunikation mit dem Team Hauptplatine-Software war nicht möglich, wodurch keine benötigten Schnittstellen abgesprochen wurden. Ein weiteres Problem war das Auslesen der Odometriedaten mit Hilfe von Matlab/Simulink. Der Odometriesensor gab keine Rohwerte zurück, sodass der Sensor im Hauptprogramm (mini.cpp) nicht genutzt werden konnte.

Zusammenfassung

Zusammenfassend lässt sich sagen, dass das Projekt aufgrund von vielen Problemen noch nicht vollständig ist, eine Basis für eine Testumgebung jedoch gelegt wurde. Durch die Fehlersuche beim Ardumower Mini ist viel Zeit verloren gegangen, sodass Test des Perimeterempfängers nicht möglich waren. Fehlende Kommunikation innerhalb der Gruppen erschwerte ebenfalls den Fortschritt, da Probleme nicht zusammen gelöst werden konnten.

Ausblick

Um das Projekt zuende zu führen, ist es nötig den Motortreiber zu tauschen und die Schnittstellen der Software mit den Anderen Gruppen abzusprechen, bzw. nach Absprache zu erstellen. Weitere Absprachen mit den anderen Teilprojekten, den Ardumower Mini als Testumgebung zu nutzen, wären ebenfalls wünschenswert, um mögliche Konflikte für die Software zu vermeiden oder projektfremde Fehler gemeinsam zu lösen.

Weiterführende Links

Unterlagen


→ zurück zum Hauptartikel: Fachpraktikum Elektrotechnik (WS 16/17)