Mündəricat:

Raspberry Pi Cam Tank V1.0: 8 addım (şəkillərlə)
Raspberry Pi Cam Tank V1.0: 8 addım (şəkillərlə)

Video: Raspberry Pi Cam Tank V1.0: 8 addım (şəkillərlə)

Video: Raspberry Pi Cam Tank V1.0: 8 addım (şəkillərlə)
Video: BigTreeTech - SKR 3 - TMC2130 with Sensorless Homing 2024, Iyul
Anonim
Image
Image
Raspberry Pi Cam Tankı V1.0
Raspberry Pi Cam Tankı V1.0

Uşaqlıqdan tankları sevirəm. Öz tank oyuncağımı qurmaq həmişə xəyallarımdan biridir. Ancaq bilik və bacarıqların olmaması səbəbindən. Xəyal sadəcə bir xəyaldır.

Uzun illər mühəndislik və sənaye dizaynı təhsilindən sonra. Bilik və bacarıqlar əldə etdim. Və daha ucuz hobbi 3D printerlər sayəsində. Nəhayət addımımı ata bilərəm.

Bu tankın hansı xüsusiyyətlərə malik olmasını istəyirəm?

  • Uzaqdan idarə olunan
  • Asma boş təkərlər (əsl tank kimi!)
  • Dönə bilən bir qüllə və əyilmiş BB silahı 6 mm güllə ata bilər
  • Videonu nəzarətçiyə ötürə bilərsiniz, buna görə uzaqdan idarə edə bilərsiniz

Başlanğıcda arduino -nu nəzarətçi kimi istifadə etməyi planlaşdırırdım, amma bəzi araşdırmalardan sonra videonu öz -özünə yayımlamağın praktik bir yolunun olmadığını gördüm. Ancaq Raspberry Pi, video axını üçün yaxşı bir namizəd kimi görünür. Və telefonunuzdan həyat yoldaşı vasitəsi ilə idarə edə bilərsiniz!

Gəlin başlayaq.

Addım 1: Lazım olan hissələr

Nəzarət üçün

Raspberry Pi versiyası B

Güclü Usb mərkəzi (Belkin F4u040)

USB veb kamera (Logitech C270)

Wifi kilidi (Edimax)

Qadından kişiyə tullanan kabel

Sürmək üçün

İki yüksək tork davam edən servo və ya motor (iki təkər üçün)

Təkər şaftları üçün 1 1/8 polad minib (evdə depodan alınıb və ucuzdur)

On qollu rulmanlar (Mcmaster -də sifariş verilir)

Asma üçün bəzi yaylar (Harbor Freight -da bahar çeşidi alıb, ucuz)

Qüllə üçün

Avtomatik BB silah oyuncağı

Bir yüksək torklu mini DC motor

Yuxarı və aşağı əymək üçün mikro servo

Təxminən 1/4 polad silah oxu kimi hərəkət etdi

Başqa şeylər

Mən bu tankın əksər hissələrini 3D çap etdim, lazer kəsiciyə asanlıqla daxil olsanız, bu da işləyəcək.

Çap etmək üçün PLA filamentindən istifadə etdim, çünki onunla məşğul olmaq daha asandır (ABS -də bükülmə problemi yoxdur). Ancaq sonra zımpara etmək, kəsmək, sonra qazmaq çətindir.

Xüsusi hissələr üçün 3D çapın yaxşı olduğunu düşünə bilərsiniz və çox mürəkkəb bir hissəni bir parça olaraq çap edə bilərsiniz. Bu doğrudur. Ancaq düşünürəm ki, bir hobbi üçün bu yol praktik və iqtisadi deyil. Səbəblər bunlardır:

Hobbi printeriniz o qədər də dəqiq olmayacaq.

Ölçmə və hesablamalarda səhvlər edəcəksiniz (tolerantlıq, uyğunlaşma və s.).

Hər halda, çaplarınızın işləməməsi və ya ilk çəkilişinizə uyğun gəlməməsi ehtimalı yüksəkdir. Kiçik bir hissə üçün yaxşıdır, sadəcə modeli dəyişdirə və yenidən çap edə bilərsiniz. Ancaq daha böyük və daha mürəkkəb bir hissə üçün, saatlarla çap etdikdən sonra bir şeyin səhv olduğunu bilmək əsəbiləşdirir. Vaxt və material itkisidir. Budur mənim yanaşmam:

Hər şey simmetrik olduğu üçün yalnız yarısını çap edin, sınayın, hər şey yaxşı işləyirsə, hər şeyi çap edin.

3D çap haqqında düşünərkən hissənin modelləşdirilməsi. Yazıcı yatağını bağlamaq üçün düz bir səth ola bilərmi?

Parçaların bir çox xüsusiyyətə malik olması (bir çox digər hissələrlə qarşılıqlı əlaqədə olması) üçün modeli modullara bölün. Beləliklə, bir xüsusiyyət uğursuz olarsa, bütün hissəni yenidən çap etməyəcəksiniz. Modulu dəyişdirin və yenidən çap edin. Onları bağlamaq üçün vintlər və qoz -fındıq istifadə edirəm.

Əl alətləri, əl mişarı, X-acto, elektrikli matkap, isti yapışqan silahı ilə yaxşı bir dost olun. Səhv çapı düzəldə bilərsinizsə, düzəldin.

Tankımın niyə bu qədər çox hissəyə sahib olduğunu izah edir. Hələ də bu hissələri düzəldirəm və yaxşı bir birləşmə tapdıqdan sonra onları bir parça olaraq çap edə bilərəm. Sonra bu mənim Cam Tank v2.0 olardı.

Addım 2: Sürücü Sistemi

Image
Image
Sürücülük Sistemi
Sürücülük Sistemi
Sürücülük Sistemi
Sürücülük Sistemi

Asma

Əvvəlcə heç bir süspansiyonsuz bir prototip hazırladım, yalnız gövdənin alt hissəsində yataqları və təkərləri olan oxlar. Amma operatorun rahatlığını düşünərək (axın videosunu seyr edərək sürəcəyəm!) Daha sərin etmək üçün asma əlavə etmək qərarına gəldim.

Əlimdə yalnız bir neçə yay bulağı var, hidravlik yoxdur, yarpaq yay yoxdur. Əvvəlcə PLA ilə burulma çubuğu mexanizmini sınaqdan keçirdim. (Burulma çubuğu süspansiyonu bəzi tanklarda yaygındır). Bir neçə büküldükdən sonra, çap edilmiş PLA çubuğu yumşalacaq və nəticədə qırılacaq. ABS bu məqsəd üçün daha yaxşı ola bilər, amma heç cəhd etməmişəm. Beləliklə, əlavə araşdırmalardan sonra Christie asma dizaynını tapdım, burada necə işlədiyini göstərən qısa bir video var.

Bununla birlikdə, christie süspansiyonunun çox kiçik hissələri var və o zaman printerimə inamım yoxdur. Buna görə də belə bir dayandırma etdim.

(şəkil)

Bu konfiqurasiya çox daxili yer tutur. Buna görə daxili qolu 90 dərəcə döndərirəm. İlk və son təkərin daha qısa olduğuna diqqət yetirin

Arxa gərginlik

Düşündüm ki, tank bəzi maneələri aşanda boş təkərlər yuxarı qalxa bilər və yol gərginliyi itirəcək. Buna görə də arxa təkərə bir az gərginlik mexanizmi əlavə etdim. Əsasən, hər zaman əsl oxu itələyən, izləri sıxmaq üçün bir az güc tətbiq edən iki yaydır.

Sürücü təkərlər və yollar

Bu tırtıl izlərini və sürücülük təkərlərini bərk işlərdə hazırladım. Maşınqayırma haqqında çox şey bilmirəm, buna görə dişli hesablamasını edə bilmirəm. Çap düyməsini basmadan əvvəl işlədiyini görmək üçün hissələri möhkəm işlərdə simulyasiya etdim. Hər bir parça 3 mm ehtiyat filamentlə bağlanır. Bir az zımpara ilə olduqca yaxşı işləyir. Ancaq yol dizaynında bir qüsur var, səthə toxunan səth çox hamar olduğundan tutmaq çətindir. Tərsinə yazdırsam, bir az diş əlavə edə bilərəm, amma dişə görə çoxlu dəstək materialına başa gələcək. Gələcək həllər: 1: dişləri ayrıca çap edin, sonra yapışdırın. 2. Bir az rezin örtüklü sprey boyası çəkin.

Sonra servo üçün korpusu çap etdim və sürücünün təkərin servo qola vintlər ilə bağlana biləcəyinə əmin oldum.

Addım 3: Silah Sistemi

Image
Image
Silah Sistemi
Silah Sistemi
Silah Sistemi
Silah Sistemi

Bu hissə mənim üçün ən həyəcanlıdır. Bir kamera tank oyuncağı ala bilərsiniz. Ancaq bir oyuncaq kamera və bir də silah tapmadım.

Bu avtomatik airsoft silah oyuncağını satışda 9.99 dollara aldım. (İndi təxminən 20 dollardır və daha sonra daha ucuz bir şey sınaya bilərəm) Və mexanizmi başa düşmək üçün parçalayın. Cəsədi tamamilə kəsib tankıma yapışdıra bilərəm. Amma çirkin görünüşlü bədəni sevmirəm. Bir az ölçü götürüb mexaniki hissəni yenidən düzəltdim. Bu parçalardan 3D çapdan dərs aldım: həmişə səhv edəcəksən. Hər hissəni uyğunlaşdırmaq üçün 5 çap və mükəmməl işləməsi üçün çoxlu kəsmə, zımpara və isti yapışdırmaq lazımdır.

Oyuncaq silahının hər bir hissəsi təkrarlanan bədənimdə düzgün hərəkət etdikdən sonra, bədəni bağlamaq üçün digər dörd hissəni çap etdim. Və əyilmə dişli, BB güllə hunisi və kamera dəstəyi əlavə edildi. Bu hissələrin hamısı silah gövdəsinə vidalanmışdır. Sonda ən azı iki hissəyə birləşdirilə bilər. Amma düşünürəm ki, hələ hazır deyiləm.

Qüllə bazasına əymək üçün bir mikro servo və fırlanma üçün bir mikro DC motor əlavə etdim.

Sonra silahı sınamağa, 4 AA batareyanı bağlamağa başladım və yaxşı vurur. Yaxşı işlədiyinə görə çox sevindim. Ancaq ertəsi gün bir problem tapdım.

İşdə silah sınağımın videosu. qüllə 3v adapterə qoşuldu.

Addım 4: Pi qurun

Bu, tankımızın ən vacib hissəsi, ürəyi-Raspberry Pi!

Hələ Raspberry Pi oynamamısınızsa. Bu kitabla başlamağı məsləhət görürəm: MAKE tərəfindən moruq pi ilə işə başlayın. Pi haqqında əsasları və hərtərəfli anlayışı əldə edə bilərsiniz.

Ən son raspbian əməliyyat sistemini əldə edin.

Çox tövsiyə etdiyim növbəti vasitə Uzaq Masaüstüdür. Burada Adam Riley -in dərsliyi var. Qurduqdan sonra kompüterinizdə Pi masaüstünə baxa bilərsiniz (Mac -da yoxlanılmamışdır). Beləliklə, Pi -ni "çılpaq" idarə etmək üçün ekrana, siçana və klaviaturaya ehtiyac yoxdur. Bəzi dostlarım ssh əmr satırından istifadə edirlər. Amma masaüstünə üstünlük verirəm.

Əvvəlki araşdırmalara əsasən, Raspberry Pi -nin video axını apara biləcəyini bilirdim. Beləliklə, Pi üzərindəki fərqli tətbiqlərlə qarışmağa başladım. Tətbiqlərin çoxunda ya uzun gecikmə (saniyə) var, ya da kadr sürəti aşağıdır. Bir neçə həftəlik onlayn video və dərslərdə gəzdikdən sonra xoşbəxtlikdən həllini tapdım. YouTube'da webiopi haqqında bir video mənə çox ümid verdi. Daha çox araşdırma bunun doğru yolda olduğuna inandırdı.

Webiopi, Pi ilə digər internet cihazı arasında əlaqəni çox asanlaşdıran bir çərçivədir. Bütün Pi GPIOS -u idarə edir və sonra xüsusi html olan bir serverə başlayır. Bu html -ə digər cihazlardan (kompüterdən, ağıllı telefondan və s.) Daxil ola bilərsiniz və brauzerdəki wifi məsafəsindəki bir düyməni basaraq GPIO işə salınır.

Video məni ümidlə doldu, bir webiopi tutorial-cambot layihəsinə əsaslanır. MagPi jurnalında #9 [html] [pdf] və #10 [html] [pdf] jurnallarında yer alır. Təşəkkürlər Eric PTAK!

Dərsliyi addım -addım izləyərək iki təkərli kamboot edə bilərsiniz! İş necədir: iki mühərriki H körpüsü ilə bağlayın, sonra istiqaməti və sürəti idarə etmək üçün 6 GPIO pinli H körpüsünü idarə edin. Webiopi GPIO -ları idarə etmək üçün istifadə olunur. Və video axını üçün MJPG-streamer istifadə olunur.

Aylar əvvəl olduğu kimi Pi və ya Linux -da yenisinizsə, bütün addımları izlədikdən sonra bir az probleminiz ola bilər. Python kodunu webiopi və axın videosu üçün ayrı -ayrılıqda işlədə bilərsiniz, amma bunları necə birlikdə idarə edəcəyinizi bilmirsiniz? Bir əmrdən sonra & əlavə edə biləcəyinizi bilmək bir müddət çəkdi (və Google -da, BTW -də axtarış etmək həqiqətən çətindir), yəni bu əmrin arxa planda işləməsini istəyirsiniz. Buna görə hər dəfə bunu edəcəyəm:

sudo python cambot.py &

sudo./stream.sh

İnanıram ki, bir faylda yuxarıdakı əmri ehtiva edən bir bash faylı yaradın və bir dəfə işləyin. Mən hələ cəhd etməmişəm.

Bu əsas qurğunu iki DC mühərriki ilə sınadım, işləyir, amma sahib olduğum motor kifayət qədər güclü deyil. Məni başqa bir seçimə aparır: davamlı servolar.

Yeni bir sual ortaya çıxır: webiopi PWM idarə olunan servoları dəstəkləyirmi?

Cavab bəli, ancaq özü tərəfindən deyil: PWM proqramı yaratmaq üçün RPIO lazımdır

RPIO quraşdırılması (ilk apt-get quraşdırma metodunda şansım yoxdur. Github metodu mənim üçün əla işləyir)

Nümunə kodu və digər müzakirələr

İndi botunuz iki servo ilə təkmilləşdirildi! Əlavə silahlarla nə edə biləcəyinizi düşünün!

Yuxarıdakı nümunə kodunu tankıma uyğun olaraq dəyişdirdim. Bunu etmək üçün kompüter elmləri dərəcəsinə ehtiyacınız yoxdur. Nümunə kodunu başa düşə biləcəyiniz və nəyi kopyalayacağınızı və harada dəyişdirəcəyinizi bildiyiniz müddətcə yaxşıdır.

Addım 5: Elektron Bağlantı

Elektron Bağlantı
Elektron Bağlantı
Elektron Bağlantı
Elektron Bağlantı
Elektron Bağlantı
Elektron Bağlantı

Aldığım güc bankı Anker Astro Pro -da iki usb portu və bir 9v portu var (bunu almağımın əsas səbəbi). Pi, wifi açarını və veb kameranı bir usb portu ilə gücləndirməyə çalışdım. Başlamır. Güclü bir USB hub üçün digər USB portundan istifadə etdim.

Sonra düşündüm ki, bəlkə də USB hub portu ilə servoları gücləndirə bilərəm. İşləyir, amma wifi bağlantısı çox qeyri -sabitdir.

Bu problemi həll etmək üçün 6V servo ehtiyaclarını təmin etmək üçün 4 AA batareya gətirdim. Topraklama telini (qara) açmaq və AA batareya paketi ilə birləşdirmək üçün USB kabelini zolaqdan keçirdim.

3 servo, qırmızı 6V, qara torpaq və GPIO pinlərinə bağlı siqnal pimi.

Planlaşdırıldığı kimi, turretin fırlanan mühərriki və silah mühərriki də H-körpüsü idarəedicisi olan 6V ilə təchiz olunmalıdır. Ancaq hər şeyi bağladığım zaman silah atəş etməyəcək! Görünür, motor dönməyə çalışır, amma dişliləri idarə edə bilmir. Çıxış gərginliyi doğrudur, amma idarə etmək üçün kifayət qədər cərəyan yoxdur. MOSFET -i də uğurla sınadım.

Vaxt səbəblərindən bu hissədən imtina etməliyəm. Silah testində silah motorunu adapterə əl ilə bağlamağımın səbəbi budur. Elektronikada hələ çox şey öyrənmək lazımdır. Ən pis vəziyyət ssenarisi, hər zaman silahı bir servo çəkmə və buraxma tetiği ilə idarə edə bilərdim.

Addım 6: Arayüz

Image
Image
İnterfeys
İnterfeys
İnterfeys
İnterfeys

Kamboot və rasprover nümunə kodlarından da interfeysləri dəyişdirdim. Ağıllı telefonu nəzarətçi kimi istifadə etməyi planlaşdırdığım üçün telefonumun planını optimallaşdırdım (galaxy note3).

Dizayn və üslubların çoxu index.html -də redaktə edilə bilər. Bununla birlikdə, standart düymə (qara haşiyəli tünd boz) üslubu/usr/share/webiopi/htdocs ünvanında yerləşən webiopi.css -də müəyyən edilmişdir. Dəyişdirmək üçün sudo nanonu işə salmaq üçün terminaldan istifadə etdim.

Video axını ekranın ortasında, sürücülük idarəetmə sistemi sol tərəfdə və silah idarəetmə sistemi sağda yerləşir. Sürücülük idarəetməsini bir qədər daha yaxşı idarə etmək istəyən yuxarı (irəli), dayandır, aşağı (geriyə) iki dəst olaraq tərtib etdim, amma videoda bəzən bunun çətin olduğunu söyləyə bilərsiniz.

Addım 7: Gələcək Planı

Anladığınız kimi, bu layihə hələ bitməyib. Moruq pi yarışması sayəsində, keçən həftə çox büküldüm, yalnız son tarixdən əvvəl bitirməyə çalışdım. Silahın atəş etmədiyini görənə qədər çox yaxşı gedir …

Təkmilləşdiriləcək daha çox şey var, amma ümid edirəm təcrübəmdən bir şey öyrənə bilərsiniz.

Qısa müddətli plan:

Silahı işə salın !!!

Daha çox BB üçün daha böyük konteyner

Tank dünyanı araşdırmalıdır-ev wifi-nin kənarına çıxın!

Telefonda istənilən yerə qoşula bilməsi üçün Pi üzərində ad hoc node qurun

Başlanğıcda tank əmrini yerinə yetirin

Pi'yi etibarlı şəkildə söndürmək üçün bağlama düyməsini əlavə edin.

Uzunmüddətli Plan:

Sabitlik və tutuş üçün daha yaxşı idarəetmə sistemi

İndi çörək taxtası əvəzinə öz elektron lövhəmi hazırlayın

Birinci şəxsin video yazısı

Başqa bir silah? Gəlin onu döyüş gəmisi edək!

Öz -özünə patrul etmək üçün sensorlar əlavə edilsin?

Avtomatik hədəfləmə üçün kompüter vizyonu!

Tankı uzaqdan idarə edin: hər şeyi evdə görəcəyəm!

Addım 8: Oxuduğunuz üçün təşəkkürlər

Kasıb ingilis dilimi oxuduğunuz üçün təşəkkürlər (bu mənim ilk dilim deyil). Ümid edirəm ki, burada əylənib ya da nəsə öyrənmisiniz. Bu, davam edən bir layihə olacaq, buna görə də hər hansı bir sahədə təcrübəniz varsa, məsləhətlərinizə görə minnətdaram.

Hər hansı bir sualınız varsa, şərh yazın, cavablandırmaq üçün əlimdən gələni edəcəyəm.

Bir yeniləmə edək-Cam Tank2.0-yaxın gələcəkdə.

Nəhayət, burada döyüş ssenarisini göstərən bir video var. Olduqca əyləncəlidir.

Zövq alın və növbəti dəfə görüşək!

Tövsiyə: