Kazalo:

Raspberry Pi Cam Tank V1.0: 8 korakov (s slikami)
Raspberry Pi Cam Tank V1.0: 8 korakov (s slikami)

Video: Raspberry Pi Cam Tank V1.0: 8 korakov (s slikami)

Video: Raspberry Pi Cam Tank V1.0: 8 korakov (s slikami)
Video: BigTreeTech - Manta - M8P - Basics 2024, November
Anonim
Image
Image
Raspberry Pi Cam Tank V1.0
Raspberry Pi Cam Tank V1.0

Obožujem tanke že kot otrok. Izdelava lastne igrače cisterne je vedno ena mojih sanj. Toda zaradi pomanjkanja znanja in spretnosti. Sanje so samo sanje.

Po letih študija inženiringa in industrijskega oblikovanja. Pridobila sem veščine in znanje. In zahvaljujoč cenejšim hobi 3D tiskalnikom. Končno lahko naredim svoj korak.

Kakšne lastnosti želim, da ima ta rezervoar?

  • Daljinsko vodeno
  • Vzmetena kolesa v prostem teku (kot pravi rezervoar!)
  • Ima vrtljivo kupolo in nagibna pištola BB lahko izstreli 6 mm krogle
  • Lahko predvaja video v krmilnik, tako da ga lahko upravljate daleč

Na začetku sem nameraval uporabiti arduino kot krmilnik, vendar sem po nekaj raziskavah ugotovil, da ni praktičnega načina za samostojno pretakanje videa. Vendar se zdi, da je Raspberry Pi dober kandidat za pretakanje videa. In to lahko nadzorujete prek žene iz telefona!

Začnimo.

Korak: Potrebni deli

Za nadzor

Raspberry Pi različica B

Napajanje USB zvezdišča (Belkin F4u040)

Spletna kamera USB (Logitech C270)

Wifi dongle (Edimax)

Moški moški kabel

Za vožnjo

Dva servo motorja ali motor z visokim navorom (za dve pogonski kolesi)

Ena 1/8 jeklena palica za gredi koles (kupljena na domačem skladišču in poceni)

Deset ležajev (naročeno pri Mcmasterju)

Nekaj vzmeti za vzmetenje (kupljen vzmetni asortiman pri Harbour Freight, poceni)

Za kupolo

Avtomatska igrača BB pištola

En mini DC motor z visokim navorom

Mikro servo za nagibanje gor in dol

Nekaj 1/4 jekla je nosilo kot os pištole

Druge stvari

Večino delov rezervoarja sem 3D natisnil, če imate enostaven dostop do laserskega rezalnika, bi tudi to delovalo.

Za tiskanje sem uporabil nitko PLA, ker se je z njo lažje spoprijeti (na ABS -ju ni težav z zavijanjem). Res pa je težko brusiti, rezati, vrtati kasneje.

Morda se vam zdi, da je 3D tiskanje dobro za prilagojene dele, zato lahko zelo zapleten del natisnete kot en kos. To je res. Vendar menim, da ta način za ljubitelje ni praktičen in ekonomičen. Razlogi so:

Vaš hobi tiskalnik ne bo tako natančen.

Naredili boste napake pri merjenju in izračunih (toleranca, poravnava itd.).

Kakorkoli že, obstaja velika verjetnost, da vaši odtisi ne bodo delovali ali se prilegajo na vaš prvi posnetek. Za majhen del je v redu, lahko samo spremenite model in nato znova natisnete. Toda za večji in bolj zapleten del je frustrirajuće vedeti, da je nekaj ur narobe po tiskanju. To je izguba časa in materiala. Torej moj pristop:

Če je karkoli simetrično, natisnite le polovico, preizkusite, če vse deluje, natisnite celotno stvar.

Modeliranje dela ob razmišljanju o 3D tiskanju. Ali je mogoče pritrditi ležišče tiskalnika na ravno površino? Ali ga je mogoče razdeliti na manjše kose, da se izognemo številnim podpornim konstrukcijam?

Ker imajo deli številne funkcije (interakcijo z mnogimi drugimi deli), razdelite model na module. Če torej ena funkcija ne uspe, nimate ponatis celotnega dela. Samo prilagodite modul in ga znova natisnite. Za njihovo povezavo uporabljam vijake in matice.

Bodite dober prijatelj z ročnim orodjem, ročno žago, X-acto, električnim vrtalnikom, pištolo za vroče lepilo. Če lahko popravite napako, jo popravite.

To pojasnjuje, zakaj ima moj rezervoar toliko delov. Te dele še vedno prilagajam in ko najdem dobro kombinacijo, jih lahko natisnem skupaj kot en kos. Potem bi to bil moj Cam Tank v2.0.

2. korak: Vozni sistem

Image
Image
Vozni sistem
Vozni sistem
Vozni sistem
Vozni sistem

Vzmetenje

Sprva sem naredil prototip brez vzmetenja, samo osi po spodnjem delu trupa z ležaji in kolesi. Toda če pomislim na udobje operaterja (vozil ga bom ob gledanju pretočnega videa!), Sem se odločil, da dodam vzmetenje, da bo hladneje.

Vse kar imam je nekaj vijačnih vzmeti, brez hidravlike, brez listne vzmeti. Najprej sem preizkusil mehanizem torzijske palice s PLA. (Vzmetenje torzijske palice je običajno pri nekaterih rezervoarjih). Izkazalo se je, da se bo po nekaj zasuku natisnjena palica PLA zmehčala in se sčasoma zlomila. Za ta namen bi bil morda boljši ABS, vendar nikoli nisem poskusil. Tako sem po nadaljnjih raziskavah odkril zasnovo vzmetenja Christie, tukaj je kratek videoposnetek, ki prikazuje, kako deluje.

Vendar pa ima christie vzmetenje toliko majhnih delov in takrat nimam zaupanja v svoj tiskalnik. Zato sem naredil takšno vzmetenje.

(slika)

Ta konfiguracija zaseda preveč notranjega prostora. Zato zavrtim notranjo roko za 90 stopinj. Upoštevajte, da sta se prvo in zadnje kolo skrajšala

Napenjalnik zadaj

Mislil sem, da se bo, ko bo rezervoar tekel čez nekaj ovir, prosta kolesa premaknila navzgor in proga bo izgubila napetost. Zato sem na zadnje kolo dodal nekaj napenjalnega mehanizma. V bistvu gre za dve vzmeti, ki ves čas potiskata pravo os in nanjo pritiskata, da zategneta gosenice.

Pogonska kolesa in gosenice

Te gosenične gosenice in pogonska kolesa sem oblikoval v trdnih delih. Ne vem veliko o strojništvu, zato ne morem izračunati orodja. Tako sem simuliral dele v solidworks -u, da vidim, če deluje, preden pritisnem gumb Print. Vsaka proga je povezana z nekaj rezervnimi 3 mm nitkami. Zelo dobro deluje z malo brušenja. Toda oblika proge ima napako, površina, ki se dotika tal, je preveč gladka, da jo je težko prijeti. Če ga natisnem na glavo, bi lahko dodal nekaj tekalne plasti, vendar bo to zaradi zoba stalo veliko podpornega materiala. Prihodnje rešitve: 1: natisnite zob ločeno in jih zlepite skupaj. 2. Nanesite nekaj barve za pršenje z gumijasto prevleko.

Nato sem natisnil ohišje za servomotorje in se prepričal, da je pogonsko kolo mogoče pritrditi na servo roko z vijaki.

3. korak: Sistem orožja

Image
Image
Sistem orožja
Sistem orožja
Sistem orožja
Sistem orožja

Ta del je zame najbolj vznemirljiv. Lahko kupite rezervoar za fotoaparat. Nisem pa našel ene kamere za združevanje igrač in orožja.

To avtomatsko pištolo za airsoft pištolo sem kupil za 9,99 USD. (Zdaj je okoli 20 dolarjev in pozneje bi lahko poskusil kaj cenejšega) In raztrgaj, da razumeš mehanizem. Lahko popolnoma odrežem telo in ga prilepim na rezervoar. Ampak ne maram grdega videza polovice telesa. Zato sem naredil nekaj meritev in predelal mehanski del. Iz teh kosov sem se naučil lekcijo 3D tiskanja: vedno se boste zmotili. Za popolno prileganje vsakega dela potrebujete 5 odtisov, za popolno delovanje pa veliko rezanja, brušenja in vročega lepljenja.

Potem ko se je vsak del pištole za igrače pravilno premaknil v replicirano telo, sem natisnil še štiri dele, da bi telo pritrdil. In dodali nagibno orodje, lijak za krogle BB in podporo za kamero. Vsi ti deli so priviti na telo pištole. Sčasoma jih je mogoče združiti v vsaj dva dela. Ampak mislim, da še nisem pripravljen.

Na podnožje kupole sem dodal mikro servo za nagibanje in mikro DC motor za vrtenje.

Nato sem začel testirati pištolo, priključiti 4 baterije AA in dobro strelja. Bil sem res vesel, da dobro deluje. Toda naslednji dan sem našel težavo.

Tukaj je videoposnetek mojega testiranja pištole. kupola je bila priključena na 3v adapter.

4. korak: Nastavite Pi

To je najpomembnejši del, srce našega rezervoarja-Raspberry Pi!

Če še niste igrali Raspberry Pi. Priporočam, da začnete s to knjigo: Začetek uporabe maline pi podjetja MAKE. Lahko dobite osnove in celovito razumevanje Pi.

Pridobite najnovejši raspbian OS.

Naslednje orodje, ki ga veliko priporočam, je Oddaljeno namizje. Tukaj je vadnica Adama Rileyja. Po nastavitvi si lahko ogledate namizje Pi v računalniku (ni preizkušeno na Macu). Tako, da Pi deluje "golo", pomeni, da ni potrebe po zaslonu, miški in tipkovnici. Nekateri moji prijatelji uporabljajo ukazno vrstico ssh. Vendar imam raje namizje.

Na podlagi prejšnjih raziskav sem vedel, da je Raspberry Pi sposoben pretakati video. Tako sem se začel ukvarjati z različnimi aplikacijami na Pi. Mnoge aplikacije imajo dolg zamik (sekunde) ali nizko hitrost sličic. Po nekaj tednih potepanja po spletnih videoposnetkih in vajah sem na srečo našel rešitev. Videoposnetek na spletnem mestu youtube o webiopiju mi je dal veliko upanja. Več raziskav me je prepričalo, da je to prava pot.

Webiopi je okvir, ki je olajšal povezavo med Pi in drugo internetno napravo. Nadzira vse Pi GPIOS in nato zažene strežnik, ki vsebuje prilagojen html. Do tega html -a lahko dostopate iz drugih naprav (računalnik, pametni telefon itd.) In v brskalniku kliknete gumb na razdalji wifi, sproži se GPIO.

Videoposnetek mi je dal polno upanja, temelji na webiopi tutorial-cambot projektu. Predstavljen je na MagPi magzine #9 [html] [pdf] in #10 [html] [pdf]. Hvala Eric PTAK!

Če korak za korakom sledite vadnici, lahko naredite kambot na dveh kolesih! Takole deluje: povežite dva motorja s H-mostom, nato pa z 6 zatiči GPIO upravljajte H-most za nadzor smeri in hitrosti. Webiopi se uporablja za nadzor GPIO -jev. MJPG-streamer se uporablja za pretakanje videa.

Če ste novi v Pi ali Linuxu, kot sem bil pred meseci, boste morda imeli majhne težave, ko boste sledili vsem korakom. Kodo python za webiopi in pretočni video lahko zaženete ločeno, vendar ne veste, kako jih zagnati skupaj? Trajalo je nekaj časa, da sem vedel, da lahko dodate ukaz & po ukazu (& je zelo težko iskati v googlu, BTW), kar pomeni, da želite, da se ta ukaz izvaja v ozadju. Zato bom to naredil vsakič:

sudo python cambot.py &

sudo./stream.sh

Verjamem, da ustvarite datoteko bash, ki vsebuje zgornji ukaz, v eno datoteko in jo enkrat zaženete. Nisem še poskusil.

Zato sem poskusil to osnovno nastavitev z dvema enosmernima motorjema, deluje, vendar motor, ki ga imam, ni dovolj močan. Pripelje me do druge možnosti: neprekinjenih servomotorjev.

Prihaja novo vprašanje: ali webiopi podpira servomotorje s krmiljenjem s PWM?

Odgovor je pritrdilen, vendar ne sam: RPIO je potreben za ustvarjanje programske opreme PWM

Namestitev RPIO (nimam sreče pri prvi namestitveni metodi apt-get. Metoda github mi odlično deluje)

Vzorec kode in druge razprave

Zdaj je vaš bot nadgrajen z dvema servomotorjema! Pomislite, kaj lahko storite z dodatnimi rokami!

Zgornjo vzorčno kodo sem spremenil tako, da ustreza mojemu rezervoarju. Za to ne potrebujete diplome računalništva. Dobro ste, dokler razumete vzorčno kodo in veste, kaj kopirati in kje spremeniti.

5. korak: Elektronska povezava

Elektronska povezava
Elektronska povezava
Elektronska povezava
Elektronska povezava
Elektronska povezava
Elektronska povezava

Napajalnik, ki sem ga kupil, Anker Astro Pro, ima dva USB vhoda in eno 9v (glavni razlog, da sem kupil tega). Poskušal sem napajati ključek Pi, wifi in spletno kamero z enim USB vhodom. Ne zažene se. Zato sem uporabil druga vrata USB za zvezdišče USB z napajanjem.

Potem sem pomislil, da bi lahko servomotorje napajal z vrati USB vozlišča. Deluje, vendar je povezava wifi zelo nestabilna.

Za rešitev tega problema sem za napajanje servomotorjev 6V prinesel 4 AA baterije. Kabel USB sem odstranil, da izpostavim ozemljitveno žico (črno) in jo povežem z maso baterije AA.

3 servomotorji, rdeči do 6V, črni na ozemljitev in signalni zatič, povezan z zatiči GPIO.

Kot je načrtovano, bi morali vrtljivi motor kupole in motor pištole poganjati tudi 6V s krmiljenjem H-mostu. Ko pa vse povežem, pištola ne bo ustrelila! Zdi se, da se motor poskuša vrteti, vendar ne more voziti zobnikov. Izhodna napetost je pravilna, vendar se zdi, da ni dovolj toka za pogon. Poskusil sem tudi MOSFET brez uspeha.

Temu delu se moram zaradi časovnih razlogov odpovedati. In zato moram pri preizkusu pištole ročno priključiti motor pištole na adapter. V elektroniki se je treba še veliko naučiti. V najslabšem primeru bi pištolo lahko vedno nadzoroval s servo sprožilcem.

6. korak: Vmesnik

Image
Image
Vmesnik
Vmesnik
Vmesnik
Vmesnik

Prav tako sem spremenil vmesnike iz vzorčnih kod cambota in rasproverja. Ker sem nameraval kot krmilnik uporabiti pametni telefon, sem optimiziral postavitev telefona (galaxy note3).

Večino postavitev in slogov je mogoče urediti v index.html. Vendar je privzeti slog gumba (temno siv s črno obrobo) določen v webiopi.css na/usr/share/webiopi/htdocs. Uporabil sem terminal za zagon sudo nano, da bi ga spremenil.

Video tok se nahaja na sredini zaslona, nadzor na levi strani in orožje na desni. Nadzor vožnje sem zasnoval kot dva niza navzgor (naprej), stop, dol (nazaj), ki si želita boljši nadzor, vendar v videu lahko vidite, da je včasih nerodno.

7. korak: Načrt prihodnosti

Kot lahko vidite, ta projekt še ni končan. Zahvaljujoč natečaju maline pi sem se v zadnjem tednu veliko počutil, poskušal sem ga dokončati pred rokom. Precej dobro se obrača, dokler nisem ugotovil, da pištola ne strelja …

Še veliko je treba izboljšati, vendar upam, da se boste iz mojih izkušenj kaj naučili.

Kratkoročni načrt:

Naj pištola deluje !!!

Večja posoda za več BB

Rezervoar mora raziskati svet-pojdite stran od domačega WiFi-ja!

Na Pi-ju nastavite ad-hoc vozlišče, tako da se telefon lahko poveže kjer koli

Zaženite ukaz rezervoarja pri zagonu

Dodajte gumb za izklop, da varno izklopite Pi.

Dolgoročni načrt:

Boljši vozni sistem za stabilnost in oprijem

Zdaj oblikujem svoje vezje namesto ploščice

Snemanje videa od prve osebe

Še ena pištola? Naj bo to bojna ladja!

Dodati senzorje za samo patruljiranje?

Računalniški vid za samodejno ciljanje!

Nadzirajte rezervoar daleč: vse bom videl doma!

8. korak: Hvala za branje

Hvala, ker ste prebrali mojo slabo angleščino (to ni moj prvi jezik). Upam, da ste se tukaj zabavali ali se kaj naučili. To bo tekoč projekt, zato vam, če imate znanje na katerem koli področju, cenim vaš nasvet.

Če imate kakršna koli vprašanja, pustite komentar, potrudil se bom, da vam odgovorim.

Naj v bližnji prihodnosti posodobim-Cam Tank2.0-.

Končno, tukaj je video, ki prikazuje scenarij bitke. Prav zabavno je.

Uživajte in se vidimo naslednjič!

Priporočena: