Sadržaj:

Raspberry Pi Cam Tank V1.0: 8 koraka (sa slikama)
Raspberry Pi Cam Tank V1.0: 8 koraka (sa slikama)

Video: Raspberry Pi Cam Tank V1.0: 8 koraka (sa slikama)

Video: Raspberry Pi Cam Tank V1.0: 8 koraka (sa slikama)
Video: Raspberry Pi 3: Камера (#1) – введение, подключение, базовые утилиты, TimeLapse, библиотека PiCamera 2024, Juli
Anonim
Image
Image
Raspberry Pi Cam Tank V1.0
Raspberry Pi Cam Tank V1.0

Volim tenkove od malih nogu. Izgradnja vlastite tenkovske igračke uvijek mi je jedan od snova. No, zbog nedostatka znanja i vještina. San je samo san.

Nakon godina studija inženjeringa i industrijskog dizajna. Stekao sam veštine i znanje. A zahvaljujući jeftinijim hobi 3D štampačima. Napokon mogu napraviti svoj korak.

Koje karakteristike želim da ovaj tenk ima?

  • Daljinski upravljano
  • Ovješeni prazni kotači (poput pravog spremnika!)
  • Ima rotirajuću kupolu i nagibni BB pištolj može ispaliti metke od 6 mm
  • Može prenositi video zapis na kontroler tako da ga možete kontrolirati daleko

U početku sam planirao koristiti arduino kao kontroler, ali nakon nekih istraživanja otkrio sam da nema praktičnog načina za sam prijenos videa. Međutim, čini se da je Raspberry Pi dobar kandidat za streaming videa. I to možete kontrolirati putem supruge sa svog telefona!

Hajde da počnemo.

Korak 1: Potrebni dijelovi

Za kontrolu

Raspberry Pi verzija B

USB hub sa pogonom (Belkin F4u040)

USB web kamera (Logitech C270)

Wifi dongle (Edimax)

Ženski na muški kratkospojnik

Za vožnju

Dva servo motora ili motora s visokim zakretnim momentom (za dva pogonska kotača)

Jedna čelična šipka od 1/8 za osovine kotača (kupljena u skladištu kod kuće i jeftino)

Deset čaurastih ležajeva (naručeno na Mcmasteru)

Neke opruge za ovjes (kupljen asortiman opruga u Harbour Freight -u, jeftino)

Za kupolu

Automatska igračka BB pištolj

Jedan mini DC motor velikog zakretnog momenta

Mikro servo za naginjanje gore -dolje

Neka 1/4 čelična osovina je bila osovina oružja

Druge stvari

Ja sam 3D ispisao većinu dijelova ovog spremnika, ako imate lak pristup laserskom rezaču, i to bi uspjelo.

Za tisak sam koristio PLA filament jer se s njim lakše rješavam (nema problema s omotom na ABS -u). Ali, zaista ih je teško brusiti, rezati, bušiti kasnije.

Možda mislite da je 3D ispis dobar za prilagođene dijelove, a možete ispisati vrlo složene dijelove kao jedan komad. To je istina. Međutim, mislim da taj način nije praktičan i ekonomičan za hobiste. Razlozi su:

Vaš hobi štampač neće biti tako precizan.

Napravićete greške u merenju i proračunima (tolerancija, poravnanje itd.).

U svakom slučaju, postoji velika šansa da vaši otisci ne funkcioniraju ili stanu na prvi snimak. Za mali dio je u redu, možete samo promijeniti model, a zatim ponovo odštampati. Ali za veći i složeniji dio, frustrirajuće je znati da nešto nije u redu nakon sati štampanja. To je gubljenje vremena i materijala. Evo mog pristupa:

Jer sve je simetrično, odštampajte samo pola, isprobajte, ako sve funkcionira kako treba, ispišite cijelu stvar.

Modeliranje dijela dok razmišljate o 3D štampanju. Može li biti ravna površina za pričvršćivanje ležišta štampača? Može li se podijeliti na manje dijelove kako bi se izbjeglo puno potporne strukture?

Jer dijelovi imaju mnoge mogućnosti (u interakciji s mnogim drugim dijelovima), podijelite model na module. Dakle, ako jedna funkcija ne uspije, nećete morati ponovno odštampati cijeli dio. Samo prilagodite modul i ponovno ga odštampajte. Za spajanje koristim vijke i matice.

Budite dobar prijatelj s ručnim alatom, ručnom pilom, X-actom, električnom bušilicom, pištoljem za vruće ljepilo. Ako možete popraviti grešku, ispišite je.

Ovo objašnjava zašto moj spremnik ima toliko dijelova. Još uvijek dorađujem te dijelove i kad nađem dobru kombinaciju, mogu ih ispisati zajedno kao jedan komad. To bi onda bio moj Cam Tank v2.0.

Korak 2: Sistem vožnje

Image
Image
Sistem vožnje
Sistem vožnje
Sistem vožnje
Sistem vožnje

Suspenzija

Isprva sam napravio prototip bez ikakvog ovjesa, samo osovine preko donjeg dijela trupa s ležajevima i kotačima. Ali razmišljajući o udobnosti operatera (vozit ću ga gledajući streaming video!), Odlučio sam dodati ovjes kako bi bio hladniji.

Sve što imam su neke spiralne opruge, bez hidraulike, bez lisnate opruge. Isprva sam eksperimentirao s nekim mehanizmom torzijske šipke. (Torzijsko ogibljenje uobičajeno je na nekim tenkovima). Ispostavilo se da je nakon nekoliko uvrtanja odštampana PLA šipka omekšala i na kraju se slomila. ABS je možda bolji za ovu svrhu, ali nikad nisam pokušao. Dakle, nakon daljnjeg istraživanja, pronašao sam Christie dizajn ovjesa, evo kratkog videa koji pokazuje kako to funkcionira.

Međutim, christie ovjes ima toliko malih dijelova i tada nemam povjerenja u svoj pisač. Pa sam napravio ovakvu suspenziju.

(slika)

Ova konfiguracija zauzima previše unutrašnjeg prostora. Zato rotiram unutrašnju ruku za 90 stepeni. Primijetite da su prvi i zadnji točak postali kraći

Zadnji zatezač

Mislio sam da bi prilikom prelaska tenka preko nekih prepreka kotači u praznom hodu mogli krenuti prema gore i staza će izgubiti napetost. Pa sam dodao zadnji mehanizam zatezača na stražnji kotač. U osnovi to su dvije opruge koje cijelo vrijeme guraju pravu osovinu, vršeći određenu silu na nju da zategnu gusjenice.

Pogonski točkovi i gusjenice

Dizajnirao sam ove gusjenice i pogonske kotače u čvrstim konstrukcijama. Ne znam mnogo o mašinstvu pa ne mogu izračunati brzinu. Pa sam simulirao dijelove u solidworks -u da vidim da li radi prije nego što pritisnem dugme Print. Svaka staza je povezana nekim rezervnim vlaknom od 3 mm. Radi prilično dobro s malo brušenja. Ali dizajn staze ima grešku, površina koja dodiruje tlo je previše glatka da ju je teško uhvatiti. Ako ga odštampam naopako, mogao bih dodati malo gazišta, ali će to koštati puno pratećeg materijala zbog zuba. Buduća rješenja: 1: odštampajte zub odvojeno, a zatim ih zalijepite zajedno. 2. Nanesite malo boje u spreju.

Zatim sam odštampao kućište za servo pogone i provjerio može li se pogonski kotač pričvrstiti vijcima na servo krak.

Korak 3: Sistem oružja

Image
Image
Sistem naoružanja
Sistem naoružanja
Sistem naoružanja
Sistem naoružanja

Ovaj dio je za mene najuzbudljiviji. Možete kupiti igračku sa rezervoarom za kameru. Ali nisam našao jednu kameru za kombinovanje igračaka i neko oružje.

Ovu sam automatsku igračku sa airsoft pištoljem kupio za 9,99 USD na rasprodaji. (Sada je to oko 20 dolara, a kasnije bih mogao probati nešto jeftinije) I srušiti ga da razumijem mehanizam. Mogu potpuno izrezati tijelo i zalijepiti ga za rezervoar. Ali ne volim ružno izgledajuće tijelo. Pa sam napravio malo mjerenje i preradio mehanički dio. Iz ovih komada naučio sam lekciju 3D štampanja: uvijek ćete pogriješiti. Potrebno je 5 otisaka da bi svaki dio pristao, te puno rezanja, brušenja i vrućeg lijepljenja kako bi savršeno funkcionirao.

Nakon što se svaki dio pištolja za igračke pravilno premjesti u replicirano tijelo, odštampao sam četiri druga dijela kako bih pričvrstio tijelo. Dodali su opremu za naginjanje, lijevak za metke BB i podršku za kameru. Svi ovi dijelovi su pričvršćeni na tijelo pištolja. Na kraju se mogu kombinirati u najmanje dva dijela. Ali mislim da još nisam spreman.

Na podnožje kupole dodao sam mikro servo za naginjanje i mikro DC motor za rotaciju.

Zatim sam počeo testirati pištolj, spojio 4 AA baterije i dobro je pucao. Zaista sam bio sretan što dobro funkcionira. Ali sljedećeg dana sam našao problem.

Evo video snimka mog testiranja oružja. kupola je bila spojena na 3v adapter.

Korak 4: Postavite Pi

Ovo je najvažniji dio, srce našeg spremnika-Raspberry Pi!

Ako još niste igrali Raspberry Pi. Preporučujem da počnete s ovom knjigom: Početak rada s malinom pi od strane MAKE. Možete steći osnove i sveobuhvatno razumijevanje Pi.

Preuzmite najnoviji raspbian OS.

Sljedeći alat koji vam puno preporučujem je Udaljena radna površina. Evo vodiča Adama Rileya. Nakon postavljanja možete pregledati Pi radnu površinu na računaru (nije testirano na Mac -u). Dakle, pokretanje Pi -a "golo" znači da nema potrebe za ekranom, mišem i tastaturom. Neki moji prijatelji koriste ssh komandnu liniju. Ali više volim radnu površinu.

Na osnovu prethodnih istraživanja, znao sam da je Raspberry Pi sposoban za prijenos video zapisa. Tako sam počeo petljati s različitim aplikacijama na Pi -u. Mnoge aplikacije imaju dugo kašnjenje (u sekundama) ili nisku brzinu kadrova. Nakon nekoliko tjedana lutanja po video zapisima i vodičima, srećom sam našao rješenje. Video na youtube -u o webiopiju dao mi je mnogo nade. Dodatna istraživanja su me uvjerila da je ovo pravi put.

Webiopi je okvir koji je učinio povezivanje između Pi -a i drugog internetskog uređaja zaista lakim. Kontrolira sve Pi GPIOS -e, a zatim pokreće poslužitelj koji sadrži prilagođeni html. Pristupu ovom html -u možete pristupiti s drugih uređaja (računalo, pametni telefon itd.), A pritiskom na gumb u pregledniku na udaljenosti od WiFi veze aktivira se GPIO.

Video me je napunio nadom, zasnovan je na webiopi vodiču-cambot projektu. Predstavljen je na MagPi magzinu #9 [html] [pdf] i #10 [html] [pdf]. Hvala Eric PTAK!

Prateći vodič korak po korak, možete napraviti cambot na dva točka! Evo kako to funkcionira: spojite dva motora s H-mostom, zatim kontrolirajte H-most sa 6 GPIO pinova za kontrolu smjera i brzine. Webiopi se koristi za kontrolu GPIO -a. A MJPG-streamer koristi se za streaming videa.

Ako ste tek počeli s Pi ili Linuxom kao što sam bio prije nekoliko mjeseci, možda ćete imati mali problem nakon što slijedite sve korake. Možete zasebno pokrenuti python kod za webiopi i streaming video, ali ne znate kako ih pokrenuti zajedno? Trebalo mi je neko vrijeme da saznam da možete dodati naredbu & nakon naredbe (& je zaista teško pretraživati na google -u, BTW), što znači da želite da se ova naredba izvodi u pozadini. Zato ću to učiniti svaki put:

sudo python cambot.py &

sudo./stream.sh

Vjerujem da kreirate bash datoteku koja sadrži gornju naredbu u jednu datoteku i jednom je pokrenete. Nisam još probao.

Pokušao sam ovu osnovnu postavku s dva istosmjerna motora, radi, ali motor koji imam nije dovoljno snažan. Navodi me na drugu opciju: kontinuirani servo motori.

Pojavljuje se novo pitanje: podržava li webiopi PWM servo upravljače?

Odgovor je da, ali ne sam od sebe: RPIO je potreban za stvaranje softverskog PWM -a

RPIO instalacija (nemam sreće pri prvom apt-get install metodu. Github metoda mi odlično funkcionira)

Uzorak koda i druge rasprave

Sada je vaš bot nadograđen s dva serva! Razmislite što možete učiniti s dodatnim rukama!

Izmijenio sam gornji kod uzorka kako bi odgovarao mom spremniku. Za ovo vam nije potrebna diploma informatike. Dobri ste sve dok razumijete uzorak koda i znate šta kopirati i gdje promijeniti.

Korak 5: Elektronička veza

Elektronska veza
Elektronska veza
Elektronska veza
Elektronska veza
Elektronska veza
Elektronska veza

Power banka koju sam kupio, Anker Astro Pro, ima dva USB porta i jedan 9v port (glavni razlog zašto sam kupio ovaj). Pokušao sam napajati Pi, wifi dongle i web kameru s jednim USB priključkom. Ne pokreće se. Zato sam upotrijebio drugi USB priključak za USB čvorište s napajanjem.

Tada sam pomislio da bih mogao napajati servo pogone putem USB hub porta. Radi, ali WiFi veza je vrlo nestabilna.

Da bih riješio ovaj problem, donio sam 4 AA baterije za napajanje servo servera od 6V. Izvukao sam USB kabel kako bih izložio žicu za uzemljenje (crnu) i spojio je s masom AA baterije.

3 servo motora, crveno do 6V, crno na masu i signalni pin spojen na GPIO pinove.

Kao što je planirano, rotirajući motor kupole i motor pištolja također bi trebali napajati 6V sa upravljanjem H-mosta. Ali kad sve povežem, pištolj neće pucati! Čini se da se motor pokušava okretati, ali ne može pokrenuti zupčanike. Izlazni napon je u redu, ali čini se da nema dovoljno struje za pogon. I ja sam probao MOSFET bez sreće.

Moram odustati od ovog dijela iz vremenskih razloga. I to je razlog zašto pri testiranju pištolja moram ručno spojiti motor pištolja na adapter. Ima još mnogo toga za naučiti u elektronici. U najgorem slučaju, pištolj sam uvijek mogao kontrolirati pomoću servo okidača.

Korak 6: Interfejs

Image
Image
Interfejs
Interfejs
Interfejs
Interfejs

Takođe sam izmenio interfejse iz primera kodova cambota i rasprovera. Budući da sam planirao koristiti pametni telefon kao kontroler, optimizirao sam izgled svog telefona (galaxy note3).

Većina izgleda i stilova može se urediti u index.html. Međutim, zadani stil gumba (tamno siva s crnim obrubom) definiran je u webiopi.css koji se nalazi na/usr/share/webiopi/htdocs. Koristio sam terminal za pokretanje sudo nano kako bih ga izmijenio.

Video stream se nalazi u središtu ekrana, kontrola vožnje s lijeve strane i kontrola oružja s desne strane. Dizajnirao sam kontrolu vožnje kao dva seta prema gore (naprijed), zaustavljanje, dolje (natrag) želeći bolju kontrolu, ali u videu možete vidjeti da je to ponekad neugodno.

Korak 7: Plan budućnosti

Kao što možete vidjeti, ovaj projekt još nije završen. Zahvaljujući takmičenju malina pi, prošle nedelje sam mnogo napravio, samo pokušavajući da ga završim pre roka. Okreće se prilično dobro dok nisam otkrio da pištolj ne puca …

Ima još mnogo toga za poboljšati, ali nadam se da ćete naučiti nešto iz mog iskustva.

Kratkoročni plan:

Neka pištolj radi !!!

Veći kontejner za više BB -a

Tenku je potrebno istražiti svijet-izađite s kućnog WiFi-ja!

Postavite ad-hoc čvor na Pi, tako da se telefon može povezati s njim bilo gdje

Pokrenite naredbu spremnika pri pokretanju

Dodajte dugme za isključivanje da biste sigurno isključili Pi.

Dugoročni plan:

Bolji sistem vožnje za stabilnost i prianjanje

Dizajnirajte svoju vlastitu ploču umjesto matične ploče sada

Snimanje videa u prvom licu

Još jedan pištolj? Učinimo to borbenim brodom!

Dodati senzore za samo patroliranje?

Računarski vid za automatsko ciljanje!

Upravljajte tenkom daleko: sve ću vidjeti kod kuće!

Korak 8: Hvala vam na čitanju

Hvala što ste pročitali moj loš engleski (to mi nije prvi jezik). Nadam se da ste se ovdje zabavili ili naučili nešto. Ovo će biti projekt u tijeku, pa ako imate stručnost u bilo kojoj oblasti, cijenim vaš savjet.

Ako imate pitanja, ostavite komentar, potrudit ću se odgovoriti na njega.

Dozvolite mi da ažuriram-Cam Tank2.0-- u bliskoj budućnosti.

Konačno, evo videozapisa koji prikazuje scenarij bitke. Prilično je zabavno.

Uživajte i vidimo se sledeći put!

Preporučuje se: