İçindekiler:

Raspberry Pi Cam Tank V1.0: 8 Adım (Resimli)
Raspberry Pi Cam Tank V1.0: 8 Adım (Resimli)

Video: Raspberry Pi Cam Tank V1.0: 8 Adım (Resimli)

Video: Raspberry Pi Cam Tank V1.0: 8 Adım (Resimli)
Video: Timelapse Final Fantasy Gunblade Printed on a CR-30 2024, Temmuz
Anonim
Image
Image
Raspberry Pi Cam Tank V1.0
Raspberry Pi Cam Tank V1.0

Küçüklüğümden beri tankları severim. Kendi tank oyuncağımı yapmak her zaman hayallerimden biridir. Ancak bilgi ve beceri eksikliğinden dolayı. Rüya sadece bir rüyadır.

Mühendislik ve endüstriyel tasarım alanında yıllarca çalıştıktan sonra. Beceri ve bilgi edindim. Ve daha ucuz hobi 3D yazıcılar sayesinde. Sonunda adımımı atabilirim.

Bu tankın sahip olmasını istediğim özellikler nelerdir?

  • Uzaktan kumandalı
  • Süspansiyonlu rölanti tekerlekleri (gerçek tank gibi!)
  • Dönebilen bir tarete sahiptir ve eğilebilen bir BB tabancası 6 mm'lik mermi atabilir
  • Videoyu denetleyiciye aktarabilir, böylece uzaktan kontrol edebilirsiniz

Başlangıçta arduino'yu denetleyici olarak kullanmayı planladım, ancak bazı araştırmalardan sonra kendi kendine video akışı yapmanın pratik bir yolu olmadığını buldum. Ancak Raspberry Pi, video akışı için iyi bir aday gibi görünüyor. Ve telefonunuzdan eşiniz üzerinden kontrol edebilirsiniz!

Başlayalım.

Adım 1: Gerekli Parçalar

kontrol için

Ahududu Pi sürüm B

Güçlendirilmiş Usb hub(Belkin F4u040)

USB web kamerası(Logitech C270)

Wifi dongle(Edimax)

Dişiden erkeğe atlama kablosu

sürüş için

İki yüksek torklu servo veya motor devam eder (iki tahrik tekerleği için)

Tekerlek milleri için bir adet 1/8 çelik çubuk (ev deposundan satın alındı ve ucuz)

On kovanlı yatak (Mcmaster'da sipariş edilir)

Süspansiyon için bazı yaylar (Harbour Freight'ten bir yay çeşitleri satın aldı, ucuz)

taret için

Otomatik bir BB silah oyuncağı

Bir adet yüksek torklu mini DC motor

Yukarı ve aşağı eğmek için bir mikro servo

Silah aksı olarak bazı 1/4 çelik sürdü

Diğer şey

Bir lazer kesiciye kolay erişiminiz varsa, bu tankın çoğu parçasını 3D olarak yazdırdım, bu da işe yarayacaktır.

Baskı için PLA filamenti kullandım çünkü başa çıkması daha kolay (ABS'de sarma sorunu yok). Ama daha sonra zımparalamak, kesmek, delmek gerçekten zor.

Özelleştirilmiş parçalar için 3D baskının iyi olduğunu düşünebilirsiniz ve çok karmaşık parçaları tek parça olarak yazdırabilirsiniz. Bu doğru. Ancak bu yolun bir hobici için pratik ve ekonomik olmadığını düşünüyorum. Nedenler:

Hobi yazıcınız o kadar kesin olmayacak.

Ölçüm ve hesaplamalarda (tolerans, hizalama vb.) hatalar yapacaksınız.

Her neyse, baskılarınızın çalışmama veya ilk çekiminize uymama ihtimali oldukça yüksek. Küçük bir parça için sorun değil, sadece modeli değiştirip yeniden yazdırabilirsiniz. Ancak daha büyük ve daha karmaşık bir parça için, saatlerce baskı yaptıktan sonra bir şeylerin yanlış olduğunu bilmek sinir bozucu. Zaman ve malzeme kaybıdır. İşte benim yaklaşımım:

Her şey simetrik olduğu için, sadece yarısını yazdırın, deneyin, her şey yolunda giderse tamamını yazdırın.

3D baskıyı düşünürken parçayı modellemek. Yazıcı yatağını takmak için düz bir yüzey olabilir mi? Çok fazla destekleyici yapıdan kaçınmak için daha küçük parçalara ayrılabilir mi?

Parçaların birçok özelliği olduğu için (diğer birçok parçayla etkileşim halinde), modeli modüllere ayırın. Bu nedenle, bir özellik başarısız olursa, tüm parçayı yeniden yazdırmanız gerekmez. Sadece modülü değiştirin ve yeniden yazdırın. Bunları bağlamak için vida ve somun kullanıyorum.

El aletleri, el testeresi, X-acto, elektrikli matkap, sıcak tutkal tabancası ile iyi bir arkadaş olun. Bir hatayı düzeltebilirseniz yazdırın, düzeltin.

Bu, tankımın neden bu kadar çok parçaya sahip olduğunu açıklıyor. Hâlâ o parçaları değiştiriyorum ve iyi bir kombinasyon bulduğumda onları tek parça olarak yazdırabilirim. O zaman bu benim Cam Tank v2.0'ım olurdu.

2. Adım: Sürüş Sistemi

Image
Image
Sürüş Sistemi
Sürüş Sistemi
Sürüş Sistemi
Sürüş Sistemi

Süspansiyon

İlk başta herhangi bir süspansiyonu olmayan bir prototip yaptım, sadece gövdenin alt kısmında yataklar ve tekerleklerle akslar vardı. Ancak operatörün rahatını düşünerek (videoyu izlerken kullanacağım!), daha serin hale getirmek için süspansiyon eklemeye karar verdim.

Tüm sahip olduğum bazı helezon yaylar, hidrolik yok, yaprak yay yok. İlk başta PLA ile bir burulma çubuğu mekanizması denedim. (Burulma çubuğu süspansiyonu bazı tanklarda yaygındır). Birkaç bükülmeden sonra, yazdırılan PLA çubuğu yumuşar ve sonunda kırılır. ABS bu amaç için daha iyi olabilir ama hiç denemedim. Daha fazla araştırmadan sonra Christie süspansiyon tasarımını buldum, işte nasıl çalıştığını gösteren kısa bir video.

Ancak, christie süspansiyonunun çok fazla küçük parçası var ve o zaman yazıcıma güvenim kalmadı. Bu yüzden böyle bir süspansiyon yaptım.

(resim)

Bu konfigürasyon çok fazla iç alan kaplar. Bu yüzden iç kolu 90 derece döndürüyorum. İlk ve son tekerleğin kısaldığına dikkat edin

Arka gergi

Tank bazı engellerin üzerinden geçerken, boşta olan tekerlekler yukarı kalkabilir ve palet gerginliğini kaybedebilir diye düşündüm. Bu yüzden arka tekerleğe biraz gergi mekanizması ekledim. Temel olarak, gerçek dingili her zaman iten ve paletleri sıkıştırmak için bir miktar kuvvet uygulayan iki yaydır.

Sürüş tekerlekleri ve Paletler

Bu tırtıl paletlerini ve sürüş tekerleklerini solidworks'te tasarladım. Makine mühendisliği hakkında pek bilgim olmadığı için vites hesabını yapamıyorum. Bu yüzden, Yazdır düğmesine basmadan önce çalışıp çalışmadığını görmek için solidworks'te parçaları simüle ettim. Her parça bazı yedek 3mm filament ile bağlanır. Biraz zımpara ile oldukça iyi çalışıyor. Ancak pist tasarımında bir kusur var, zemine temas eden yüzey çok pürüzsüz ve kavraması zor. Baş aşağı yazdırırsam, biraz sırt ekleyebilirim, ancak diş nedeniyle çok fazla destek malzemesine mal olacak. Gelecekteki çözümler: 1: dişi ayrı yazdırın ve ardından birbirine yapıştırın. 2. Biraz kauçuk kaplama sprey boya uygulayın.

Daha sonra servolar için muhafazayı yazdırdım ve tahrik tekerleğinin servo koluna vidalarla takılabileceğinden emin oldum.

Adım 3: Silah Sistemi

Image
Image
Silah Sistemi
Silah Sistemi
Silah Sistemi
Silah Sistemi

Bu kısım benim için en heyecanlı kısım. Bir kameralı tank oyuncağı satın alabilirsiniz. Ama kamera ve silahı birleştiren bir oyuncak bulamadım.

Bu otomatik airsoft silah oyuncağını 9.99 dolara indirimde satın aldım. (Şu anda 20 dolar civarında ve daha sonra daha ucuz bir şey deneyebilirim) Ve mekanizmayı anlamak için onu parçalayın. Gövdeyi tamamen kesip tankıma yapıştırabilirim. Ama çirkin görünen yarım gövdeyi sevmiyorum. Bu yüzden biraz ölçüm yaptım ve mekanik parçayı yeniden şekillendirdim. Bu parçalardan bir 3D baskı dersi aldım: her zaman hata yapacaksın. Her parçayı yerine oturtmak için 5 baskı ve mükemmel çalışması için çok fazla kesme, zımparalama ve sıcak yapıştırma gerekir.

Oyuncak tabancanın her parçası kopyalanmış gövdemde doğru hareket ettikten sonra, gövdeyi sıkıştırmak için dört parça daha yazdırdım. Ve devirme tertibatı, BB mermi hunisi ve kamera desteği eklendi. Bu parçaların tamamı tabanca gövdesine vidalanmıştır. Sonunda en az iki parçaya birleştirilebilirler. Ama sanırım henüz hazır değilim.

Taret tabanına yatırmak için bir mikro servo ve döndürmek için bir mikro DC motor ekledim.

Sonra tabancayı test etmeye başladım, 4 adet AA pil bağladım ve iyi ateş ediyor. İyi çalıştığına gerçekten çok sevindim. Ama ertesi gün bir sorun buldum.

Silah testimin videosu burada. taret bir 3v adaptöre bağlandı.

Adım 4: Pi'yi kurun

Bu en önemli kısım, tankımızın kalbidir - Raspberry Pi!

Henüz Raspberry Pi oynamadıysanız. Bu kitapla başlamanızı tavsiye ederim: MAKE'den ahududu pi'ye başlarken. Pi'nin temellerini ve kapsamlı bir anlayışını edinebilirsiniz.

En son raspbian işletim sistemini edinin.

Çok tavsiye ettiğim bir sonraki araç Uzak Masaüstü. İşte Adam Riley'nin öğreticisi. Kurulumdan sonra Pi masaüstünü PC'nizde görüntüleyebilirsiniz (Mac'te test edilmemiştir). Böylece Pi'yi "çıplak" çalıştırmak, bir ekrana, fareye ve klavyeye gerek olmadığı anlamına gelir. Bazı arkadaşlarım ssh komut satırını kullanıyor. Ama masaüstünü tercih ederim.

Önceki araştırmalara dayanarak, Raspberry Pi'nin video akışı yapabildiğini biliyordum. Bu yüzden Pi'de farklı uygulamalarla uğraşmaya başladım. Uygulamaların çoğunda ya uzun bir gecikme (saniye) var ya da düşük kare hızı var. Çevrimiçi videolar ve eğitimler üzerinde birkaç hafta dolaştıktan sonra, neyse ki çözümü buldum. Youtube'da webiopi ile ilgili bir video bana çok umut verdi. Daha fazla araştırma beni bunun doğru yol olduğuna inandırdı.

Webiopi, Pi ile diğer internet cihazları arasındaki bağlantıyı gerçekten kolaylaştıran bir çerçevedir. Tüm Pi GPIOS'ları kontrol eder ve ardından özelleştirilmiş html içeren bir sunucu başlatır. Bu html'ye diğer cihazlardan (bilgisayar, akıllı telefon vb.) erişebilir ve bir wifi mesafesindeki tarayıcıda bir düğmeye tıklayabilirsiniz, bir GPIO tetiklenir.

Video beni umutlandırdı, bir webiopi öğreticisine dayanıyor - cambot projesi. MagPi dergisi #9[html][pdf] ve #10[html][pdf]'de yer almaktadır. Teşekkürler Eric PTAK!

Öğreticiyi adım adım takip ederek iki tekerlekli cambot yapabilirsiniz! İşte nasıl çalışır: iki motoru bir H köprüsüyle bağlayın, ardından yönü ve hızı kontrol etmek için H köprüsünü 6 GPIO piniyle kontrol edin. Webiopi, GPIO'ları kontrol etmek için kullanılır. Ve video akışı için MJPG-streamer kullanılır.

Pi veya Linux'ta aylar önce olduğum gibi yeniyseniz, tüm adımları uyguladıktan sonra küçük bir sorun yaşayabilirsiniz. Webiopi için python kodunu ve akış videosunu ayrı ayrı çalıştırabilirsiniz, ancak bunları birlikte nasıl çalıştıracağınızı bilmiyor musunuz? Bir komuttan sonra & ekleyebileceğinizi bilmek biraz zaman aldı (& google'da arama yapmak gerçekten zor, BTW), bu, bu komutun arka planda çalışmasını istediğiniz anlamına gelir. Bu yüzden bunu her seferinde yapacağım:

sudo python cambot.py&

sudo./stream.sh

Yukarıdaki komutu içeren bir bash dosyası oluşturduğunuzu ve bir kez çalıştırdığınızı düşünüyorum. Henüz denemedim.

Bu temel kurulumu iki DC motorla denedim, çalışıyor, ancak sahip olduğum motor yeterince güçlü değil. Beni başka bir seçeneğe yönlendiriyor: sürekli servolar.

O zaman yeni soru geliyor: webiopi PWM kontrollü servoları destekliyor mu?

Cevap evet, ancak kendi başına değil: PWM yazılımı oluşturmak için RPIO gereklidir

RPIO kurulumu(İlk apt-get kurulum yönteminde şansım yok. github yöntemi benim için harika çalışıyor)

Örnek kod ve diğer tartışmalar

Artık botunuz iki servo ile yükseltildi! Ekstra kollarla neler yapabileceğinizi bir düşünün!

Yukarıdaki örnek kodu tankıma uyacak şekilde değiştirdim. Bunu yapmak için bir bilgisayar bilimi derecesine ihtiyacınız yok. Örnek kodu anladığınız ve neyi kopyalayacağınızı ve nerede değiştireceğinizi bildiğiniz sürece iyisiniz.

Adım 5: Elektronik Bağlantı

Elektronik Bağlantı
Elektronik Bağlantı
Elektronik Bağlantı
Elektronik Bağlantı
Elektronik Bağlantı
Elektronik Bağlantı

Satın aldığım güç bankası Anker Astro Pro'nun iki usb bağlantı noktası ve bir 9v bağlantı noktası var (bunu almamın ana nedeni). Pi'ye, wifi donanım kilidine ve web kamerasına bir usb bağlantı noktasıyla güç vermeye çalıştım. Başlamıyor. Bu yüzden diğer USB bağlantı noktasını güçlü bir USB hub için kullandım.

Sonra servoları USB hub portu ile çalıştırabileceğimi düşündüm. Çalışıyor, ancak wifi bağlantısı çok çok kararsız.

Bu sorunu çözmek için 6V servo ihtiyacına güç sağlamak için 4 AA pil getirdim. Topraklama kablosunu (siyah) ortaya çıkarmak ve AA pil takımı topraklamasına bağlamak için USB kablosunu çıkardım.

3 servo, kırmızıdan 6V'a, siyahtan toprağa ve GPIO pinlerine bağlı sinyal pini.

Planlandığı gibi, taret döndürme motoru ve tabanca motoru da H-köprü kontrollü 6V ile güçlendirilmelidir. Ama her şeyi bağladığımda silah ateş etmiyor! Görünüşe göre motor dönmeye çalışıyor ama dişlileri çalıştıramıyor. Çıkış voltajı doğru, ancak sürmek için yeterli akım yok gibi görünüyor. Ayrıca MOSFET'i şanssız denedim.

Zaman nedeniyle bu bölümden vazgeçmek zorundayım. İşte bu yüzden tabanca testinde tabanca motorunu adaptöre manuel olarak bağlamam gerekiyor. Elektronikte hala öğrenecek çok şey var. En kötü durum senaryosu, tabancayı her zaman bir servo çekme ve bırakma tetiği ile kontrol edebilirdim.

Adım 6: Arayüz

Image
Image
Arayüz
Arayüz
Arayüz
Arayüz

Ayrıca cambot ve rasprover örnek kodlarındaki arayüzleri de değiştirdim. Kontrol cihazı olarak akıllı telefonu kullanmayı planladığım için telefonumun düzenini optimize ettim(galaxy note3).

Düzenlerin ve stillerin çoğu index.html'de düzenlenebilir. Ancak varsayılan düğme (siyah kenarlıklı koyu gri) stili /usr/share/webiopi/htdocs konumunda bulunan webiopi.css'de tanımlanmıştır. Değiştirmek için sudo nano'yu çalıştırmak için terminal kullandım.

Video akışı ekranın ortasında, sürüş kontrolü sol tarafta ve silah kontrolü sağ tarafta yer alıyor. Sürüş kontrolünü biraz daha iyi kontrol etmek için yukarı(ileri), dur, aşağı(geri) olarak iki takım olarak tasarladım ama videoda bazen garip olduğunu söyleyebilirsiniz.

7. Adım: Gelecek Planı

Anlayacağınız gibi, bu proje henüz bitmedi. Ahududu pi yarışması sayesinde, geçen hafta son teslim tarihinden önce bitirmeye çalışarak çok şey yaptım. Silahın ateş etmediğini bulana kadar gayet iyi gidiyor…

Geliştirilmesi gereken daha çok şey var, ama umarım benim deneyimlerimden bir şeyler öğrenebilirsin.

Kısa Vadeli Plan:

Silahı çalıştır!!!

Daha fazla BB için daha büyük konteyner

Tankın dünyayı keşfetmesi gerekiyor - evdeki wifi'nin dışına çıkın!

Telefonun ona her yerden bağlanabilmesi için Pi'de geçici düğüm kurun

Başlangıçta tank komutunu çalıştırın

Pi'yi güvenli bir şekilde kapatmak için bir kapatma düğmesi ekleyin.

Uzun vadeli plan:

Denge ve kavrama için daha iyi sürüş sistemi

Şimdi bir breadboard yerine kendi devre kartımı tasarlayın

Birinci şahıs video kaydı

Başka bir silah mı? Hadi onu bir savaş gemisi yapalım!

Kendi kendine devriye gezmek için sensörler eklensin mi?

Otomatik hedefleme için bilgisayarla görü!

Tankı uzaktan kontrol edin: Evde her şeyi göreceğim!

Adım 8: Okuduğunuz için teşekkürler

Zavallı İngilizcemi okuduğunuz için teşekkürler (bu benim ilk dilim değil). Umarım burada biraz eğlenmişsinizdir veya bir şeyler öğrenmişsinizdir. Bu devam eden bir proje olacak, bu nedenle herhangi bir alanda uzmanlığınız varsa, tavsiyeniz için teşekkür ederim.

Herhangi bir sorunuz varsa, lütfen yorum bırakın, cevaplamak için elimden geleni yapacağım.

Yakın gelecekte bir güncelleme yapayım-The Cam Tank2.0--.

Sonunda, işte savaş senaryosunu gösteren bir video. Oldukça eğlenceli.

Keyfini çıkarın ve bir dahaki sefere görüşürüz!

Önerilen: