Turinys:

Raspberry Pi Cam Tank V1.0: 8 žingsniai (su nuotraukomis)
Raspberry Pi Cam Tank V1.0: 8 žingsniai (su nuotraukomis)

Video: Raspberry Pi Cam Tank V1.0: 8 žingsniai (su nuotraukomis)

Video: Raspberry Pi Cam Tank V1.0: 8 žingsniai (su nuotraukomis)
Video: Octopus Max EZ v1.0 - Klipper MainSail Quick Install 2024, Liepa
Anonim
Image
Image
Raspberry Pi Cam Tank V1.0
Raspberry Pi Cam Tank V1.0

Nuo mažens mėgstu tankus. Sukurti savo žaislinį baką visada yra viena iš mano svajonių. Bet dėl žinių ir įgūdžių trūkumo. Svajonė yra tik svajonė.

Po daugelio metų inžinerijos ir pramoninio dizaino studijų. Įgijau įgūdžių ir žinių. Ir dėl pigesnių hobis 3D spausdintuvų. Pagaliau galiu žengti savo žingsnį.

Kokiomis savybėmis noriu turėti šį baką?

  • Valdomas nuotoliniu būdu
  • Pakabinami tuščiosios eigos ratai (kaip tikras bakas!)
  • Turi pasukamą bokštelį ir pakreipiamas BB pistoletas gali šaudyti 6 mm kulkomis
  • Gali transliuoti vaizdo įrašą į valdiklį, kad galėtumėte jį valdyti toli

Iš pradžių planavau naudoti „arduino“kaip valdiklį, tačiau po kelių tyrimų pastebėjau, kad nėra jokio praktinio vaizdo transliacijos būdo. Tačiau atrodo, kad „Raspberry Pi“yra geras kandidatas transliuoti vaizdo įrašus. Ir jūs galite tai valdyti per žmoną iš savo telefono!

Pradėkime.

1 žingsnis: reikalingos dalys

Dėl kontrolės

Raspberry Pi B versija

Maitinamas USB šakotuvas („Belkin F4u040“)

USB internetinė kamera („Logitech C270“)

„Wi -Fi“raktas („Edimax“)

Džemperis nuo moterų iki vyrų

Dėl vairavimo

Du dideli sukimo momentai tęsia servo arba variklį (dviem varantiesiems ratams)

Vienas 1/8 colio plieninis ratas velenams (pirktas namų sandėlyje ir nebrangus)

Dešimt rankovių guolių (užsakyta „Mcmaster“)

Kai kurios pakabos spyruoklės („Harbor Freight“pirko spyruoklių asortimentą, nebrangu)

Dėl bokštelio

Automatinis BB pistoleto žaislas

Vienas didelio sukimo momento mini nuolatinės srovės variklis

Mikro servo pakreipimas aukštyn ir žemyn

Kažkoks 1/4 colio plienas važiavo kaip pistoleto ašis

Kiti reikalai

Aš 3D atspausdinau daugumą šio rezervuaro dalių, jei lengvai pasiekiate lazerinį pjaustytuvą, tai taip pat veiks.

Spausdinimui naudoju PLA giją, nes ją lengviau išspręsti (be įvyniojimo problemų ABS). Bet, tikrai sunku vėliau šlifuoti, pjauti, gręžti.

Galbūt manote, kad 3D spausdinimas tinka pritaikytoms dalims ir galite spausdinti labai sudėtingas dalis kaip vieną gabalą. Tai yra tiesa. Tačiau manau, kad toks būdas mėgėjui nėra praktiškas ir ekonomiškas. Priežastys yra:

Jūsų pomėgių spausdintuvas nebus toks tikslus.

Jūs padarysite klaidų matavimuose ir skaičiavimuose (tolerancija, derinimas ir kt.).

Bet kokiu atveju yra gana didelė tikimybė, kad jūsų spaudiniai neveiks arba netilps pirmą kartą. Mažai daliai tai gerai, galite tiesiog pakeisti modelį, tada atspausdinti. Tačiau dėl didesnės ir sudėtingesnės dalies apmaudu žinoti, kad po kelių valandų spausdinimo kažkas ne taip. Tai laiko ir medžiagų švaistymas. Taigi čia yra mano požiūris:

Jei viskas yra simetriška, atspausdinkite tik pusę jo, išbandykite, jei viskas gerai, atspausdinkite visą.

Dalies modeliavimas galvojant apie 3D spausdinimą. Ar gali būti plokščias paviršius spausdintuvo lovai pritvirtinti? Ar jis gali būti padalintas į mažesnes dalis, kad būtų išvengta daug atraminių konstrukcijų?

Dalys turi daug funkcijų (sąveikauja su daugeliu kitų dalių), padalinkite modelį į modulius. Taigi, jei viena funkcija nepavyko, neturite perspausdinti visos dalies. Tiesiog sureguliuokite modulį ir atspausdinkite. Jiems prijungti naudoju varžtus ir veržles.

Būkite geras draugas su rankiniais įrankiais, rankiniu pjūklu, „X-acto“, elektriniu grąžtu, karšto klijų pistoletu. Jei galite ištaisyti spausdinimo klaidą, pataisykite.

Tai paaiškina, kodėl mano bakas turi tiek daug dalių. Aš vis dar keičiu tas dalis ir, kai radau gerą derinį, galiu jas atspausdinti kaip vieną gabalą. Tada tai būtų mano „Cam Tank v2.0“.

2 žingsnis: vairavimo sistema

Image
Image
Vairavimo sistema
Vairavimo sistema
Vairavimo sistema
Vairavimo sistema

Pakaba

Iš pradžių sukūriau prototipą be jokios pakabos, tik ašys per apatinį korpusą su guoliais ir ratais. Tačiau galvodamas apie operatoriaus patogumą (aš jį vairuosiu žiūrėdamas srautinį vaizdo įrašą!), Nusprendžiau pridėti pakabą, kad būtų vėsiau.

Viskas, ką turiu, yra kai kurios spyruoklės, jokios hidraulinės, nėra lapinės spyruoklės. Iš pradžių su PLA išbandžiau tam tikrą sukimo juostos mechanizmą. (Kai kuriose cisternose įprasta sukimo juostos pakaba). Pasirodo, po poros posūkių atspausdinta PLA juostelė suminkštėtų ir galiausiai sulūžtų. ABS gali būti geresnis šiam tikslui, bet aš niekada nebandžiau. Taigi, po tolesnių tyrimų radau „Christie“pakabos dizainą, čia yra trumpas vaizdo įrašas, parodantis, kaip jis veikia.

Tačiau „christie“pakaba turi tiek daug smulkių dalių, ir tada aš nepasitikiu savo spausdintuvu. Taigi padariau tokią pakabą.

(vaizdas)

Ši konfigūracija užima per daug vidinės erdvės. Taigi vidinę ranką pasuku 90 laipsnių kampu. Atkreipkite dėmesį, kad pirmasis ir paskutinis ratas sutrumpėjo

Galinis įtempiklis

Maniau, kai bakas važiuoja per kai kurias kliūtis, tuščiosios eigos ratai gali pakilti aukštyn ir takelis praranda įtampą. Taigi ant galinio rato pridėjau įtempimo mechanizmą. Iš esmės tai yra dvi spyruoklės, kurios visą laiką stumia tikrąją ašį ir daro tam tikrą jėgą, kad įtemptų vėžes.

Varomieji ratai ir vikšrai

Šiuos vikšro takelius ir varomuosius ratus suprojektavau solidžiai. Aš nežinau daug apie mechaninę inžineriją, todėl negaliu apskaičiuoti pavarų. Taigi, prieš paspausdamas mygtuką „Spausdinti“, imitavau dalis „solidworks“, kad pamatyčiau, ar ji veikia. Kiekvienas takelis yra prijungtas prie kai kurių atsarginių 3 mm gijų. Tai gana gerai veikia šiek tiek šlifuojant. Tačiau vikšro konstrukcija turi trūkumų, paviršius, liečiantis žemę, yra per lygus, kad jį būtų sunku suimti. Jei spausdinčiau aukštyn kojom, galėčiau pridėti protektoriaus, tačiau dėl danties tai kainuos daug pagalbinės medžiagos. Būsimi sprendimai: 1: atspausdinkite dantį atskirai, tada klijuokite juos kartu. 2. Užtepkite šiek tiek guminių dažų purškiamųjų dažų.

Tada atspausdinau servo korpusą ir įsitikinau, kad varomąjį ratą galima pritvirtinti prie servo svirties varžtais.

3 žingsnis: Ginklų sistema

Image
Image
Ginklų sistema
Ginklų sistema
Ginklų sistema
Ginklų sistema

Ši dalis man įdomiausia. Galite nusipirkti fotoaparato bako žaislą. Bet neradau vieno žaislinio kombaino fotoaparato ir kažkokio ginklo.

Aš nusipirkau šį automatinį „airsoft“ginklų žaislą už 9,99 USD. (Dabar apie 20 dolerių, o vėliau galbūt pabandysiu kažką pigiau) Ir nugriaukite, kad suprastumėte mechanizmą. Galiu visiškai nupjauti kūną ir priklijuoti jį prie savo bako. Bet man nepatinka negražiai atrodanti pusė kūno. Taigi aš šiek tiek išmatavau ir pertvarkiau mechaninę dalį. Iš šių kūrinių išmokau 3D spausdinimo pamoką: jūs visada suklysite. Tam, kad kiekviena dalis tilptų, reikia 5 atspaudų, daug pjaustymo, šlifavimo ir karšto klijavimo, kad ji veiktų puikiai.

Po to, kai kiekviena žaislinio pistoleto dalis teisingai judėjo mano atkartotame kūne, aš atspausdinau keturias kitas dalis, kad prispaustų kūną. Ir pridėjo pakreipimo pavarą, BB kulkos piltuvą ir fotoaparato palaikymą. Visos šios dalys yra prisukamos prie pistoleto korpuso. Galų gale jie gali būti sujungti į bent dvi dalis. Bet manau, kad dar nesu pasiruošęs.

Ant bokštelio pagrindo pridėjau mikro servo, skirto pakreipti, ir mikro nuolatinės srovės variklį sukimui.

Tada aš pradėjau bandyti ginklą, prijungti 4 AA baterijas ir jis šaudo gerai. Aš tikrai džiaugiausi, kad tai gerai veikia. Bet kitą dieną radau problemą.

Čia yra mano ginklo bandymo vaizdo įrašas. bokštelis buvo prijungtas prie 3v adapterio.

4 žingsnis: nustatykite „Pi“

Tai yra svarbiausia mūsų bako širdis-Raspberry Pi!

Jei dar nežaidėte „Raspberry Pi“. Rekomenduoju pradėti nuo šios knygos: „MAKE“darbo su aviečių pi pradžia. Galite gauti pagrindus ir išsamiai suprasti „Pi“.

Gaukite naujausią raspbian OS.

Kitas įrankis, kurį labai rekomenduoju, yra nuotolinis darbalaukis. Štai Adomo Riley pamoka. Po sąrankos galite peržiūrėti „Pi“darbalaukį savo kompiuteryje (nėra išbandytas „Mac“). Taigi paleisti „Pi“„nuogas“nereiškia, kad nereikia ekrano, pelės ir klaviatūros. Kai kurie mano draugai naudoja ssh komandinę eilutę. Bet man labiau patinka darbalaukis.

Remdamasis ankstesniais tyrimais, žinojau, kad „Raspberry Pi“gali transliuoti vaizdo įrašus. Taigi aš pradėjau maišytis su skirtingomis „Pi“programomis. Daugelis programų turi ilgą atsilikimą (sekundes) arba mažą kadrų dažnį. Po poros savaičių klajonių po internetinius vaizdo įrašus ir vadovėlius, laimei, radau sprendimą. Vaizdo įrašas „YouTube“apie webiopi suteikė man daug vilčių. Daugiau tyrimų leido manyti, kad tai yra teisingas kelias.

„Webiopi“yra sistema, kuri labai palengvino ryšį tarp „Pi“ir kito interneto įrenginio. Jis valdo visus „Pi GPIOS“, tada paleidžia serverį, kuriame yra pritaikytas html. Galite gauti prieigą prie šio html iš kitų įrenginių (kompiuterio, išmaniojo telefono ir tt) ir spustelėję mygtuką, esantį naršyklėje per „Wi -Fi“, suaktyvinamas GPIO.

Vaizdo įrašas privertė mane kupiną vilties, pagrįstas „webiopi“pamoka-„Cambot“projektas. Jis rodomas MagPi magzine #9 [html] [pdf] ir #10 [html] [pdf]. Ačiū Erikai PTAK!

Žingsnis po žingsnio vadovaudamiesi pamoka, galite padaryti dviejų ratų kambodžą! Štai kaip tai veikia: prijunkite du variklius prie H tilto, tada valdykite H tiltą su 6 GPIO kaiščiais, kad galėtumėte valdyti kryptį ir greitį. „Webiopi“naudojamas GPIO valdymui. Vaizdo srautiniam perdavimui naudojama-j.webp

Jei esate naujokas „Pi“ar „Linux“, kaip ir aš prieš kelis mėnesius, atlikus visus veiksmus, gali kilti nedidelių problemų. Galite paleisti „webiopi“ir srautinio vaizdo įrašo „Python“kodą atskirai, bet nežinote, kaip juos paleisti kartu? Prireikė šiek tiek laiko, kol sužinojau, kad galite pridėti & po komandos (ir tikrai sunku ieškoti „Google“, BTW), tai reiškia, kad norite, kad ši komanda būtų vykdoma fone. Taigi kiekvieną kartą darysiu taip:

sudo python cambot.py &

sudo./stream.sh

Manau, kad sukuriate „bash“failą, kuriame yra aukščiau nurodyta komanda, į vieną failą ir paleisite vieną kartą. Dar nebandžiau.

Taigi aš išbandžiau šią pagrindinę sąranką su dviem nuolatinės srovės varikliais, ji veikia, tačiau turimas variklis nėra pakankamai galingas. Mane veda prie kito varianto: nuolatiniai servai.

Tada kyla naujas klausimas: ar „webiopi“palaiko PWM valdomus servo įrenginius?

Atsakymas yra teigiamas, bet ne pats: RPIO reikalingas programinės įrangos PWM generavimui

RPIO diegimas (man nesiseka pirmasis apt-get install metodas. „Github“metodas man puikiai tinka)

Kodo pavyzdys ir kitos diskusijos

Dabar jūsų robotas atnaujintas dviem servo prietaisais! Pagalvokite, ką galite padaryti su papildomomis rankomis!

Aš pakeičiau aukščiau pateiktą pavyzdžio kodą, kad jis atitiktų mano baką. Norėdami tai padaryti, jums nereikia informatikos laipsnio. Jūs esate geras, kol galite suprasti pavyzdinį kodą ir žinoti, ką kopijuoti ir kur pakeisti.

5 žingsnis: elektroninis ryšys

Elektroninis ryšys
Elektroninis ryšys
Elektroninis ryšys
Elektroninis ryšys
Elektroninis ryšys
Elektroninis ryšys

Mano nusipirktame maitinimo banke „Anker Astro Pro“yra du USB prievadai ir vienas 9 V prievadas (pagrindinė priežastis, kodėl aš nusipirkau šį). Bandžiau įjungti „Pi“, „wifi“raktą ir internetinę kamerą vienu USB prievadu. Neužsiveda. Taigi kitą USB prievadą naudojau maitinamam USB šakotuvui.

Tada pagalvojau, kad galbūt galiu įjungti servo maitinimą per USB šakotuvo prievadą. Tai veikia, tačiau „wifi“ryšys yra labai labai nestabilus.

Norėdami išspręsti šią problemą, aš atnešiau 4 AA baterijas, kad galėčiau maitinti 6 V servo poreikius. Išjuosiau USB kabelį, kad būtų parodytas įžeminimo laidas (juodas), ir prijungiau prie AA baterijos.

3 servos, nuo raudonos iki 6 V, juodos prie žemės ir signalo kaištis prijungtas prie GPIO kaiščių.

Kaip planuota, bokšto sukamasis variklis ir pistoleto variklis taip pat turėtų būti maitinami 6 V įtampa su H tilto valdymu. Bet kai aš viską prijungsiu, ginklas nešaudys! Atrodo, kad variklis bando suktis, bet negali vairuoti pavarų. Išėjimo įtampa yra tinkama, tačiau atrodo, kad važiavimui nepakanka srovės. Aš taip pat nesėkmingai išbandžiau MOSFET.

Dėl laiko priežasčių turiu atsisakyti šios dalies. Štai kodėl bandant ginklą turiu rankiniu būdu prijungti pistoleto variklį prie adapterio. Vis dar reikia daug išmokti elektronikos. Blogiausiu atveju aš visada galėjau valdyti ginklą su servo traukimo ir atleidimo gaiduku.

6 žingsnis: sąsaja

Image
Image
Sąsaja
Sąsaja
Sąsaja
Sąsaja

Aš taip pat pakeičiau sąsajas iš „Cambot“ir „rasprover“pavyzdžių kodų. Kadangi planavau naudoti išmanųjį telefoną kaip valdiklį, optimizavau savo telefono išdėstymą („Galaxy Note3“).

Daugumą maketų ir stilių galima redaguoti indekse.html. Tačiau numatytasis mygtuko (tamsiai pilkas su juodu rėmeliu) stilius yra apibrėžtas webiopi.css, esančiame/usr/share/webiopi/htdocs. Norėdami pakeisti, naudoju terminalą sudo nano paleidimui.

Vaizdo srautas yra ekrano centre, vairavimo valdymas kairėje pusėje, o ginklo valdymas dešinėje. Važiavimo valdiklį suprojektavau kaip du aukštyn (į priekį), sustojimą, žemyn (atgal), norėdami geresnio valdymo, tačiau vaizdo įraše galite pasakyti, kad kartais tai yra nepatogu.

7 žingsnis: ateities planas

Kaip matote, šis projektas dar nebaigtas. „Raspberry pi“konkurso dėka praėjusią savaitę labai sukrutau, tik bandžiau jį baigti iki termino. Tai sukasi gana gerai, kol radau, kad ginklas nešaudo …

Turi dar daug ką patobulinti, bet tikiuosi, kad iš mano patirties gali ko nors išmokti.

Trumpalaikis planas:

Priversk ginklą veikti !!!

Didesnis konteineris daugiau BB

Tankas turi ištirti pasaulį-išeikite iš namų „Wi-Fi“!

„Pi“nustatykite ad-hoc mazgą, kad telefonas galėtų prie jo prisijungti bet kur

Paleiskite bako komandą paleidimo metu

Norėdami saugiai išjungti „Pi“, pridėkite išjungimo mygtuką.

Ilgalaikis planas:

Geresnė vairavimo sistema, užtikrinanti stabilumą ir sukibimą

Dabar suprojektuokite savo plokštę, o ne duonos lentą

Pirmojo asmens vaizdo įrašymas

Kitas ginklas? Padarykime jį karo laivu!

Pridėti jutiklius patruliavimui?

Kompiuterinė vizija automatiniam taikymui!

Valdykite baką toli: viską pamatysiu namuose!

8 žingsnis: ačiū, kad skaitote

Ačiū, kad skaitote mano prastą anglų kalbą (tai ne mano pirmoji kalba). Tikiuosi, jums čia buvo smagu ar ko nors išmokote. Tai bus tęstinis projektas, todėl jei turite patirties bet kurioje srityje, vertinu jūsų patarimus.

Jei turite kokių nors klausimų, palikite komentarą, aš stengiuosi atsakyti.

Leiskite man artimiausiu metu atnaujinti „The Cam Tank2.0“.

Galiausiai, čia yra vaizdo įrašas, parodantis mūšio scenarijų. Tai gana linksma.

Mėgaukitės ir iki kito karto!

Rekomenduojamas: