Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Wi-fi bestuurde FPV Rover Robot (met Arduino en ESP8266)

Componenten en benodigdheden

Arduino UNO
× 1
Arduino Proto Shield
× 1
Espressief ESP8266 ESP-01
× 1
28BYJ Stappenmotor
× 2
ULN2003 stappenmotor
× 1
Android-apparaat
× 1
Weerstand 1k ohm
× 1
Weerstand 100k ohm
× 2
Powerbank
× 1
42x19 mm wielen met rubberen loopvlakband
× 2
49x20x32mm stalen kogelomni-wiel
× 1
M2 x 10 mm bouten
× 12
M2 x 1,5 mm moeren
× 12
M3 x 10 mm bouten
× 8
M3 x 1,5 mm moeren
× 8
5/32" x 1" bouten
× 3
5/32" noten
× 6
Handheld selfiestickclip
× 1
Aluminium beugel van 3 x 3 cm
× 2
2 mm acrylplaat
× 1

Benodigde gereedschappen en machines

Boormachine
Handzaag

Apps en online services

IP-webcam
Autodesk Fusion 360
Conceptzicht
Arduino IDE
Notepad++

Over dit project

Deze tutorial laat zien hoe je een op afstand bestuurbare tweewielige robotrover ontwerpt via een wifi-netwerk, met behulp van een Arduino Uno die is aangesloten op een ESP8266 wifi-module en twee stappenmotoren. De robot kan worden bestuurd vanuit een gewone internetbrowser, met behulp van een door HTML ontworpen interface. Een Android-smartphone wordt gebruikt om video en audio van de robot uit te zenden naar de bedieningsinterface van de operator.

Er zijn veel robotkits online beschikbaar met verschillende vormen, afmetingen en prijzen. Maar, afhankelijk van uw toepassing, zal geen van hen passen, en u zou kunnen ontdekken dat ze te duur zijn voor uw experimenten. Of misschien wil je gewoon je mechanische structuur maken in plaats van een complete te kopen. Deze tutorial laat ook zien hoe je een goedkoop acrylframe voor je eigen robotproject kunt ontwerpen en bouwen, met gewone gereedschappen voor degenen die dat niet hebben toegang tot die dure 3D-printers of lasersnijders. Er wordt een eenvoudig robotplatform gepresenteerd.

Deze handleiding kan worden aangepast om de vorm of bedieningsinterface te wijzigen. Het is aangepast voor andere van mijn robotprojecten ("Robô da Alegria"), die je via de onderstaande links kunt bekijken:

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

https://github.com/ferauche/RoboAlegria

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

[Waarschuwing:sommige foto's zijn verouderd, omdat het ontwerp verder is verbeterd. Het hier gepresenteerde idee is echter nog steeds geldig.]

Stap 1:Gereedschap

De volgende gereedschappen zijn nodig voor de constructie van dit prototype:

  • Handzaag (om de eerste sneden van de acrylplaat uit te voeren)
  • Schroevendraaier (voor het plaatsen van bouten en moeren)
  • Liniaal (voor het meten van afmetingen)
  • Gebruiksmes (voor het snijden van de acrylplaat)
  • Boormachine (om gaten voor de bouten te maken)
  • Schuurpapier (om ruwe randen glad te maken)

Stap 2:Mechanische structuur en materialen

Om een ​​aangepaste robot te bouwen, moet u eerst uw mechanische structuur ontwerpen. Het kan gemakkelijk zijn, afhankelijk van uw toepassing, of vol details en beperkingen. Mogelijk moet u het in 3D CAD-software ontwerpen of gewoon in 2D tekenen, afhankelijk van de complexiteit van uw model.

U kunt de volledige structuur ook online kopen als u niet uw eigen mechanische structuur wilt bouwen. Er zijn veel robotkits online beschikbaar. In dit geval kunt u naar stap 6 springen.

Voor deze tutorial is een goedkoop acrylframe ontworpen voor de bevestiging van de motoren en andere componenten. De structuur die in deze tutorial wordt gepresenteerd, is in 3D ontworpen met behulp van 123D Design CAD-software. Elk onderdeel werd later omgezet in 2D met behulp van Draftsight-software.

De volgende materialen zijn gebruikt:

  • 2mm acrylaat plaat
  • 42x19mm wielen met rubberen loopvlakband (x2)
  • 49x20x32mm stalen kogel omni wiel (x1)
  • M2 x 10 mm bouten (x12)
  • M2 x 1,5 mm moeren (x12)
  • M3 x 10 mm bouten (x8)
  • M3 x 1,5 mm moeren (x8)
  • 5/32" x 1" bouten (x3)
  • 5/32" moeren (x6)
  • Handheld selfie stick clip
  • 3 x 3 cm aluminium beugel (x4)

De constructie van de structuur van de basis is verdeeld in de volgende stappen:

  • Snijd de acrylbasis volgens de afmetingen in de 2D-tekening;
  • Boor de gaten in de posities zoals weergegeven in de 2D-tekening;
  • Monteer de componenten met bouten en moeren volgens de 3D-tekening.

Helaas is de diameter van de as van de stappenmotor groter dan de opening op het wiel. Je zult dus waarschijnlijk lijm moeten gebruiken om die componenten te koppelen. Voor deze tutorial heb ik een houten koppeling geïmproviseerd tussen de motoras en het wiel.

FMAR9JBITKJE83H.123dx F21RD24ITKJE8AJ.dwg FPTGSODITKJE8AN.pdf

Stap 3:De structuur snijden

Eerst moet je de afmetingen van je model overzetten op de plexiglas plaat. Druk uw 2D-tekening af met een gewone printer op zelfklevend papier, knip het papier vervolgens in geschikte afmetingen en breng dat masker aan op het oppervlak van het acrylaat.

U kunt een handzaag gebruiken om het acrylaat volgens uw afmetingen te zagen of de hieronder beschreven breektechniek gebruiken.

Snijd met een mes en met behulp van een liniaal of een schaal het acryl in rechte lijnen. U hoeft niet helemaal door het vel te snijden, u hoeft het alleen maar te scoren om een ​​aantal sporen te creëren waar het stuk later zal worden uitgesneden.

Plaats het plexiglas op een vlakke ondergrond, houd het op zijn plaats met enkele klemmen en oefen wat druk uit totdat het blad in tweeën breekt. Herhaal dit proces totdat alle sneden zijn gedaan. Daarna kunt u schuurpapier gebruiken om ruwe randen glad te strijken.

Stap 4:De basis boren

Boor de gaten in de posities in getoond in de 2D-tekening (aangegeven in het masker) met een boormachine.

Acryl is relatief eenvoudig te boren. Dus als je geen boormachine hebt, kun je de gaten handmatig boren met een scherp gereedschap, zoals een mes. Je kunt het ook gebruiken om kleine gaten te vergroten zodat ze in de boutmaten passen.

Verwijder het masker en je basis is klaar.

Stap 5:De structuur monteren

Monteer de componenten met bouten en moeren volgens de afbeeldingen en uw constructie is klaar voor gebruik.

M3-bouten worden gebruikt voor de installatie van de stappenmotoren, terwijl de 5/32"-bouten worden gebruikt voor de installatie van het voorwiel en de smartphoneclip.

Neem nu een pauze en begin met het samenstellen van het circuit in de volgende stap...

Stap 6:Elektronica

Je hebt de volgende elektronische componenten nodig:

  • Arduino Uno (kopen)
  • ESP8266 (kopen)
  • Protoshield (voor een compactere versie) of een gewoon breadboard (kopen)
  • 1 kohm weerstand (x2)
  • 10 kohm weerstand (x1)
  • Enkele jumperdraden
  • Stappenmotor met ULN2003driver (x2) (kopen / kopen)
  • Een computer (voor het compileren en uploaden van Arduino-code)
  • Powerbank (kopen)
  • USB-kabel

Voor de montage van de schakeling heb je geen specifiek gereedschap nodig. Alle componenten zijn online te vinden in uw favoriete e-commerce winkel. Het circuit wordt gevoed door een powerbank die is aangesloten op de USB-poort van Arduino.

Sluit alle componenten aan volgens het schema. U hebt enkele jumperdraden nodig om de ESP-8266-module en de stappenmotoren aan te sluiten. Je kunt een protoshield gebruiken (voor een compacter circuit), een gewoon breadboard, of je eigen Arduino-schild ontwerpen. Sluit de USB-kabel aan op het Arduino Uno-bord en ga verder met de volgende stap.

Stap 7:Arduino-code

Installeer de nieuwste Arduino IDE. In dit project werd stepper.h bibliotheek gebruikt voor de aansturing van de stappenmotoren. Er was geen extra bibliotheek nodig voor communicatie met de ESP-8266-module. Controleer de baudrate van je ESP8266 en stel deze correct in de code in.

Download Arduino-code (stepperRobot.ino) en vervang de XXXXX door de SSID van uw wifi-router en YYYYY door het routerwachtwoord. Sluit het Arduino-bord aan op de USB-poort van uw computer en upload de code.

FG1K5KJITKJFW2R.ino

Stap 8:Android IP-camera

Een Android-smartphone werd gebruikt om de video en audio van de robot naar de besturingsinterface te sturen. Mogelijk vindt u de app in de Google Play Store (https://play.google.com/store/apps/details?id=com.pas.webcam).

Installeer het en ga naar de volgende stap.

Stap 9:Zet de circuits in de robot

Installeer de circuits in de bovenkant van de robot met behulp van enkele M1-bouten, zoals weergegeven in de afbeeldingen.

Plak daarna je powerbank op de achterkant van de robot met dubbelzijdig plakband (omdat het later gemakkelijk te verwijderen is) en plaats je smartphone in de clip.

Stap 10:webgebaseerde bedieningsinterface

Er is een html-interface ontworpen voor de besturing van de robot.

Download interface.rar en pak alle bestanden uit in een bepaalde map. Open het vervolgens in Firefox.

In die interface wordt een tekstvakformulier gebruikt om de IP-adressen van de ESP-module en van de video-/audioserver (van de Android IP Webcam-app) in te voeren.

Er is een test maar, die de robot laat draaien totdat een ander commando wordt ontvangen. De pijltoetsen op het toetsenbord worden gebruikt om de robot vooruit of achteruit te bewegen en om naar links of rechts te draaien.

FQTAWF5ITKJFW4O.rar

Stap 11:Gebruik

Wanneer de Arduino opnieuw wordt opgestart, zal hij proberen automatisch verbinding te maken met uw wifi-netwerk. Gebruik de seriële monitor om te controleren of de verbinding succesvol was en om te achterhalen welk IP-adres door uw router aan uw ESP-8266 is toegewezen. Open het html-bestand in een internetbrowser (Firefox) en geef dit IP-adres door in het tekstvak.

U kunt ook andere middelen gebruiken om erachter te komen welk IP-adres uw router aan uw apparaat heeft toegewezen.

Koppel de Arduino Uno los van je computer en sluit hem aan op de powerbank. Wacht tot het opnieuw verbinding maakt.

Start de IP Webcam-app op de smartphone die op de robot is aangesloten. Typ het video/audio-IP op uw bedieningsinterface en maak verbinding met de server en u bent klaar om te gaan. Mogelijk moet u de resolutie van de video in de app verlagen om de vertraging tussen de verzending te verminderen.

Houd de pijltjestoetsen op je toetsenbord ingedrukt om de robot te draaien of vooruit/achteruit te bewegen en veel plezier te hebben met het verkennen van je omgeving.

Code

  • Arduino
  • html-besturingsinterface
ArduinoArduino
Arduino-code.
//include libraries#include #include SoftwareSerial esp8266(3, 2); //RX pin =3, TX pin =2//definitie van variabelen#define DEBUG true //toon berichten tussen ESP8266 en Arduino in seriële poortconst int stepsPerRevolution =500;int state =5;Stepper rightStepper(stepsPerRevolution, 8,10, 9,11);Stepper leftStepper(stepsPerRevolution, 4,6,5,7);//*****//SETUP//*****void setup(){ //start communicatie Serial.begin(9600) ); esp8266.begin (19200); sendData("AT+RST\r\n", 2000, DEBUG); // reset module sendData ("AT+CWMODE=1\r\n", 1000, DEBUG); //set station mode sendData("AT+CWJAP=\"XXXXX\",\"YYYYY\"\r\n", 2000, DEBUG); // verbind wifi-netwerk while(!esp8266.find("OK")) { //wait for connection} sendData("AT+CIFSR\r\n", 1000, DEBUG); // toon IP-adres sendData ("AT+CIPMUX=1\r\n", 1000, DEBUG); // meerdere verbindingen toestaan ​​sendData ("AT+CIPSERVER=1,80\r\n", 1000, DEBUG); // start webserver op poort 80 //Definieer motorsnelheid rightStepper.setSpeed(60); leftStepper.setSpeed(60); }void loop(){ if (esp8266.available()) // inkomende gegevens verifiëren { if (esp8266.find("+IPD,")) //if er een bericht is { String msg; esp8266.find("?"); // zoek naar het bericht msg =esp8266.readStringUntil(' '); //lees het hele bericht String-opdracht =msg.substring (0, 3); //eerste 3 tekens =opdracht String valueStr =msg.substring (4); //volgende 3 tekens =waarde int waarde =waardeStr.toInt(); if (DEBUG) { Serial.println (opdracht); Serial.println(waarde); } // ga vooruit if (commando =="cm1") { state =1; } // ga achteruit if (commando =="cm2") { state =2; } // sla rechtsaf if(commando =="cm3") { state =3; } // sla linksaf if (commando =="cm4") { state =4; } // niets doen if(command =="cm5") { state =5; } } } // ga verder if (state ==1) { rightStepper.step(1); leftStepper.step(-1); } // ga achteruit if (state ==2) { rightStepper.step (-1); leftStepper.step(1); } // ga naar rechts if (state ==3) { rightStepper.step(1); leftStepper.step(1); } // ga naar links if (state ==4) { rightStepper.step (-1); leftStepper.step(-1); } // niets doen als (status ==5) { } }//*********************// Hulpfuncties//******* ***********String sendData(String-opdracht, const int time-out, boolean debug){ String response =""; esp8266.print(opdracht); lange int-tijd =millis(); while ( (tijd + time-out)> millis()) { while (esp8266.available()) { char c =esp8266.read(); reactie +=c; } } if (debug) { Serial.print(respons); } antwoord terug;}
html-besturingsinterfaceHTML
Geen voorbeeld (alleen downloaden).

Aangepaste onderdelen en behuizingen

123D-ontwerpbestand. robot.123dx2D ontwerp van de basis. base.dwg

Schema's

SchakelschemaBreadboard-aansluiting van het circuitFritzing-bestand van het circuit wistepper%20-%20rev1.fzz

Productieproces

  1. Raspberry Pi-robot bestuurd via Bluetooth
  2. Bouw uw internetgestuurde videostreamingrobot met Arduino en Raspberry Pi
  3. Desinfecterende robot met ultraviolet licht
  4. Obstakels vermijden robot met servomotor
  5. Capacitieve vingerafdruksensor met een Arduino of ESP8266
  6. Een Roomba-robot besturen met Arduino en Android-apparaat
  7. Nunchuk-gestuurde robotarm (met Arduino)
  8. Arduino Nano:bedien 2 stappenmotoren met joystick
  9. Spraakgestuurde robot
  10. De gezondheid van planten bepalen met TinyML
  11. Besturing van servomotor met Arduino en MPU6050