Talaan ng mga Nilalaman:

Raspberry Pi Cam Tank V1.0: 8 Hakbang (na may Mga Larawan)
Raspberry Pi Cam Tank V1.0: 8 Hakbang (na may Mga Larawan)

Video: Raspberry Pi Cam Tank V1.0: 8 Hakbang (na may Mga Larawan)

Video: Raspberry Pi Cam Tank V1.0: 8 Hakbang (na may Mga Larawan)
Video: BTT Octopus V1.1 - Klipper Configuration 2024, Hulyo
Anonim
Image
Image
Raspberry Pi Cam Tank V1.0
Raspberry Pi Cam Tank V1.0

Gusto ko ang mga tangke mula noong maliit na bata. Ang pagbuo ng aking sariling laruang tanke ay palaging isa sa aking mga pangarap. Ngunit dahil sa kawalan ng kaalaman at kasanayan. Panaginip lamang ang panaginip.

Matapos ang mga taon ng pag-aaral sa disenyo ng engineering at pang-industriya. Nakuha ko ang mga kasanayan at kaalaman. At salamat sa mas murang mga hobby 3D printer. Makakaya ko na rin sa wakas ang aking hakbang.

Anong mga tampok ang nais kong magkaroon ng tangke na ito?

  • Remote kinokontrol
  • Mga nasuspindeng gulong na walang ginagawa (tulad ng totoong tangke!)
  • Ay may isang rotatable toresilya at isang Pagkiling BB baril maaaring shoot 6mm bala
  • Maaaring mag-stream ng video sa controller upang makontrol mo ito nang malayo

Sa simula balak kong gamitin ang arduino bilang tagapamahala, ngunit pagkatapos ng ilang pagsasaliksik nalaman kong walang praktikal na paraan upang mag-stream ng video nang mag-isa. Gayunpaman, ang Raspberry Pi ay tila isang mahusay na kandidato para sa streaming ng video. At maaari mong makontrol ito sa pamamagitan ng asawa mula sa iyong telepono!

Magsimula na tayo.

Hakbang 1: Kailangan ng Mga Bahagi

Para sa pagkontrol

Bersyon ng Raspberry Pi B

Pinapagana ng Usb hub (Belkin F4u040)

USB webcam (Logitech C270)

Wifi dongle (Edimax)

Babae sa lalaking jumper cable

Para sa pagmamaneho

Ang dalawang matataas na metalikang kuwintas ay patuloy na servo o motor (para sa dalawang gulong sa pagmamaneho)

Isang 1/8 bakal na rode para sa mga shaft ng gulong (binili sa depot ng bahay at hindi magastos)

Sampung mga manggas ng manggas (naka-order sa Mcmaster)

Ang ilang mga bukal para sa suspensyon (bumili ng isang assortment ng tagsibol sa Harbour Freight, hindi magastos)

Para sa toresilya

Isang awtomatikong laruang BB gun

Isang mataas na torque mini DC motor

Isang micro servo para sa Pagkiling pataas at pababa

Ang ilang 1/4 bakal na rode bilang gun axle

Iba pang mga bagay-bagay

I-print ng 3D ang karamihan sa mga bahagi ng tangke na ito, kung mayroon kang madaling pag-access sa isang laser cutter, gagana rin iyon.

Gumamit ako ng PLA filament para sa pag-print dahil mas madaling makitungo (walang mga isyu sa balot sa ABS). Ngunit, talagang mahirap buhangin, gupitin, mag-drill mamaya.

Maaari mong isipin na ang pag-print ng 3D ay mabuti para sa na-customize na mga bahagi at maaari mong mai-print ang napaka-kumplikadong bahagi bilang isang piraso. Tama iyan. Gayunpaman, sa palagay ko ang paraan na iyon ay hindi praktikal at matipid para sa isang libangan. Ang mga kadahilanan ay:

Ang iyong hobby printer ay hindi magiging eksakto.

Gagawa ka ng mga pagkakamali sa pagsukat at mga kalkulasyon (pagpapaubaya, pagkakahanay atbp).

Gayunpaman, mayroong isang mataas na pagkakataon na ang iyong mga kopya ay hindi gumana o magkasya sa iyong unang pagbaril. Mabuti ito para sa isang maliit na bahagi, maaari mo lamang baguhin ang modelo pagkatapos muling i-print. Ngunit para sa isang mas malaki at mas kumplikadong bahagi, nakakabigo na malaman ang may mali pagkatapos ng maraming oras ng pag-print. Sayang ang oras at materyal. Kaya narito ang aking diskarte:

Para sa anumang bagay ay simetriko, i-print lamang ang kalahati nito, subukan ito, kung ang lahat ay gumagana nang maayos, i-print ang buong bagay.

Pagmomodelo ng bahagi habang iniisip ang tungkol sa pag-print sa 3D. Maaari bang magkaroon ng isang patag na ibabaw upang ikabit ang kama ng printer? Maaari ba itong hatiin sa mas maliit na mga piraso upang maiwasan ang maraming sumusuporta sa istraktura?

Para sa mga bahagi ay may maraming mga tampok (nakikipag-ugnay sa maraming iba pang mga bahagi), hatiin ang modelo sa mga module. Kaya't kung nabigo ang isang tampok, wala kang muling i-print ang buong bahagi. I-tweak lamang ang module at muling i-print iyon. Gumagamit ako ng mga turnilyo at nut upang ikonekta ang mga ito.

Maging isang mabuting kaibigan na may mga tool sa kamay, nakita sa kamay, X-acto, power drill, hot glue gun. Kung maaari mong ayusin ang isang pagkakamali i-print, ayusin ito.

Ipinapaliwanag nito kung bakit ang aking tangke ay may maraming mga bahagi. Sinasabunutan ko pa rin ang mga bahaging iyon at sa sandaling natagpuan ko ang isang mahusay na kumbinasyon, maaari kong mai-print ang mga ito nang magkasama bilang isang piraso. Pagkatapos iyon ang aking Cam Tank v2.0.

Hakbang 2: Ang Sistema ng Pagmamaneho

Image
Image
Ang Sistema ng Pagmamaneho
Ang Sistema ng Pagmamaneho
Ang Sistema ng Pagmamaneho
Ang Sistema ng Pagmamaneho

Suspensyon

Sa una gumawa ako ng isang prototype nang walang anumang suspensyon, mga axle lang sa kabuuan ng mas mababang katawanin na may mga gulong at gulong. Ngunit sa pag-iisip ng komportable ng operator (hihimokin ko itong panoorin ang streaming video!), Nagpasya akong magdagdag ng suspensyon upang gawing mas cool ito.

Ang mayroon lang ako ay ang ilang mga coil spring, walang haydroliko, walang dahon na spring. Nag-eksperimento ako ng ilang mekanismo ng torsion bar sa PLA noong una. (Ang suspensyon ng bar ng torsyon ay karaniwan sa ilang mga tangke). Lumiliko pagkatapos ng pag-ikot ng mag-asawa, ang nakalimbag na PLA bar ay magiging malambot at kalaunan ay masisira. Maaaring mas mahusay ang ABS para sa hangaring ito ngunit hindi ko kailanman sinubukan. Kaya, pagkatapos ng karagdagang pagsasaliksik, nakita ko ang disenyo ng suspensyon ni Christie, narito ang isang maikling video na nagpapakita kung paano ito gumagana.

Gayunpaman, ang suspensyon ng christie ay may napakaraming maliliit na bahagi, at wala akong kumpiyansa sa aking printer noon. Kaya gumawa ako ng ilang suspensyon na tulad nito.

(imahe)

Ang pagsasaayos na ito ay sumasakop ng labis na panloob na puwang. Kaya paikutin ko ang panloob na braso 90 degree. Pansinin na ang una at huling gulong ay naging mas maikli

Rear tensioner

Akala ko kapag ang tangke na tumatakbo sa ilang mga hadlang, ang mga idle na gulong ay maaaring ilipat pataas at ang track ay mawawala ang pag-igting. Kaya nagdagdag ako ng ilang mekanismo ng pag-igting sa likurang gulong. Karaniwan ito ay dalawang bukal na tinutulak ang totoong ehe sa lahat ng oras, nagpapalakas ng lakas dito upang masikip ang mga track.

Mga gulong at Track ng pagmamaneho

Dinisenyo ko ang mga track ng uod at mga gulong sa pagmamaneho sa solidworks. Hindi ko alam ang tungkol sa mechanical engineering sa gayon ay hindi maaaring gawin ang pagkalkula ng gear. Kaya ginaya ko ang mga bahagi sa solidworks upang makita kung gumagana ito bago ko pindutin ang pindutang I-print. Ang bawat track ay konektado sa ilang ekstrang 3mm filament. Gumagana ito nang maayos sa ilang sanding. Ngunit ang disenyo ng track ay may isang pagkakamali, ang ibabaw na dumadampi sa lupa ay masyadong makinis na mahirap hawakan. Kung mai-print ko ito pabaliktad, maaari akong magdagdag ng isang yapak, ngunit ito ay nagkakahalaga ng maraming sumusuporta sa materyal dahil sa ngipin. Mga solusyon sa hinaharap: 1: hiwalay na i-print ang ngipin pagkatapos ay idikit ito nang magkasama. 2. Maglagay ng pinturang spray spray ng goma.

Pagkatapos ay nai-print ko ang pabahay para sa mga servo at siguraduhin na ang gulong sa pagmamaneho ay maaaring ikabit sa servo arm na may mga turnilyo.

Hakbang 3: Sistema ng armas

Image
Image
Sistema ng armas
Sistema ng armas
Sistema ng armas
Sistema ng armas

Ang bahaging ito ay ang pinaka-kapanapanabik para sa akin. Maaari kang bumili ng laruang tanke ng camera. Ngunit wala akong nahanap na isang laruang pagsasama ng kamera at ilang sandata.

Binili ko ang awtomatikong laruang airsoft gun na ito sa pagbebenta ng $ 9.99. (Nasa paligid ng 20 pera ngayon at baka masubukan ko ang isang bagay na mas mura sa paglaon) At babain ito upang maunawaan ang mekanismo. Maaari kong ganap na gupitin ang katawan at idikit ito sa aking tanke. Ngunit ayoko sa pangit na mukhang kalahating katawan. Kaya kumuha ako ng pagsukat at binago ang mekanikal na bahagi. Mula sa mga piraso na ito natutunan ko ang isang aralin ng pag-print sa 3D: palagi kang magkakamali. Tumatagal ito ng 5 mga kopya upang magkasya ang bawat bahagi, at maraming paggupit, sanding at mainit na pagdikit upang maging perpekto ito.

Matapos ang bawat bahagi mula sa laruang baril ay gumalaw nang tama sa aking kinopya na katawan, nag-print ako ng apat pang iba pang mga bahagi upang mai-clamp ang katawan. At idinagdag ang tilting gear, BB bala funnel at suporta sa camera. Ang mga bahaging ito ay lahat ng naka-screw sa katawan ng baril. Sa paglaon maaari silang pagsamahin sa hindi bababa sa dalawang bahagi. Ngunit sa palagay ko hindi pa ako handa.

Sa base ng toresilya, nagdagdag ako ng isang micro servo, para sa Pagkiling, at isang micro DC motor para sa pag-ikot.

Pagkatapos ay sinimulan kong subukan ang baril, ikonekta ang 4 na baterya ng AA at mahusay itong na-shoot. Talagang masaya ako na gumagana ito ng maayos. Ngunit sa susunod na araw ay nakakita ako ng isang problema.

Narito ang video ng aking pagsubok sa baril. ang toresilya ay konektado sa isang 3v adapter.

Hakbang 4: I-setup ang Pi

Ito ang pinakamahalagang bahagi, ang puso ng aming tank - Raspberry Pi!

Kung hindi ka pa nakakapaglaro ng Raspberry Pi. Inirerekumenda kong magsimula sa aklat na ito: Pagsisimula sa raspberry pi sa pamamagitan ng MAKE. Maaari mong makuha ang mga pangunahing kaalaman at isang komprehensibong pag-unawa sa Pi.

Kunin ang pinakabagong raspbian OS.

Ang susunod na tool na inirerekumenda ko ng maraming ay ang Remote Desktop. Narito ang tutorial ni Adam Riley. Pagkatapos mong mag-set up, maaari mong tingnan ang Pi desktop sa iyong PC (hindi nasubukan sa Mac). Kaya upang patakbuhin ang Pi "hubad", nangangahulugang hindi na kailangan para sa isang display, mouse at keyboard. Ang ilan sa aking mga kaibigan ay gumagamit ng ssh command line. Ngunit mas gusto ko ang desktop.

Batay sa nakaraang pananaliksik, alam kong may kakayahang mag-stream ng video ang Raspberry Pi. Kaya't nagsimula akong magulo sa iba't ibang mga app sa Pi. Marami sa mga app alinman ay may mahabang lag (segundo) o may mababang rate ng frame. Pagkatapos ng ilang linggo ng pagala sa mga online na video at tutorial, sa kabutihang palad nakita ko ang solusyon. Isang video sa youtube tungkol sa webiopi ang nagbigay sa akin ng maraming pag-asa. Mas maraming pananaliksik ang nagpaniwala sa akin na ito ang tamang paraan upang pumunta.

Ang Webiopi ay isang balangkas na gumawa ng koneksyon sa pagitan ng Pi at iba pang aparato sa internet na talagang madali. Kinokontrol nito ang lahat ng Pi GPIOS at pagkatapos ay nagsimula ang isang server na naglalaman ng na-customize na html. Maaari kang makakuha ng access sa html na ito mula sa iba pang mga aparato (computer, smart phone, atbp), at mag-click ng isang pindutan sa browser sa isang distansya ng wifi, isang GPIO ang na-trigger.

Ginawa akong buong pag-asa ng video, batay sa isang webiopi tutorial - cambot project. Itinatampok ito sa MagPi magzine # 9 [html] [pdf] at # 10 [html] [pdf]. Salamat Eric PTAK!

Sa pamamagitan ng pagsunod sa sunud-sunod na tutorial, maaari kang gumawa ng dalawang gulong cambot! Narito kung paano ito gumagana: ikonekta ang dalawang motor na may isang H-tulay, pagkatapos ay kontrolin ang H-tulay na may 6 na mga GPIO pin upang makontrol ang direksyon at bilis. Ginagamit ang Webiopi upang makontrol ang mga GPIO. At ang MJPG-streamer ay ginagamit para sa streaming video.

Kung bago ka sa Pi o Linux tulad ng mga buwan na nakalipas, maaari kang magkaroon ng kaunting problema pagkatapos sundin ang lahat ng mga hakbang. Maaari mong patakbuhin ang python code para sa webiopi at ang streaming na video nang magkahiwalay ngunit hindi alam kung paano patakbo ang mga ito nang magkasama? Tumagal ako ng ilang sandali upang malaman na maaari kang magdagdag ng isang & pagkatapos ng isang utos (at talagang mahirap hanapin sa google, BTW), nangangahulugang nais mong patakbuhin ang utos na ito sa background. Kaya gagawin ko ito tuwing oras:

sudo python cambot.py &

sudo./stream.sh

Naniniwala akong lumikha ka ng isang bash file na naglalaman ng higit na utos sa isang file, at magpatakbo nang isang beses. Hindi ko pa nasubukan.

Kaya't sinubukan ko ang pangunahing setup na ito sa dalawang DC motor, tumatakbo ito, ngunit ang motor na mayroon ako ay hindi sapat na malakas. Inaakay ako sa isa pang pagpipilian: patuloy na servos.

Dumarating ang bagong tanong: sinusuportahan ba ng webiopi ang mga servo ng PWM na kinokontrol?

Ang sagot ay oo, ngunit hindi sa sarili nitong: Kailangan ang RPIO upang makabuo ng software PWM

Pag-install ng RPIO (Wala akong swerte sa unang pamamaraan ng pag-install ng apt-get. Mahusay na gumagana para sa akin ang pamamaraang github)

Sample code at iba pang mga talakayan

Ngayon ang iyong bot ay na-upgrade na may dalawang servo! Mag-isip tungkol sa kung ano ang maaari mong gawin sa sobrang mga armas!

Binago ko ang sample code sa itaas upang magkasya sa aking tank. Hindi mo kailangan ng computer science degree upang magawa ito. Mabuti ka hangga't maaari mong maunawaan ang sample code at malaman kung ano ang kokopyahin at kung saan babaguhin.

Hakbang 5: Koneksyon sa Elektronikon

Koneksyon sa Elektronikon
Koneksyon sa Elektronikon
Koneksyon sa Elektronikon
Koneksyon sa Elektronikon
Koneksyon sa Elektronikon
Koneksyon sa Elektronikon

Ang power bank na binili ko, Anker Astro Pro, ay may dalawang usb port at isang 9v port (pangunahing dahilan na binili ko ang isang ito). Sinubukan kong paandarin ang Pi, wifi dongle at webcam na may isang usb port. Hindi nagsisimula. Kaya ginamit ko ang iba pang USB port para sa isang pinalakas na USB hub.

Pagkatapos naisip ko na baka mapalakas ko ang mga servos sa port ng USB hub. Gumagana ito, ngunit ang koneksyon sa wifi ay napaka hindi matatag.

Upang malutas ang problemang ito, nagdala ako ng 4 na baterya ng AA upang mapatakbo ang mga pangangailangan ng 6V servo. Inalis ko ang USB cable upang ilantad ang ground wire (itim) at kumonekta sa ground ng baterya ng baterya ng AA.

3 servos, pula hanggang 6V, itim sa lupa, at signal pin na konektado sa mga GPIO pin.

Tulad ng planado, ang turretong umiikot na motor at gun motor ay dapat ding pinalakas ng 6V na may kontrol na H-bridge. Ngunit kapag ikinonekta ko ang lahat, hindi magpaputok ang baril! Tila sinusubukan ng motor na paikutin, ngunit hindi maaaring himukin ang mga gears. Tama ang boltahe ng output, ngunit tila walang sapat na kasalukuyang upang humimok. Sinubukan ko rin ang MOSFET na walang swerte.

Kailangan kong isuko ang bahaging ito para sa mga kadahilanang oras. At ito ang dahilan kung bakit sa pagsubok ng baril kailangan kong ikonekta ang motor ng baril sa manu-manong adapter. Marami pa ring matutunan sa electronics. Ang pinakapangit na sitwasyon ng kaso, palagi kong makokontrol ang baril gamit ang isang servo pull at bitawan ang gatilyo.

Hakbang 6: Interface

Image
Image
Interface
Interface
Interface
Interface

Binago ko rin ang mga interface mula sa cambot at mga sample ng rasprover na code. Dahil balak kong gamitin ang smart phone bilang controller, na-optimize ko ang layout para sa aking telepono (galaxy note3).

Karamihan sa mga layout at istilo ay maaaring mai-edit sa index.html. Gayunpaman ang default na pindutan (maitim na kulay-abo na may itim na hangganan) na estilo ay tinukoy sa webiopi.css na matatagpuan sa / usr / share / webiopi / htdocs. Gumamit ako ng terminal upang patakbuhin ang sudo nano upang mabago ito.

Ang stream ng video ay matatagpuan sa gitna ng screen, kontrol sa pagmamaneho sa kaliwang bahagi, at kontrol sa sandata sa kanan. Dinisenyo ko ang kontrol sa pagmamaneho bilang dalawang hanay ng pataas (pasulong), itigil, pababa (paatras) na nais ng ilang mas pinong kontrol, ngunit sa video masasabi mong mahirap ito minsan.

Hakbang 7: Plano sa Hinaharap

Tulad ng masasabi mo, ang proyekto na ito ay hindi pa tapos. Salamat sa paligsahan ng raspberry pi, marami akong nai-crank noong nakaraang linggo, sinusubukan ko lang itong tapusin bago mag-deadline. Lumiliko ito nang maayos hanggang sa makita kong hindi nagbaril ang baril …

Marami pa itong dapat mapabuti, ngunit inaasahan kong may matutunan ka sa aking karanasan.

Plano ng Panandaliang:

Gawin ang baril !!!

Mas malaking lalagyan para sa higit pang BB

Kailangan ng tanke upang galugarin ang mundo - lumabas sa gilid ng wifi sa bahay!

I-set up ang ad-hoc node sa Pi, upang ang telepono ay maaaring kumonekta dito kahit saan

Patakbuhin ang utos ng tanke sa pagsisimula

Magdagdag ng isang shut down button upang i-off ang Pi nang ligtas.

Pangmatagalang Plano:

Mas mahusay na sistema ng pagmamaneho para sa katatagan at mahigpit na pagkakahawak

Idisenyo ang aking sariling circuit board sa halip na isang breadboard ngayon

Pagrekord ng video ng unang tao

Isa pang baril? Gawin natin itong isang battle ship!

Magdagdag ng mga sensor para sa sariling pagpapatrolya?

Paningin sa computer para sa pag-target sa auto!

Kontrolin ang tangke nang malayo: Makikita ko ang lahat sa bahay!

Hakbang 8: Salamat sa Pagbasa

Salamat sa pagbabasa ng aking mahirap na Ingles (hindi ito ang aking unang wika). Inaasahan kong mayroon kang ilang kasiyahan o natutunan dito. Ito ay magiging isang patuloy na proyekto, kaya kung mayroon kang kadalubhasaan sa anumang larangan, pinahahalagahan ko ang iyong payo.

Kung mayroon kang anumang mga katanungan, mangyaring mag-iwan ng isang puna, susubukan ko ang aking makakaya upang sagutin ito.

Hayaan akong gumawa ng isang pag-update - Ang Cam Tank2.0-- sa malapit na hinaharap.

Sa wakas, narito ang isang video na nagpapakita ng senaryo ng labanan. Medyo nakakaaliw.

Tangkilikin at makita ka sa susunod!

Inirerekumendang: