Innholdsfortegnelse:

Raspberry Pi Cam Tank V1.0: 8 trinn (med bilder)
Raspberry Pi Cam Tank V1.0: 8 trinn (med bilder)

Video: Raspberry Pi Cam Tank V1.0: 8 trinn (med bilder)

Video: Raspberry Pi Cam Tank V1.0: 8 trinn (med bilder)
Video: Octopus Max EZ v1.0 - Klipper MainSail Quick Install 2024, Juli
Anonim
Image
Image
Raspberry Pi Cam Tank V1.0
Raspberry Pi Cam Tank V1.0

Jeg elsker stridsvogner siden jeg var liten. Å bygge mitt eget tankleketøy er alltid en av mine drømmer. Men på grunn av mangel på kunnskap og ferdigheter. Drøm er bare en drøm.

Etter mange års studier i ingeniørfag og industridesign. Jeg tilegnet meg ferdigheter og kunnskap. Og takket være de billigere hobby -3D -skriverne. Jeg kan endelig ta mitt skritt.

Hvilke funksjoner vil jeg at denne tanken skal ha?

  • Fjernstyrt
  • Opphengte tomgangshjul (som den virkelige tanken!)
  • Har et roterbart tårn og en vippende BB -pistol som kan skyte 6 mm kuler
  • Kan streame video til kontrolleren, slik at du kan kontrollere den langt unna

I begynnelsen planla jeg å bruke arduino som kontroller, men etter litt undersøkelser fant jeg ut at det ikke er noen praktisk måte å streame video av seg selv. Raspberry Pi ser imidlertid ut til å være en god kandidat for streaming av video. Og du kan kontrollere det via kone fra telefonen!

La oss komme i gang.

Trinn 1: Nødvendige deler

For å kontrollere

Raspberry Pi versjon B

Drevet USB -hub (Belkin F4u040)

USB -webkamera (Logitech C270)

Wifi dongle (Edimax)

Jumperkabel fra hunn til mann

For kjøring

To høyt dreiemoment fortsetter servo eller motor (for to drivhjul)

Ett 1/8 stål kjørte for hjulaksler (kjøpt hjemme depot og billig)

Ti hylser (bestilt på Mcmaster)

Noen fjærer for fjæring (kjøpte et fjærsortiment på Harbor Freight, billig)

For tårn

En automatisk BB pistol leketøy

En mini DC motor med høyt dreiemoment

En mikroservo for vipping opp og ned

Noen 1/4 stål kjørte som pistolaksel

Andre ting

Jeg har skrevet ut de fleste deler av denne tanken i 3D, hvis du har lett tilgang til en laserskjærer, ville det også fungert.

Jeg brukte PLA -filament for utskrift fordi det er lettere å håndtere (ingen viklingsproblemer på ABS). Men veldig vanskelig å slipe, kutte, bore senere.

Du tror kanskje 3D -utskrift er bra for tilpassede deler, og du kan skrive ut svært kompliserte deler som ett stykke. Det er sant. Imidlertid tror jeg at den måten ikke er praktisk og økonomisk for en hobbyist. Årsakene er:

Hobbyskriveren din vil ikke være så presis.

Du vil gjøre feil i måling og beregninger (toleranse, justering osv.).

Uansett, det er en ganske stor sjanse for at utskriftene dine ikke fungerer eller passer på ditt første skudd. Det er fint for en liten del, du kan bare endre modellen og deretter skrive ut på nytt. Men for en større og mer komplisert del er det frustrerende å vite at noe er galt etter mange timers utskrift. Det er bortkastet tid og materiale. Så her er min tilnærming:

For alt er symmetrisk, skriv ut bare halvparten av det, prøv det, hvis alt fungerer bra, skriv ut det hele.

Modellerer delen mens du tenker på 3D -utskrift. Kan det være en flat overflate for å feste skriveren? Kan den deles i mindre biter for å unngå mye støttende struktur?

For deler har mange funksjoner (samhandler med mange andre deler), del modellen i moduler. Så hvis en funksjon mislyktes, trenger du ikke skrive ut hele delen på nytt. Bare juster modulen og skriv den ut på nytt. Jeg bruker skruer og muttere for å koble dem til.

Vær en god venn med håndverktøy, håndsag, X-acto, boremaskin, varm limpistol. Hvis du kan fikse en feilutskrift, fikser du det.

Dette forklarer hvorfor tanken min har så mange deler. Jeg finjusterer fortsatt delene, og når jeg fant en god kombinasjon, kan jeg skrive dem ut som ett stykke. Da ville det være min Cam Tank v2.0.

Trinn 2: Drivsystemet

Image
Image
Drivsystemet
Drivsystemet
Drivsystemet
Drivsystemet

Suspensjon

Først laget jeg en prototype uten fjæring, bare aksler over det nedre skroget med lagre og hjul. Men tenker på operatørens komfort (jeg skal kjøre den for å se streamingvideoen!), Jeg bestemte meg for å legge til fjæring for å gjøre den kjøligere.

Alt jeg har er noen spiralfjærer, ingen hydraulikk, ingen bladfjær. Jeg eksperimenterte med en torsjonsstangmekanisme med PLA først. (Torsjonsstangoppheng er vanlig på noen tanker). Det viser seg etter en par vri, at den trykte PLA -stangen blir myk og til slutt går i stykker. ABS kan være bedre for dette formålet, men jeg har aldri prøvd. Så, etter ytterligere undersøkelser, fant jeg Christie suspensjon design, her er en kort video som viser hvordan det fungerer.

Christie -suspensjonen har imidlertid så mange smådeler, og jeg har ingen tillit til skriveren min da. Så jeg gjorde en slik suspensjon.

(bilde)

Denne konfigurasjonen opptar for mye indre plass. Så jeg roterer den indre armen 90 grader. Legg merke til at det første og siste hjulet ble kortere

Bakre strammer

Jeg tenkte at når tanken kjører over noen hindringer, kan tomgangshjul bevege seg opp og banen mister spenningen. Så jeg la til en strammer på bakhjulet. I utgangspunktet er det to fjærer som skyver den virkelige akselen hele tiden og utøver litt kraft på den for å stramme sporene.

Drivhjul og spor

Jeg designet disse larvebanene og drivhjulene i solidarbeid. Jeg vet ikke så mye om maskinteknikk, og kan derfor ikke gjøre girberegningen. Så jeg simulerte deler i solidworks for å se om det fungerer før jeg trykker på Skriv ut -knappen. Hvert spor er forbundet med en ekstra 3 mm filament. Det fungerer ganske bra med litt sliping. Men banedesignet har en feil, overflaten som berører bakken er for glatt at det er vanskelig å gripe. Hvis jeg skriver den opp ned, kan jeg legge til litt slitebane, men det vil koste mye støttemateriale på grunn av tannen. Fremtidige løsninger: 1: Skriv ut tannen separat, lim den deretter sammen. 2. Påfør sprøytemaling med gummibelegg.

Deretter trykte jeg huset til servoer og sørget for at drivhjulet kan festes til servoarmen med skruer.

Trinn 3: Våpensystem

Image
Image
Våpen System
Våpen System
Våpen System
Våpen System

Denne delen er den mest spennende for meg. Du kan kjøpe et kameratankleketøy. Men jeg fant ikke ett leketøyskombinationskamera og noe våpen.

Jeg kjøpte denne automatiske airsoft gun -leken for $ 9,99 på salg. (Det er rundt 20 dollar nå, og jeg kan prøve noe billigere senere) Og rive det ned for å forstå mekanismen. Jeg kan kutte kroppen helt og lime den på tanken min. Men jeg liker ikke den stygge halvkroppen. Så jeg tok noen målinger og gjorde om den mekaniske delen. Fra disse brikkene lærte jeg en leksjon om 3D -utskrift: du vil alltid gjøre feil. Det tar 5 utskrifter for å få hver del til å passe, og mye kutting, sliping og varm liming for at den skal fungere perfekt.

Etter at hver del fra lekepistolen beveget seg riktig i min replikerte kropp, skrev jeg ut fire andre deler for å feste kroppen. Og la til vippegiret, BB bullet trakt og kamerastøtte. Disse delene er skrudd fast på pistolhuset. Etter hvert kan de kombineres til minst to deler. Men jeg tror jeg ikke er klar ennå.

På tårnbasen la jeg til en mikroservo for vipping og en mikro DC -motor for rotasjon.

Så begynte jeg å teste pistolen, koble til 4 AA -batterier og den skyter godt. Jeg var veldig glad for at det fungerer bra. Men dagen etter fant jeg et problem.

Her er videoen av pistoltesten min. tårnet var koblet til en 3v adapter.

Trinn 4: Sett opp Pi

Dette er den viktigste delen, hjertet av tanken vår-Raspberry Pi!

Hvis du ikke har spilt Raspberry Pi ennå. Jeg anbefaler å starte med denne boken: Komme i gang med bringebær pi av MAKE. Du kan få det grunnleggende og en omfattende forståelse av Pi.

Få det nyeste raspbian OS.

Det neste verktøyet jeg anbefaler mye er Remote Desktop. Her er opplæringen av Adam Riley. Etter at du har konfigurert, kan du se Pi -skrivebordet på din PC (ikke testet på Mac). Således å kjøre Pi "naken", betyr ikke behov for en skjerm, mus og tastatur. Noen av vennene mine bruker ssh kommandolinje. Men jeg foretrekker skrivebordet.

Basert på tidligere forskning visste jeg at Raspberry Pi er i stand til å streame video. Så jeg begynte å rote rundt med forskjellige apper på Pi. Mange av appene har enten et langt forsinkelse (sekunder) eller en lav bildefrekvens. Etter et par ukers vandring på nettvideoer og opplæringsprogrammer, fant jeg heldigvis løsningen. En video på youtube om webiopi ga meg mye håp. Mer forskning fikk meg til å tro at dette er den riktige veien å gå.

Webiopi er et rammeverk som gjorde forbindelsen mellom Pi og annen internett -enhet veldig enkel. Den styrer alle Pi GPIOS og starter deretter en server som inneholder tilpasset html. Du kan få tilgang til denne html fra andre enheter (datamaskin, smarttelefon, etc), og klikk på en knapp i nettleseren i en wifi -avstand, en GPIO utløses.

Videoen gjorde meg full av håp, er basert på en webiopi-opplæring-cambot-prosjekt. Den er omtalt på MagPi -magasinet #9 [html] [pdf] og #10 [html] [pdf]. Takk Eric PTAK!

Ved å følge opplæringen trinn for trinn, kan du lage tohjuls cambot! Slik fungerer det: Koble to motorer med en H-bro, kontroller deretter H-broen med 6 GPIO-pinner for å kontrollere retning og hastighet. Webiopi brukes til å kontrollere GPIO -ene. Og MJPG-streamer brukes til streaming av video.

Hvis du er ny på Pi eller Linux som jeg var for måneder siden, kan du ha et lite problem etter å ha fulgt alle trinnene. Du kan kjøre python -koden for webiopi og streamingvideoen separat, men vet ikke hvordan du kjører dem sammen? Det tok meg en stund å vite at du kan legge til en & etter en kommando (og er veldig vanskelig å søke på google, BTW), det betyr at du vil at denne kommandoen skal kjøres på bakgrunnen. Så jeg vil gjøre dette hver gang:

sudo python cambot.py &

sudo./stream.sh

Jeg tror du lager en bash -fil som inneholder kommandoen over i en fil, og kjører en gang. Jeg har ikke prøvd ennå.

Så jeg prøvde dette grunnleggende oppsettet med to likestrømsmotorer, det går, men motoren jeg har er ikke kraftig nok. Leder meg til et annet alternativ: kontinuerlige servoer.

Nytt spørsmål kommer da: støtter webiopi PWM -kontrollerte servoer?

Svaret er ja, men ikke av seg selv: RPIO er nødvendig for å generere PWM -programvare

RPIO-installasjon (jeg har ikke hell på den første apt-get installasjonsmetoden. Github-metoden fungerer bra for meg)

Eksempel på kode og andre diskusjoner

Nå er boten din oppgradert med to servoer! Tenk på hva du kan gjøre med de ekstra armene!

Jeg endret eksempelkoden ovenfor for å passe tanken min. Du trenger ikke en informatikk -grad for å gjøre dette. Du er god så lenge du kan forstå prøvekoden og vite hva du skal kopiere og hvor du skal endre.

Trinn 5: Elektronisk tilkobling

Elektronisk tilkobling
Elektronisk tilkobling
Elektronisk tilkobling
Elektronisk tilkobling
Elektronisk tilkobling
Elektronisk tilkobling

Strømbanken jeg kjøpte, Anker Astro Pro, har to usb -porter og en 9v -port (hovedgrunnen til at jeg kjøpte denne). Jeg prøvde å drive Pi, wifi -dongelen og webkameraet med en usb -port. Starter ikke opp. Så jeg brukte den andre USB -porten til en drevet USB -hub.

Da tenkte jeg at jeg kanskje kunne drive servoene med USB -hub -porten. Det fungerer, men wifi -tilkoblingen er veldig veldig ustabil.

For å løse dette problemet, hentet jeg inn 4 AA -batterier for å drive 6V -servobehovet. Jeg stripet USB -kabelen for å avsløre jordledningen (svart) og koble til en AA -batteripakke.

3 servoer, rød til 6V, svart til bakken og signalpinne koblet til GPIO -pinner.

Som planlagt bør tårnets roterende motor og pistolmotor også drives av 6V med en H-bro som styrer. Men når jeg koblet til alt, skyter ikke pistolen! Det ser ut til at motoren prøver å rotere, men kan ikke kjøre girene. Utgangsspenningen er riktig, men det ser ut til at det ikke er nok strøm til å drive. Jeg prøvde også MOSFET uten hell.

Jeg må gi opp denne delen av tidsmessige årsaker. Og det er derfor i pistoltesten jeg må koble pistolmotoren til adapteren manuelt. Fortsatt mye å lære innen elektronikk. I verste fall kan jeg alltid kontrollere pistolen med et servotrekk og slipp avtrekker.

Trinn 6: Grensesnitt

Image
Image
Grensesnitt
Grensesnitt
Grensesnitt
Grensesnitt

Jeg endret også grensesnittene fra cambot- og rasprover -prøvekodene. Siden jeg planla å bruke smarttelefon som kontroller, optimaliserte jeg oppsettet for telefonen min (galaxy note3).

De fleste oppsett og stiler kan redigeres i index.html. Standardknappen (mørk grå med svart kant) er imidlertid definert i webiopi.css som ligger på/usr/share/webiopi/htdocs. Jeg brukte terminalen til å kjøre sudo nano for å kunne endre den.

Videostrømmen er plassert i midten av skjermen, kjørekontroll på venstre side og våpenkontroll til høyre. Jeg designet kjørekontrollen som to sett med opp (forover), stopp, ned (bakover) og ønsket litt finere kontroll, men i videoen kan du se at det er vanskelig noen ganger.

Trinn 7: Fremtidsplan

Som du kan se, er dette prosjektet ikke ferdig ennå. Takket være bringebær pi -konkurransen, svingte jeg mye i forrige uke, bare prøvde å fullføre den før fristen. Det snur ganske bra til jeg fant at pistolen ikke skjøt …

Den har mye mer å forbedre, men jeg håper du kan lære noe av min erfaring.

Kortsiktig plan:

Få pistolen til å fungere !!!

Større beholder for mer BB

Tanken må utforske verden-gå ut av hjemmet wifi!

Sett opp ad-hoc-node på Pi, slik at telefonen kan koble seg til den hvor som helst

Kjør tankkommandoen ved oppstart

Legg til en avstengningsknapp for å slå av Pi trygt.

Langsiktig plan:

Bedre kjøresystem for stabilitet og grep

Design mitt eget kretskort i stedet for et brødbrett nå

Førstepersons videoopptak

En annen pistol? La oss gjøre det til et slagskip!

Vil du legge til sensorer for selvpatruljering?

Datasyn for automatisk målretting!

Kontroller tanken langt langt unna: Jeg får se alt hjemme!

Trinn 8: Takk for at du leste

Takk for at du leste mitt dårlige engelsk (det er ikke mitt morsmål). Jeg håper du hadde det gøy eller lærte noe her. Dette vil være et pågående prosjekt, så hvis du har ekspertise på noen områder, setter jeg pris på rådene dine.

Hvis du har spørsmål, vennligst legg igjen en kommentar, jeg skal prøve mitt beste for å svare på den.

La meg gjøre en oppdatering-The Cam Tank2.0-i nær fremtid.

Endelig, her er en video som viser kampscenariet. Det er ganske morsomt.

Kos deg og se deg neste gang!

Anbefalt: