Turinys:

AUGALŲ ROBOTAS: 10 žingsnių
AUGALŲ ROBOTAS: 10 žingsnių

Video: AUGALŲ ROBOTAS: 10 žingsnių

Video: AUGALŲ ROBOTAS: 10 žingsnių
Video: Išmanusis JUNG robotas 2024, Liepa
Anonim
Image
Image
AUGALŲ ROBOTAS
AUGALŲ ROBOTAS

Visiems patinka namuose turėti augalų, tačiau kartais dėl savo užimto gyvenimo nerandame laiko jais tinkamai pasirūpinti. Iš šios problemos mes sugalvojome idėją: kodėl gi nesukūrus roboto, kuris juo pasirūpintų už mus?

Šį projektą sudaro augalas-robotas, kuris rūpinasi savimi. Augalas yra integruotas į robotą ir galės pats laistyti ir rasti šviesos, vengdamas kliūčių. Tai buvo įmanoma naudojant kelis roboto ir gamyklos jutiklius. Šios instrukcijos tikslas - padėti jums sukurti augalų robotą, kad jums nereikėtų kasdien rūpintis savo augalais!

Šis projektas yra „Bruface Mechatronics“dalis ir jį įgyvendino:

„Mercedes Arévalo Suárez“

Danielis Blanquezas

Baudouin Cornelis

Kaatas Leemansas

Marcos Martínez Jiménez

Bazilikas tai

(4 grupė)

1 žingsnis: PIRKIMŲ SĄRAŠAS

PREKIŲ SĄRAŠAS
PREKIŲ SĄRAŠAS
PREKIŲ SĄRAŠAS
PREKIŲ SĄRAŠAS
PREKIŲ SĄRAŠAS
PREKIŲ SĄRAŠAS

Čia yra visų produktų, kurių jums reikės norint sukurti šį robotą, sąrašas. Prie kiekvieno pabraukto kūrinio yra nuoroda:

3D spausdintų variklių palaikymas X1 (kopija 3D formatu)

3D spausdinti ratai + rato ir variklio jungtis X2 (kopijuoti 3D formatu)

AA Nimh baterijos X8

Šlifavimo popieriaus ritinys X1

„Arduino Mega X1“

Rutulinis ratukas X1

Akumuliatoriaus laikiklis X2

Duonos lenta bandymams X1

Duonos lenta iki litavimo X1

Nuolatinės srovės varikliai (su koduotuvu) X2

Vyriai X2

Higrometras X1

Nuo šviesos priklausomi rezistoriai X3

Džemperiai vyrai-vyrai ir vyrai-moterys

Variklio skydas X1

Augalas X1 (tai priklauso nuo jūsų)

Augalinis puodas X1

Augalų palaikymas X1 (atspausdintas 3D)

Plastikinis vamzdis X1

Įvairių vertybių rezistoriai

Nubraukite popierių X1

Varžtai

„Sharp“jutikliai X3 (GP2Y0A21YK0F 10–80 cm)

Jungiklis X1

Vandens siurblys X1

Vandens rezervuaro bakas (mažas „Tupperware“) X1

Laidai

Atminkite, kad šiuos pasirinkimus lemia laiko ir biudžeto apribojimai (3 mėnesiai ir 200 eurų). Kitus pasirinkimus galima padaryti savo nuožiūra.

SKIRTINGŲ PASIRINKIMŲ AIŠKINIMAS

„Arduino Mega“prieš „Arduino Uno“: Pirma, taip pat turėtume paaiškinti priežastį, kodėl apskritai naudojome „Arduino“. „Arduino“yra atvirojo kodo elektroninių prototipų platforma, leidžianti vartotojams kurti interaktyvius elektroninius objektus. Tai labai populiaru tiek tarp ekspertų, tiek tarp naujokų, o tai padeda rasti daug informacijos apie tai internete. Tai gali būti naudinga, kai kyla problemų dėl jūsų projekto. Mes pasirinkome „Arduino Mega“, o ne „Uno“, nes jis turi daugiau kaiščių. Tiesą sakant, tiek jutiklių, kiek mes naudojame „Uno“, nesiūlė pakankamai kaiščių. „Mega“taip pat yra galingesnė ir gali būti naudinga, jei pridėsime keletą patobulinimų, pvz., WIFI modulį.

„Nimh“baterijos: Pirma idėja buvo naudoti „LiPo“baterijas, kaip ir daugelyje robotų projektų. LiPo turi gerą iškrovimo greitį ir yra lengvai įkraunamas. Tačiau netrukus supratome, kad „LiPo“ir įkroviklis yra per brangūs. Šiam projektui tinka tik kitos baterijos, kuriose „Nimh“. Tiesą sakant, jie yra pigūs, įkraunami ir lengvi. Norint įjungti variklį, mums reikės 8 iš jų, kad maitinimo įtampa būtų nuo 9,6 V (iškrauta) iki 12 V (visiškai įkrauta).

Nuolatinės srovės varikliai su kodavimo įtaisais: Atsižvelgdami į pagrindinį šios pavaros tikslą - suteikti ratams sukimosi energiją, mes pasirinkome du nuolatinės srovės variklius, o ne servo variklius, kurių sukimosi kampas yra ribotas ir kurie skirti konkretesnėms užduotims, kai reikia nustatyti padėtį. tiksliai. Tai, kad yra kodavimo įrenginių, taip pat suteikia galimybę, jei reikia, turėti didesnį tikslumą. Atminkite, kad pagaliau mes nenaudojome kodavimo įrenginių, nes supratome, kad varikliai yra gana panašūs ir mums nereikėjo roboto tiksliai sekti tiesią liniją.

Rinkoje yra daug nuolatinės srovės variklių, ir mes ieškojome tokio, kuris atitiktų mūsų biudžetą ir robotą. Siekiant patenkinti šiuos apribojimus, du svarbūs parametrai padėjo mums pasirinkti variklį: sukimo momentas, reikalingas robotui judėti, ir roboto greitis (norint rasti reikiamą apsisukimų dažnį).

1) Apskaičiuokite apsisukimų dažnį

Šiam robotui nereikės nutraukti garso barjero. Norint sekti šviesą ar sekti ką nors namuose, 1 m/s arba 3,6 km/h greitis atrodo pagrįstas. Norėdami jį paversti apsisukimais, naudojame ratų skersmenį: 9 cm. Apsisukimų dažnis apskaičiuojamas taip: aps/min = (60*greitis (m/s))/(2*pi*r) = (60*1)/(2*pi*0,045) = 212 aps/min.

2) Apskaičiuokite maksimalų reikalingą sukimo momentą

Kadangi šis robotas vystysis plokščioje aplinkoje, didžiausias reikalingas sukimo momentas yra tas, kuris paleidžia robotą judėti. Jei atsižvelgsime į tai, kad roboto svoris su augalu ir kiekvienu komponentu yra apie 3 kilogramus ir naudojant trinties jėgas tarp ratų ir žemės, mes lengvai rasime sukimo momentą. Atsižvelgiant į trinties koeficientą 1 tarp žemės ir ratų: Trinties jėgos (Fr) = trinties koeficientas. * N (kur N yra roboto svoris), gauname Fr = 1 * 3 * 10 = 30 N. Kiekvieno variklio sukimo momentą galima rasti taip: T = (Fr * r)/2, kur r yra ratų spindulys taip T = (30*0,045)/2 = 0,675 Nm = 6,88 kg cm.

Tai yra mūsų pasirinkto variklio charakteristikos: esant 6 V 175 aps./min. Ir 4 kg cm esant 12 V 350 aps./min. Ir 8 kg cm. Žinant, kad jis bus maitinamas nuo 9,6 iki 12 V, atliekant linijinę interpoliaciją, aiškiai matyti, kad pirmiau nurodyti apribojimai bus įvykdyti.

Šviesos jutikliai: pasirinkome nuo šviesos priklausomus rezistorius (LDR), nes jų atsparumas greitai kinta priklausomai nuo šviesos, o LDR įtampą galima lengvai išmatuoti, naudojant įtampos daliklį, kuriame yra LDR.

Aštrūs jutikliai: jie naudojami siekiant išvengti kliūčių. Aštrių atstumų jutikliai yra nebrangūs ir lengvai naudojami, todėl jie yra populiarus objektų aptikimo ir diapazono pasirinkimas. Paprastai jie turi didesnį atnaujinimo dažnį ir trumpesnį maksimalų aptikimo diapazoną nei sonaro diapazono ieškikliai. Rinkoje galima rasti daugybę skirtingų modelių su skirtingais veikimo diapazonais. Kadangi jie naudojami kliūtims aptikti šiame projekte, mes pasirinkome tą, kurio veikimo diapazonas yra 10–80 cm.

Vandens siurblys: Vandens siurblys yra paprastas lengvas ir ne per galingas siurblys, suderinamas su variklių įtampos diapazonu, kad būtų galima naudoti tą patį maitinimą. Kitas sprendimas, kaip maitinti augalą vandeniu, buvo vandens pagrindo atskyrimas nuo roboto, tačiau daug paprasčiau jį turėti ant roboto.

Higrometras: Higrometras yra drėgmės jutiklis, kurį reikia įkišti į žemę. Tai būtina, nes robotas turi žinoti, kada puodas sausas, kad į jį būtų siunčiamas vanduo.

2 žingsnis: MECHANINIS DIZAINAS

MECHANINIS DIZAINAS
MECHANINIS DIZAINAS
MECHANINIS DIZAINAS
MECHANINIS DIZAINAS
MECHANINIS DIZAINAS
MECHANINIS DIZAINAS
MECHANINIS DIZAINAS
MECHANINIS DIZAINAS

Iš esmės roboto dizainą sudarys stačiakampė dėžė, kurios apačioje yra trys ratai ir viršutinėje pusėje atidaromas dangtis. Augalas bus pastatytas viršuje su vandens rezervuaru. Augalinis vazonas dedamas į vazono fiksaciją, kuri prisukama ant viršutinės roboto lentos. Vandens rezervuaras yra šiek tiek „Tupperware“subraižytas ant viršutinės roboto lentos, o vandens siurblys taip pat yra subraižytas vandens rezervuaro apačioje, todėl, užpildžius „Tupperware“vandeniu, viską galima lengvai pašalinti. Rezervuaro dangtelyje padaryta maža skylė dėl vandens vamzdžio, patenkančio į augalų puodą, ir siurblio, esančio dėžutėje, maitinimo. Taigi viršutinėje dėžutės plokštėje padaryta skylė, o per šią angą taip pat praeina higrometro kabeliai.

Pirma, norėjome, kad robotas būtų patrauklaus dizaino, todėl nusprendėme paslėpti elektroninę dalį dėžutės viduje, palikdami visai šalia augalo ir vandens. Tai svarbu, nes augalai yra namo apdailos dalis ir neturėtų vizualiai paveikti erdvės. Dėžutės komponentai bus lengvai pasiekiami per dangtelį viršutinėje pusėje, o šoniniai dangteliai turės reikiamas skyles, kad, pavyzdžiui, būtų lengva, pavyzdžiui, įjungti robotą arba prijungti „Arduino“prie nešiojamojo kompiuterio, jei to norime dar kartą jį užprogramuoti.

Dėžutėje yra šie komponentai: „Arduino“, variklio valdiklis, varikliai, LDR, polių laikikliai, duonos lenta ir vyriai. „Arduino“yra sumontuotas ant mažų stulpų, todėl jo apačia nėra pažeista, o variklio valdiklis yra sumontuotas ant „Arduino“. Varikliai prisukami prie variklio tvirtinimo elementų, o tada variklio tvirtinimo elementai prisukami prie dėžutės apatinės lentos. LDR yra lituojami ant nedidelio duonos gabalo. Prie šios duonos lentos yra priklijuotos mini miškų lentos, kad būtų galima prisukti prie šoninių roboto paviršių. Yra vienas LDR priekyje, vienas kairėje ir vienas dešinėje, kad robotas žinotų kryptį, kai yra didžiausias šviesos kiekis. Polių laikikliai yra subraižyti prie dėžutės apačios, kad juos būtų galima lengvai nuimti ir pakeisti polius arba įkrauti. Tada duonos lentelė prisukama prie apatinės lentos su mažais trikampio formos stulpeliais, turinčiais duonos lentos kampo formos skyles. Galiausiai vyriai prisukami ant galinio ir viršutinio paviršiaus.

Priekinėje pusėje trys aštrūs galai bus tiesiogiai prisukti, kad būtų galima kuo geriau aptikti ir išvengti kliūčių.

Nors fizinis dizainas yra svarbus, mes negalime pamiršti apie techninę dalį, mes kuriame robotą, jis turėtų būti praktiškas ir kiek įmanoma optimizuoti erdvę. Dėl šios priežasties reikia pasirinkti stačiakampę formą, nes tai buvo geriausias būdas sutvarkyti visus komponentus.

Galiausiai judėjimui prietaisas turės tris ratus: du standartinius motorizuotus gale ir vieną rutulinį ratuką priekyje. Jie rodomi trijų ciklų pavara, konfigūracija, vairavimas priekyje ir važiavimas gale.

3 žingsnis: DALIŲ GAMYBA

GAMYBOS DALYS
GAMYBOS DALYS
GAMYBOS DALYS
GAMYBOS DALYS
GAMYBOS DALYS
GAMYBOS DALYS

Roboto fizinę išvaizdą galima keisti atsižvelgiant į jūsų pomėgius. Pateikiami techniniai brėžiniai, kurie gali būti geras įžeminimas projektuojant savo.

Lazeriu išpjautos dalys:

Visos šešios dalys, sudarančios roboto korpusą, buvo išpjautos lazeriu. Tam naudojama medžiaga yra perdirbta mediena. Ši dėžutė taip pat gali būti pagaminta iš organinio stiklo, kuris yra šiek tiek brangesnis.

3D spausdintos dalys:

Du standartiniai ratai, esantys roboto gale, buvo atspausdinti 3D PLA. Priežastis ta, kad vienintelis būdas rasti ratus, atitinkančius visus poreikius (tinkančius nuolatinės srovės varikliams, dydis, svoris …), buvo juos suprojektuoti patiems. Variklio fiksavimas taip pat buvo atspausdintas 3D dėl biudžeto priežasčių. Tada augalų puodų atrama, „Arduino“atramos ir kampai, palaikantys duonos lentą, taip pat buvo atspausdinti 3D, nes mums reikėjo tam tikros formos, tinkančios mūsų robotui.

4 žingsnis: ELEKTRONIKA

ELEKTRONIKA
ELEKTRONIKA
ELEKTRONIKA
ELEKTRONIKA
ELEKTRONIKA
ELEKTRONIKA

Aštrūs jutikliai: aštrūs jutikliai turi tris kaiščius. Du iš jų skirti maistui (Vcc ir Ground), o paskutinis - išmatuotas signalas (Vo). Maistui turime teigiamą įtampą, kuri gali būti nuo 4,5 iki 5,5 V, todėl naudosime 5 V iš „Arduino“. Vo bus prijungtas prie vieno iš analoginių „Arduino“kaiščių.

Šviesos jutikliai: kad šviesos jutikliai veiktų, jiems reikia šiek tiek grandinės. LDR yra sujungtas nuosekliai su 900 kOhm rezistoriumi, kad būtų sukurtas įtampos skirstytuvas. Įžeminimas yra prijungtas prie rezistoriaus kaiščio, neprijungto prie LDR, o „Arduino“5 V yra prijungtas prie LDR kaiščio, neprijungto prie rezistoriaus. Norint išmatuoti šią įtampą, rezistoriaus ir LDR kaištis yra prijungti prie analoginio „Arduino“kaiščio. Ši įtampa svyruos nuo 0 iki 5 V, kai 5 V atitinka visą šviesą ir artima nuliui, atitinkanti tamsą. Tada visa grandinė bus lituojama ant mažos duonos lentos, kuri gali tilpti į šonines roboto lentas.

Baterijos: Baterijos yra pagamintos iš 4 polių po 1,2–1,5 V, taigi nuo 4,8 iki 6 V. Sujungdami du polių laikiklius į seriją, turime nuo 9,6 iki 12 V.

Vandens siurblys: Vandens siurblys turi to paties tipo jungtį (maitinimo lizdą) kaip „Arduino“maitinimas. Pirmasis žingsnis yra nutraukti jungtį ir nuimti laidą, kad laidas būtų įžemintas, o laidas - teigiamai įtampai. Kadangi norime valdyti siurblį, mes jį sujungsime nuosekliai su srovės valdomu tranzistoriumi, naudojamu kaip jungiklis. Tada diodas bus pastatytas lygiagrečiai su siurbliu, kad būtų išvengta atgalinių srovių. Apatinė tranzistoriaus kojelė yra prijungta prie bendro „Arduino“/baterijų pagrindo, vidurinė - prie skaitmeninio „Arduino“kaiščio su 1 kOhm rezistoriumi nuosekliai, kad „Arduino“įtampa taptų srove, o viršutinė - prie juodo kabelio. siurblys. Tada raudonas siurblio kabelis prijungiamas prie teigiamos baterijų įtampos.

Varikliai ir skydas: skydą reikia lituoti, jis siunčiamas ne lituojamas. Kai tai bus padaryta, jis dedamas ant „Arduino“, nukirpiant visas skydo antraštes į „Arduino“kaiščius. Skydas bus maitinamas iš baterijų, o tada jis maitins „Arduino“, jei įjungtas trumpiklis (oranžiniai smeigtukai paveikslėlyje). Būkite atsargūs ir nedėkite trumpiklio, kai „Arduino“maitinamas kitu būdu nei skydas, nes „Arduino“tada įjungia skydą ir gali sudeginti ryšį.

Duonos lenta: visi komponentai dabar bus lituojami ant duonos lentos. Vieno krūvos laikiklio, „Arduino“, variklio valdiklio ir visų jutiklių žemė bus lituojama toje pačioje eilėje (mūsų duonos lentų eilėse yra tas pats potencialas). Tada antrojo krūvos laikiklio juodas kabelis bus lituojamas toje pačioje eilutėje, kaip ir pirmojo krūvos laikiklio, kurio žemė jau yra lituota, raudona. Tada kabelis bus lituojamas toje pačioje eilutėje kaip ir raudonas antrojo krūvos laikiklio kabelis, atitinkantis du iš eilės. Šis kabelis bus prijungtas prie vieno jungiklio galo, o kitas galas bus sujungtas su viela, lituojama ant duonos lentos laisvoje eilėje. Raudonas siurblio kabelis ir variklio valdiklio maitinimas bus lituojami šioje eilutėje (jungiklis nėra pavaizduotas paveikslėlyje). Tada „Arduino“5 V bus lituojamas kitoje eilėje, o kiekvieno jutiklio maitinimo įtampa bus lituojama toje pačioje eilėje. Pabandykite lituoti trumpiklį ant duonos lentos ir trumpiklį ant komponento, kai tai įmanoma, kad galėtumėte lengvai juos atjungti ir lengviau surinkti elektrinius komponentus.

5 žingsnis: PROGRAMAVIMAS

PROGRAMAVIMAS
PROGRAMAVIMAS

Programos schema:

Programa buvo gana paprasta, naudojant būsenos kintamųjų sąvoką. Kaip matote schemoje, šios būsenos taip pat sukelia prioriteto sąvoką. Robotas patikrins sąlygas tokia tvarka:

1) 2 būsenoje: ar augalas turi pakankamai vandens, kurio funkcija drėgmės lygis? Jei drėgmės lygis, išmatuotas higrometru, yra mažesnis nei 500, siurblys veiks tol, kol drėgmės lygis viršys 500. Kai įrenginyje yra pakankamai vandens, robotas pereina į 3 būseną.

2) 3 būsenoje: raskite kryptį, kurioje yra daugiausiai šviesos. Esant tokiai būsenai, augalas turi pakankamai vandens ir turi sekti kryptimi, turėdamas daugiausiai šviesos, vengdamas kliūčių. Funkcija light_direction nurodo trijų šviesos jutiklių kryptį, kuri gauna daugiausiai šviesos. Tada robotas valdys variklius, kad laikytųsi tos krypties, naudodamas funkciją „follow_light“. Jei apšvietimo lygis viršija tam tikrą slenkstį (pakankamai šviesos), robotas sustoja sekti šviesą, nes šioje pozicijoje jam pakanka („stop_motors“). Siekiant išvengti kliūčių, mažesnių nei 15 cm, sekant šviesą, buvo įdiegta funkcinė kliūtis, kuri grąžina kliūties kryptį. Siekiant tinkamai išvengti kliūčių, buvo įdiegta funkcija išvengti_akmenys. Ši funkcija valdo variklį žinodama, kur yra kliūtis.

6 žingsnis: SURINKIMAS

SURINKIMAS
SURINKIMAS
SURINKIMAS
SURINKIMAS
SURINKIMAS
SURINKIMAS

Šio roboto surinkimas iš tikrųjų yra gana lengvas. Dauguma komponentų yra prisukami prie dėžutės, kad būtų užtikrinta, jog jie išlaikys savo vietą. Tada subraižomi polių laikiklis, vandens rezervuaras ir siurblys.

7 žingsnis: EKSPERIMENTAI

Paprastai kuriant robotą viskas klostosi ne sklandžiai. Norint gauti puikų rezultatą, reikia atlikti daugybę bandymų su keitimais. Čia yra augalų roboto proceso paroda!

Pirmasis žingsnis buvo sumontuoti robotą su varikliais, „Arduino“, variklio valdikliu ir šviesos jutikliais su prototipine duonos lenta. Robotas tiesiog eina ta kryptimi, kur matavo daugiausiai šviesos. Buvo nuspręsta slenkstis, norint sustabdyti robotą, jei jis turi pakankamai šviesos. Kai robotas slydo ant grindų, ant ratų pridėjome abrazyvinio popieriaus, kad imituotume padangą.

Tada aštrūs jutikliai buvo pridėti prie konstrukcijos, kad būtų išvengta kliūčių. Iš pradžių du jutikliai buvo uždėti ant priekinio paviršiaus, tačiau trečias buvo pridėtas viduryje, nes aštrių jutiklių aptikimo kampas yra labai ribotas. Galiausiai, roboto galuose turime du jutiklius, aptinkančius kliūtis į kairę arba į dešinę, ir vieną viduryje, kad nustatytume, ar priešais yra kliūtis. Kliūtys aptinkamos, kai aštrių prietaisų įtampa viršija tam tikrą vertę, atitinkančią 15 cm atstumą iki roboto. Kai kliūtis yra šone, robotas vengia jos, o kai kliūtis yra viduryje, robotas sustoja. Atminkite, kad kliūčių žemiau aštrių objektų negalima aptikti, todėl norint išvengti kliūčių reikia turėti tam tikrą aukštį.

Po to buvo išbandytas siurblys ir higrometras. Siurblys siunčia vandenį tol, kol higrometro įtampa yra žemiau tam tikros vertės, atitinkančios sausą puodą. Ši vertė buvo išmatuota ir nustatyta eksperimentiškai, bandant su sausais ir drėgnais vazoniniais augalais.

Pagaliau viskas buvo išbandyta kartu. Augalas pirmiausia patikrina, ar turi pakankamai vandens, o tada pradeda sekti šviesą, vengdamas kliūčių.

8 žingsnis: BAIGIAMASIS BANDYMAS

Čia yra vaizdo įrašai, kaip pagaliau veikia robotas. Tikimės, kad jums patiks!

9 veiksmas: KO mes sužinojome iš šio projekto?

Nors bendras šio projekto grįžtamasis ryšys yra puikus, nes mes daug sužinojome, jį statydami patyrėme gana daug streso dėl terminų.

Iškilo problemų

Mūsų atveju proceso metu iškilo keletas problemų. Kai kuriuos iš jų buvo lengva išspręsti, pavyzdžiui, kai komponentų pristatymas buvo atidėtas, mes tiesiog ieškojome parduotuvių mieste, kur galėjome jas nusipirkti. Kiti reikalauja šiek tiek daugiau mąstymo.

Deja, ne visos problemos buvo išspręstos. Mūsų pirmoji idėja buvo sujungti naminių gyvūnėlių ir augalų savybes, kad kiekvienas iš jų būtų geriausias. Dėl augalų, kuriuos galėtume tai padaryti, su šiuo robotu galėsime turėti augalą, kuris puošia mūsų namus, ir mums nereikės juo rūpintis. Tačiau augintiniams mes nesugalvojome, kaip imituoti jų sukurtą įmonę. Mes galvojome apie įvairius būdus, kaip tai sekti žmones, ir pradėjome vieną iš jų įgyvendinti, tačiau mums trūko laiko jį užbaigti.

Tolesni patobulinimai

Nors mes būtume norėję gauti viską, ko norėjome, mokymasis naudojant šį projektą buvo nuostabus. Galbūt su daugiau laiko galėtume gauti dar geresnį robotą. Siūlome keletą idėjų, kaip patobulinti mūsų robotą, kurį galbūt norėsite išbandyti:

- Pridedami įvairių spalvų šviesos diodai (raudona, žalia, …), kurie nurodo vartotojui, kada reikia įkrauti robotą. Akumuliatorių galima išmatuoti naudojant įtampos daliklį, kurio maksimali įtampa yra 5 V, kai akumuliatorius yra visiškai įkrautas, kad būtų galima išmatuoti šią įtampą naudojant „Arduino“. Tada įjungiamas atitinkamas šviesos diodas.

- Pridedamas vandens jutiklis, kuris nurodo vartotojui, kada reikia papildyti vandens rezervuarą (vandens aukščio jutiklis).

- Sąsajos sukūrimas, kad robotas galėtų siųsti žinutes vartotojui.

Ir akivaizdu, kad negalime pamiršti tikslo, kad jis sektų žmones. Gyvūnai yra vienas iš dalykų, kuriuos žmonės myli labiausiai, ir būtų malonu, jei kas nors pasiektų, kad robotas imituotų šį elgesį. Norėdami tai palengvinti, mes ketiname pateikti viską, ką turime.

10 žingsnis: Kaip priversti robotą sekti žmones?

Image
Image
Kaip priversti robotą sekti žmones?
Kaip priversti robotą sekti žmones?
Kaip priversti robotą sekti žmones?
Kaip priversti robotą sekti žmones?

Mes supratome, kad geriausias būdas tai padaryti būtų naudojant tris ultragarso jutiklius, vieną emiterį ir du imtuvus.

Siųstuvas

Siųstuvui norėtume 50% darbo ciklo. Norėdami tai padaryti, turite naudoti 555 laikmatį, mes naudojome NE555N. Paveikslėlyje galite pamatyti, kaip turėtų būti sukurta grandinė. Tačiau, pavyzdžiui, turėsite pridėti papildomą kondensatorių, esant 3 išėjimui, 1µF. Rezistoriai ir kondensatoriai apskaičiuojami pagal šias formules: (1 ir 2 paveikslai)

Kadangi pageidautinas 50% darbo ciklas, t1 ir t2 bus lygūs vienas kitam. Taigi su 40 kHz siųstuvu t1 ir t2 bus lygus 1,25*10-5 s. Kai vartojate C1 = C2 = 1 nF, galima apskaičiuoti R1 ir R2. Mes paėmėme R1 = 15 kΩ ir R2 = 6,8 kΩ, įsitikinkite, kad R1> 2R2!

Kai mes tai išbandėme osciloskopo grandinėje, gavome tokį signalą. Skalė yra 5 µs/div, todėl dažnis iš tikrųjų bus apie 43 kHz. (3 paveikslas)

Imtuvas

Imtuvo įvesties signalas bus per mažas, kad „Arduino“galėtų tiksliai apdoroti, todėl įvesties signalą reikia sustiprinti. Tai bus padaryta padarius apverčiantį stiprintuvą.

„Opamp“naudojome LM318N, kurį maitinome 0 V ir 5 V iš „Arduino“. Norėdami tai padaryti, turėjome pakelti įtampą aplink svyruojantį signalą. Šiuo atveju bus logiška jį padidinti iki 2,5 V. Kadangi maitinimo įtampa nėra simetriška, prieš rezistorių taip pat turime įdėti kondensatorių. Tokiu būdu mes taip pat sukūrėme aukšto dažnio filtrą. Naudojant mūsų naudojamas vertes, dažnis turėjo būti didesnis nei 23 kHz. Kai naudojome A = 56 stiprinimą, signalas prisotinamas, o tai nėra gerai, todėl vietoj to naudojome A = 18. Tai vis tiek pakaks. (4 paveikslas)

Dabar, kai turime sustiprintą sinuso bangą, mums reikia pastovios vertės, kad „Arduino“galėtų ją išmatuoti. Vienas iš būdų tai padaryti yra sukurti piko detektoriaus grandinę. Tokiu būdu mes galime pamatyti, ar siųstuvas yra toliau nuo imtuvo, ar kitu kampu nei anksčiau, turėdami pastovų signalą, proporcingą gauto signalo intensyvumui. Kadangi mums reikia tikslaus smailės detektoriaus, diodą 1N4148 įdedame į įtampos sekiklį. Tokiu būdu mes neprarandame diodų ir sukūrėme idealų diodą. „Opamp“naudojome tą patį, kaip ir pirmoje grandinės dalyje, su tuo pačiu maitinimo šaltiniu, 0 V ir 5 V.

Lygiagretus kondensatorius turi būti didelės vertės, todėl jis išsikraus labai lėtai ir vis tiek matome tokią pačią didžiausią vertę kaip ir tikroji vertė. Rezistorius taip pat bus dedamas lygiagrečiai ir nebus per mažas, nes kitaip iškrova bus didesnė. Šiuo atveju pakanka 1,5µF ir 56 kΩ. (5 paveikslas)

Nuotraukoje matoma visa grandinė. Kur yra produkcija, kuri pateks į „Arduino“. O 40 kHz kintamosios srovės signalas bus imtuvas, kur kitas jo galas bus prijungtas prie žemės. (6 paveikslas)

Kaip jau minėjome anksčiau, mes negalėjome integruoti jutiklių į robotą. Bet mes pateikiame bandymų vaizdo įrašus, kad parodytume, jog grandinė veikia. Pirmame vaizdo įraše galima pamatyti stiprinimą (po pirmojo „OpAmp“). Osciloskopas jau turi 2,5 V poslinkį, todėl signalas yra viduryje, amplitudė kinta, kai jutikliai keičia kryptį. Kai du jutikliai yra nukreipti vienas į kitą, sinuso amplitudė bus didesnė nei tada, kai jutikliai turi didesnį kampą arba atstumą tarp abiejų. Antrame vaizdo įraše (grandinės išvestyje) matomas ištaisytas signalas. Vėlgi, bendra įtampa bus didesnė, kai jutikliai yra vienas prieš kitą, nei tada, kai jie nėra. Signalas nėra visiškai tiesus dėl kondensatoriaus iškrovos ir dėl voltų/div. Mes galėjome išmatuoti nuolatinį signalo mažėjimą, kai kampas ar atstumas tarp jutiklių nebebuvo optimalūs.

Tuomet buvo sumanyta, kad robotas turėtų imtuvą, o vartotojas - siųstuvą. Robotas galėjo pats pasukti, kad nustatytų, kuria kryptimi intensyvumas buvo didžiausias, ir galėjo eiti ta kryptimi. Geresnis būdas būtų turėti du imtuvus ir sekti imtuvą, kuris aptinka aukščiausią įtampą, o dar geresnis būdas yra įdėti tris imtuvus ir pastatyti juos kaip LDR, kad žinotumėte, kuria kryptimi skleidžiamas vartotojo signalas (tiesus, į kairę arba į dešinę).

Rekomenduojamas: