Innehållsförteckning:

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

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

Video: Raspberry Pi Cam Tank V1.0: 8 steg (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

Jag älskar tankar sedan jag var liten. Att bygga min egen tankleksak är alltid en av mina drömmar. Men på grund av bristen på kunskap och färdigheter. Dröm är bara en dröm.

Efter år av studier inom teknik och industridesign. Jag skaffade mig färdigheter och kunskaper. Och tack vare de billigare hobby -3D -skrivarna. Jag kan äntligen ta mitt steg.

Vilka funktioner vill jag att den här tanken ska ha?

  • Fjärrstyrd
  • Upphängda tomgångshjul (som den riktiga tanken!)
  • Har ett roterbart torn och en lutande BB -pistol som kan skjuta 6 mm kulor
  • Kan strömma video till handkontrollen så att du kan styra den långt borta

I början tänkte jag använda arduino som controller, men efter en del undersökningar fann jag att det inte finns något praktiskt sätt att strömma video själv. Raspberry Pi verkar dock vara en bra kandidat för strömmande video. Och du kan styra det via fru från din telefon!

Låt oss börja.

Steg 1: Delar som behövs

För kontroll

Raspberry Pi version B

Driven USB -hubb (Belkin F4u040)

USB -webbkamera (Logitech C270)

Wifi -dongel (Edimax)

Kvinna till hanskabel

För körning

Två högt vridmoment fortsätter servo eller motor (för två drivhjul)

Ett 1/8 stål red för hjulaxlar (köpt hemma depå och billigt)

Tio hylsor (beställd på Mcmaster)

Några fjädrar för upphängning (köpte ett fjädersortiment på Harbour Freight, billigt)

För torn

En automatisk BB -pistolleksak

En mini -DC -motor med högt vridmoment

En mikroservo för lutning upp och ner

Något 1/4 stål red som pistolaxel

Andra saker

Jag 3D -skrivit ut de flesta delar av denna tank, om du har enkel åtkomst till en laserskärare skulle det också fungera.

Jag använde PLA -filament för utskrift eftersom det är lättare att hantera (inga omslagsproblem på ABS). Men, riktigt svårt att slipa, klippa, borra senare.

Du kanske tror att 3D -utskrift är bra för anpassade delar och du kan skriva ut mycket komplicerad del som en bit. Det är sant. Jag tror dock att det sättet inte är praktiskt och ekonomiskt för en amatör. Orsakerna är:

Din hobbyskrivare kommer inte att vara så exakt.

Du kommer att göra misstag i mätning och beräkningar (tolerans, inriktning etc).

Hur som helst, det finns en ganska stor chans att dina utskrifter inte fungerar eller passar på ditt första skott. Det är bra för en liten del, du kan bara ändra modellen och sedan skriva ut igen. Men för en större och mer komplicerad del är det frustrerande att veta att något är fel efter timmar av utskrift. Det är slöseri med tid och material. Så här är mitt tillvägagångssätt:

För allt är symmetriskt, skriv ut bara hälften av det, prova det, om allt fungerar bra, skriv ut det hela.

Modellera delen medan du tänker på 3D -utskrift. Kan det finnas en plan yta för att fästa skrivarbädden? Kan den delas upp i mindre bitar för att undvika mycket stödstruktur?

För delar har många funktioner (interagerar med många andra delar), dela upp modellen i moduler. Så om en funktion misslyckades har du inte en omtryckning av hela delen. Justera bara modulen och skriv ut den igen. Jag använder skruvar och muttrar för att ansluta dem.

Var en god vän med handverktyg, handsåg, X-acto, borrmaskin, varm limpistol. Om du kan åtgärda en felutskrift, fixa det.

Detta förklarar varför min tank har så många delar. Jag håller fortfarande på att finjustera dessa delar och när jag hittade en bra kombination kan jag skriva ut dem tillsammans som en bit. Då skulle det vara min Cam Tank v2.0.

Steg 2: Drivsystemet

Image
Image
Drivsystemet
Drivsystemet
Drivsystemet
Drivsystemet

Suspension

Först gjorde jag en prototyp utan upphängning, bara axlar över det nedre skrovet med lager och hjul. Men när jag tänkte på förarens komfort (jag ska köra den och titta på streamingvideon!), Bestämde jag mig för att lägga till fjädring för att göra det svalare.

Allt jag har är några spiralfjädrar, ingen hydraulik, ingen bladfjäder. Jag experimenterade till en början med en vridstångsmekanism med PLA. (Torsionsstångsupphängning är vanligt på vissa tankar). Det visar sig efter ett par vridningar att den tryckta PLA -baren blir mjuk och så småningom går sönder. ABS kan vara bättre för detta ändamål men jag har aldrig försökt. Så efter ytterligare forskning hittade jag Christie -upphängningsdesign, här är en kort video som visar hur det fungerar.

Christie -upphängningen har dock så många små delar, och jag har inget förtroende för min skrivare då. Så jag gjorde en sådan suspension.

(bild)

Denna konfiguration upptar för mycket inre utrymme. Så jag roterar den inre armen 90 grader. Lägg märke till att det första och sista hjulet blev kortare

Bakre spännare

Jag tänkte att när tanken kör över några hinder kan tomgångshjul röra sig uppåt och banan tappar spänning. Så jag lade till någon spännmekanism på bakhjulet. I grund och botten är det två fjädrar som driver den riktiga axeln hela tiden och utövar en viss kraft på den för att spänna spåren.

Drivhjul och spår

Jag konstruerade denna larvspår och drivhjul i solidworks. Jag kan inte mycket om maskinteknik och kan därför inte göra växelberäkningen. Så jag simulerade delar i solidworks för att se om det fungerar innan jag trycker på knappen Skriv ut. Varje spår är anslutet med lite extra 3 mm filament. Det fungerar ganska bra med lite slipning. Men banans design har en brist, ytan som berör marken är för slät att det är svårt att greppa. Om jag skriver ut det upp och ner kan jag lägga till lite slitbanor, men det kommer att kosta mycket stödmaterial på grund av tanden. Framtida lösningar: 1: skriv ut tanden separat och limma ihop dem. 2. Applicera lite sprayfärg med gummibeläggning.

Sedan skrev jag ut huset för servon och ser till att drivhjulet kan fästas på servoarmen med skruvar.

Steg 3: Vapensystem

Image
Image
Vapensystem
Vapensystem
Vapensystem
Vapensystem

Den här delen är den mest spännande för mig. Du kan köpa en kameratankleksak. Men jag hittade inte en leksakskombinationskamera och något vapen.

Jag köpte denna automatiska airsoft -pistolleksak för $ 9,99 till salu. (Det kostar cirka 20 dollar nu och jag kanske ska prova något billigare senare) Och riva det för att förstå mekanismen. Jag kan helt klippa av kroppen och limma den på min tank. Men jag gillar inte den fula halvan. Så jag tog en mätning och gjorde om den mekaniska delen. Av dessa delar lärde jag mig en läxa av 3D -utskrift: du kommer alltid att göra misstag. Det tar 5 utskrifter för att varje del ska passa, och mycket skärning, slipning och varm limning för att det ska fungera perfekt.

Efter att varje del från leksakspistolen rört sig korrekt i min replikerade kropp skrev jag ut fyra andra delar för att klämma fast kroppen. Och tillagt lutningsutrustningen, BB -kultratten och kamerastöd. Dessa delar är alla skruvade på pistolkroppen. Så småningom kan de kombineras till minst två delar. Men jag tror att jag inte är redo än.

På tornets bas lade jag till en mikroservo för lutning och en mikro DC -motor för rotation.

Sedan började jag testa pistolen, ansluta 4 AA -batterier och det skjuter bra. Jag var riktigt glad att det fungerar bra. Men nästa dag hittade jag ett problem.

Här är videon av mitt vapentest. tornet var anslutet till en 3v adapter.

Steg 4: Konfigurera Pi

Detta är den viktigaste delen, hjärtat i vår tank-Raspberry Pi!

Om du inte har spelat Raspberry Pi än. Jag rekommenderar att börja med den här boken: Komma igång med hallon pi från MAKE. Du kan få grunderna och en omfattande förståelse av Pi.

Skaffa det senaste raspbian OS.

Nästa verktyg jag rekommenderar mycket är Fjärrskrivbord. Här är handledningen av Adam Riley. När du har konfigurerat kan du se Pi -skrivbordet på din dator (inte testad på Mac). Således för att köra Pi "naken" betyder inget behov av en display, mus och tangentbord. Några av mina vänner använder kommandoraden ssh. Men jag föredrar skrivbordet.

Baserat på tidigare forskning visste jag att Raspberry Pi kan strömma video. Så jag började bråka med olika appar på Pi. Många av apparna har antingen en lång fördröjning (sekunder) eller har en låg bildhastighet. Efter några veckors vandring på onlinevideor och självstudier hittade jag lyckligtvis lösningen. En video på youtube om webiopi gav mig mycket hopp. Mer forskning fick mig att tro att det här är rätt väg att gå.

Webiopi är ett ramverk som gjorde anslutningen mellan Pi och andra internetenheter väldigt enkel. Den styr alla Pi GPIOS och startar sedan en server som innehåller anpassad html. Du kan få tillgång till denna html från andra enheter (dator, smarttelefon, etc.) och klicka på en knapp i webbläsaren på ett wifi -avstånd, en GPIO utlöses.

Videon gjorde mig full av hopp, baserad på en webiopi-tutorial-cambot-projekt. Den finns på MagPi -tidningen #9 [html] [pdf] och #10 [html] [pdf]. Tack Eric PTAK!

Genom att följa handledningen steg för steg kan du göra tvåhjuliga cambot! Så här fungerar det: anslut två motorer med en H-bro, styr sedan H-bron med 6 GPIO-stift för att styra riktning och hastighet. Webiopi används för att styra GPIO: erna. Och MJPG-streamer används för strömning av video.

Om du är ny på Pi eller Linux som jag var för månader sedan kan du ha ett litet problem efter att ha följt alla stegen. Du kan köra pythonkoden för webiopi och strömmande video separat men vet inte hur du kör dem tillsammans? Det tog mig ett tag att veta att du kan lägga till ett & efter ett kommando (och är verkligen svårt att söka på google, BTW), det betyder att du vill att det här kommandot ska köras i bakgrunden. Så jag kommer att göra detta varje gång:

sudo python cambot.py &

sudo./stream.sh

Jag tror att du skapar en bash -fil som innehåller kommandot ovan i en fil och körs en gång. Jag har inte försökt än.

Så jag försökte denna grundläggande installation med två likströmsmotorer, den går, men den motor jag har är inte tillräckligt kraftfull. Leder mig till ett annat alternativ: kontinuerliga servon.

Ny fråga kommer då: stöder webiopi PWM -styrda servon?

Svaret är ja, men inte av sig själv: RPIO behövs för att generera PWM -programvara

RPIO-installation (jag har ingen tur på den första apt-get-installationsmetoden. Github-metoden fungerar utmärkt för mig)

Provkod och andra diskussioner

Nu uppgraderas din bot med två servon! Tänk på vad du kan göra med de extra armarna!

Jag ändrade ovanstående provkod för att passa min tank. Du behöver inte en datavetenskapsexamen för att göra detta. Du är bra så länge du kan förstå provkoden och veta vad du ska kopiera och var du ska ändra.

Steg 5: Elektronisk anslutning

Elektronisk anslutning
Elektronisk anslutning
Elektronisk anslutning
Elektronisk anslutning
Elektronisk anslutning
Elektronisk anslutning

Powerbanken jag köpte, Anker Astro Pro, har två usb -portar och en 9v -port (främsta anledningen till att jag köpte den här). Jag försökte driva Pi, wifi -dongeln och webbkameran med en usb -port. Startar inte. Så jag använde den andra USB -porten för en driven USB -hubb.

Då tänkte jag att jag kanske skulle kunna driva servona med USB -hubbporten. Det fungerar, men wifi -anslutningen är väldigt väldigt instabil.

För att lösa detta problem tog jag in 4 AA -batterier för att driva 6V -servobehovet. Jag randade USB -kabeln för att avslöja jordledningen (svart) och ansluta till AA -batteripaketet.

3 servon, röda till 6V, svarta till jord och signalstift anslutna till GPIO -stift.

Som planerat bör tornets roterande motor och pistolmotor också drivas av 6V med en H-bro som styr. Men när jag kopplade ihop allt skjuter inte pistolen! Det verkar som om motorn försöker rotera, men kan inte köra växlarna. Utgångsspänningen är rätt, men det verkar inte finnas tillräckligt med ström för att driva. Jag försökte också MOSFET utan lycka.

Jag måste ge upp den här delen av tidsskäl. Och det är därför jag i pistolprovet måste ansluta pistolmotorn till adaptern manuellt. Fortfarande mycket att lära sig inom elektronik. I värsta fall skulle jag alltid kunna styra pistolen med en servotryck och släpp avtryckare.

Steg 6: Gränssnitt

Image
Image
Gränssnitt
Gränssnitt
Gränssnitt
Gränssnitt

Jag ändrade också gränssnitten från cambot- och rasprover -provkoderna. Eftersom jag planerade att använda smarttelefon som controller optimerade jag layouten för min telefon (galaxy note3).

De flesta layouter och stilar kan redigeras i index.html. Standardknappen (mörkgrå med svart kant) är dock definierad i webiopi.css som finns på/usr/share/webiopi/htdocs. Jag använde terminalen för att köra sudo nano för att ändra den.

Videoströmmen ligger i mitten av skärmen, körkontroll på vänster sida och vapenkontroll till höger. Jag utformade körreglaget som två uppsättningar uppåt (framåt), stopp, nedåt (bakåt) som ville ha lite finare kontroll, men i videon kan du se att det är besvärligt ibland.

Steg 7: Framtidsplan

Som ni kan se är projektet inte klart ännu. Tack vare hallonpi -tävlingen tog jag upp mycket under förra veckan och försökte bara avsluta den innan deadline. Det vänder ganska bra tills jag upptäckte att pistolen inte skjuter …

Det har mycket mer att förbättra, men jag hoppas att du kan lära dig något av min erfarenhet.

Korttidsplan:

Få vapnet att fungera !!!

Större behållare för mer BB

Tanken måste utforska världen-gå ut på sidan av hemmets wifi!

Konfigurera ad-hoc-nod på Pi, så att telefonen kan ansluta till den var som helst

Kör tankkommandot vid start

Lägg till en avstängningsknapp för att stänga av Pi säkert.

Långsiktig plan:

Bättre körsystem för stabilitet och grepp

Designa mitt eget kretskort istället för en brödbräda nu

Första personens videoinspelning

En annan pistol? Låt oss göra det till ett stridsfartyg!

Lägg till sensorer för självpatrullering?

Datorsyn för automatisk inriktning!

Kontrollera tanken långt långt bort: Jag får se allt hemma!

Steg 8: Tack för att du läste

Tack för att du läste min dåliga engelska (det är inte mitt första språk). Jag hoppas att du hade kul eller lärde dig något här. Detta kommer att vara ett pågående projekt, så om du har expertis inom något område uppskattar jag ditt råd.

Om du har några frågor, vänligen lämna en kommentar, jag ska göra mitt bästa för att svara på den.

Låt mig göra en uppdatering-Cam Tank2.0-inom en snar framtid.

Äntligen, här är en video som visar stridscenariot. Det är ganska roligt.

Njut och vi ses nästa gång!

Rekommenderad: