Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

WLAN-gesteuerter FPV-Rover-Roboter (mit Arduino und ESP8266)

Komponenten und Verbrauchsmaterialien

Arduino UNO
× 1
Arduino Proto Shield
× 1
Espressif ESP8266 ESP-01
× 1
28BYJ Schrittmotor
× 2
ULN2003-Schrittmotortreiber
× 1
Android-Gerät
× 1
Widerstand 1k Ohm
× 1
Widerstand 100k Ohm
× 2
Powerbank
× 1
42 x 19 mm große Räder mit Gummireifen
× 2
49x20x32mm Stahlkugel-Omnirad
× 1
M2 x 10mm Schrauben
× 12
M2 x 1,5 mm Muttern
× 12
M3 x 10 mm Schrauben
× 8
M3 x 1,5 mm Muttern
× 8
5/32" x 1" Schrauben
× 3
5/32" Nüsse
× 6
Handheld-Selfie-Stick-Clip
× 1
Aluminiumhalterung 3 x 3 cm
× 2
2 mm Acrylplatte
× 1

Notwendige Werkzeuge und Maschinen

Bohrmaschine
Handsäge

Apps und Onlinedienste

IP-Webcam
Autodesk Fusion 360
Draftsight
Arduino-IDE
Notepad++

Über dieses Projekt

Dieses Tutorial zeigt, wie Sie einen ferngesteuerten zweirädrigen Roboter-Rover über ein Wi-Fi-Netzwerk entwerfen, wobei ein Arduino Uno verwendet wird, das mit einem ESP8266-WLAN-Modul und zwei Schrittmotoren verbunden ist. Der Roboter kann von einem gewöhnlichen Internetbrowser mit einer HTML-entwickelten Schnittstelle gesteuert werden. Ein Android-Smartphone wird verwendet, um Video und Audio vom Roboter an die Bedienoberfläche des Bedieners zu übertragen.

Es gibt viele Roboterbausätze mit verschiedenen Formen, Abmessungen und Preisen online. Aber je nach Anwendung passt keines davon und Sie könnten feststellen, dass es für Ihre Experimente zu teuer ist. Oder vielleicht möchten Sie einfach nur Ihre mechanische Struktur erstellen, anstatt eine komplette zu kaufen.Dieses Tutorial zeigt auch, wie Sie einen kostengünstigen Acrylrahmen für Ihr eigenes Roboterprojekt entwerfen und bauen, mit normalen Werkzeugen für diejenigen, die keine haben Zugang zu diesen teuren 3D-Druckern oder Laserschneidern. Eine einfache Roboterplattform wird vorgestellt.

Dieses Handbuch kann angepasst werden, um seine Form oder Bedienoberfläche zu ändern. Es wurde für andere meiner Roboterprojekte ("Robô da Alegria") angepasst, die Sie in den folgenden Links überprüfen können:

https://hackaday.io/project/12873-rob-da-alegria-...

https://github.com/ferauche/RoboAlegria

https://hackaday.io/project/12873-rob-da-alegria-...

[Achtung:Einige Fotos sind veraltet, da das Design weiter verbessert wurde. Die hier vorgestellte Idee ist jedoch weiterhin gültig.]

Schritt 1:Werkzeuge

Die folgenden Werkzeuge werden für den Bau dieses Prototyps benötigt:

  • Handsäge (um erste Schnitte der Acrylglasplatte durchzuführen)
  • Schraubendreher (zum Anbringen von Schrauben und Muttern)
  • Lineal (zur Maßmessung)
  • Gebrauchsmesser (zum Schneiden der Acrylglasplatte)
  • Bohrmaschine (um Löcher für die Schrauben zu erstellen)
  • Schleifpapier (um raue Kanten zu glätten)

Schritt 2:Mechanischer Aufbau und Materialien

Um einen benutzerdefinierten Roboter zu bauen, müssen Sie zuerst Ihre mechanische Struktur entwerfen. Dies kann je nach Anwendung einfach sein oder voller Details und Einschränkungen. Je nach Komplexität Ihres Modells müssen Sie es möglicherweise in einer 3D-CAD-Software entwerfen oder einfach in 2D zeichnen.

Sie können auch die komplette Struktur online kaufen, wenn Sie keine eigene mechanische Struktur bauen möchten. Es gibt viele Roboter-Kits, die online verfügbar sind. In diesem Fall können Sie zu Schritt 6 springen.

Für dieses Tutorial wurde ein kostengünstiger Acrylrahmen für die Befestigung der Motoren und anderer Komponenten entworfen. Die in diesem Tutorial vorgestellte Struktur wurde mit der CAD-Software 123D Design in 3D entworfen. Jedes Teil wurde später mit der Software Draftsight in 2D konvertiert.

Folgende Materialien wurden verwendet:

  • 2 mm Acrylglas
  • 42x19-mm-Räder mit Gummireifen (x2)
  • 49x20x32mm Stahlkugel-Omnirad (x1)
  • M2 x 10 mm Schrauben (x12)
  • M2 x 1,5 mm Muttern (x12)
  • M3 x 10 mm Schrauben (x8)
  • M3 x 1,5 mm Muttern (x8)
  • 5/32" x 1" Schrauben (x3)
  • 5/32" Muttern (x6)
  • Handheld-Selfie-Stick-Clip
  • 3 x 3 cm Aluminiumhalterung (x4)

Der Aufbau der Basisstruktur gliedert sich in folgende Schritte:

  • Schneiden Sie die Acrylbasis gemäß den Abmessungen in der 2D-Zeichnung;
  • Bohren Sie die Löcher an den in der 2D-Zeichnung gezeigten Positionen;
  • Montieren Sie die Komponenten mit Schrauben und Muttern gemäß der 3D-Zeichnung.

Leider ist der Durchmesser der Schrittmotorwelle größer als die Öffnung am Rad. Sie müssen also wahrscheinlich Klebstoff verwenden, um diese Komponenten zu koppeln. Für dieses Tutorial habe ich eine Holzkupplung zwischen der Motorwelle und dem Rad improvisiert.

FMAR9JBITKJE83H.123dx F21RD24ITKJE8AJ.dwg FPTGSODITKJE8AN.pdf

Schritt 3:Schneiden der Struktur

Zuerst müssen Sie die Maße Ihres Modells auf die Acrylglasplatte übertragen. Drucken Sie Ihre 2D-Zeichnung mit einem gewöhnlichen Drucker auf ein Klebepapier, schneiden Sie das Papier dann in die geeigneten Abmessungen und tragen Sie diese Maske auf die Oberfläche des Acryls auf.

Sie können das Acryl mit einer Handsäge nach Ihren Maßen zuschneiden oder die unten beschriebene Brechtechnik verwenden.

Schneiden Sie das Acryl mit einem Cuttermesser und mithilfe eines Lineals oder einer Skala in geraden Linien zu. Sie müssen das Blatt nicht ganz durchschneiden, sondern ritzen es einfach ein, um einige Spuren zu erstellen, auf denen das Stück später geschnitten wird.

Legen Sie das Acryl auf eine ebene Fläche, halten Sie es mit einigen Klammern fest und üben Sie etwas Druck aus, bis die Platte in zwei Teile bricht. Wiederholen Sie diesen Vorgang, bis alle Schnitte fertig sind. Danach können Sie raue Kanten mit einem Schleifpapier glätten.

Schritt 4:Bohren der Basis

Bohren Sie die Löcher an den in der 2D-Zeichnung gezeigten Positionen (in der Maske angegeben) mit einer Bohrmaschine.

Acryl lässt sich relativ leicht bohren. Wenn Sie also keine Bohrmaschine zur Verfügung haben, können Sie die Löcher manuell mit einem scharfen Werkzeug, wie einem Cuttermesser, bohren. Sie können es auch verwenden, um kleine Löcher zu vergrößern, um sie an die Schraubengrößen anzupassen.

Entfernen Sie die Maske und Ihre Basis ist fertig.

Schritt 5:Aufbau der Struktur

Montieren Sie die Komponenten mit Schrauben und Muttern gemäß den Bildern, und Ihre Struktur ist einsatzbereit.

Für die Montage der Schrittmotoren werden M3-Schrauben verwendet, während die 5/32"-Schrauben für die Montage des Vorderrads und des Smartphone-Clips verwendet werden.

Machen Sie jetzt eine Pause und beginnen Sie im folgenden Schritt mit dem Zusammenbau der Schaltung ...

Schritt 6:Elektronik

Sie benötigen die folgenden elektronischen Komponenten:

  • Arduino Uno (kaufen)
  • ESP8266 (kaufen)
  • Protoshield (für eine kompaktere Version) oder ein gewöhnliches Steckbrett (kaufen)
  • 1 kOhm Widerstand (x2)
  • 10 kOhm Widerstand (x1)
  • Einige Überbrückungsdrähte
  • Schrittmotor mit ULN2003-Treiber (x2) (kaufen / kaufen)
  • Ein Computer (zum Kompilieren und Hochladen von Arduino-Code)
  • Powerbank (kaufen)
  • USB-Kabel

Für die Montage der Schaltung benötigen Sie kein spezielles Werkzeug. Alle Komponenten finden Sie online in Ihrem bevorzugten E-Commerce-Shop. Die Schaltung wird von einer Powerbank mit Strom versorgt, die an den USB-Port von Arduino angeschlossen ist.

Verbinden Sie alle Komponenten gemäß dem Schaltplan. Sie benötigen einige Überbrückungsdrähte, um das ESP-8266-Modul und die Schrittmotoren zu verbinden. Sie können ein Protoshield (für eine kompaktere Schaltung), ein gewöhnliches Steckbrett verwenden oder Ihr eigenes Arduino-Shield entwerfen. Schließen Sie das USB-Kabel an das Arduino Uno-Board an und fahren Sie mit dem nächsten Schritt fort.

Schritt 7:Arduino-Code

Installieren Sie die neueste Arduino-IDE. In diesem Projekt wurde die stepper.h Bibliothek zur Steuerung der Schrittmotoren verwendet. Für die Kommunikation mit dem ESP-8266-Modul war keine zusätzliche Bibliothek erforderlich. Bitte überprüfen Sie die Baudrate Ihres ESP8266 und stellen Sie sie im Code richtig ein.

Laden Sie den Arduino-Code (stepperRobot.ino) herunter und ersetzen Sie XXXXX durch die SSID Ihres WLAN-Routers und YYYYY durch das Router-Passwort. Verbinden Sie das Arduino-Board mit dem USB-Port Ihres Computers und laden Sie den Code hoch.

FG1K5KJITKJFW2R.ino

Schritt 8:Android IP-Kamera

Ein Android-Smartphone wurde verwendet, um Video und Audio vom Roboter an die Steuerschnittstelle zu übertragen. Sie finden die App im Google Play Store (https://play.google.com/store/apps/details?id=com.pas.webcam).

Installieren Sie es und gehen Sie zum nächsten Schritt.

Schritt 9:Setzen Sie die Schaltkreise in den Roboter ein

Installieren Sie die Schaltkreise oben am Roboter mit einigen M1-Schrauben, wie in den Bildern gezeigt.

Kleben Sie anschließend Ihre Powerbank mit doppelseitigem Klebeband auf die Rückseite des Roboters (da sie sich später leicht entfernen lässt) und stecken Sie Ihr Smartphone in den Clip.

Schritt 10:Webbasierte Steuerschnittstelle

Für die Steuerung des Roboters wurde eine HTML-Schnittstelle entwickelt.

Laden Sie interface.rar herunter und extrahieren Sie alle Dateien in einen bestimmten Ordner. Öffnen Sie es dann in Firefox.

In dieser Schnittstelle wird ein Textfeld-Formular verwendet, um die IP-Adressen des ESP-Moduls und des Video-/Audioservers (von der Android IP-Webcam-App) einzugeben.

Es gibt jedoch einen Test, der den Roboter drehen lässt, bis ein anderer Befehl empfangen wird. Die Pfeiltasten der Tastatur werden verwendet, um den Roboter vorwärts oder rückwärts zu bewegen und nach links oder rechts zu drehen.

FQTAWF5ITKJFW4O.rar

Schritt 11:Verwendung

Wenn das Arduino neu gestartet wird, versucht es automatisch, Ihr Wi-Fi-Netzwerk zu verbinden. Verwenden Sie den Serial Monitor, um zu überprüfen, ob die Verbindung erfolgreich war und welche IP Ihrem ESP-8266 von Ihrem Router zugewiesen wurde. Öffnen Sie die HTML-Datei in einem Internetbrowser (Firefox) und geben Sie diese IP-Adresse in das Textfeld ein.

Sie können auch andere Methoden verwenden, um herauszufinden, welche IP-Adresse Ihr Router Ihrem Gerät zugewiesen hat.

Trennen Sie das Arduino Uno von Ihrem Computer und verbinden Sie es mit der Powerbank. Warten Sie, bis die Verbindung wieder hergestellt ist.

Starten Sie die IP-Webcam-App auf dem an den Roboter angeschlossenen Smartphone. Geben Sie die Video-/Audio-IP auf Ihrer Steuerschnittstelle ein und verbinden Sie sich mit dem Server und schon können Sie loslegen. Möglicherweise müssen Sie die Auflösung des Videos in der App reduzieren, um die Verzögerung zwischen den Übertragungen zu reduzieren.

Klicken und halten Sie die Pfeiltasten Ihrer Tastatur, um den Roboter zu drehen oder vorwärts/rückwärts zu bewegen und Spaß beim Erkunden Ihrer Umgebung zu haben.

Code

  • Arduino
  • HTML-Steuerungsschnittstelle
ArduinoArduino
Arduino-Code.
//include library#include #include SoftwareSerial esp8266(3, 2); // RX-Pin =3, TX-Pin =2 // Definition von Variablen #define DEBUG true // Nachrichten zwischen ESP8266 und Arduino im seriellen Port anzeigenconst int stepsPerRevolution =500;int state =5;Stepper rightStepper(stepsPerRevolution, 8,10, 9,11);Stepper leftStepper(stepsPerRevolution, 4,6,5,7);//*****//SETUP//*****void setup () {//Kommunikation starten Serial.begin (9600 .) ); esp8266.begin(19200); sendData("AT+RST\r\n", 2000, DEBUG); // Modul zurücksetzen sendData("AT+CWMODE=1\r\n", 1000, DEBUG); // Stationsmodus einstellen sendData("AT+CWJAP=\"XXXXX\",\"YYYYY\"\r\n", 2000, DEBUG); //WLAN-Netzwerk verbinden while(!esp8266.find("OK")) { //Auf Verbindung warten} sendData("AT+CIFSR\r\n", 1000, DEBUG); //IP-Adresse anzeigen sendData("AT+CIPMUX=1\r\n", 1000, DEBUG); //Mehrere Verbindungen zulassen sendData("AT+CIPSERVER=1,80\r\n", 1000, DEBUG); // Webserver auf Port 80 starten // Motordrehzahl definieren rightStepper.setSpeed ​​(60); leftStepper.setSpeed(60); }void loop(){ if (esp8266.available()) //Überprüfe eingehende Daten { if (esp8266.find("+IPD,")) //wenn es eine Nachricht gibt { String msg; esp8266.find("?"); //nach der Nachricht suchen msg =esp8266.readStringUntil(' '); // ganze Nachricht lesen String-Befehl =msg.substring (0, 3); //erste 3 Zeichen =Befehl String valueStr =msg.substring(4); //nächste 3 Zeichen =Wert int Wert =WertStr.toInt(); if (DEBUG) {Serial.println (Befehl); Serial.println (Wert); } // vorwärts bewegen if (Befehl =="cm1") { state =1; } // rückwärts bewegen if (Befehl =="cm2") { state =2; } // rechts abbiegen if (Befehl =="cm3") { state =3; } // links abbiegen if (Befehl =="cm4") { state =4; } // Nichts tun if (Befehl =="cm5") { state =5; } } } // vorwärts bewegen if (state ==1) { rightStepper.step (1); leftStepper.step(-1); } // rückwärts bewegen if (state ==2) {rightStepper.step (-1); leftStepper.step(1); } // nach rechts bewegen if (state ==3) { rightStepper.step (1); leftStepper.step(1); } // nach links bewegen if (state ==4) {rightStepper.step (-1); leftStepper.step(-1); } // Nichts tun, wenn (state ==5) { } } //******************** // Hilfsfunktionen//******** ***********String sendData(String-Befehl, const int timeout, boolean debug){ String response =""; esp8266.print (Befehl); lange int-Zeit =millis(); while ((time + timeout)> millis()) { while (esp8266.available()) { char c =esp8266.read(); Antwort +=c; }} Wenn (Debug) {Serial.print (Antwort); } Antwort zurückgeben;}
HTML-SteuerungsschnittstelleHTML
Keine Vorschau (nur Download).

Kundenspezifische Teile und Gehäuse

123D-Designdatei. robot.123dx2D Design der Basis. base.dwg

Schaltpläne

SchaltplanBreadboard-Verbindung der SchaltungFritzing-Datei der Schaltung wistepper%20-%20rev1.fzz

Herstellungsprozess

  1. Raspberry Pi Roboter über Bluetooth gesteuert
  2. Bauen Sie Ihren internetgesteuerten Videostreaming-Roboter mit Arduino und Raspberry Pi
  3. Desinfektionsroboter mit UV-Licht
  4. Hindernisse vermeiden Roboter mit Servomotor
  5. Kapazitiver Fingerabdrucksensor mit einem Arduino oder ESP8266
  6. Steuerung eines Roomba-Roboters mit Arduino und Android-Gerät
  7. Nunchuk-gesteuerter Roboterarm (mit Arduino)
  8. Arduino Nano:Steuerung von 2 Schrittmotoren mit Joystick
  9. Sprachgesteuerter Roboter
  10. Bestimmung der Pflanzengesundheit mit TinyML