Cuprins:

Raspberry Pi Cam Tank V1.0: 8 pași (cu imagini)
Raspberry Pi Cam Tank V1.0: 8 pași (cu imagini)

Video: Raspberry Pi Cam Tank V1.0: 8 pași (cu imagini)

Video: Raspberry Pi Cam Tank V1.0: 8 pași (cu imagini)
Video: Octopus Max EZ v1.0 - Klipper MainSail Quick Install 2024, Iulie
Anonim
Image
Image
Raspberry Pi Cam Tank V1.0
Raspberry Pi Cam Tank V1.0

Îmi plac tancurile încă din copilărie. Construirea propriei mele jucării pentru tancuri este întotdeauna unul dintre visele mele. Dar din cauza lipsei de cunoștințe și abilități. Visul este doar un vis.

După ani de studii în inginerie și design industrial. Am dobândit abilități și cunoștințe. Și datorită imprimantelor 3D hobby mai ieftine. Pot să fac în sfârșit pasul meu.

Ce caracteristici vreau să aibă acest rezervor?

  • Controlat de la distanță
  • Roți de ralanti suspendate (precum rezervorul real!)
  • Are o turelă rotativă și un pistol BB înclinabil poate trage gloanțe de 6 mm
  • Poate transmite în flux video către controler, astfel încât să îl puteți controla departe

La început, am planificat să folosesc arduino ca controler, dar după unele cercetări am descoperit că nu există nicio modalitate practică de a transmite video de la sine. Cu toate acestea, Raspberry Pi pare a fi un bun candidat pentru streaming video. Și îl poți controla prin intermediul soției de pe telefonul tău!

Să începem.

Pasul 1: Piese necesare

Pentru control

Raspberry Pi versiunea B.

Hub USB alimentat (Belkin F4u040)

Cameră web USB (Logitech C270)

Dongle Wifi (Edimax)

Cablu jumper feminin la masculin

Pentru conducere

Două cupluri mari continuă servo sau motor (pentru două roți motoare)

O călărie de oțel de 1/8 pentru arbori pentru roți (cumpărată la depozit acasă și ieftină)

Zece rulmenți cu manșon (comandați la Mcmaster)

Unele arcuri pentru suspensie (cumpărat un sortiment de arcuri la Harbor Freight, ieftin)

Pentru turelă

O jucărie automată pentru pistol BB

Un motor cu motor DC cu cuplu ridicat

Un micro servo pentru înclinarea în sus și în jos

Aproximativ oțel de 1/4 a călătorit ca ax de pistol

Alte lucruri

Am imprimat 3D majoritatea părților acestui rezervor, dacă aveți acces ușor la un dispozitiv de tăiat cu laser, și asta ar funcționa.

Am folosit filament PLA pentru imprimare, deoarece este mai ușor de tratat (fără probleme de înfășurare pe ABS). Dar, foarte greu de șlefuit, tăiat, găurit mai târziu.

S-ar putea să credeți că imprimarea 3D este bună pentru piesele personalizate și puteți imprima o parte foarte complicată ca o singură piesă. Asta e adevarat. Cu toate acestea, cred că acest mod nu este practic și economic pentru un hobby. Motivele sunt:

Imprimanta dvs. hobby nu va fi atât de precisă.

Veți face greșeli în măsurători și calcule (toleranță, aliniere etc.).

Oricum, există o șansă destul de mare ca amprentele dvs. să nu funcționeze sau să se potrivească la prima dvs. fotografie. Este bine pentru o mică parte, puteți doar să schimbați modelul, apoi să îl reimprimați. Dar pentru o parte mai mare și mai complicată, este frustrant să știi că ceva nu este în regulă după ore de imprimare. Este o pierdere de timp și materiale. Iată deci abordarea mea:

Pentru că orice este simetric, tipăriți doar jumătate din el, încercați-l, dacă totul funcționează bine, tipăriți totul.

Modelarea piesei în timp ce vă gândiți la imprimarea 3D. Ar putea exista o suprafață plană pentru a atașa patul imprimantei? Ar putea fi împărțit în bucăți mai mici pentru a evita o structură de susținere multă?

Pentru că piesele au multe caracteristici (interacționând cu multe alte părți), împărțiți modelul în module. Deci, dacă o caracteristică a eșuat, nu aveți reimprimarea întregii părți. Trebuie doar să modificăm modulul și să-l reimprimăm. Folosesc șuruburi și piulițe pentru a le conecta.

Fii un bun prieten cu scule manuale, ferăstrău manual, X-acto, burghiu electric, pistol de lipit la cald. Dacă puteți remedia o greșeală de imprimare, remediați-o.

Acest lucru explică de ce rezervorul meu are atât de multe piese. Încă îmbunătățesc acele părți și odată ce am găsit o combinație bună, le pot imprima împreună ca o singură piesă. Atunci acesta ar fi Cam Tank v2.0.

Pasul 2: sistemul de conducere

Image
Image
Sistemul de conducere
Sistemul de conducere
Sistemul de conducere
Sistemul de conducere

Suspensie

La început am realizat un prototip fără nicio suspensie, doar axe pe corpul inferior cu rulmenți și roți. Dar, gândindu-mă la confortul operatorului (o voi conduce vizionând videoclipul în flux!), Am decis să adaug suspensii pentru a-l face mai rece.

Tot ce am sunt niște arcuri elicoidale, nici hidraulice, nici arcuri cu foi. Am experimentat câteva mecanisme de bare de torsiune cu PLA la început. (Suspensia barei de torsiune este frecventă pe unele tancuri). Se dovedește după o răsucire cuplată, bara PLA imprimată ar deveni moale și, în cele din urmă, se va rupe. ABS ar putea fi mai bun în acest scop, dar nu am încercat niciodată. Deci, după cercetări suplimentare, am găsit designul suspensiei Christie, iată un scurt videoclip care arată cum funcționează.

Cu toate acestea, suspensia christie are atât de multe piese mici și atunci nu am încredere în imprimanta mea. Așa că am făcut o astfel de suspendare.

(imagine)

Această configurație ocupă prea mult spațiu interior. Așa că rotesc brațul interior cu 90 de grade. Observați că prima și ultima roată au devenit mai scurte

Tensor spate

M-am gândit că atunci când rezervorul trece peste unele obstacole, roțile de mers în gol ar putea să se miște și pista să piardă tensiunea. Așa că am adăugat un mecanism de tensionare pe roata din spate. Practic sunt două arcuri care împing tot timpul axul real, exercitând o oarecare forță asupra acestuia pentru a strânge șinele.

Roți motrice și șenile

Am proiectat aceste șenile și roțile motrice pe șenile în solidworks. Nu știu prea multe despre ingineria mecanică, astfel încât nu pot face calculul angrenajului. Așa că am simulat piese în solidworks pentru a vedea dacă funcționează înainte să apăs butonul Print. Fiecare pistă este conectată cu un filament de rezervă de 3 mm. Funcționează destul de bine cu puțină șlefuire. Dar designul pistei are un defect, suprafața care atinge solul este prea netedă pentru a fi greu de prins. Dacă îl imprim cu capul în jos, aș putea adăuga o bandă de rulare, dar va costa mult material de susținere din cauza dintelui. Soluții viitoare: 1: imprimați dintele separat, apoi lipiți-le împreună. 2. Aplicați o vopsea spray de acoperire cu cauciuc.

Apoi am imprimat carcasa pentru servome și mă asigur că roata motrice poate fi atașată la brațul servo cu șuruburi.

Pasul 3: Sistemul de arme

Image
Image
Sistem de arme
Sistem de arme
Sistem de arme
Sistem de arme

Această parte este cea mai interesantă pentru mine. Puteți cumpăra o jucărie cu rezervor pentru cameră. Dar nu am găsit o singură combinație de jucărie și o armă.

Am cumpărat această jucărie automată pentru pistol airsoft la 9,99 USD în vânzare. (Acum sunt în jur de 20 de dolari și s-ar putea să încerc ceva mai ieftin mai târziu) Și să-l dărâm pentru a înțelege mecanismul. Pot tăia total corpul și-l lipesc în rezervor. Dar nu-mi place jumătatea corpului cu aspect urât. Așa că am luat câteva măsurători și am remodelat partea mecanică. Din aceste piese am învățat o lecție de imprimare 3D: vei greși întotdeauna. Este nevoie de 5 tipăriri pentru ca fiecare piesă să se potrivească și o mulțime de tăiere, șlefuire și lipire la cald pentru a face să funcționeze perfect.

După ce fiecare parte a pistolului de jucărie s-a mișcat corect în corpul meu reprodus, am imprimat alte patru părți pentru a prinde corpul. Și a adăugat uneltele de înclinare, pâlna de glonț BB și suportul camerei. Aceste părți sunt înșurubate pe corpul pistolului. În cele din urmă pot fi combinate în cel puțin două părți. Dar cred că încă nu sunt pregătită.

Pe baza turelei, am adăugat un micro servo, pentru înclinare și un motor micro DC pentru rotație.

Apoi am început să testez pistolul, să conectez 4 baterii AA și trage bine. Am fost foarte fericit că funcționează bine. Dar a doua zi am găsit o problemă.

Iată videoclipul testării pistolului meu. turela a fost conectată la un adaptor de 3V.

Pasul 4: Configurați Pi

Aceasta este cea mai importantă parte, inima rezervorului nostru - Raspberry Pi!

Dacă nu ați jucat încă Raspberry Pi. Vă recomand să începeți cu această carte: Noțiuni introductive despre raspberry pi de MAKE. Puteți obține elementele de bază și o înțelegere cuprinzătoare a Pi.

Obțineți cel mai recent sistem de operare raspbian.

Următorul instrument pe care îl recomand foarte mult este Desktop-ul la distanță. Iată tutorialul lui Adam Riley. După configurare, puteți vizualiza desktopul Pi pe computerul dvs. (nu a fost testat pe Mac). Astfel, pentru a rula Pi „gol”, nu înseamnă că este nevoie de afișaj, mouse și tastatură. Unii dintre prietenii mei folosesc linia de comandă ssh. Dar prefer desktop-ul.

Pe baza cercetărilor anterioare, știam că Raspberry Pi este capabil să transmită în flux video. Așa că am început să mă deranjez cu diferite aplicații pe Pi. Multe dintre aplicații au fie un decalaj mare (secunde), fie o rată de cadre redusă. După câteva săptămâni de rătăcire pe videoclipuri și tutoriale online, din fericire am găsit soluția. Un videoclip pe youtube despre webiopi mi-a dat multe speranțe. Mai multe cercetări m-au făcut să cred că aceasta este calea corectă de urmat.

Webiopi este un cadru care a făcut conexiunea între Pi și alte dispozitive de internet foarte ușoare. Controlează toate GPIOS-urile Pi și apoi pornește un server conține html personalizat. Puteți obține acces la acest html de pe alte dispozitive (computer, telefon inteligent etc.) și faceți clic pe un buton din browser la o distanță wifi, se declanșează un GPIO.

Videoclipul m-a făcut plin de speranță, se bazează pe un tutorial webiopi - proiect cambot. Este prezentat pe MagPi magzine # 9 [html] [pdf] și # 10 [html] [pdf]. Mulțumesc Eric PTAK!

Urmând pas cu pas tutorialul, puteți face cambot cu două roți! Iată cum funcționează: conectați două motoare cu un pod H, apoi controlați podul H cu 6 pini GPIO pentru a controla direcția și viteza. Webiopi este utilizat pentru a controla GPIO-urile. Și MJPG-streamer este utilizat pentru streaming video.

Dacă sunteți nou în Pi sau Linux, așa cum am fost acum câteva luni, este posibil să aveți o mică problemă după ce ați urmat toți pașii. Puteți rula codul python pentru webiopi și videoclipul în flux separat, dar nu știți cum să le rulați împreună? Mi-a luat ceva timp să știu că puteți adăuga o comandă & după (și este foarte greu de căutat pe google, BTW), ceea ce înseamnă că doriți ca această comandă să ruleze pe fundal. Așa că voi face acest lucru de fiecare dată:

sudo python cambot.py &

sudo./stream.sh

Cred că creați un fișier bash care conține comanda de mai sus într-un singur fișier și rulați o dată. Nu am încercat încă.

Așa că am încercat această configurare de bază cu două motoare de curent continuu, funcționează, dar motorul pe care îl am nu este suficient de puternic. Mă conduce la o altă opțiune: servouri continue.

Apare o nouă întrebare: webiopi acceptă servere controlate PWM?

Răspunsul este da, dar nu de la sine: RPIO este necesar pentru a genera software PWM

Instalare RPIO (nu am noroc la prima metodă de instalare apt-get. Metoda github funcționează excelent pentru mine)

Exemplu de cod și alte discuții

Acum botul dvs. este actualizat cu două servere! Gândiți-vă la ce puteți face cu brațele suplimentare!

Am modificat codul de eșantion de mai sus pentru a se potrivi cu rezervorul meu. Nu aveți nevoie de o diplomă în informatică pentru a face acest lucru. Ești bun atâta timp cât poți înțelege codul eșantion și știi ce să copiezi și unde să schimbi.

Pasul 5: Conexiune electronică

Conexiune electronică
Conexiune electronică
Conexiune electronică
Conexiune electronică
Conexiune electronică
Conexiune electronică

Banca de alimentare pe care am cumpărat-o, Anker Astro Pro, are două porturi USB și unul de 9v (motivul principal pentru care l-am cumpărat). Am încercat să alimentez Pi, dongle-ul wifi și camera web cu un singur port USB. Nu pornește. Așa că am folosit celălalt port USB pentru un hub USB alimentat.

Apoi m-am gândit că poate pot alimenta servo-urile cu portul hub USB. Funcționează, dar conexiunea wifi este foarte foarte instabilă.

Pentru a rezolva această problemă, am adus 4 baterii AA pentru a alimenta nevoile servo de 6V. Am dungat cablul USB pentru a expune firul de împământare (negru) și mă conectez la pământul bateriei AA.

3 servo, roșu la 6V, negru la masă și pin de semnal conectat la pinii GPIO.

După cum s-a planificat, motorul rotativ al turelei și motorul pistolului ar trebui, de asemenea, să fie alimentate de 6V cu un control al punții H. Dar când am conectat totul, arma nu va trage! Se pare că motorul încearcă să se rotească, dar nu poate conduce vitezele. Tensiunea de ieșire este corectă, dar se pare că nu există suficient curent pentru a conduce. Am încercat și MOSFET fără noroc.

Trebuie să renunț la această parte din motive de timp. Și acesta este motivul pentru care la testul pistolului trebuie să conectez manual motorul pistolului la adaptor. Mai sunt multe de învățat în electronică. În cel mai rău caz, aș putea controla întotdeauna arma cu un servo de tragere și eliberare a declanșatorului.

Pasul 6: Interfață

Image
Image
Interfață
Interfață
Interfață
Interfață

De asemenea, am modificat interfețele din codurile eșantion cambot și rasprover. Din moment ce am planificat să folosesc telefonul inteligent ca controler, am optimizat aspectul pentru telefonul meu (galaxy note3).

Majoritatea aspectelor și stilurilor pot fi editate în index.html. Cu toate acestea, stilul butonului implicit (gri închis cu chenar negru) este definit în webiopi.css aflat la / usr / share / webiopi / htdocs. Am folosit terminalul pentru a rula sudo nano pentru a-l modifica.

Fluxul video este situat în centrul ecranului, controlul de conducere în partea stângă și controlul armelor în dreapta. Am proiectat comanda de conducere ca două seturi de sus (înainte), oprire, jos (înapoi) dorind un control mai fin, dar în videoclip puteți spune că este uneori incomod.

Pasul 7: Planul viitorului

După cum vă puteți da seama, acesta este proiectul nu este încă finalizat. Datorită concursului de zmeură pi, am început foarte mult săptămâna trecută, încercând doar să-l termin înainte de termen. Se transformă destul de bine până când am descoperit că arma nu trage …

Are mult mai multe de îmbunătățit, dar sper că puteți învăța ceva din experiența mea.

Plan pe termen scurt:

Faceți pistolul să funcționeze !!!

Un container mai mare pentru mai mult BB

Rezervorul trebuie să exploreze lumea - ieșiți din partea wifi-ului de acasă!

Configurați un nod ad-hoc pe Pi, astfel încât telefonul să se poată conecta la acesta oriunde

Rulați comanda rezervorului la pornire

Adăugați un buton de închidere pentru a opri Pi în siguranță.

Plan pe termen lung:

Sistem de conducere mai bun pentru stabilitate și aderență

Proiectează-mi propria placă de circuite în locul unei plăci de calcul acum

Înregistrare video la prima persoană

O altă armă? Să o facem o navă de luptă!

Adăugați senzori pentru auto-patrulare?

Viziune computerizată pentru direcționare automată!

Controlați rezervorul departe: voi vedea totul acasă!

Pasul 8: Vă mulțumim pentru lectură

Mulțumesc că mi-ai citit slaba engleză (nu este prima mea limbă). Sper că v-ați distrat sau ați învățat ceva aici. Acesta va fi un proiect continuu, așa că, dacă aveți expertiză în orice domeniu, vă apreciez sfatul.

Dacă aveți întrebări, vă rugăm să lăsați un comentariu, voi încerca tot posibilul să răspund.

Permiteți-mi să fac o actualizare - Cam Tank2.0 - în viitorul apropiat.

În cele din urmă, iată un videoclip care prezintă scenariul de luptă. Este destul de amuzant.

Bucurați-vă și ne vedem data viitoare!

Recomandat: