Sadržaj:

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

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

Video: Spremnik Raspberry Pi Cam V1.0: 8 koraka (sa slikama)
Video: Raspberry Pi 3: Камера (#1) – введение, подключение, базовые утилиты, TimeLapse, библиотека PiCamera 2024, Studeni
Anonim
Image
Image
Raspberry Pi Cam spremnik V1.0
Raspberry Pi Cam spremnik 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 vještine i znanja. A zahvaljujući jeftinijim hobi 3D pisačima. Napokon mogu napraviti svoj korak.

Koje značajke želim da ovaj spremnik ima?

  • Daljinski upravljano
  • Ovješeni kotači u praznom hodu (poput pravog spremnika!)
  • Ima rotirajuću kupolu i nagibni BB pištolj može ispaliti metke od 6 mm
  • Može strujati video zapise 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 samo strujanje videa. Međutim, čini se da je Raspberry Pi dobar kandidat za streaming videa. I to možete kontrolirati putem supruge sa svog telefona!

Započnimo.

Korak 1: Potrebni dijelovi

Za kontrolu

Raspberry Pi verzija B

USB hub s pogonom (Belkin F4u040)

USB web kamera (Logitech C270)

Wifi dongle (Edimax)

Premosni kabel ženski na muški

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 čahurastih 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štolja

Jedan mini DC motor velikog zakretnog momenta

Mikro servo za naginjanje gore -dolje

Neki 1/4 čelik je vozio kao osovina pištolja

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). No, doista teško brusiti, rezati, kasnije bušiti.

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 za hobiste nije praktičan i ekonomičan. Razlozi su:

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

Pogriješit ćete u mjerenju i proračunima (tolerancija, poravnanje itd.).

U svakom slučaju, velika je vjerojatnost da vam otisci neće uspjeti ili stati na prvi snimak. Za mali dio je u redu, možete samo promijeniti model pa ga ponovno ispisati. No, za veći i složeniji dio, frustrirajuće je znati da nešto nije u redu nakon sati ispisa. Gubitak je vremena i materijala. Dakle, evo mog pristupa:

Jer sve je simetrično, ispišite samo polovicu, isprobajte, ako sve radi kako treba, ispišite cijelu stvar.

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

Jer dijelovi imaju mnoge značajke (u interakciji s mnogim drugim dijelovima), podijelite model na module. Dakle, ako jedna značajka ne uspije, nemate ponovno ispisati cijeli dio. Samo prilagodite modul i ponovno ga odštampajte. Za spajanje koristim vijke i matice.

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

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

Korak 2: Sustav vožnje

Image
Image
Sustav vožnje
Sustav vožnje
Sustav vožnje
Sustav 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. (Torzijski ovjes uobičajen je na nekim spremnicima). Ispostavilo se da je nakon nekoliko uvrtanja tiskana PLA traka omekšala i na kraju se slomila. ABS bi za ovu svrhu mogao biti bolji, ali nikad nisam pokušao. Dakle, nakon daljnjeg istraživanja, pronašao sam Christie dizajn ovjesa, evo kratkog videa prikazuje kako to funkcionira.

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

(slika)

Ova konfiguracija zauzima previše unutarnjeg prostora. Zato rotiram unutarnju ruku za 90 stupnjeva. Primijetite da su prvi i posljednji kotač postali kraći

Stražnji zatezač

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

Pogonski kotači i gusjenice

Dizajnirao sam ove gusjenice i pogonske kotače u čvrstim konstrukcijama. Ne znam mnogo o strojarstvu pa ne mogu izračunati zupčanik. Pa sam simulirao dijelove u solidworksu kako bih vidio funkcionira li prije nego što pritisnem gumb Print. Svaka staza povezana je s nekim rezervnim vlaknom od 3 mm. Radi prilično dobro s malo brušenja. No, dizajn staze ima grešku, površina koja dodiruje tlo je previše glatka da ju je teško uhvatiti. Ako ga ispisam naopako, mogao bih dodati malo gazišta, ali to će zbog zuba koštati puno popratnog materijala. Buduća rješenja: 1: otisnite zub zasebno, a zatim ih zalijepite. 2. Nanesite malo boje u spreju.

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

Korak 3: Sustav oružja

Image
Image
Sustav oružja
Sustav oružja
Sustav oružja
Sustav oružja

Ovaj dio je za mene najuzbudljiviji. Možete kupiti igračku tenk za kameru. Ali nisam našao jednu igračku kameru 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 kako bih razumio mehanizam. Mogu potpuno izrezati tijelo i zalijepiti ga u spremnik. 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 ispisa: uvijek ćete pogriješiti. Potrebno je 5 otisaka kako bi svaki dio stao, te puno rezanja, brušenja i vrućeg lijepljenja kako bi savršeno funkcionirao.

Nakon što se svaki dio pištolja za igračke ispravno pomaknuo u repliciranom tijelu, otisnuo sam četiri druga dijela kako bih stegnuo tijelo. Dodana je i oprema za naginjanje, lijevak za metke BB i podrška za kameru. Svi su ti dijelovi pričvršćeni na tijelo pištolja. Na kraju se mogu kombinirati u najmanje dva dijela. Ali mislim da još nisam spreman.

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

Zatim sam počeo testirati pištolj, spojiti 4 AA baterije i on dobro puca. Bio sam zaista sretan što dobro radi. Ali sljedeći dan 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 svom računalu (nije testirano na Macu). Stoga pokretanje Pi -a "golo" znači da nema potrebe za zaslonom, mišem i tipkovnicom. Neki moji prijatelji koriste ssh naredbenu liniju. Ali više volim radnu površinu.

Na temelju prijašnjih istraživanja znao sam da je Raspberry Pi sposoban za strujanje videozapisa. Pa sam se 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 pronašao rješenje. Video na web stranici o webiopiju na YouTubeu dao mi je mnogo nade. Dodatna istraživanja su me uvjerila da je ovo pravi put.

Webiopi je okvir koji je povezivanje Pi -a i drugog internetskog uređaja učinio jako 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 wifi udaljenosti aktivira se GPIO.

Video me je ispunio nadom, temelji se na webiopi tutorialu-cambot projektu. Predstavljen je na MagPi magzineu #9 [html] [pdf] i #10 [html] [pdf]. Hvala Eric PTAK!

Prateći vodič korak po korak možete napraviti cambot na dva kotača! 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 kôd 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 (& stvarno je teško pretraživati na google -u, BTW), što znači da želite da se ova naredba izvodi u pozadini. Zato ću svaki put učiniti sljedeće:

sudo python cambot.py &

sudo./stream.sh

Vjerujem da stvorite bash datoteku koja sadrži gornju naredbu u jednu datoteku i pokrenete je jednom. 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 servomotori.

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 prvoj apt-get instalacijskoj metodi. Metoda github 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 bih odgovarao mom spremniku. Za to vam nije potrebna diploma informatike. Dobri ste sve dok razumijete uzorak koda i znate što kopirati i gdje promijeniti.

Korak 5: Elektroničko povezivanje

Elektronička veza
Elektronička veza
Elektronička veza
Elektronička veza
Elektronička veza
Elektronička 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. Stoga sam drugi USB priključak upotrijebio za USB čvorište s napajanjem.

Tada sam pomislio da bih mogao napajati servo pogone s USB priključkom za hub. 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 serva, 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 s 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 ispravan, ali čini se da nema dovoljno struje za pogon. Pokušao sam i s MOSFET -om bez sreće.

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

Korak 6: Sučelje

Image
Image
Sučelje
Sučelje
Sučelje
Sučelje

Također sam promijenio sučelja iz uzoraka 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 sredini ekrana, kontrola vožnje s lijeve strane i kontrola oružja s desne strane. Dizajnirao sam kontrolu vožnje kao dva seta gore (naprijed), zaustavljanje, dolje (natrag) želeći neku finiju kontrolu, ali u videu možete vidjeti da je ponekad neugodno.

Korak 7: Plan budućnosti

Kao što možete vidjeti, ovaj projekt još nije završen. Zahvaljujući natjecanju za maline pi, prošli tjedan sam se jako potrudio, pokušavajući ga završiti prije 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 spremnik za više BB -a

Spremnik treba istražiti svijet-izađite s kućnog wifija!

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

Pokrenite naredbu spremnika pri pokretanju

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

Dugoročni plan:

Bolji sustav vožnje za stabilnost i prianjanje

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

Snimanje videa u prvom licu

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

Dodati senzore za samostalno patroliranje?

Računalni vid za automatsko ciljanje!

Upravljajte spremnikom 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 iskustva u bilo kojem području, cijenim vaš savjet.

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

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

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

Uživajte i vidimo se sljedeći put!

Preporučeni: