İçindekiler:

Ucuz Arduino Savaş Robotu Kontrolü: 10 Adım (Resimlerle)
Ucuz Arduino Savaş Robotu Kontrolü: 10 Adım (Resimlerle)

Video: Ucuz Arduino Savaş Robotu Kontrolü: 10 Adım (Resimlerle)

Video: Ucuz Arduino Savaş Robotu Kontrolü: 10 Adım (Resimlerle)
Video: Arduino Nedir? Nasıl Kurulur ve Neler Yapılabilir? #1 2024, Temmuz
Anonim
Ucuz Arduino Savaş Robotu Kontrolü
Ucuz Arduino Savaş Robotu Kontrolü
Ucuz Arduino Savaş Robotu Kontrolü
Ucuz Arduino Savaş Robotu Kontrolü
Ucuz Arduino Savaş Robotu Kontrolü
Ucuz Arduino Savaş Robotu Kontrolü

Birleşik Devletler'de Savaş Robotlarının ve Birleşik Krallık'ta Robot Savaşlarının yeniden canlanması, savaş robotiğine olan sevgimi yeniden alevlendirdi. Bu yüzden yerel bir bot üreticisi grubu buldum ve hemen daldım.

Birleşik Krallık karınca ağırlık ölçeğinde (150 gram ağırlık limiti) savaşıyoruz ve bir bot içeren RC teçhizatı oluşturmanın geleneksel yolunu çabucak fark ettim: pahalı bir RC vericisi, hacimli veya pahalı bir alıcı ve sihirli kutular olan ESC'ler (elektronik hız kontrolörleri) bu boyuttaki bir bot için gerekenden çok daha fazla akımı işleyebilir.

Geçmişte Arduino'yu kullandıktan sonra, farklı şeyler denemek ve yapmak istedim ve kendime yasal bir savaş sinyali alabilen ve iki tahrik motorunu yaklaşık 5 USD'ye kontrol edebilen bir Arduino sistemi hedefi belirledim (ucuz bir ESC'nin yarısı maliyeti)

Bu hedefe ulaşmaya yardımcı olmak için, alıcının ağırlığını/maliyetini azaltarak ve ucuz bir h-köprü çipini çalıştırmak için 4 PWM sinyali üreterek bu RC araba talimatını yeniden karıştırdım.

Bu talimat, Arduino kontrol sistemine odaklanacak, ancak yeni insanların ilk botlarını oluşturmalarına yardımcı olmak için ek bilgiler ekleyeceğim.

Sorumluluk Reddi:

Küçük ölçekli bir savaş robotunda bile inşa etme/savaşma tehlikeli olabilir, riski size ait olmak üzere üstlenin

Adım 1: İhtiyacınız Olan Şey

Malzemeler:

Kontrol sistemi için:

  • 1x Arduino pro mini 5v (1.70 USD USD)
  • 1x nRF24L01 Modülü (1,14 $)
  • 1x 3.3v regülatör modülü (0,32 $)
  • 1x çift h-köprü modülü* (0,90 ABD doları)

Temel bir kama botunun geri kalanı için:

  • 2 adet mikro dişli motor** (ucuz versiyon, güvenilir versiyon)
  • 1x 2s Lityum polimer pil
  • 1x denge şarj cihazı
  • 1x lipo şarj çantası
  • 1x anahtarı
  • 1x pil konektörü
  • çeşitli tel (yatanmış olduğum bazı Arduino atlama tellerini kullandım)
  • küçük vidalar
  • (isteğe bağlı) epoksi
  • (isteğe bağlı) Alüminyum (bir meşrubat kutusundan)
  • (isteğe bağlı) ekstra LED'ler

Temel bir kontrolör için:

  • 1x Arduino pro mini 5v
  • 1x nRF24L01 Modülü
  • 1x 3.3v regülatör modülü
  • 1x Arduino oyun çubuğu

Aletler:

  • Tornavida
  • Havya
  • pense
  • 3d yazıcı (isteğe bağlı, ancak hayatı kolaylaştırır)

*h-köprü modüllerine bakarken, 4 sinyal girişinin hepsinin yan yana olduğu bir modül arayın, bu daha sonra Arduino'ya takmayı kolaylaştıracaktır.

**Motor hızlarını seçmeyle ilgili bazı ipuçları için son adımı inceleyin

2. Adım: Bir Kasayı Yazdırın

Kasa Yazdır
Kasa Yazdır

Kontrol sistemine başlamadan önce, inşa edilecek botun tasarımına bakın. Silahtan bir bot tasarlamak her zaman en iyisidir. Yeni başlayanlar için, basit bir takozla başlamanızı öneririm, sağlam olacak ve rakipleri yoldan çekecek şekilde tasarlandılar, bu da ilk dövüşünüzde yok edilme olasılığınız daha düşük, ayrıca yokken sürüş için bir fikir edinmek daha kolay. Aktif bir silah hakkında endişelenmenize gerek yok.

Hem zırhlı hem de zırhsız olarak savaşta test edilmiş bir kama botu tasarladım: "Biraz Ham". İyi bir ilk bottur, yazdırılması kolaydır ve 8 vida ile bir araya getirilebilir. Farklı bir üst tasarım için Thingiverse'e göz atın

3B yazıcınız yoksa yerel bir kitaplık, bilgisayar korsanlığı alanı veya maker alanı deneyin

Yazıcıdan yeni çıkmış ek zırh eklemek kolaydır, hem kamayı hem de meşrubat kutusunu alüminyum bir zımpara kağıdı ile zımparalayın, zımpara tozlarını fırçalayın, hem plastiğe hem de alüminyuma epoksi uygulayın, kelepçeler veya lastik bantlarla tutun 12-24 saat

3B baskılı göbekler üzerinde eğitici bir robotik kitinden lastik lastikler kullandığım için şu anda halka açık bir tekerlek tasarımım yok. Önümüzdeki haftalarda, kavrama için O-ringleri kullanacak bir göbek tasarlayacağım. Tekerlekler bittiğinde bu sayfayı ve Thingiverse sayfasını güncelleyeceğim

Adım 3: H köprüsünü hazırlayın

H köprüsünü hazırlayın
H köprüsünü hazırlayın

Farklı h-köprü motor sürücüleri farklı kurulumlarda gelir ancak ilk listede bağlanan modül çıkış olarak 2 terminal bloğu ile birlikte gelir. Bu klemensler ağır ve hacimlidir, bu nedenle bunları çıkarmak en iyisidir.

Bunu yapmanın en kolay yolu, her iki pedi aynı anda bir havya ile ısıtmak ve blokları bir pense ile dikkatlice kıpırdatmaktır.

Devam etmeden önce, kurulumunuzdaki motorları değiştirebilmek isteyip istemediğinize karar verin. Eğer öyleyse, Arduino jumper kabloları modülün çıkışına lehimlenebilir, ardından zıt kablo motora lehimlenebilir ve gerektiğinde çıkarılabilir hale getirilebilir.

Adım 4: Modülleri Kablolama

Modüllerin Kablolanması
Modüllerin Kablolanması
Modüllerin Kablolanması
Modüllerin Kablolanması
Modüllerin Kablolanması
Modüllerin Kablolanması

Modüllerin kablolanması 3 farklı şekilde yapılabilir, bu nedenle tasarım aşaması kritiktir. Silah seçimi, botun şeklini ve kablolama seçimini etkileyecektir.

3 seçenek şunlardır:

  1. Gevşek teller (hafif ama daha kırılgan) (resim 1)
  2. Perfboard (1'den daha ağır, ancak daha büyük bir ayak izine sahip daha sağlam) (resim 2)
  3. Özel devre kartı (1'den daha ağır ancak az yer kaplayan sağlam) kart tasarımı takılı (resim 3)

yapılan seçimden bağımsız olarak, gerçek bağlantılar aynıdır.

Aşağıdaki bağlantıları iki kez yapın (biri kontrolör için diğeri alıcı için)

nRF24L01 (pin numaralandırma resmi 4**):

  • Pin 1 -> GND
  • Pin 2 -> 3.3v modülünün çıkış pini
  • Pin 3 -> Arduino pin 9
  • Pin 4 -> Arduino pin 10
  • Pin 5 -> Arduino pin 13
  • Pin 6 -> Arduino pin 11
  • Pin 7 -> Arduino pin 12

3.3v modülü:

  • Vin pini -> Vcc*
  • Çıkış pini -> pin 2 nRF (yukarıdaki gibi)
  • GND pimi -> GND

Arduino:

  • 9-13 pinleri -> yukarıdaki gibi nRF'ye bağlanın
  • Ham -> Vcc*
  • GND -> GND

Kontrolör ve alıcı arasında ayrım yapmak için aşağıdaki bağlantıları bir kez yapın

Kontrolör için:

Oyun kolu:

  • +5v -> Arduino 5v
  • vrx -> Arduino pini A2
  • vry -> Arduino pini A3
  • GND -> GND

alıcı için:

h-köprü modülü:

  • Vcc ->Vcc*
  • B-IB -> Arduino pin 2
  • B-IA -> Arduino pin 3
  • A-IB -> Arduino pin 4
  • A-IA -> Arduino pin 5
  • GND -> GND

Bu, Vcc ve GND pinlerini tel ile değiştirerek, ardından kartı baş aşağı çevirerek ve pinleri doğrudan Arduino'ya lehimleyerek en kolay şekilde yapılır, bu lehimlemeyi basitleştirir ve motor sürücüsü için kesin bir montaj oluşturur.

*Bir savaş robotunun yasal olması için pil ile devre arasına bir izolasyon noktası (anahtar veya çıkarılabilir bağlantı) eklenmelidir. Bu, pilin artısının bir anahtara, ardından anahtarın Vcc'ye bağlanması gerektiği anlamına gelir.

** nRF24L01 modülü için harika bir kaynak olan https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo'dan görüntü

Adım 5: Denetleyiciyi Ayarlama

Denetleyiciyi Ayarlama
Denetleyiciyi Ayarlama

Her şey bağlandığında, bazı kodlar için zamanı vardır.

Kontrolörden başlayarak, tam olarak bağlanan joystick'in verici kodla çalışacağından emin olmak için bazı potansiyometre değerlerine ihtiyaç vardır.

"joystickTestVals2" kodunu yükleyin. Bu kod potansiyometre değerlerini okumak ve seri olarak görüntülemek için kullanılır.

Kod çalışırken ve seri pencere açıkken "UP" değerine bakarak başlayın, joystick'i tam ileri konuma getirin, "UP" değeri muhtemelen birkaç büyük sayı arasında atlayacaktır, gördüğünüz değerlerin en küçüğünü seçin, ondan 10 çıkarın (bu, çubuğu sonuna kadar itmenin tam güç vermesini sağlayacaktır) ve "Up Max" olarak yazın, joystick'in merkeze geri dönmesine izin verin. Şimdi gördüğünüz en büyük değeri seçin, ona 20 ekleyin ve "UpRestMax" olarak yazın. Çubuğu aşağı iterek ve toplama/çıkarma işlemini tersine çevirerek işlemi tekrarlayın, değerleri "UpMin" ve "UpRestMin" olarak kaydedin.

Çubuğu sağa iterek başlayarak, "SideMax" ve ardından "SideRestMax" geri yaylanırken ve "SideMin" ve "SideRestMin" kaydetmek için sola iterek tüm işlemi sol ve sağ için tekrarlayın.

Bu değerler, özellikle "Dinlenme" kelimesini içeren tüm değerler çok önemlidir. bu değerler çubuğun ortasında "ölü bölge" oluşturur, böylece çubuk ortada dururken bot hareket etmez, çubuk ortalandığında değerlerin "restMin" ve "restMax" arasında olduğundan emin olun. her iki eksen için

6. Adım: Kod

kod
kod
kod
kod

Verilen kod, bir silah pwm değerinin de gönderilmesine izin verecek bir yapıya sahip temel bir wedge-bot için her şeyi yapar.

Gerekli Kütüphaneler:

  • nRF24L01 Kütüphanesi buradan: GitHub
  • Buradan Yazılım PWM'si: Google Kodu

Denetleyicinizi kurun:

txMix kodunu açın ve stick limit değerlerini son adımda yazdığınız değerlerle değiştirin. Bu, kodun joystick'inize doğru tepki vermesini sağlayacaktır (Resim 1)

Boruyu özelleştir:

Etkinliğinizde başka kimseyi rahatsız etmediğinizden emin olmak için telsiz borusunu değiştirmeniz gerekecektir. Bu aslında bir tanımlayıcıdır ve alıcı yalnızca doğru borudan gelen sinyallere göre hareket eder, bu nedenle her iki koddaki boruyu aynı şeyle değiştirdiğinizden emin olun.

Resimde borunun 2 hex hanesi vurgulanmıştır. Bunlar, boruyu özelleştirmek için değiştirilmesi gereken iki basamaktır. "E1"i herhangi bir 2 basamaklı onaltılık değerle değiştirin ve bir etkinlikte rakip borulara karşı kolayca kontrol edebilmeniz için not edin

Yüklemek:

  • denetleyiciye txMix
  • alıcı modülüne al

Kodu çalıştırın:

txMix:

Kod, joystick konumunda "YUKARI" değeri ve "yan" değer olarak okur. bu değerler, maksimum çubuk konumunda tam gücün verilmesini sağlamak için sağlanan maksimum değere göre sınırlandırılır.

Daha sonra bu değerler kontrol edilerek çubuğun nötr konumdan çıkıp çıkmadığı kontrol edilir, sıfır yoksa gönderilir.

Değerler daha sonra, biri sol motor hızı ve diğeri sağ motor hızı için olmak üzere iki değişkene ayrı ayrı karıştırılır. Bu değişkenlerde, karıştırmayı basitleştirdiği için motorun geriye doğru sürdüğünü belirtmek için negatif bir değer kullanılır.

Sol ve sağ hız değerleri daha sonra her biri için bir tane olmak üzere dört pwm değerine ayrılır: motor sağ ileri, motor sol ileri, motor sağ geri, motor sol geri.

Dört pwm değeri daha sonra alıcıya gönderilir.

almak:

Basitçe kontrolörden sinyal alır, sinyalin tek bir motorda ileri ve geri için pwm değerleri içermediğini kontrol eder ve ardından pwm'yi uygular.

Alıcı ayrıca, denetleyiciden bir sinyal alınmadığında motorları kapatmak için kasaları devre dışı bırakır

Adım 7: Hepsini Bir Arada Cıvatalama

Hepsini Bir Arada Cıvatalama
Hepsini Bir Arada Cıvatalama
Hepsini Bir Arada Cıvatalama
Hepsini Bir Arada Cıvatalama
Hepsini Bir Arada Cıvatalama
Hepsini Bir Arada Cıvatalama

Bağlantıları motorlara lehimleyin veya motorları doğrudan h köprüsüne lehimleyin. (Motorları yanlış bağladıysam fişleri değiştirebilmek için konektörleri tercih ederim)

Akü konektöründen pozitif ucu anahtarın orta pimine ve anahtar üzerindeki dış pimlerden birine bağlı modüllerin Vcc'sine lehimleyin.

Akü konektöründen gelen negatif ucu bağlı modüllerin GND'sine lehimleyin.

(İsteğe bağlı) Vcc ve GND arasına ek LED'ler ekleyin. Tüm savaş robotları, sistemde güç varken yanan bir ışık gerektirir, bu sistemin Arduino, 3.3v modülü ve h-köprüsü üzerindeki LED'lere sahip olduğu bileşenlere bağlı olarak, bunlardan en az biri dışarıdan görülebildiği sürece bot bu kural karşılandı. Bu kuralın karşılandığından emin olmak ve görünümü özelleştirmek için ek LED'ler kullanılabilir.

Hafif Ham, vidalamak kolaydır, önce motor bağlantılarını yerine vidalayın, elektronik aksamları ekleyin, ardından kapağı yerine vidalayın, az miktarda cırt cırt kapağın anahtarın tutulmasına yardımcı olacaktır

Denetleyiciyi tasarlamak ve yazdırmak sizin elinizde. Test için, James Bruton'un BB8 V3 denetleyicisinden değiştirilmiş olan bağlı denetleyiciyi kullanıyorum.

Adım 8: Robot Savaş Kuralları Üzerine Bir Söz

Robot Savaş Kuralları Üzerine Bir Söz
Robot Savaş Kuralları Üzerine Bir Söz

Farklı ülkeler, eyaletler ve gruplar, farklı kurallarla robot savaş etkinlikleri düzenler.

Bu sistemi oluşturdum ve bunu RC sistemleriyle ilgili temel kurallara (en önemlisi sistem 2.4GHz dijital olmalı ve bir pil izolasyon noktasına sahip olmalı) ulaşırken mümkün olduğunca genel olacak şekilde yazdım. Bu sistemi çalıştırmak ve/veya kendi ilk botunuzu tasarlamak için yerel grubunuzla iletişime geçmek ve onların kurallarının bir kopyasını almak en iyisidir.

Yerel grubunuzun uyguladığı kurallar mutlaktır, bu talimattaki sözümü grubunuzun kuralları üzerine almayın.

Bu Arduino sistemi topluluk için yeni olduğu için büyük olasılıkla bir etkinlikte kullanmadan önce test ettirmeniz istenecektir. Bu sistemi standart RC ekipmanına karşı ve herhangi bir parazit sorunu olmadan defalarca test ettim, bu nedenle herhangi bir testi geçmesi gerekir, ancak yerel etkinliğinizdeki organizatörler son sözü söyler, kararlarına saygı duyarlar. Kullanımını reddederlerse, savaşabileceğiniz bir ödünç bot olup olmadığını sorun veya neden reddedildiğine dair bir açıklama isteyin ve bir sonraki etkinlik için sorunu çözmeye çalışın.

Adım 9: Motorlarla İlgili Ek Bilgiler

Motorlar Hakkında Ek Bilgiler
Motorlar Hakkında Ek Bilgiler

Karınca sınıfında kullanılan mikro dişli motorlar, çok çeşitli hızlarda gelir ve RPM veya Dişli oranı kullanılarak işaretlenir. Aşağıda kaba bir dönüşüm var.

Çoğu bot, 75:1 ile 30:1 arasındaki motorları kullanır (10:1 kullanan bazı istisnalar dışında). Büyük dönen silahlara sahip botlar, daha yavaş hız daha fazla kontrol sağladığı için daha yavaş 75:1 motorlardan yararlanabilir. Çevik takozlar, kaldırıcılar ve paletler, yetenekli bir sürücünün elinde 30:1 oranıyla en iyisidir. Sadece sisteme alışmak ve sürüş için ilk birkaç dövüş için bir kamada 50:1 motorları tavsiye ederim.

  • 12V 2000 RPM (veya 6V 1000RPM) -> 30:1
  • 6V 300RPM -> 50:1

Adım 10: Güncellemeler ve İyileştirmeler

Bu 'ible'ı yayınladığımdan bu yana birkaç yıl geçti ve bu sistem hakkında çok şey öğrendim, bu yüzden onları burada güncellemenin zamanı geldi. En önemlisi bileşen seçimidir, orijinal bileşenler nispeten iyi çalıştı ancak bazen savaş sırasında başarısız oluyordu. 2 büyük fail, bulabildiğim en ucuz parçaları seçmemden dolayı H-Bridge ve nrf24l01 modülüdür. Bunlar şu şekilde düzeltilebilir:

  • 0,5A H köprüsünü 1,5A H köprüsüne yükseltme, bunun gibi: 1,5A H köprüsü
  • nrf24l01 modülünü tamamen SMD tasarımına yükseltme: Akıllı NRF24l01'i açın

Yeni bileşen yükseltmeleriyle birlikte, RX'i sıkıştırmaya ve TX'e daha fazla özellik eklemeye yardımcı olan bazı yeni PCB'ler tasarladım.

Ayrıca bazı kod değişikliklerim olacak, o yüzden bunlar için bizi izlemeye devam edin

Önerilen: