Turinys:

Sukurkite „Telepresence“robotą, valdomą per „Wi -Fi“: 11 žingsnių (su nuotraukomis)
Sukurkite „Telepresence“robotą, valdomą per „Wi -Fi“: 11 žingsnių (su nuotraukomis)

Video: Sukurkite „Telepresence“robotą, valdomą per „Wi -Fi“: 11 žingsnių (su nuotraukomis)

Video: Sukurkite „Telepresence“robotą, valdomą per „Wi -Fi“: 11 žingsnių (su nuotraukomis)
Video: BotEyes Telepresence robot 2024, Lapkritis
Anonim
Image
Image

Šis projektas skirtas sukurti robotą, kuris galėtų sąveikauti su nuotoline aplinka ir būti valdomas iš bet kurios pasaulio vietos naudojant „Wifi“. Tai mano paskutinių metų inžinerijos projektas ir aš daug sužinojau apie elektroniką, daiktų internetą ir programavimą. Šis projektas skirtas žmonėms, turintiems judėjimo negalią, nes jiems sunku judėti, todėl jiems gali lengvai padėti telepesence robotas.

Projekte yra 2 sistemos, kad jis būtų sėkmingas. Rankos judesio valdymas, norint perkelti robotinę ranką ir programą mobiliesiems, valdančią variklio pagrindą.

Žemiau pateikiamas „Telepresence V1“dokumentas ir pristatymas, kad galėtumėte geriau suprasti.

Laikas jį statyti!

Prekės

Šiam projektui reikia daug įrankių ir komponentų. Man tai kainavo apie 1000 AED (270 USD), todėl įsitikinkite, kad turite tą biudžetą. Štai jums reikalingi komponentai:-

  1. Mazgas MCU x 3
  2. L298N nuolatinės srovės variklio tvarkyklė x 1
  3. 12 V maitinimo šaltinis x 1
  4. LM2596 nuleistas įtampos reguliatorius x 1
  5. MPU9250 IMU jutikliai x 2
  6. Servo varikliai (10-20 kg sukimo momentas) x 4
  7. lengva mediena 1x1m
  8. 8M srieginiai metaliniai strypai 1m x 2
  9. 3D spausdintuvas (30x30 cm)
  10. medžio pjovėjas ir gręžtuvas
  11. Elektros laidai, trumpieji laidai ir duonos lenta
  12. Pilnos rankovės rankovė
  13. 12 V nuolatinės srovės variklis (25 kg.cm) x 2
  14. 3 colių ratuko ratas x 1
  15. 6 cm guminis ratas su varžtu x 2
  16. Litavimo komplektas

1 žingsnis: kaip tai veikia?

Dizainas
Dizainas

Ši komunikacijos schema padės suprasti, kaip komponentai bendrauja tarpusavyje. Mes naudojame duomenų perdavimo tinklą „PubNub“kaip daiktų interneto platformą, kuri gali siųsti pranešimus realiuoju laiku vos per 0,5 sekundės! Tai yra greičiausias atsakymas, kurį galime gauti, ir tai dar svarbiau mūsų projekte, nes savo ranka valdysime roboto ranką realiuoju laiku.

Visi „Nodemcu“naudojami duomenims siųsti ir gauti. Čia yra 2 atskiros sistemos, kuriose „Nodemcu“ant rankos siunčia judesio jutiklio duomenis į „PubNub“ir kuriuos Nodemcu gauna ant roboto rankos. pagrindiniam judėjimui mobilioji programa siunčia x, y koordinatės duomenis iš vairasvirtės ir kurią gauna bazėje esantis Nodemcu, kuris gali valdyti variklį per vairuotoją. Tai kol kas viskas.

2 žingsnis: dizainas

Aukščiau pateiktas dizainas suteiks jums idėją apie tai, kaip atrodo struktūra. Norėdami geriau atrodyti, galite atsisiųsti „cad“failus. Roverio pagrindą palaiko 3 ratai, iš kurių 2 yra nuolatinės srovės variklis gale ir vienas ratukas priekyje. Dėl roboto rankos judėjimo pastebėjau pagrindo nestabilumą, todėl galite apsvarstyti galimybę pridėti 2 ratukus priekyje. Apatinę ir viršutinę medienos pagrindą palaiko srieginiai strypai, kurie yra pritvirtinti veržlėmis. Įsitikinkite, kad naudojate fiksavimo veržlę, nes tai ilgam laikui priveržs.

Atsisiųskite dizaino šaltinio failą - „Telepresence Design“

3 žingsnis: rankos ir sukimo momento skaičiavimo 3D spausdinimas

Rankų ir sukimo momento skaičiavimo 3D spausdinimas
Rankų ir sukimo momento skaičiavimo 3D spausdinimas

Telekomunikacijos roboto ranka yra paprasta dėžutės formos, todėl ją galima lengvai atspausdinti 3D naudojant minimalų siūlų kiekį. Jos ilgis yra apie 40 cm, tai yra tiek pat, kiek žmogaus rankos. Robotų rankos ilgis priklauso nuo servo variklių pakelto sukimo momento. Sukimo momento apskaičiavimą rasite aukščiau esančiame paveikslėlyje kartu su naudojamo servo variklio specifikacijomis, kad galėtumėte pritaikyti dizainą pagal savo poreikius. Tačiau venkite naudoti didžiausią servo variklio sukimo momentą, nes ilgainiui tai gali pakenkti varikliui.

Atsisiųskite toliau pateiktus 3D spausdinimo failus, atsispausdinkite ir judėkite pirmyn.

4 žingsnis: pagrindo gamyba ir surinkimas

Pagrindo gamyba ir surinkimas
Pagrindo gamyba ir surinkimas
Pagrindo gamyba ir surinkimas
Pagrindo gamyba ir surinkimas
Pagrindo gamyba ir surinkimas
Pagrindo gamyba ir surinkimas

Gamindami galite atlikti šiuos veiksmus:-

  1. Naudodami pjūklą, perpjaukite srieginį metalinį strypą viduryje
  2. Naudokite medžio pjaustytuvą, kad padarytumėte 2 medienos gabalus 40x30 cm
  3. Gręžkite reikiamas skyles viršuje ir apačioje, kaip parodyta aukščiau
  4. Pradėkite tvirtinti nuolatinės srovės variklį ir ratukus ant apatinio pagrindo
  5. Norėdami padaryti stačiakampę skylę ant viršutinio pagrindo, pirmiausia gręžtuvu padarykite apskrito formos skylę, tada per skylę įkiškite medžio pjaustytuvą ir apipjaukite kraštus, kad gautumėte stačiakampį.

jei jums įdomu, kodėl dešinioji viršutinė skylė padėta atgal, taip yra todėl, kad nebuvau tikras, ar įdėsiu robotą ranką į dešinįjį kampą centre. Padėti jį centre buvo geresnis pasirinkimas dėl svorio pusiausvyros.

5 žingsnis: Roboto rankos surinkimas

Robotų rankos surinkimas
Robotų rankos surinkimas

Robotų rankos surinkimas reikalauja ypatingo dėmesio. Išskyrus mechaninį surinkimą, turite įsitikinti, kad servo variklis yra sumontuotas teisingu kampu. Vykdykite aukščiau pateiktą schemą, kad suprastumėte, kokiu kampu servo variklis turi būti nustatytas visuose varikliuose prieš montuojant ką nors ant viršaus. Pabandykite teisingai suformuluoti šią dalį, priešingu atveju vėl ją surinksite.

Naudokite žemiau esantį kodo šabloną, kad nustatytumėte tikslų servo kampą naudodami „Arduino“arba „Nodemcu“. Internete jau yra daug informacijos apie tai, todėl nesileisiu į smulkmenas.

#įtraukti

Servo servo;

int pin =; // ant arduino įdėkite PIN kodą, kur pritvirtintas servo duomenų kaištis

void setup () {

servo.attach (smeigtukas);

}

void loop () {

int kampas =; // kampas, kuriuo reikia nustatyti

servo.write (kampas);

}

6 žingsnis: rankos valdiklio grandinė

Rankos valdiklio grandinė
Rankos valdiklio grandinė
Rankos valdiklio grandinė
Rankos valdiklio grandinė

Rankos valdiklio surinkimas yra paprastas. Aš naudoju ilgas rankoves ir prisegiau jutiklius, „Nodemcu“ir duonos lentą su siuvimu. Įsitikinkite, kad jutiklio kryptis yra ta pati, kaip ir aukščiau esančiame valdiklio vaizde. Galiausiai sekite schemą ir atsisiųskite žemiau esantį kodą.

7 žingsnis: nuotolinio buvimo roboto grandinė

Nuotolinio buvimo roboto grandinė
Nuotolinio buvimo roboto grandinė
Nuotolinio buvimo roboto grandinė
Nuotolinio buvimo roboto grandinė
„Telepresence Robot“grandinė
„Telepresence Robot“grandinė

Tuo pačiu būdu sekite grandinės schemą. Norėdami išvengti trumpojo jungimo, patikrinkite naudojamo maitinimo šaltinio jungtis. Nustatykite „Buck“keitiklio išėjimo įtampą į 7 V, nes tai yra vidutinė visų servo variklių įtampa. Vienintelė vieta, kurią galite lituoti, yra pagrindinio nuolatinės srovės variklio gnybtai, nes jis sunaudoja daug srovės, todėl jį reikia įtempti šiek tiek storesniu elektros laidu. Kai grandinė bus baigta, vėliau į „Nodemcu“įkelsite „arm_subscriber.ino“, kuris jungiasi su ranka ir „base.ino“, kad būtų įkeltas į bazinį „Nodemcu“.

8 žingsnis: programa mobiliesiems

Mobilioji programėlė
Mobilioji programėlė

Tai mobilusis įrenginys, skirtas valdyti judėjimą. Kai perkeliate vairasvirtę, ji siunčia X, Y koordinates vairasvirtės apskritime į „Pubnub“ir gauna Nodemcu bazėje. Ši X, Y koordinatė paverčiama kampu ir ją naudojant galime rasti, kuria kryptimi robotas eis. Judėjimas atliekamas įjungiant/išjungiant ir keičiant dviejų variklių kryptį. Jei komanda yra „Pirmyn“, abu varikliai juda į priekį visu greičiu, jei kairė - kairysis variklis eis atgal, o dešinysis - pirmyn ir pan.

aukščiau nurodytą funkciją galima tiesiog atlikti mygtukais, o ne vairasvirte, bet aš pasirenku vairasvirtę, kad taip pat valdyčiau variklio greitį. Tačiau mano įgalinimo kaištis neveikė su „Nodemcu“, todėl palikau tą dalį. Aš pridėjau greičio kontrolės kodą bazėje.ino tik tuo atveju, kaip komentarą.

Žemiau galite gauti šaltinio failą.aia, kurį galima redaguoti naudojant MIT programos išradėją. Programoje turėsite atlikti pagrindinę konfigūraciją, kurią pasakysiu kitame žingsnyje.

9 veiksmas: sukurkite paskyrą „Pubnub“ir gaukite raktus

Sukurkite paskyrą „Pubnub“ir gaukite raktus
Sukurkite paskyrą „Pubnub“ir gaukite raktus

Dabar atėjo laikas atlikti paskutinį žingsnį - konfigūruoti savo interneto platformą. „Pubnub“yra geriausias, nes duomenų perdavimas vyksta realiuoju laiku ir trunka tik 0,5 sekundės. Be to, galite išsiųsti 1 milijoną duomenų taškų per mėnesį, todėl tai yra mano asmeninė mėgstamiausia platforma.

Eikite į „PubNub“ir sukurkite paskyrą. Tada eikite į programų meniu kairiajame meniu ir dešinėje spustelėkite mygtuką „+Sukurti naują programą“. Pavadinę programą, pamatysite aukščiau esantį leidėjo ir abonento rakto vaizdą. Būtent tai mes naudosime prijungdami įrenginius.

10 veiksmas: pridėkite raktus prie kodo ir įkelkite

Pridėkite raktus prie kodo ir įkelkite
Pridėkite raktus prie kodo ir įkelkite
Pridėkite raktus prie kodo ir įkelkite
Pridėkite raktus prie kodo ir įkelkite

Mums reikia 4 dalykų, kad įrenginys galėtų bendrauti tarpusavyje:- pubkey, subkey, channel & wifi.

„pubkey“ir „subkey“liks tas pats visose „Nodemcu“ir programose mobiliesiems. 2 tarpusavyje bendraujantys įrenginiai turi turėti tą patį kanalo pavadinimą. Kadangi mobilioji programa ir bazė palaiko ryšį, kanalo pavadinimas bus panašus valdikliui ir robotinei rankai. Galiausiai turite įdėti „Wi -Fi“prisijungimo duomenis prie kiekvieno „Nodemcu“, kad pradžioje jis galėtų prisijungti prie „Wi -Fi“. Aš jau pridėjau kanalo pavadinimą, todėl „Wi -Fi“ir pub/sub raktas yra tai, ką turėsite pridėti iš savo paskyros.

Pastaba:- „Nodemcu“gali prisijungti tik naudodami „Wi-Fi“, kurį galima pasiekti be tarpinio puslapio kaip tarpinį. Net paskutiniam pristatymui turėjau naudoti mobilųjį interneto prieigos tašką, nes universiteto „wifi“buvo vilktas.

11 žingsnis: Išvada

Išvada
Išvada

Jei pasiekėte iki čia, tada NUOSTABU! Tikiuosi, kad iš šio straipsnio gavote kažką vertingo. Šis projektas turi nedidelių apribojimų, kuriuos noriu jums pasakyti prieš jį įgyvendinant. Štai keletas žemiau:-

Staigus robotų rankos judėjimas:-

Yra daug staigių robotų rankos judesių. Taip yra dėl 0,5 sekundės delsos, kad jutiklio informacija būtų perduodama kaip servo judesys. Aš net sugadinau 2 servo variklį, todėl nejudinkite rankos per greitai. Šią problemą galite išspręsti pridėję tarpinius žingsnius tarp pradinio judesio, kad sukurtumėte sklandų judesį.

Nenutraukite pagrindo judėjimo:-

kai priverčiu robotą judėti viena kryptimi per mobiliąją programėlę, robotas ir toliau juda ta pačia kryptimi, net kai pakeliu pirštus. Tai erzino, nes norėdamas sustabdyti judesį, visada turėjau išjungti maitinimą. Į programėlę įterpiau stabdymo kodą, bet jis vis tiek neveikė. Tai gali būti problema pačioje programoje. Gal galite pabandyti tai išspręsti ir man pranešti.

Nėra vaizdo kanalo:-

Jei vaizdo įrašo sklaidos kanalas nėra perduodamas iš roboto į žmogų, mes niekada negalime dislokuoti toli nuo vartotojo. Iš pradžių norėjau tai pridėti, tačiau prireiktų daugiau laiko ir investicijų, todėl palikau.

Jūs, vaikinai, galite tęsti šį projektą, išspręsdami aukščiau pateiktą problemą. Kai tai padarysite, praneškite man. Atsisveikinimas

Daugiau projektų rasite mano portfelio svetainėje

Robotikos konkursas
Robotikos konkursas
Robotikos konkursas
Robotikos konkursas

Antroji vieta robotikos konkurse

Rekomenduojamas: