Arduino-da avtonom tank. Radio bilan boshqariladigan tankni qanday qilish kerak: masofadan boshqarish pulti va kamerasi bo'lgan josus arduino-dan o'z-o'zidan tank jangi

Robot radio boshqariladigan tank shassisi va bir nechta boshqa komponentlardan iborat bo'lib, ularning ro'yxati quyida keltirilgan. Bu mening birinchi loyiham va men Arduino platformasini yaxshi ko'raman. Ushbu robotni yaratishda men kitoblar va Internetdagi materiallardan foydalanganman.

Kerakli materiallar
1. Radio boshqariladigan tankdan shassi.
2. Arduino Uno.
3. Breadboard va jumpers.
4. Integratsiyalashgan motor drayveri SN754410NE.
5. Standart servo.
6. Ultrasonik masofa o'lchagich.
7. 9V batareya va u uchun ulagich.
8. 4 D akkumulyator va ular uchun ulagich.
9. USB A-B kabeli.
10. Baza 6" x 6".

Asboblar
1. Tornavidalar to'plami.
2. Issiq yopishtiruvchi qurol.
3. Lehim va lehimli temir.

Shassi

Men shassini 10 dollarga sotib olingan tankdan oldim. Baza unga har qanday joyda biriktirilishi mumkin, lekin men uni o'rtada biriktirdim.

Dvigatel haydovchi SN754410NE

Dvigatellarni boshqarish uchun SN754410NE drayveridan foydalanardim. Men uni ishlatganman, chunki menda bor edi, lekin siz L293 kabi boshqasidan foydalanishingiz mumkin.

Endi drayverni Arduino Uno-ga ulash haqida. Barcha GND pinlarini (4,5,12,13) ​​GND paneliga ulang. Drayv pinlari 1 va 16 ni Arduino 9 va 10 pinlariga ulang. 2 va 7-haydovchi pinlarini Arduino 3 va 4-pinlariga ulang, bular chap dvigatelning boshqaruv pinlari. 10 va 15-sonli haydovchi pinlarini Arduino 5 va 6-pinlariga ulang, bular to'g'ri motorni boshqarish pinlari. 3 va 6-pinlarni chap dvigatelga, 14 va 11-pinlarni esa o'ngga ulang. 8 va 16-pinlar non panelidagi quvvatga ulangan bo'lishi kerak. Quvvat manbai: 9V batareya.

Ultrasonik masofa o'lchagich robotga harakatlanayotganda to'siqlardan qochishga yordam beradi. U robotning old tomonida joylashgan standart servoda joylashgan. Robot ob'ektni 10 sm masofada aniqlaganida, servo aylana boshlaydi, o'tish joyini qidiradi va keyin Arduino qaysi tomonni harakatlantirish eng yoqimli ekanligini hal qiladi.
Unga ulagichni ulang. Servoni har tomonga 90 darajadan ortiq burilmasligi uchun cheklang.

Sensorda uchta pinli GND, 5V va signal mavjud. GND GND ga, 5V Arduino 5V ga ulanadi va signal Arduino pin 7 ga ulanadi.

Ovqat

Arduino tegishli ulagich orqali 9V akkumulyator bilan quvvatlanadi. Dvigatellarni quvvatlantirish uchun men 4 D o'lchamli batareyalar va tegishli ulagichdan foydalanardim. Dvigatellarni quvvatlantirish uchun simlarni ushlagichdan SN754410NE bilan taxtaga ulang.

Assambleya

Barcha qismlar tayyor bo'lganda, ularni yig'ish vaqti keldi. Avval Arduino-ni bazaga ulashimiz kerak. Keyin issiq elim yordamida masofa o'lchagichni robotning old qismiga servo bilan biriktiramiz. Keyin batareyalarni ulashingiz kerak. Siz ularni xohlagan joyga joylashtirishingiz mumkin, lekin men ularni Arduino yoniga qo'ydim. Har bir narsa tayyor bo'lgach, Arduino ishlayotganiga ishonch hosil qilish uchun robotni yoqishingiz mumkin.

Dastur

Shunday qilib, robotni yig'ib bo'lgach, unga dastur yozish vaqti keldi. Bir necha kun o'tkazgandan so'ng, men uni yozdim.
Robot ob'ekt 10 sm dan ortiq masofada bo'lsa, to'g'ri chiziq bo'ylab harakatlanadi.U ob'ektni payqagach, yo'l izlab datchikni aylantira boshlaydi. Skanerlash tugagach, dastur harakat uchun optimal tomonni tanlaydi. Agar robot boshi berk ko'chada bo'lsa, u 180 gradusga aylanadi.
Dasturni quyida yuklab olish mumkin. Siz uni o'zgartirishingiz va to'ldirishingiz mumkin.

Robotning asosiy qismi radio boshqariladigan tankdan shassi va boshqa komponentlar bo'lib, ularning ro'yxati quyida yoziladi. Bu tank muallifning Arduino platformasidagi birinchi loyihasi bo‘lib, u undan foydalanganidan mamnun edi. Muallif Internetdagi materiallar va kitoblardan foydalangan.

Materiallar va asboblar:
- Tank shassisi
- Arduino Uno
- Jumperlar va non taxtasi
- O'rnatilgan motor drayveri SN754410NE
- An'anaviy servo
- Ultrasonik diapazonni o'lchagich
- U uchun ulagichga ega 9V batareya
- D tipidagi batareyalar
- Arduino uchun USB kabeli
- Shassi bazasi
- Tornavidalar
- Termal qurol va uning uchun elim
- lehimli temir va lehim

Birinchi qadam. Tank shassisi.
Muallif shassisni bura bozorida sotib olingan eski Abrams tankidan olgan. Olingan tank shassisni undan olib tashlash uchun demontaj qilindi. Xuddi shu tankdan foydalanish shart emas, har qanday radio boshqariladigan tank qiladi. Bundan tashqari, asl dvigatel juda ko'p narsani talab qildi, shuning uchun men o'zimni yig'ishim kerak edi, uni yig'ish keyingi bosqichda bo'ladi. Shassini tayyorlab, muallif ularga asosni issiq elim bilan biriktirdi. Qayerda o'rnatilishi muhim emas, lekin uni markazga yopishtirishga qaror qilindi.

Ikkinchi qadam. Dvigatel haydovchi.
Dvigatelni boshqarish uchun SN754410NE drayveri ishlatiladi, muallif undan foydalangan, chunki u mavjud edi, siz shunga o'xshash har qandayini olishingiz mumkin.
Drayvni Arduino-ga ulash quyidagicha:

Barcha GND pinlari breadboard GND pinlariga ulangan.
- Arduino 9 va 10-ga haydovchi pinlari 1 va 16.
- Drayvning 2 va 7-pinlari Arduino-ning 3 va 4-pinlariga ulangan (ular chap dvigatelni boshqarish uchun javobgardir).
- Arduino pinlari 5 va 6 haydovchi pinlari 10 va 15 bilan bog'langan (ular to'g'ri motorni boshqarish uchun javobgardir).
- 3 va 6 pinlar chap dvigatelga, 14 va 11 esa o'ng dvigatelga ulangan.
- 8 va 16-pinlar 9V batareyadan quvvat oladigan Bredboard-dagi quvvatga ulangan bo'lishi kerak.

Uchinchi qadam. Rang o'lchagichni o'rnatish.
Ultrasonik sensor robotga harakatlanayotganda yo'lidagi to'siqlardan qochish imkonini beradi. Sensor standart servoda joylashgan va robotning old tomoniga o'rnatiladi. Robot 10 sm masofada to'siqni payqagan paytda, servo ikkala yo'nalishda ham aylana boshlaydi va shu bilan o'tish joyini qidiradi. Arduino sensordan ma'lumotni o'qiydi va keyingi harakat uchun qaysi tomon qulayroq ekanligini hal qiladi.
Avvalo, sensorga servo ulangan. Muallif servoni har bir yo'nalishda faqat 90 gradusga burilishi uchun tuzatadi, boshqacha qilib aytganda, servoning to'liq burilishi 180 daraja bo'ladi.

Sensorda uchta pinli GND, signal va 5V mavjud. 5V quvvat manbai Arduino 5V manbaiga, GND dan GNDga va signal Arduino pin 7 ga ulangan.

To'rtinchi qadam. Ovqat.
Arduino 9V batareya orqali quvvat oladi, u tegishli ulagichga ulanadi. Dvigatellar batareya ushlagichiga o'rnatilgan to'rtta D tipidagi akkumulyatorlardan quvvatlanadi. Dvigatellarni quvvatlantirish uchun ushlagich simlari SN754410NE dvigatel drayveri allaqachon o'rnatilgan taxtaga ulangan.

Beshinchi qadam. Robot yig'ish.
Oldingi barcha bosqichlarni bajarganingizdan so'ng, barcha tafsilotlarni birlashtirish vaqti keldi. Avvalo, Arduino tank bazasiga biriktirilgan. Shundan so'ng issiq elim yordamida robotning old qismiga ultratovushli masofa o'lchagich biriktiriladi. Keyin, muallif Arduino yonidagi batareyalarni tuzatadi. Batareyalar tankning istalgan qismiga o'rnatilishi mumkin. Barcha komponentlarni o'rnatgandan so'ng, barcha simlar yuqoriga ko'tarildi va yig'ilishning to'g'ri ekanligiga ishonch hosil qilish uchun taxtaga quvvat berildi.

Oltinchi qadam. Dastur kodi.
Tankni yig'ish tugagandan so'ng, unga dastur yozish vaqti keldi. Dastur to'siq bilan to'qnashib ketmaslik uchun robotga qachon harakat qilish va qachon harakatni to'xtatish kerakligini ko'rsatishi kerak. Muallifdan kod yozishda

Keling, 2 kilometrgacha masofadan boshqarilishi mumkin bo'lgan birinchi shaxs RC tankini quraylik! Mening loyiham uzoqdan boshqariladigan roverga asoslangan edi, yig'ish oson, dasturlash oson va havaskorlar uchun ajoyib loyiha!




Bot juda tez va chaqqon, u ikkita kuchli dvigatelga ega ekanligini aytmasa ham bo'ladi! Poygalar qaysi yuzada bo'lishidan qat'i nazar, u, albatta, insondan oshib ketadi!

Bot bir necha oy ishlab chiqilganidan keyin ham prototip bo'lib qolmoqda.

Xo'sh, FPV nima?
FPV yoki birinchi shaxs ko'rinishi - bu birinchi shaxs ko'rinishi. Odatda biz FPVni konsollar va kompyuterlarda o'ynashda, masalan, poyga o'yinlarida ko'ramiz. FPV shuningdek, harbiylar tomonidan kuzatuv, himoya qilish yoki qo'riqlanadigan hududlarni nazorat qilish uchun ishlatiladi. Xobbilar FPVni kvadrokopterlarda havodan suratga olish va shunchaki o'yin-kulgi uchun ishlatishadi. Bularning barchasi kvadrokopterni qurish qanchalik qimmatga tushsa, shunchalik ajoyib tuyuladi, shuning uchun biz yerga minadigan kichikroq narsani qurishga qaror qildik.

Uni qanday boshqarish kerak?
Bot Arduino platasiga asoslangan. Arduino turli xil qo'shimchalar va modullarni (RC / WiFi / Bluetooth) qo'llab-quvvatlaganligi sababli siz har qanday aloqa turlarini tanlashingiz mumkin. Ushbu yig'ilish uchun biz botni boshqaradigan 2,4 gigagertsli uzatuvchi va qabul qilgich yordamida uzoq masofalarni boshqarishga imkon beradigan maxsus komponentlardan foydalanamiz.

Oxirgi bosqichda demo video bor.

1-qadam: Asboblar va materiallar






Men ehtiyot qismlarning ko'p qismini mahalliy sevimli mashg'ulotlarim do'konlaridan sotib olaman, qolganlarini Internetda topaman - faqat eng yaxshi takliflarni qidiring. Men Tamiya-dan ko'plab echimlardan foydalanaman va mening ko'rsatmalarim ushbu xususiyatni hisobga olgan holda yozilgan.

Men Gearbest-da ehtiyot qismlar va materiallarni sotib oldim - o'sha paytda ular sotuvga chiqdi.

Bizga kerak bo'ladi:

  • Arduino UNO R3 kloni
  • Pololu Dual VNH5019 Dvigatel qalqoni (2x30A)
  • Dadalarni mahkamlang
  • 4 ta ajratgich
  • Vintlar va yong'oqlar
  • Signal uzatish moduli (uzatuvchi) 2,4 Gts - 13-bosqichda batafsil o'qing
  • Kamida ikkita kanal uchun 2,4 gigagertsli qabul qiluvchi
  • 2 dvigatel Tamiya Plazma Dash / Hyper dash 3
  • Tamiya egizak motorli vites qutisi to'plami (stok motorlari kiritilgan)
  • 2 ta universal Tamiya platalari
  • Tamiya treklari va g'ildiraklari to'plami
  • 3 ta Li-polimer batareyalar 1500 mA / soat
  • Yo'nalish va masshtabni masofadan boshqarishni qo'llab-quvvatlaydigan POV kamerasi
  • FPV 5.8Ghz 200mW uchun uzatuvchi va qabul qiluvchi
  • bir shisha super elim
  • Issiq elim

Asbob:

  • Ko'p asbob
  • Tornavida to'plami
  • Dremel

2-qadam: Ulangan vites qutisini yig'ish


Vites qutisini ochish vaqti keldi. Faqat ko'rsatmalarga rioya qiling va siz yaxshi bo'lasiz.

Muhim eslatma: Vites nisbati 58:1 dan foydalaning!!!

  • qutini yig'ishdan oldin viteslarni moylash kerak, keyin emas
  • metall ajratgichlar haqida unutmang, aks holda quti xirillab ketadi
  • 58:1 tishli formatidan foydalaning, u 204:1 dan tezroq

3-qadam: Motorlarni yaxshilang

Vites qutisi motorlar bilan birga keladi, lekin ular mening fikrimcha juda sekin. Shuning uchun men loyihada ko'proq energiya sarflaydigan Plazma Dash motorlari o'rniga Hyper dash motorlaridan foydalanishga qaror qildim.

Biroq, Plazma Dash motorlari Tamiyaning 4WD motorlar seriyasidagi eng tezdir. Dvigatellar qimmat, lekin siz pulga yaxshiroq mahsulot olasiz. Ushbu uglerod bilan qoplangan motorlar 3V da 29 000 rpm va 7 V da 36 000 aylanish tezligida aylanadi.

Dvigatellar 3V quvvat manbalari va kuchlanish kuchayishi bilan ishlash uchun mo'ljallangan, garchi u ish faoliyatini oshiradi, lekin ularning ishlash muddatini qisqartiradi. Pololu 2x30 Dvigatel drayveri va ikkita Lityum Polimer batareyasi bilan Arduino dasturi 320/400 maksimal tezlikka o'rnatilishi kerak, bu nimani anglatishini qisqa vaqt ichida kod bosqichida bilib olasiz.

4-qadam: Dvigatel haydovchilari


Men robototexnikani juda uzoq vaqtdan beri yaxshi ko'raman va aytishim mumkin. eng yaxshi motor haydovchisi Pololu Dual VNH5019. Quvvat va samaradorlik haqida gap ketganda, bu eng yaxshi variant, lekin narx haqida gapiradigan bo'lsak, u bizning do'stimiz emasligi aniq.

Yana bir variant L298 drayverini yaratish bo'ladi. 1 L298 bitta dvigatel uchun mo'ljallangan, bu yuqori oqim motorlari uchun eng yaxshi echimdir. Men sizga bunday drayverning o'z versiyasini qanday yaratishni ko'rsataman.

5-qadam: Assambleyani kuzatish




Tasavvuringizdan foydalaning va treklarni o'zingizning xohishingizga ko'ra sozlang.

6-qadam: Bo'shliqlarni burang va FPV ni ulang



Shunga qaramay, o'z tasavvuringizni ishlating va birinchi shaxs ko'rish uchun struts va kamerani qanday joylashtirishni aniqlang. Har bir narsani issiq elim bilan mahkamlang. Yuqori qavatni ulang va FPV antennasini o'rnatish uchun teshiklarni va o'rnatilgan ajratgichlar ostida burg'ulang, so'ngra hamma narsani joyiga burang.

7-qadam: Yuqori qavat


Yuqori qavatni yaratishdan maqsad bo'sh joyni ko'paytirish edi, chunki FPV komponentlari dronning pastki qismida juda ko'p joy egallab, Arduino va motor haydovchisi uchun joy qoldirmaydi.

8-qadam: Arduino va motor drayverini o'rnating

Arduino-ni yuqori qavatdagi joyiga shunchaki burab qo'ying yoki yopishtiring, so'ngra uning ustiga motor drayverini joylashtiring.

9-qadam: Qabul qiluvchi modulni o'rnatish



Rx modulini Arduino-ga ulash vaqti keldi. 1 va 2-kanallardan foydalanib, 1-kanalni A0 ga va 2-kanalni A1 ga ulang. Qabul qilgichni Arduino-dagi 5V va GND pinlariga ulang.

10-qadam: Dvigatellar va batareyalarni ulang



Dvigatelga simlarni lehimlang va ularni kanallarga muvofiq haydovchiga ulang. Batareya uchun JST erkak va Dyna erkak vilkalari yordamida o'z ulagichingizni yaratishingiz kerak bo'ladi. Sizdan nima talab qilinishini yaxshiroq tushunish uchun fotosuratlarga qarang.

11-qadam: Batareya

Batareyani oling va uni o'rnatadigan joyni aniqlang.

Buning uchun joy topgach, batareyaga ulanish uchun erkak adapter yarating. 3S 12V Li-po batareyasi FPV kamerasi, motor va Arduino-ni quvvatlantiradi, shuning uchun siz motor quvvat liniyasi va FPV liniyasi uchun ulagichni yaratishingiz kerak bo'ladi.

12-qadam: Arduino kodi (C++)

Kod juda oddiy, uni yuklang va u VNH motor drayveri bilan ishlashi kerak (haydovchilar kutubxonasini yuklab olib, Arduino kutubxonalari papkasiga qo'yganingizga ishonch hosil qiling).

Kod Zumobot RC ga o'xshaydi, men shunchaki motor drayverlari kutubxonasini o'zgartirdim va bir nechta narsalarni o'zgartirdim.

L298 drayveri uchun standart Zumobot dasturidan foydalaning, shunchaki hamma narsani kutubxonada yozilganiga ko'ra ulang.

#define PWM_L 10 ///chap motor
#PWM_R 9 ni aniqlang
#DIR_L 8 ///chap motorni aniqlang
#DIR_R 7 ni aniqlang

Faqat kodni yuklang va keyingi bosqichga o'ting.

Fayllar

13-qadam: boshqaruvchi


Bozorda radio boshqariladigan o'yinchoqlar uchun har xil turdagi kontrollerlar mavjud: suv, tuproq, havo uchun. Ular, shuningdek, turli chastotalarda ishlaydi: AM, FM, 2.4GHz, lekin oxir-oqibat ularning barchasi oddiy kontrollerlar bo'lib qoladi. Men nazoratchining aniq nomini bilmayman, lekin men bilaman, u havo dronlari uchun ishlatiladi va yer yoki suv kanallariga qaraganda ko'proq kanallarga ega.

Men hozirda Turnigy 9XR transmitter rejimi 2 dan (modulsiz) foydalanmoqdaman. Ko'rib turganingizdek, nomda aytilishicha, u modulsiz, ya'ni siz unga qaysi 2,4 gigagertsli aloqa modulini o'rnatishni tanlashingizni anglatadi. Bozorda o'ziga xos foydalanish, nazorat qilish, masofa va boshqa turli xil xususiyatlarga ega bo'lgan o'nlab brendlar mavjud. Hozir men JR w/ Telemetriya moduli va V8FR-II RX uchun FrSky DJT 2.4Ghz Combo Pack-dan foydalanmoqdaman, bu biroz qimmat, lekin texnik xususiyatlari va afzalliklariga qarang, narx hamma uchun unchalik ko'p ko'rinmaydi. bu yaxshilik. Bundan tashqari, modul darhol qabul qiluvchi bilan birga keladi!

Shuni yodda tutingki, sizda kontroller va modullar bo'lsa ham, siz tekshirgichga mos keladigan batareyalarni olmaguningizcha uni yoqolmaysiz. Har qanday holatda, sizga mos keladigan boshqaruvchini toping va keyin siz to'g'ri batareyalar haqida qaror qabul qilasiz.

Maslahat: agar siz yangi boshlovchi bo'lsangiz, mahalliy sevimli mashg'ulotlari do'konlaridan yordam so'rang yoki havaskor radio ixlosmandlari guruhlarini toping, chunki bu qadam shunchaki hazil emas va sizga katta miqdorda pul sarflashingiz kerak bo'ladi.

14-qadam: Tekshiring




Avval botni yoqing, so'ngra transmitter modulini yoqing, shundan so'ng qabul qiluvchi modul LEDni miltillash orqali muvaffaqiyatli ulanishni ko'rsatishi kerak.

Yangi boshlanuvchilar uchun FPV bo'yicha qo'llanma

Botga o'rnatilgan qism FPV uzatuvchi va kamera deb ataladi va sizning qo'lingizdagi qism FPV qabul qiluvchisi deb ataladi. Qabul qilgich har qanday ekranga ulanadi - u LCD, televizor, TFT va boshqalar. Sizga kerak bo'lgan narsa unga batareyalarni kiritish yoki uni quvvat manbaiga ulashdir. Uni yoqing, agar kerak bo'lsa, qabul qilgichdagi kanalni o'zgartiring. Shundan so'ng, siz botingiz ekranda nimani ko'rishini ko'rishingiz kerak.

FPV signal diapazoni

Loyihada 1,5-2 km gacha bo'lgan masofada ishlashga qodir bo'lgan arzon modul ishlatilgan, ammo bu qurilmani ochiq kosmosda ishlatishga tegishli, agar siz kuchliroq signal olishni istasangiz, undan yuqori quvvat uzatuvchisini sotib oling, masalan, 1000 mVt. . E'tibor bering, mening uzatuvchim atigi 200 mVt quvvatga ega va men topa olgan eng arzoni edi.

Oxirgi qadam - yangi ayg'oqchi tankingizni kamera bilan haydashdan zavqlanish!

Savollaringiz bormi?

Xato haqida xabar bering

Tahririyatimizga yuboriladigan matn: