Obsah:

Raspberry Pi Cam Tank V1.0: 8 kroků (s obrázky)
Raspberry Pi Cam Tank V1.0: 8 kroků (s obrázky)

Video: Raspberry Pi Cam Tank V1.0: 8 kroků (s obrázky)

Video: Raspberry Pi Cam Tank V1.0: 8 kroků (s obrázky)
Video: Mým úkolem je pozorovat les a tady se děje něco zvláštního. 2024, Červenec
Anonim
Image
Image
Raspberry Pi Cam Tank V1.0
Raspberry Pi Cam Tank V1.0

Jako malé dítě miluji tanky. Stavba vlastní tankové hračky je vždy jedním z mých snů. Ale kvůli nedostatku znalostí a dovedností. Sen je jen sen.

Po letech studia ve strojírenství a průmyslovém designu. Získal jsem dovednosti a znalosti. A to díky levnějším hobby 3D tiskárnám. Konečně mohu udělat krok.

Jaké funkce chci, aby tento tank měl?

  • Ovládaný na dálku
  • Odpružená volnoběžná kola (jako skutečný tank!)
  • Má otočnou věž a naklápěcí kulomet BB může střílet 6mm kulky
  • Může streamovat video do ovladače, takže jej můžete ovládat daleko

Na začátku jsem plánoval použít arduino jako ovladač, ale po nějakém výzkumu jsem zjistil, že neexistuje žádný praktický způsob, jak streamovat video sám. Zdá se však, že Raspberry Pi je dobrým kandidátem pro streamování videa. A můžete to ovládat prostřednictvím manželky z vašeho telefonu!

Začněme.

Krok 1: Potřebné součásti

Pro ovládání

Raspberry Pi verze B

Napájený USB rozbočovač (Belkin F4u040)

Webová kamera USB (Logitech C270)

Wifi dongle (Edimax)

Propojovací kabel mezi ženami a muži

Pro řízení

Dva servo nebo motor s vysokým točivým momentem (pro dvě hnací kola)

Jedna 1/8 ocelová tyč pro hřídele kol (koupeno v domácím skladu a levné)

Deset kluzných ložisek (objednáno na Mcmaster)

Některé pružiny pro zavěšení (koupilo se sortiment pružin v Harbour Freight, levné)

Pro věž

Automatická BB zbraň

Jeden mini DC motor s vysokým točivým momentem

Mikro servo pro naklápění nahoru a dolů

Nějaká 1/4 ocelová tyč jela jako náprava zbraně

Jiné věci

Většinu částí této nádrže jsem vytiskl 3D, pokud máte snadný přístup k laserové řezačce, také by to fungovalo.

K tisku jsem použil PLA filament, protože se s ním snáze vypořádává (u ABS žádné problémy s obalem). Ale opravdu těžké brousit, řezat, vrtat později.

Můžete si myslet, že 3D tisk je vhodný pro přizpůsobené součásti a velmi komplikovaný díl můžete vytisknout jako jeden kus. To je pravda. Myslím si však, že tento způsob není pro fandy praktický a ekonomický. Důvody jsou:

Vaše hobby tiskárna nebude tak přesná.

Chybujete při měření a výpočtech (tolerance, zarovnání atd.).

Každopádně je docela velká šance, že vaše výtisky nebudou fungovat nebo se nevejdou na váš první výstřel. Z malé části je to v pořádku, stačí změnit model a poté znovu vytisknout. Ale pro větší a komplikovanější část je frustrující vědět, že je něco špatně po hodinách tisku. Je to ztráta času a materiálu. Takže tady je můj přístup:

Protože cokoli je symetrické, vytiskněte pouze polovinu, vyzkoušejte to, pokud vše funguje dobře, vytiskněte celou věc.

Modelování součásti při přemýšlení o 3D tisku. Mohl by být plochý povrch pro připevnění lůžka tiskárny? Mohlo by být rozděleno na menší kousky, aby se zabránilo velké podpůrné konstrukci?

U dílů, které mají mnoho funkcí (interakce s mnoha dalšími částmi), rozdělte model na moduly. Pokud tedy jedna funkce selže, nebudete muset znovu vytisknout celou část. Stačí modul vyladit a znovu vytisknout. K jejich připojení používám šrouby a matice.

Buďte dobrým přítelem s ručním nářadím, ruční pilou, X-acto, elektrickou vrtačkou, horkou lepicí pistolí. Pokud můžete opravit chybu tisku, opravte ji.

To vysvětluje, proč má můj tank tolik dílů. Stále tyto části dolaďuji a jakmile jsem našel dobrou kombinaci, mohu je vytisknout jako jeden kus. Pak by to byl můj Cam Tank v2.0.

Krok 2: Řídicí systém

Image
Image
Řidičský systém
Řidičský systém
Řidičský systém
Řidičský systém

Suspenze

Nejprve jsem vyrobil prototyp bez jakéhokoli zavěšení, jen nápravy přes spodní trup s ložisky a koly. Ale když jsem přemýšlel o pohodlí operátora (pojedu to sledovat streamované video!), Rozhodl jsem se přidat odpružení, aby bylo chladněji.

Jediné, co mám, jsou vinuté pružiny, žádné hydraulické, žádné listové pružiny. Nejprve jsem experimentoval s mechanismem torzní tyče s PLA. (Odpružení torzní tyčí je u některých tanků běžné). Ukázalo se, že po pár krocích by tištěný pruh PLA změkl a nakonec se zlomil. ABS může být pro tento účel lepší, ale nikdy jsem to nezkoušel. Po dalším výzkumu jsem tedy našel design zavěšení Christie, zde je krátké video, které ukazuje, jak funguje.

Odpružení christie má však tolik malých částí a já tehdy své tiskárně nedůvěřuji. Tak jsem udělal nějaké zavěšení takhle.

(obraz)

Tato konfigurace zabírá příliš mnoho vnitřního prostoru. Otočím tedy vnitřní rameno o 90 stupňů. Všimněte si, že první a poslední kolo bylo kratší

Zadní napínák

Myslel jsem si, že když tank přejede nějaké překážky, mohou se nečinná kola posunout nahoru a trať ztratí napětí. Přidal jsem tedy nějaký mechanismus napínáku na zadní kolo. V zásadě jsou to dvě pružiny, které neustále tlačí na skutečnou nápravu a vyvíjejí na ni určitou sílu, aby napnuly koleje.

Hnací kola a pásy

Tuto housenkovou dráhu a hnací kola jsem navrhl v solidworks. Moc toho o strojírenství nevím, takže výpočet převodu neumím. Simuloval jsem tedy součásti v Solidworks, abych zjistil, zda to funguje, než stisknu tlačítko Tisk. Každá stopa je spojena s náhradním 3mm filamentem. Funguje to docela dobře s nějakým broušením. Ale design trati má vadu, povrch dotýkající se země je příliš hladký, takže je těžké ho uchopit. Pokud to vytisknu vzhůru nohama, mohl bych přidat nějaký běhoun, ale kvůli zubu to bude stát hodně podpůrného materiálu. Budoucí řešení: 1: vytiskněte zub samostatně a poté je slepte dohromady. 2. Naneste trochu gumové spreje.

Poté jsem vytiskl kryt pro serva a ujistil jsem se, že hnací kolo může být připevněno k ramenu serva pomocí šroubů.

Krok 3: Zbraňový systém

Image
Image
Zbraňový systém
Zbraňový systém
Zbraňový systém
Zbraňový systém

Tato část je pro mě nejzajímavější. Můžete si koupit hračku s kamerovým tankem. Ale nenašel jsem jednu hračku kombinující fotoaparát a nějakou zbraň.

Koupil jsem tuto automatickou airsoftovou zbraň za 9,99 $ ve výprodeji. (Nyní je to kolem 20 babek a později možná zkusím něco levnějšího) A zbořte to, abyste pochopili mechanismus. Můžu totálně rozříznout tělo a přilepit ho k nádrži. Ale nemám rád ošklivě vypadající polovinu těla. Provedl jsem tedy nějaké měření a předělal mechanickou část. Z těchto kousků jsem si vzal lekci 3D tisku: vždy uděláte chybu. Aby každý díl seděl, je potřeba 5 výtisků a mnoho řezání, broušení a lepení za tepla, aby fungovalo perfektně.

Poté, co se v mém replikovaném těle správně pohyboval každý díl z hračkářské pistole, vytiskl jsem další čtyři díly, abych tělo upnul. A přidal naklápěcí zařízení, kuličkový trychtýř BB a podporu kamery. Všechny tyto části jsou přišroubovány k tělu zbraně. Nakonec je lze spojit alespoň do dvou částí. Ale myslím, že ještě nejsem připraven.

Na věžovou základnu jsem přidal mikro servo pro naklápění a mikro DC motor pro otáčení.

Potom jsem začal testovat zbraň, připojit 4 AA baterie a dobře střílí. Byl jsem opravdu rád, že to funguje dobře. Ale druhý den jsem našel problém.

Zde je video z mého testování zbraní. věž byla připojena k 3v adaptéru.

Krok 4: Nastavte Pi

Toto je nejdůležitější část, srdce našeho tanku-Raspberry Pi!

Pokud jste Raspberry Pi ještě nehráli. Doporučuji začít touto knihou: Začínáme s malinovým pi od MAKE. Můžete získat základy a komplexní porozumění Pi.

Získejte nejnovější raspbian OS.

Dalším nástrojem, který hodně doporučuji, je Vzdálená plocha. Zde je návod od Adama Rileyho. Po nastavení si můžete zobrazit plochu Pi na svém PC (netestováno na Macu). Spustit Pi „nahý“znamená, že není potřeba displej, myš a klávesnice. Někteří moji přátelé používají příkazový řádek ssh. Ale já dávám přednost desktopu.

Na základě předchozího výzkumu jsem věděl, že Raspberry Pi je schopen streamovat video. Začal jsem se tedy pohrávat s různými aplikacemi na Pi. Mnoho aplikací má buď dlouhé zpoždění (sekundy), nebo má nízkou snímkovou frekvenci. Po několika týdnech bloudění online videi a návody jsem naštěstí našel řešení. Video na youtube o webiopi mi dalo velkou naději. Další výzkum mě přiměl věřit, že je to správná cesta.

Webiopi je framework, který opravdu usnadňuje spojení mezi Pi a jiným internetovým zařízením. Řídí všechny Pi GPIOS a poté spustí server obsahující přizpůsobený html. K tomuto html můžete získat přístup z jiných zařízení (počítač, chytrý telefon atd.) A kliknutím na tlačítko v prohlížeči ve vzdálenosti wifi se spustí GPIO.

Video ve mně vzbudilo naději, vychází z tutoriálu webiopi-projektu cambot. Je uveden na MagZi Magzine #9 [html] [pdf] a #10 [html] [pdf]. Díky Eric PTAK!

Dodržováním tutoriálu krok za krokem můžete dosáhnout dvoukolového kambotu! Funguje to takto: propojte dva motory pomocí H-můstku a poté ovládejte H-můstek pomocí 6 pinů GPIO a ovládejte směr a rychlost. Webiopi se používá k ovládání GPIO. A MJPG-streamer se používá pro streamování videa.

Pokud jste pro Pi nebo Linux noví, jako jsem byl před měsíci, můžete mít po provedení všech kroků malý problém. Můžete spustit kód pythonu pro webiopi a streamované video samostatně, ale nevíte, jak je spustit společně? Chvíli mi trvalo, než jsem věděl, že můžete přidat & po příkazu (& je opravdu těžké hledat na google, BTW), to znamená, že chcete, aby byl tento příkaz spuštěn na pozadí. Takže to udělám pokaždé:

sudo python cambot.py &

sudo./stream.sh

Věřím, že vytvoříte soubor bash obsahující výše uvedený příkaz do jednoho souboru a spustíte jej jednou. Ještě jsem nezkoušel.

Zkusil jsem tedy toto základní nastavení se dvěma stejnosměrnými motory, běží, ale motor, který mám, není dostatečně výkonný. Vede mě k další možnosti: nepřetržitá serva.

Pak přichází nová otázka: podporuje webiopi serva ovládaná PWM?

Odpověď zní ano, ale ne sama: RPIO je zapotřebí k generování softwarového PWM

Instalace RPIO (na první metodu apt-get install nemám štěstí. Metoda github pro mě funguje skvěle)

Ukázkový kód a další diskuse

Nyní je váš robot upgradován dvěma servy! Přemýšlejte o tom, co můžete dělat s extra pažemi!

Výše uvedený ukázkový kód jsem upravil tak, aby odpovídal mé nádrži. K tomu nepotřebujete titul z informatiky. Jste dobří, pokud porozumíte ukázkovému kódu a víte, co zkopírovat a kde změnit.

Krok 5: Elektronické připojení

Elektronické připojení
Elektronické připojení
Elektronické připojení
Elektronické připojení
Elektronické připojení
Elektronické připojení

Powerbank, kterou jsem koupil, Anker Astro Pro, má dva porty USB a jeden port 9 V (hlavní důvod, proč jsem si koupil tento). Zkoušel jsem napájet Pi, wifi dongle a webovou kameru jedním USB portem. Nespustí se. Druhý port USB jsem tedy použil pro napájený rozbočovač USB.

Pak jsem si řekl, že bych možná mohl napájet serva portem USB rozbočovače. Funguje to, ale wifi připojení je velmi velmi nestabilní.

Chcete -li tento problém vyřešit, přinesl jsem 4 baterie AA pro napájení 6V servo potřeb. Odizoloval jsem kabel USB, aby se odhalil zemnící vodič (černý), a spojil se s uzemněním baterie AA.

3 serva, červená na 6V, černá na kostru a signální pin připojený k pinům GPIO.

Jak je naplánováno, věžový rotační motor a motor zbraně by měly být také napájeny 6V s ovládáním H-můstku. Ale když jsem všechno připojil, zbraň nevystřelí! Zdá se, že se motor pokouší otáčet, ale nemůže pohánět rychlostní stupně. Výstupní napětí je správné, ale zdá se, že není dostatek proudu k pohonu. Také jsem zkusil MOSFET bez štěstí.

Této části se musím z časových důvodů vzdát. A to je důvod, proč při testu zbraně musím ručně připojit motor pistole k adaptéru. V elektronice se stále máme co učit. V nejhorším případě jsem mohl zbraň vždy ovládat zatažením a uvolněním spouště.

Krok 6: Rozhraní

Image
Image
Rozhraní
Rozhraní
Rozhraní
Rozhraní

Také jsem změnil rozhraní ze vzorových kódů cambot a rasprover. Protože jsem plánoval používat jako ovladač chytrý telefon, optimalizoval jsem rozložení pro svůj telefon (galaxie poznámka 3).

Většinu rozvržení a stylů lze upravit v index.html. Výchozí styl tlačítka (tmavě šedý s černým okrajem) je však definován v souboru webiopi.css umístěném na/usr/share/webiopi/htdocs. Použil jsem terminál ke spuštění sudo nano, abych jej upravil.

Video stream je umístěn ve středu obrazovky, ovládání jízdy na levé straně a ovládání zbraní na pravé straně. Ovládání řízení jsem navrhl jako dvě sady nahoru (vpřed), stop, dolů (vzad), které chtějí trochu jemnější ovládání, ale na videu můžete říct, že je to někdy nepříjemné.

Krok 7: Plán budoucnosti

Jak můžete říci, tento projekt ještě není dokončen. Díky soutěži o malinové pi jsem minulý týden hodně naskočil a snažil jsem se to dokončit před termínem. Otáčí se docela dobře, dokud jsem nezjistil, že zbraň nestřílí …

Je toho ještě mnoho, co je třeba zlepšit, ale doufám, že se z mé zkušenosti můžete něco naučit.

Krátkodobý plán:

Nechte zbraň fungovat !!!

Větší kontejner pro více BB

Tank potřebuje prozkoumat svět-jděte ven z domácí wifi!

Nastavte uzel ad-hoc na Pi, aby se k němu telefon mohl připojit kdekoli

Spusťte příkaz tank při spuštění

Přidejte tlačítko vypnutí a bezpečně vypněte Pi.

Dlouhodobý plán:

Lepší systém řízení pro stabilitu a přilnavost

Navrhněte si teď místo prkénka vlastní desku s obvody

Nahrávání videa z první osoby

Další zbraň? Pojďme z toho udělat bitevní loď!

Přidat senzory pro vlastní hlídkování?

Počítačové vidění pro automatické cílení!

Ovládejte tank daleko: vše uvidím doma!

Krok 8: Děkujeme za přečtení

Děkuji, že jste si přečetli moji špatnou angličtinu (není to můj první jazyk). Doufám, že jste se zde pobavili nebo se něco naučili. Bude se jednat o pokračující projekt, takže pokud máte odborné znalosti v jakékoli oblasti, oceňuji vaše rady.

Pokud máte nějaké dotazy, zanechte prosím komentář, pokusím se na to odpovědět.

V blízké budoucnosti udělám aktualizaci-Cam Tank2.0.

Nakonec je zde video ukazující scénář bitvy. Je to docela zábavné.

Užijte si to a uvidíme se příště!

Doporučuje: