Projekt:WiReAfRo: Unterschied zwischen den Versionen

Aus Schaffenburg
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „{{Infobox Projekt |name = WiReAfRo (Wireless Remote-controlled Affordable Robot) |status = stable |beschreibung = ESP8266 & Arduino-basi…“)
 
Keine Bearbeitungszusammenfassung
 
(6 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Infobox Projekt
{{Infobox Projekt
|name            = WiReAfRo (Wireless Remote-controlled Affordable Robot)
|name            = WiRe AfRo (Wireless Remote-controlled Affordable Robot)
|status          = stable
|status          = stable
|beschreibung    = ESP8266 & Arduino-basiertes ferngesteuertes Fahrzeug
|beschreibung    = ESP8266 & Arduino-basiertes ferngesteuertes Fahrzeug
Zeile 11: Zeile 11:


==Projektname:==
==Projektname:==
Original: WiRe AfRo (Wireless Remote-controlled Affordable Robot)
Original: WiRe AfRo (Wireless Remote-controlled Affordable Robot)<br />
WRI: Smart Robot
WRI: Smart Robot


==Ziel:==
==Ziel:==
Entwurf eines simplen und günstig herstellzustellenden ferngesteuerten Fahrzeugs zur Förderung von technisch interessierten Einsteigern.
Entwurf eines simplen und günstig herzustellenden ferngesteuerten Fahrzeugs zur Förderung von technisch interessierten Einsteigern.


==Vorwort:==
==Vorwort:==
Zeile 24: Zeile 24:
Bei Fragen und Interesse und Projekt und Kurs stehen sowohl ich, als auch die Mitarbeiter des Walter Reis Institut zur Verfügung.
Bei Fragen und Interesse und Projekt und Kurs stehen sowohl ich, als auch die Mitarbeiter des Walter Reis Institut zur Verfügung.


Anmkerkung: Wenn es meine Freizeit zulässt, werde ich diesen Artikel um Dinge wie Anleitung zum Aufbau und detailierte Code-Erklärung erweitrern.
Anmerkung: Wenn es meine Freizeit zulässt, werde ich diesen Artikel um Dinge wie Anleitung zum Aufbau und detaillierte Code-Erklärung erweitern.


==Funktionsweise:==
==Funktionsweise:==
Das Fahrzeug stellt einen Wifi Access Point zur Verfügung, auf dem sich WLAN-fähige Geräte, wie z.B. Smartphones und Laptops anmelden können.
Das Fahrzeug stellt einen Wifi Access Point zur Verfügung, auf dem sich WLAN-fähige Geräte, wie z.B. Smartphones und Laptops anmelden können.
Sobald mindestens ein Gerät verbunden ist, wartet das Fahrzeug auf TCP Datenpakete im Format "[0-2047].[0-2047].\n" [1] Entsprechend der beiden Zahlenwerte Werte werden PWM-Signale an die beiden L9110 Motortreiber gesendet und die Motoren drehen sich in entsprechender Richtung und Geschwindigkeit.
Sobald mindestens ein Gerät verbunden ist, wartet das Fahrzeug auf TCP Datenpakete im Format "[0-2047].[0-2047].\n" [1] Entsprechend der beiden Zahlenwerte Werte werden PWM-Signale an die beiden L9110 Motortreiber gesendet und die Motoren drehen sich in entsprechender Richtung und Geschwindigkeit.
Durch die Nutzung von WLAN und TCP kann beliebige Hard- und Software verwendet werden, die diese beiden TEchnologien nutzt. In diesem Projekt wird eine Android App, sowie ein Ppthon Script für Gamepads vorgestellt.
Durch die Nutzung von WLAN und TCP kann beliebige Hard- und Software verwendet werden, die diese beiden Technologien nutzt. In diesem Projekt wird eine Android App, sowie ein Python Script für Gamepads vorgestellt.


[1] Der Aufbau des Datenstrings baut sich folgendermaßen auf:
[1] Der Aufbau des Datenstrings baut sich folgendermaßen auf:
{|
{|
| \n ||  Zeichen für das Ende des Datenbpaketes (kann beliebig gewählt werden)
| \n ||  Zeichen für das Ende des Datenpaketes (kann beliebig gewählt werden)
|-
|-
| 0-2047 ||  Kommt zwei mal vor, einmal für jeden Motor. Die unteren 1023 sind für die Geschwindigkeitskontrolle des Rückwärtsganges zuständig, 1024 entspricht Stop, 1025 - 2047 ist für die Gechwindigkeitskontrolle des Vorwärtsganges.
| 0-2047 ||  Kommt zwei mal vor, einmal für jeden Motor. Die unteren 1023 sind für die Geschwindigkeitskontrolle des Rückwärtsganges zuständig, 1024 entspricht Stop, 1025 - 2047 ist für die Geschwindigkeitskontrolle des Vorwärtsganges.
|-
|-
| . ||  Trennzeichen für das Ende eines Zahlenwertes.
| . ||  Trennzeichen für das Ende eines Zahlenwertes.
Zeile 42: Zeile 42:


==Hardware:==
==Hardware:==
Es gibt zwei Versionen:
Es gibt zwei Versionen:<br />
Original: 3D-gedrucktes Chassis, Elektronik wird auf ein Breadboard gesteckt.
Original: 3D-gedrucktes Chassis, Elektronik wird auf ein Breadboard gesteckt.<br />
Walter Reis Institut: Chassis aus dem CNC-Laser, Elektronik wird auf eine professionell hergestellte Platine gelötet.
Walter Reis Institut: Chassis aus dem CNC-Laser, Elektronik wird auf eine professionell hergestellte Platine gelötet.


[[Datei:L9110_Steckplatine.jpg|mini|Steackaufbau]]
[[Datei:Visualpartsguide_1080.jpg|mini|Die Bauteile]]
[[Datei:L9110_Steckplatine.jpg|mini|Steckaufbau]]
[[Datei:L9110_Schaltplan.jpg|mini|Schaltplan]]
[[Datei:L9110_Schaltplan.jpg|mini|Schaltplan]]


===Teileliste Original (siehe Bild):===
===Teileliste Original (siehe Bild):===
-1x Chassis Hauptteil<br />
* 1x Chassis Hauptteil
-1x Chassis Ball Roller oben<br />
* 1x Chassis Ball Roller oben
-1x Chassis Ball ROller unten<br />
* 1x Chassis Ball Roller unten
-1x (Stahl-)Kugel, 12mm<br />
* 1x (Stahl-)Kugel, 12mm
-2x DC Bürstenmotor mit Getriebe<br />
* 2x DC Bürstenmotor mit Getriebe
-2x Reifen<br />
* 2x Reifen
-1x 5-fach AA Batteriehalter<br />
* 1x 5-fach AA Batteriehalter
-1x Kippschalter, 5mm Hals<br />
* 1x Kippschalter, 5mm Hals
-36x Breadboard Pins<br />
* 36x Breadboard Pins
-1x Kabelsatz für Breadboard<br />
* 1x Kabelsatz für Breadboard
-2x Kabel für Motoren<br />
* 2x Kabel für Motoren
-1x Breadboard, 400 Loch<br />
* 1x Breadboard, 400 Loch
-1x Elektrolyt-Kondensator, 100 - 330 uF (abhängig von der Qualität der AA Batterien/Akkus, ca. 200 uF sollte recht universal funktionieren)<br />
* 1x Elektrolyt-Kondensator, 100 - 330 uF (abhängig von der Qualität der AA Batterien/Akkus, ca. 200 uF sollte recht universal funktionieren)
-1x Keramik-Kondensator, 10 uF (optional)<br />
* 1x Keramik-Kondensator, 10 uF (optional)
-2x Keramik-Kondensator, 100 nF<br />
* 2x Keramik-Kondensator, 100 nF
-2x L9110 Motortreiber (oder HG7881 Dual Motor board, nicht empfohlen wegen der Pullup-Widerstände)<br />
* 2x L9110 Motortreiber (oder HG7881 Dual Motor board, nicht empfohlen wegen der Pullup-Widerstände)
-2x M3x25 Senkkopfschraube<br />
* 2x M3x25 Senkkopfschraube
-2x M3 Stoppmutter<br />
* 2x M3 Stoppmutter
-4x M3x25 Schraube<br />
* 4x M3x25 Schraube
-2x M3x15 Schraube<br />
* 2x M3x15 Schraube
-6x M3 Mutter<br />
* 6x M3 Mutter
-2x M2x10 Schraube<br />
* 2x M2x10 Schraube
-6x M2 Mutter<br />
* 6x M2 Mutter
-2-4x M2 Ring (optional)<br />
* 2-4x M2 Ring (optional)
-1x 2x6 Lochrasterplatine (optional)<br />
* 1x 2x6 Lochrasterplatine (optional)
 
Chassis Original: https://www.thingiverse.com/thing:5151862


Chassis WRI: https://wiki.schaffenburg.org/Datei:Lasercutter_Teile.svg
Chassis WRI: https://wiki.schaffenburg.org/Datei:Lasercutter_Teile.svg
Zeile 81: Zeile 84:


==Software:==
==Software:==
Arduino-Code: https://github.com/Mastod0n/WiReAfRo_arduino
Arduino-Code (NodeMCU / ESP8266): https://github.com/Mastod0n/WiReAfRo_arduino


Android App: https://github.com/Mastod0n/WiReAfRo_remote_android/blob/main/WiFiremote-1.1-debug.apk
Android App (Fernsteuerung): https://github.com/Mastod0n/WiReAfRo_remote_android/blob/main/WiFiremote-1.1-debug.apk


Android App Code: https://github.com/Mastod0n/WiReAfRo_remote_android
Android App Code: https://github.com/Mastod0n/WiReAfRo_remote_android


Python Gamepad Script Code: https://github.com/Mastod0n/WiReAfRo_remote_pyGamepad
Python Gamepad Script (Fernsteuerung): https://github.com/Mastod0n/WiReAfRo_remote_pyGamepad





Aktuelle Version vom 3. Dezember 2021, 11:24 Uhr

Crystal Clear action run.png
WiRe AfRo (Wireless Remote-controlled Affordable Robot)

Status: stable

WiReAfRo title.jpg
Beschreibung ESP8266 & Arduino-basiertes ferngesteuertes Fahrzeug
Ansprechpartner Benutzer:Patrick
Version 1.3



Projektname:

Original: WiRe AfRo (Wireless Remote-controlled Affordable Robot)
WRI: Smart Robot

Ziel:

Entwurf eines simplen und günstig herzustellenden ferngesteuerten Fahrzeugs zur Förderung von technisch interessierten Einsteigern.

Vorwort:

Dieses Projekt soll technikbegeisterten Einsteigern einen Einblick in verschiedene Disziplinen und Techniken bieten, schnelle Ergebnisse liefern und für möglichst Jede(n) bezahlbar sein. Erstmals wurde es in einer etwas anderen Version mit den Schülern der Realschule Bessenbach in einem eintägigen Workshop gebaut. Im Rahmen unserer Zusammenarbeit mit unseren Freunden des Walter Reis Institut Obernburg haben wir uns erneut dafür entschieden. Herr Ludwig vom WRI hat das Projekt um ein sehr schönes Chassis aus dem CNC-Laser und eine professionell gefertigte Platine erweitert und so konnten wir im Oktober 2021 diese neue Version mit den jugendlichen Teilnehmern des Kurses "Smart Robot" bauen. In dieser Anleitung findet ihr alle Ressourcen (wie Teilelisten und Code), um das Projekt in seiner originalen Version nachzubauen. Außerdem hat das WRI ihre Dateien für Chassis und Platine bereit gestellt und diese werden hier ebenfalls verlinkt. Bei Fragen und Interesse und Projekt und Kurs stehen sowohl ich, als auch die Mitarbeiter des Walter Reis Institut zur Verfügung.

Anmerkung: Wenn es meine Freizeit zulässt, werde ich diesen Artikel um Dinge wie Anleitung zum Aufbau und detaillierte Code-Erklärung erweitern.

Funktionsweise:

Das Fahrzeug stellt einen Wifi Access Point zur Verfügung, auf dem sich WLAN-fähige Geräte, wie z.B. Smartphones und Laptops anmelden können. Sobald mindestens ein Gerät verbunden ist, wartet das Fahrzeug auf TCP Datenpakete im Format "[0-2047].[0-2047].\n" [1] Entsprechend der beiden Zahlenwerte Werte werden PWM-Signale an die beiden L9110 Motortreiber gesendet und die Motoren drehen sich in entsprechender Richtung und Geschwindigkeit. Durch die Nutzung von WLAN und TCP kann beliebige Hard- und Software verwendet werden, die diese beiden Technologien nutzt. In diesem Projekt wird eine Android App, sowie ein Python Script für Gamepads vorgestellt.

[1] Der Aufbau des Datenstrings baut sich folgendermaßen auf:

\n Zeichen für das Ende des Datenpaketes (kann beliebig gewählt werden)
0-2047 Kommt zwei mal vor, einmal für jeden Motor. Die unteren 1023 sind für die Geschwindigkeitskontrolle des Rückwärtsganges zuständig, 1024 entspricht Stop, 1025 - 2047 ist für die Geschwindigkeitskontrolle des Vorwärtsganges.
. Trennzeichen für das Ende eines Zahlenwertes.

String-Beispiel: "1024.2047.\n", ohne Anführungszeichen. In diesem Fall würde Motor1 anhalten und Motor 2 mit voller Geschwindigkeit drehen.

Hardware:

Es gibt zwei Versionen:
Original: 3D-gedrucktes Chassis, Elektronik wird auf ein Breadboard gesteckt.
Walter Reis Institut: Chassis aus dem CNC-Laser, Elektronik wird auf eine professionell hergestellte Platine gelötet.

Die Bauteile
Steckaufbau
Schaltplan

Teileliste Original (siehe Bild):

  • 1x Chassis Hauptteil
  • 1x Chassis Ball Roller oben
  • 1x Chassis Ball Roller unten
  • 1x (Stahl-)Kugel, 12mm
  • 2x DC Bürstenmotor mit Getriebe
  • 2x Reifen
  • 1x 5-fach AA Batteriehalter
  • 1x Kippschalter, 5mm Hals
  • 36x Breadboard Pins
  • 1x Kabelsatz für Breadboard
  • 2x Kabel für Motoren
  • 1x Breadboard, 400 Loch
  • 1x Elektrolyt-Kondensator, 100 - 330 uF (abhängig von der Qualität der AA Batterien/Akkus, ca. 200 uF sollte recht universal funktionieren)
  • 1x Keramik-Kondensator, 10 uF (optional)
  • 2x Keramik-Kondensator, 100 nF
  • 2x L9110 Motortreiber (oder HG7881 Dual Motor board, nicht empfohlen wegen der Pullup-Widerstände)
  • 2x M3x25 Senkkopfschraube
  • 2x M3 Stoppmutter
  • 4x M3x25 Schraube
  • 2x M3x15 Schraube
  • 6x M3 Mutter
  • 2x M2x10 Schraube
  • 6x M2 Mutter
  • 2-4x M2 Ring (optional)
  • 1x 2x6 Lochrasterplatine (optional)

Chassis Original: https://www.thingiverse.com/thing:5151862

Chassis WRI: https://wiki.schaffenburg.org/Datei:Lasercutter_Teile.svg

Platine WRI: https://wiki.schaffenburg.org/Datei:Gerber_Outlined_Schaffenbot_v2_2021-09-01.zip

Software:

Arduino-Code (NodeMCU / ESP8266): https://github.com/Mastod0n/WiReAfRo_arduino

Android App (Fernsteuerung): https://github.com/Mastod0n/WiReAfRo_remote_android/blob/main/WiFiremote-1.1-debug.apk

Android App Code: https://github.com/Mastod0n/WiReAfRo_remote_android

Python Gamepad Script (Fernsteuerung): https://github.com/Mastod0n/WiReAfRo_remote_pyGamepad


Die gesamte Software ist unter GNU Lesser General Public License v3.0 lizensiert und ihr seid herzlich eingeladen den Code beliebig zu nutzen, verändern und eure ganz eigenen Kreationen daraus zu machen! :) Ich wünsche euch viel Spaß und Erfolg!