Projekt:WiReAfRo

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!