Indholdsfortegnelse:

Raspberry Pi Cam Tank V1.0: 8 trin (med billeder)
Raspberry Pi Cam Tank V1.0: 8 trin (med billeder)

Video: Raspberry Pi Cam Tank V1.0: 8 trin (med billeder)

Video: Raspberry Pi Cam Tank V1.0: 8 trin (med billeder)
Video: My hotel mirror was TWO SIDED 😱 2024, Juli
Anonim
Image
Image
Raspberry Pi Cam Tank V1.0
Raspberry Pi Cam Tank V1.0

Jeg elsker tanks siden jeg var lille. At bygge mit eget tanklegetøj er altid en af mine drømme. Men på grund af den manglende viden og færdigheder. Drøm er bare en drøm.

Efter mange års studier i teknik og industrielt design. Jeg tilegner mig færdigheder og viden. Og takket være de billigere hobby 3D -printere. Jeg kan endelig tage mit skridt.

Hvilke funktioner vil jeg have, at denne tank skal have?

  • Fjernstyret
  • Affjedrede tomgangshjul (som den rigtige tank!)
  • Har et drejeligt tårn og en vippende BB -pistol kan skyde 6 mm kugler
  • Kan streame video til controlleren, så du kan styre den langt væk

I begyndelsen planlagde jeg at bruge arduino som controller, men efter nogle undersøgelser fandt jeg ud af, at der ikke er nogen praktisk måde at streame video af sig selv. Raspberry Pi ser imidlertid ud til at være en god kandidat til streaming af video. Og du kan styre det via kone fra din telefon!

Lad os komme igang.

Trin 1: Nødvendige dele

Til kontrol

Raspberry Pi version B

Powered Usb -hub (Belkin F4u040)

USB -webcam (Logitech C270)

Wifi dongle (Edimax)

Kvinde til mandlig jumperkabel

Til kørsel

To højt drejningsmoment fortsætter servo eller motor (til to drivhjul)

Et 1/8 stål red til hjulaksler (købt i hjemmedepot og billigt)

Ti ærmelejer (bestilt hos Mcmaster)

Nogle fjedre til affjedring (købte et fjedersortiment på Harbor Freight, billigt)

Til tårn

Et automatisk BB -pistollegetøj

En mini DC motor med højt drejningsmoment

En mikroservo til at vippe op og ned

Nogle 1/4 stål kørte som pistolaksel

Andre ting

Jeg 3D -printede de fleste dele af denne tank, hvis du har let adgang til en laserskærer, ville det også fungere.

Jeg brugte PLA -filament til udskrivning, fordi det er lettere at håndtere (ingen viklingsproblemer på ABS). Men virkelig svært at slibe, skære, bore senere.

Du tror måske, at 3D -udskrivning er god til tilpassede dele, og du kan udskrive meget komplicerede dele som et stykke. Det er sandt. Jeg tror dog, at den måde ikke er praktisk og økonomisk for en hobbymand. Årsagerne er:

Din hobbyprinter vil ikke være så præcis.

Du laver fejl i måling og beregninger (tolerance, justering osv.).

Anyway, der er en ret stor chance for, at dine udskrifter ikke virker eller passer på dit første skud. Det er fint for en lille del, du kan bare ændre modellen og derefter udskrive igen. Men for en større og mere kompliceret del er det frustrerende at vide, at der er noget galt efter timers udskrivning. Det er spild af tid og materiale. Så her er min tilgang:

For alt er symmetrisk, udskriv kun halvdelen af det, prøv det, hvis alt fungerer fint, skal du udskrive det hele.

Modellering af delen, mens du tænker på 3D -udskrivning. Kan der være en flad overflade til at fastgøre printeren? Kan den opdeles i mindre stykker for at undgå meget understøttende struktur?

For dele har mange funktioner (interagerer med mange andre dele), opdel modellen i moduler. Så hvis en funktion mislykkedes, har du ikke genoptryk hele delen. Bare juster modulet og genudskriv det. Jeg bruger skruer og møtrikker til at forbinde dem.

Vær en god ven med håndværktøj, håndsav, X-acto, boremaskine, varm limpistol. Hvis du kan rette en fejludskrivning, skal du rette den.

Dette forklarer, hvorfor min tank har så mange dele. Jeg finjusterer stadig disse dele, og når jeg fandt en god kombination, kan jeg printe dem sammen som et stykke. Så ville det være min Cam Tank v2.0.

Trin 2: Kørselssystemet

Image
Image
Drivsystemet
Drivsystemet
Drivsystemet
Drivsystemet

Affjedring

Først lavede jeg en prototype uden affjedring, bare aksler hen over det nederste skrog med lejer og hjul. Men tænker på operatørens komfort (jeg vil køre den og se streamingvideoen!), Jeg besluttede at tilføje suspension for at gøre den køligere.

Alt jeg har er nogle spiralfjedre, ingen hydraulik, ingen bladfjeder. Jeg eksperimenterede med en eller anden torsionsstangsmekanisme med PLA i starten. (Torsionsstangophæng er almindelig på nogle tanke). Det viser sig efter et par twist, at den trykte PLA -stang ville blive blød og til sidst gå i stykker. ABS kan være bedre til dette formål, men jeg har aldrig prøvet. Så efter yderligere undersøgelser fandt jeg Christie suspension design, her er en kort video, der viser, hvordan det fungerer.

Christie -affjedringen har dog så mange små dele, og jeg har da ingen tillid til min printer. Så jeg lavede en suspension som denne.

(billede)

Denne konfiguration optager for meget indre rum. Så jeg drejer den indre arm 90 grader. Bemærk, at det første og sidste hjul blev kortere

Bagstrammer

Jeg tænkte, at når tanken kører over nogle forhindringer, kan tomgangshjul bevæge sig opad, og sporet vil miste spænding. Så jeg tilføjede en spændemekanisme på baghjulet. Grundlæggende er det to fjedre, der skubber den rigtige aksel hele tiden og udøver en vis kraft på den for at stramme sporene.

Drivhjul og spor

Jeg har designet disse larvebaner og drivhjul i solidworks. Jeg ved ikke meget om maskinteknik og kan derfor ikke foretage gearberegningen. Så jeg simulerede dele i solidworks for at se, om det virker, før jeg trykker på knappen Udskriv. Hvert spor er forbundet med noget ekstra 3 mm filament. Det fungerer ret godt med lidt slibning. Men banedesignet har en fejl, overfladen, der rører jorden, er for glat, så den er svær at gribe. Hvis jeg udskriver det på hovedet, kan jeg tilføje noget slidbane, men det vil koste meget understøttende materiale på grund af tanden. Fremtidige løsninger: 1: udskriv tanden separat, og lim dem derefter sammen. 2. Påfør lidt gummibelægning med spraymaling.

Derefter printede jeg huset til servoer og sørg for, at drivhjulet kunne fastgøres til servoarmen med skruer.

Trin 3: Våbensystem

Image
Image
Våbensystem
Våbensystem
Våbensystem
Våbensystem

Denne del er den mest spændende for mig. Du kan købe et kameratanklegetøj. Men jeg fandt ikke et legetøjskombinationskamera og et våben.

Jeg købte dette automatiske airsoft pistollegetøj til $ 9,99 på udsalg. (Det er omkring 20 dollars nu, og jeg prøver måske noget billigere senere) Og rive det ned for at forstå mekanismen. Jeg kan helt skære kroppen og lime den til min tank. Men jeg kan ikke lide den grimme halvkrop. Så jeg tog nogle målinger og ombyggede den mekaniske del. Fra disse stykker lærte jeg en lektion i 3D -print: du tager altid fejl. Det tager 5 udskrifter at få hver del til at passe, og meget skæring, slibning og varm limning for at få den til at fungere perfekt.

Efter at hver del fra legetøjspistolen bevægede sig korrekt i min replikerede krop, printede jeg fire andre dele for at spænde kroppen fast. Og tilføjede vippegear, BB bullet tragt og kamerastøtte. Disse dele er alle skruet fast på pistolhuset. Til sidst kan de kombineres til mindst to dele. Men jeg tror, jeg ikke er klar endnu.

På tårnbasen tilføjede jeg en mikroservo til vippe og en mikro DC -motor til rotation.

Derefter begyndte jeg at teste pistolen, tilslutte 4 AA -batterier, og den skyder godt. Jeg var virkelig glad for, at det fungerer godt. Men dagen efter fandt jeg et problem.

Her er videoen af min pistoltest. tårnet var forbundet til en 3v adapter.

Trin 4: Konfigurer Pi

Dette er den vigtigste del, hjertet af vores tank-Raspberry Pi!

Hvis du ikke har spillet Raspberry Pi endnu. Jeg anbefaler at starte med denne bog: Kom godt i gang med hindbær pi af MAKE. Du kan få det grundlæggende og en omfattende forståelse af Pi.

Få det nyeste raspbian OS.

Det næste værktøj, jeg anbefaler meget, er Fjernskrivebord. Her er vejledningen af Adam Riley. Når du har konfigureret, kan du se Pi -skrivebordet på din pc (ikke testet på Mac). Således at køre Pi "nøgen", betyder ikke behov for en skærm, mus og tastatur. Nogle af mine venner bruger kommandolinjen ssh. Men jeg foretrækker skrivebordet.

Baseret på tidligere undersøgelser vidste jeg, at Raspberry Pi er i stand til at streame video. Så jeg begyndte at rode med forskellige apps på Pi. Mange af apps har enten en lang forsinkelse (sekunder) eller har en lav billedhastighed. Efter et par ugers vandring på onlinevideoer og selvstudier fandt jeg heldigvis løsningen. En video på youtube om webiopi gav mig meget håb. Mere forskning fik mig til at tro, at dette er den rigtige vej at gå.

Webiopi er en ramme, der gjorde forbindelsen mellem Pi og anden internet -enhed virkelig let. Det styrer alle Pi GPIOS og starter derefter en server, der indeholder tilpasset html. Du kan få adgang til denne html fra andre enheder (computer, smartphone osv.), Og klikker på en knap i browseren i en wifi -afstand, en GPIO udløses.

Videoen gjorde mig fuld af håb, er baseret på en webiopi tutorial-cambot projekt. Den findes på MagPi -magasinet #9 [html] [pdf] og #10 [html] [pdf]. Tak Eric PTAK!

Ved at følge vejledningen trin for trin kan du lave tohjulet cambot! Sådan fungerer det: Tilslut to motorer med en H-bro, og styr derefter H-broen med 6 GPIO-ben for at styre retning og hastighed. Webiopi bruges til at styre GPIO'erne. Og MJPG-streamer bruges til streaming af video.

Hvis du er ny på Pi eller Linux, som jeg var for måneder siden, kan du have et lille problem efter at have fulgt alle trin. Du kan køre python -koden til webiopi og streamingvideoen separat, men ved ikke, hvordan du kører dem sammen? Det tog mig et stykke tid at vide, at du kan tilføje en & efter en kommando (og er virkelig svært at søge på google, BTW), det betyder, at du vil have denne kommando kørt i baggrunden. Så jeg vil gøre dette hver gang:

sudo python cambot.py &

sudo./stream.sh

Jeg tror, du opretter en bash -fil, der indeholder ovenstående kommando i en fil, og kører en gang. Jeg har ikke prøvet endnu.

Så jeg prøvede denne grundlæggende opsætning med to DC -motor, den kører, men den motor, jeg har, er ikke kraftig nok. Fører mig til en anden mulighed: kontinuerlige servoer.

Nyt spørgsmål kommer så: understøtter webiopi PWM -kontrollerede servoer?

Svaret er ja, men ikke af sig selv: RPIO er nødvendig for at generere software PWM

RPIO-installation (jeg har ikke held med den første apt-get-installationsmetode. Github-metoden fungerer godt for mig)

Prøvekode og andre diskussioner

Nu er din bot opgraderet med to servoer! Tænk på, hvad du kan gøre med de ekstra arme!

Jeg ændrede ovenstående prøvekode til at passe til min tank. Du behøver ikke en datalogi for at gøre dette. Du er god, så længe du kan forstå prøvekoden og vide, hvad du skal kopiere, og hvor du skal ændre.

Trin 5: Elektronisk forbindelse

Elektronisk forbindelse
Elektronisk forbindelse
Elektronisk forbindelse
Elektronisk forbindelse
Elektronisk forbindelse
Elektronisk forbindelse

Den powerbank, jeg købte, Anker Astro Pro, har to usb -porte og en 9v -port (hovedårsagen til, at jeg købte denne). Jeg forsøgte at drive Pi, wifi -donglen og webcam med en usb -port. Starter ikke op. Så jeg brugte den anden USB -port til en strømforsynet USB -hub.

Så tænkte jeg, at jeg måske kunne drive servoerne med USB -hub -porten. Det virker, men wifi -forbindelsen er meget meget ustabil.

For at løse dette problem indbragte jeg 4 AA -batterier for at drive 6V servobehovet. Jeg stribede USB -kablet for at afsløre jordledningen (sort) og forbinde med AA -batteripakken.

3 servoer, røde til 6V, sorte til jord, og signalstift tilsluttet GPIO -ben.

Som planlagt skal tårnets roterende motor og pistolmotor også drives af 6V med en H-bro, der styrer. Men da jeg forbandt alt, skyder pistolen ikke! Det ser ud til, at motoren forsøger at rotere, men kan ikke køre gearene. Udgangsspændingen er rigtig, men det ser ud til, at der ikke er strøm nok til at drive. Jeg prøvede også MOSFET uden held.

Jeg er nødt til at opgive denne del af tidsmæssige årsager. Og det er derfor, jeg i pistoltesten skal tilslutte pistolmotoren til adapteren manuelt. Stadig meget at lære inden for elektronik. I værste fald kunne jeg altid styre pistolen med et servotræk og slip.

Trin 6: Grænseflade

Image
Image
Grænseflade
Grænseflade
Grænseflade
Grænseflade

Jeg ændrede også grænsefladerne fra cambot- og rasprover -prøvekoderne. Da jeg planlagde at bruge smart telefon som controller, optimerede jeg layoutet til min telefon (galaxy note3).

De fleste layout og stilarter kan redigeres i index.html. Standardknappen (mørkegrå med sort kant) er dog defineret i webiopi.css placeret på/usr/share/webiopi/htdocs. Jeg brugte terminal til at køre sudo nano for at ændre den.

Videostrømmen er placeret i midten af skærmen, kørekontrol i venstre side og våbenkontrol til højre. Jeg designede kørekontrollen som to sæt op (fremad), stop, ned (bagud), der ville have lidt finere kontrol, men i videoen kan du se, at det er akavet nogle gange.

Trin 7: Fremtidsplan

Som du kan se, er dette projekt endnu ikke afsluttet. Takket være hindbær pi -konkurrencen, skruede jeg meget op i sidste uge, bare prøvede at afslutte det inden deadline. Det vender temmelig godt, indtil jeg fandt pistolen ikke skyde …

Det har meget mere at forbedre, men jeg håber, at du kan lære noget af min erfaring.

Kortsigtet plan:

Få pistolen til at fungere !!!

Større beholder til mere BB

Tanken skal udforske verden-gå ud af hjemmets wifi!

Konfigurer ad-hoc-node på Pi, så telefonen kan oprette forbindelse til den overalt

Kør tankkommandoen ved opstart

Tilføj en lukningsknap for at slukke Pi sikkert.

Langsigtet plan:

Bedre køresystem for stabilitet og greb

Design mit eget printkort i stedet for et brødbræt nu

Første person videooptagelse

En anden pistol? Lad os gøre det til et kampskib!

Tilføj sensorer til selvpatruljer?

Computersyn til automatisk målretning!

Styr tanken langt langt væk: Jeg ser alt derhjemme!

Trin 8: Tak fordi du læste

Tak fordi du læste mit dårlige engelsk (det er ikke mit første sprog). Jeg håber, at du havde det sjovt eller lærte noget her. Dette vil være et igangværende projekt, så hvis du har ekspertise inden for et hvilket som helst felt, sætter jeg pris på dit råd.

Hvis du har spørgsmål, bedes du efterlade en kommentar, jeg vil gøre mit bedste for at besvare det.

Lad mig lave en opdatering-Cam Tank2.0-i den nærmeste fremtid.

Endelig er her en video, der viser kampscenariet. Det er ret sjovt.

God fornøjelse og vi ses næste gang!

Anbefalede: