Indholdsfortegnelse:

Byg en telepresence -robot, der kontrolleres via wifi: 11 trin (med billeder)
Byg en telepresence -robot, der kontrolleres via wifi: 11 trin (med billeder)

Video: Byg en telepresence -robot, der kontrolleres via wifi: 11 trin (med billeder)

Video: Byg en telepresence -robot, der kontrolleres via wifi: 11 trin (med billeder)
Video: CS50 2014 - Week 7 2024, November
Anonim
Image
Image

Dette projekt handler om at bygge en robot, der kan interagere med et fjerntliggende miljø og styres fra enhver del af verden ved hjælp af Wifi. Dette er mit sidste års ingeniørprojekt, og jeg lærte meget om elektronik, IoT og programmering. Dette projekt er fokuseret på mennesker med bevægelseshandicap, da de har svært ved at bevæge sig rundt, så en telepresence -robot let kan hjælpe dem.

Der er 2 systemer inden for projektet for at gøre det vellykket. Bevægelseskontrol af din hånd for at flytte robothånden og mobilappen, der styrer motorens bund.

Nedenfor er dokumentet og præsentationen af Telepresence V1, så du får en mere dybtgående forståelse.

Tid til at bygge det!

Forbrugsvarer

Der kræves mange værktøjer og komponenter til dette projekt. Det kostede mig omkring 1000 AED (270 $), så sørg for at have det budget. Her er de komponenter, du skal bruge:-

  1. Knude MCU x 3
  2. L298N DC motor driver x 1
  3. 12V Strømforsyning x 1
  4. LM2596 Step-Down spændingsregulator x 1
  5. MPU9250 IMU -sensorer x 2
  6. Servomotorer (10-20 kg moment) x 4
  7. let træ 1x1m
  8. 8M gevindstænger af metal 1m x 2
  9. 3D -printer (30x30cm)
  10. træskærer og boremaskine
  11. Elektriske ledninger, jumperwires og brødbræt
  12. Fuld arm ærme
  13. 12V DC -motor (25kg.cm) x 2
  14. 3-tommer hjul x 1
  15. 6 cm gummihjul med skruemontering x 2
  16. Loddesæt

Trin 1: Hvordan fungerer det?

Design
Design

Dette er kommunikationsflowdiagrammet for at få dig til at forstå, hvordan komponenter kommunikerer med hinanden. Vi bruger Data Transfer Network kaldet PubNub som en IoT-platform, der kan sende realtidsbeskeder på bare 0,5 sekunder! Det er det hurtigste svar, vi kan få, og det er endnu vigtigere i vores projekt, da vi vil bruge vores hånd til at styre robotens arm i realtid.

Alle Nodemcu'er bruges til at sende og modtage data. Der er 2 individuelle systemer involveret her, hvor Nodemcu på armen sender bevægelsessensordata til PubNub, og som modtages af Nodemcu på robotarmen. til basisbevægelse sender mobilappen dataene for x, y -koordinat fra joystick, og det modtages af Nodemcu på basen, som kan styre motoren gennem føreren. Det er alt for nu.

Trin 2: Design

Ovenstående design vil give dig en idé om, hvordan strukturen ser ud. Du kan downloade cad -filerne for at få et bedre udseende. Roverens bund understøttes af 3 hjul, hvor 2 er jævnstrømsmotor bagtil og et hjul foran. På grund af bevægelse af robotarmen bemærkede jeg ustabilitet på basen, så du kan overveje at tilføje 2 hjul på forsiden. Bund og top træbund understøttes af gevindstænger, der er klemt med nødder. Sørg for, at du bruger låsemøtrik, da det vil gøre den stram permanent på lang sigt.

Download Design Source File - Telepresence Design

Trin 3: 3D -udskrivning af arm- og drejningsmomentberegning

3D -udskrivning af arm og momentberegning
3D -udskrivning af arm og momentberegning

Armen til telepresence -robotten er et simpelt design i boksens form, så den let kan udskrives i 3D med en minimal mængde filament. Dens længde er omkring 40 cm, hvilket er lige så langt som en menneskelig arm. Længden af robotarmen er baseret på det moment, servomotorer løfter. Du kan finde momentberegningen på ovenstående billede sammen med specifikationerne for servomotoren, som jeg brugte, så du kan tilpasse designet til dine behov. Men undgå at bruge servomotorens maksimale drejningsmoment, da det i sidste ende vil beskadige motoren.

Download 3D -udskrivningsfilerne herunder, udskriv dem og fortsæt fremad.

Trin 4: Fremstilling og samling af basen

Fremstilling og samling af basen
Fremstilling og samling af basen
Fremstilling og samling af basen
Fremstilling og samling af basen
Fremstilling og samling af basen
Fremstilling og samling af basen

Her er de trin, du kan følge for fremstilling:-

  1. Skær den gevindskårne metalstang i midten ved hjælp af sav
  2. Brug træskærer til at lave 2 træstykker på 40x30cm
  3. Bor de nødvendige huller i toppen og bunden som ovenstående tegning
  4. Begynd at fastgøre DC -motoren og hjulene på bunden
  5. For at lave et rektangelhul på den øverste bund, skal du først lave et cirkulært hul med boremaskinen og derefter indsætte træskærer gennem hullet og trimme det på tværs af kanterne for at lave et rektangel.

hvis du undrer dig over, hvorfor det højre øverste hul er placeret bagud, så er det fordi jeg ikke var sikker på, om jeg vil placere robotarmen i højre hjørne i midten. At placere den i midten var et bedre valg på grund af vægtbalancen.

Trin 5: Montering af robotarm

Montering af robotarm
Montering af robotarm

Montering af robotarm kræver særlig opmærksomhed. Bortset fra mekanisk samling skal du sikre dig, at servomotoren er i den korrekte vinkel, når den er samlet. Følg diagrammet ovenfor for at give dig en idé om, hvilken vinkel servomotoren skal indstilles på alle motorer, før du samler noget ovenpå. Prøv at få denne del korrekt, ellers ender du med at samle den igen.

Brug nedenstående kodeskabelon til at indstille den nøjagtige servovinkel ved hjælp af Arduino eller Nodemcu. Der er allerede mange oplysninger om dette online, så jeg vil ikke gå i detaljer.

#omfatte

Servo servo;

int pin =; // sæt pinkoden, hvor servodatapinden er knyttet til arduino

ugyldig opsætning () {

servo. fastgør (pin);

}

void loop () {

int vinkel =; // vinkel, som du skal indstille

servo.write (vinkel);

}

Trin 6: Circuit of Arm Controller

Circuit of Arm Controller
Circuit of Arm Controller
Circuit of Arm Controller
Circuit of Arm Controller

Arm controller samling er let at gøre. Jeg brugte et langt ærme og fastgjorde sensorerne, Nodemcu og brødbræt med syning. Sørg for, at sensorens retning er i samme retning som ovenstående controllerbillede. Følg endelig kredsløbsdiagrammet og download koden herunder.

Trin 7: Circuit of Telepresence Robot

Circuit of Telepresence Robot
Circuit of Telepresence Robot
Circuit of Telepresence Robot
Circuit of Telepresence Robot
Circuit of Telepresence Robot
Circuit of Telepresence Robot

Følg kredsløbsdiagrammet på samme måde. Kontroller de pinouts af strømforsyningen, du bruger, for at undgå kortslutninger. Indstil bukkonverterens udgangsspænding til 7V, da det er den gennemsnitlige spænding for alle servomotorer. Det eneste sted, du kan lodde, er terminalerne på basis -DC -motoren, da den forbruger meget strøm, så den skal være stram med lidt tykkere elektrisk ledning. Når kredsløbet er færdigt, uploader du senere 'arm_subscriber.ino' til Nodemcu, der forbinder med arm og 'base.ino', der skal uploades på basenodemcu.

Trin 8: Mobilapp

Mobil app
Mobil app

Dette er mobilen til at styre bevægelsen. Når du flytter joysticket, sender det X, Y -koordinaterne på joystickcirklen til Pubnub og modtaget af Nodemcu ved basen. Denne X, Y -koordinat konverteres til vinklen, og ved hjælp af den kan vi finde hvilken retning robotten vil gå. Bevægelse sker ved at tænde/slukke og retningsændring af de to motorer. Hvis kommandoen er Fremad, går begge motorer fremad med fuld hastighed, hvis venstre, vil venstre motor gå baglæns, og den højre motor går fremad og så videre.

ovenstående funktion kan ganske enkelt udføres med knapper også i stedet for et joystick, men jeg vælger joystick for også at styre motorens hastighed. Min aktiveringsnål fungerede imidlertid ikke med Nodemcu, så jeg forlod den del. Jeg har tilføjet en hastighedskontrolkode i base.ino for sikkerheds skyld som en kommentar.

Du kan få kildefilen.aia herunder, som kan redigeres ved hjælp af MIT app opfinder. Du bliver nødt til at lave en grundlæggende konfiguration i appen, som jeg vil fortælle i det næste trin.

Trin 9: Opret konto på Pubnub og hent nøglerne

Opret konto på Pubnub og få nøglerne
Opret konto på Pubnub og få nøglerne

Nu er det tid til at gøre det sidste trin, som er at konfigurere din IoT -platform. Pubnub er den bedste, fordi dataoverførsel sker i realtid og tager kun 0,5 sekunder at overføre. Desuden kan du sende 1 million datapunkter om måneden, så det er min personlige yndlingsplatform.

Gå til PubNub og opret din konto. Gå derefter til Apps -menuer i menuen til venstre og klik på knappen kaldet "+Opret ny app" til højre. Efter at have navngivet din app, vil du se ovenstående billede af udgiveren og abonnentnøglen. Det er det, vi vil bruge til at forbinde enhederne.

Trin 10: Tilføj nøglerne til koden og upload

Tilføj nøglerne til koden og upload
Tilføj nøglerne til koden og upload
Tilføj nøglerne til koden og upload
Tilføj nøglerne til koden og upload

Vi har brug for 4 ting, så enheden kan kommunikere med hinanden:- pubkey, subkey, channel & wifi.

pubkey & subkey forbliver den samme på alle Nodemcu og mobilappen. 2 enheder, der kommunikerer hinanden, skal have samme kanalnavn. Da mobilapp og base kommunikerer, så det samme kanalnavn ligner controller og robothånd. Endelig skal du sætte wifi -legitimationsoplysninger på hver Nodemcu, så den kan oprette forbindelse til wifi i begyndelsen. Jeg har allerede tilføjet kanalnavnet, så wifi og pub/sub -nøgle er det, du skal tilføje fra din konto.

Bemærk:- Nodemcu kan kun oprette forbindelse med wifi, som kan tilgås uden webside som mellemliggende. Selv til min sidste præsentation var jeg nødt til at bruge mobil hotspot, da universitetets wifi var træk.

Trin 11: Konklusion

Konklusion
Konklusion

Hvis du nåede indtil her, så FANTASTISK! Jeg håber, at du fik noget af værdi fra denne artikel. Dette projekt har små begrænsninger, som jeg vil fortælle dig, før du udfører det. Her er nogle herunder:-

Pludselig bevægelse af robotarm:-

Der er meget pludselig bevægelse af robotarmen. Dette er på grund af 0,5 sekunders forsinkelse for sensorinformationen til at blive overført som en servobevægelse. Jeg har endda beskadiget 2 af servomotoren, så du må ikke bevæge din arm for hurtigt. Du kan løse dette problem ved at tilføje mellemliggende trin mellem den originale bevægelse for at skabe jævn bevægelse.

Ingen standsning af basisbevægelsen:-

når jeg får robotten til at bevæge sig i en retning gennem en mobilapp, fortsætter robotten med at bevæge sig i samme retning, selv når jeg løfter fingrene. Dette var irriterende, da jeg altid skulle slukke for strømmen for at stoppe bevægelsen. Jeg indsatte stopkoden i appen, men det virkede stadig ikke. Det kan være et problem i selve appen. Måske kan du prøve at løse det og fortælle mig det.

Intet videofeed:-

Uden videofeedet kommer fra robot til person, kan vi aldrig distribuere langt væk fra brugeren. Jeg ville først tilføje dette, men ville kræve mere tid og investeringer, så jeg forlod det.

I kan tage dette projekt videre ved at løse ovenstående problem. Når du gør det, lad mig det vide. Farvel

For flere projekter besøg min portfolio hjemmeside

Robotik konkurrence
Robotik konkurrence
Robotik konkurrence
Robotik konkurrence

Runner Up i Robotics -konkurrencen

Anbefalede: