Mündəricat:

1KG Sumobot Build: 6 addım
1KG Sumobot Build: 6 addım

Video: 1KG Sumobot Build: 6 addım

Video: 1KG Sumobot Build: 6 addım
Video: How to make Robot Sumo 2024, Iyun
Anonim
1KG Sumobot Build
1KG Sumobot Build

Bu Təlimat 1 kiloqramlıq sumobotun hazırlanması və qurulması prosesində sizə yol göstərəcək.

Ancaq əvvəlcə bunu yazmağa qərar verdiyim bir az məlumat. Bir yarışma üçün köhnə sumobotumu təmir etmək üzrə idim ki, heç vaxt sumobot hazırlamaq üçün Təlimat verməmişəm. Ötən il ərzində Instructables -da səssiz qaldım, buna görə də 1KG sumobotun necə qurulacağı ilə bağlı bu Təlimatla geri qayıtmaq qərarına gəldim.

Əvvəlcə bir çoxunuz maraqlanacaqsınız: sumobot nədir?

Əsasən, sumobot sumobot və ya robot-sumo yarışlarında istifadə olunan bir növ robotdur. Adından da göründüyü kimi, məqsəd bir -birlərini sumo güləşinə bənzər bir halqadan çıxarmaqdır. Sumobotun özü, başqa bir sumobotu rinqdən itələmək məqsədi ilə hazırlanmışdır. Bu Təlimatdakı sumobot 1 kiloqramdır. Bununla birlikdə, 500 qram və 3 kiloqram kimi digər çəki dərəcələri var.

Lazım olan bacarıqlar:

  • CAD (Kompüter Dəstəkli Dizayn) ilə tanışlıq
  • Lehimləmə
  • Arduino proqramlaşdırma

Bu layihə üçün çox bacarıq lazım deyil. Sadəcə CAD ilə rahat olmaq, lehimləmə və proqramlaşdırma uzun bir yol qət edir. Kompüter dəstəkli dizaynın nə qədər mürəkkəb göründüyündən qorxmayın. Autodesk, öz proqramlarında pulsuz hərtərəfli dərsliklər təqdim edir (Fusion 360 -ı özüm istifadə edirəm) və ipləri öyrənən yeni başlayanlar üçün son dərəcə faydalıdır. Mənim üçün daha vacib olan öyrənmək istəyi və hazır olmasıdır və əlbəttə ki, bu yolda əylənməkdir.

Bununla başlayaq.

P. S. Mən də bu Təlimatlandırıcıya Hərəkət et yarışmasına girirəm. Bu Təlimatlandırmanı zəhmli görürsənsə, mənə də səs ver. (T-shirt istəyirəm, çox gözəl görünür:))

Addım 1: Parça siyahısı

Parça siyahısı:

0.090 "6061 Alüminium Levha - 12" x 12 "(və ya CNC ilə bağlana bilən hər hansı bir 0,090"/2,2 mm alüminium təbəqə. Əsas gövdə üçün istifadə ediləcəyi üçün 6061 seçdim və 6061 kifayət qədər gücə malikdir)

0,5 mm alüminium təbəqə - 12 "x 12"

5 mm alüminium təbəqə (Yenə hər hansı bir ərinti işləyəcək. Mənimki 7075 alüminium qırıntıları idi.)

2 x 12V DC yüksək torklu motor (Hər hansı bir yüksək tork mühərriki işləyəcək, məsələn, Amazondan.)

2 x təkər jantı (Yenə də, motorunuzdan asılı olaraq hər hansı bir təkər işləyə bilər. 5 mm -lik bir motor miliniz varsa, bu təkərlər yaxşı işləyəcək. Mənimki əslində sahib olduğum köhnə silikon təkərlərdir)

4 IR məsafə sensoru (Pololu və Sparkfun kimi bir çox mağazadan əldə edilə bilən Sharp IR məsafə sensorlarından istifadə edirəm.)

2 IR sensoru (yenidən Sparkfun -dan buradan aldım.)

1 Mikrokontroller lövhəsi (ATX2 -ni lazım olduğu üçün istifadə edirəm. Müntəzəm bir Arduino Uno istifadə rahatlığı üçün daha yaxşı olardı).

1 3S Lityum polimer batareya (LiPo. 3S LiPos 12 voltdur. 800 ilə 1400 mah arasında bir yerdə işləyə bilər.)

1 Motor sürücüsü (Yenə də bu, motorunuzun nə qədər güc çəkə biləcəyindən asılıdır. Bu birbaşa Arduino Uno -nun üstünə gedir və 5A -a qədər cərəyan verə bilər.)

Tellər, kabellər və bağlayıcılar (Sensorları lövhəyə bağlamaq və dizüstü kompüterlə əlaqə qurmaq üçün.)

M3 vintlər və qoz -fındıq

Epoksi

Karton

Laptop (lövhəni proqramlaşdırmaq üçün)

Qayçı, tel soyucu və lehimləmə dəmiri kimi alətlər.

Addım 2: Şassinin yığılması

Şassinin yığılması
Şassinin yığılması
Şassinin yığılması
Şassinin yığılması
Şassinin yığılması
Şassinin yığılması
Şassinin yığılması
Şassinin yığılması

Şassi dizayn etmək üçün hamısı bir buludda işləyən 3D CAD/CAM proqramı olan Fusion 360 istifadə etdim. Autodesk burada gözəl dərsliklər təqdim edir. Əsasən videoları izləyib sonra özüm çəkməyə çalışaraq öyrəndim. Mən sizə Fusion 360 -dan necə istifadə etməyi öyrətməyəcəyəm; Peşəkarlar öz işlərini görsünlər.

Dizaynın özü bir əsas bazadan, bir bıçaqdan, bir üst örtükdən, iki mühərrik mötərizəsindən və iki (və ya dörd) 3D çap braketindən ibarətdir. Əsas baza 2,2 mm alüminium, motor mötərizələri 5 mm alüminium, bıçaq 0,5 mm alüminium, üst qapaq isə 0,5 mm alüminium və ya adi karton ola bilər. Alüminiumun çəkisi bir neçə qram daha çox olduğu üçün kartondan istifadə etdim və 1 kiloqram həddini 10 qram aşdım. Digər tərəfdən 3D çap dişləri ABS ilə, 50% doldurma ilə çap olunur.

Alüminium tələb olunan dizaynlar.dxf fayllarına ixrac edildi və Filippindəki yerli lazer kəsmə şirkətinə göndərildi. Bu vaxt 3D çap edilmiş hissələr STL -ə ixrac edildi və yenidən yerli bir 3D çap şirkətinə göndərildi.

İmtina: Artıq işləməyən, lakin bu dizayndan istifadə edən köhnə bir sumobotumu yenidən istifadə etdim, buna görə də bəzi hissələr artıq fotoşəkillərdə yığılıb. Bununla birlikdə, bütün parçaları bir araya gətirmək prosesini sizə izah edəcəyəm.

Parçalar kəsildikdən sonra ya üst qapaqdan, dayaqdan və bıçaqdan, ya da motor braketindən başlaya bilərsiniz.

Dizayndakı üst örtük alüminiumdan hazırlanmışdır, ancaq çəki məhdudiyyətlərinə görə kartondan istifadə etdim. Kartonu dizaynda olduğu kimi eyni xüsusiyyətlərdə kəsdim.

3D çap dəstəyi vintlər ilə ön tərəfə bərkidilir və bıçağı sanki möhkəmləndirmək üçün istifadə olunur. Bıçaq epoksi istifadə edərək bazaya yapışdırılır. Bıçaqdakı və əsas əsasdakı vida delikləri, mövqeyə bələdçilik etmək və bir -birinə doğru birləşdirildiyindən əmin olmaq üçün istifadə olunur. Bıçağı əsas bazaya yapışdırmaq üçün epoksi ilə doldura biləcəyiniz əsas bazada dairəvi deliklər var. Deliklərin geniş səthi, epoksiyanın bıçağı daha yaxşı tutmasına və altdan yırtılmasının qarşısını almağa imkan verir. İQ sensoru, fotoşəkillərdəki kimi epoksi istifadə edərək bıçağın altına yapışdırıla bilər. Sensorun alt hissəsinin zəminə dik olduğundan əmin olun.

Motoru bazaya bağlamaq üçün əvvəlcə motoru braketə vidalayın. Bununla birlikdə, əvvəlcə telləri mühərrikə lehimləməlisiniz, çünki tellər motorun arxasındadır və bazaya bağlandıqdan sonra onlara çatmaq çətin olacaq. Motor mühərrik dayağı ilə düzülür və vintlər ilə tutulur. Yəni hissə siyahısına daxil etdiyim motora sahibsinizsə. Əks təqdirdə, dizaynınızı motorunuza uyğun olaraq dəyişdirə bilərsiniz. Bu nöqtədə, təkər jantını da mühərrikə bağlaya bilərsiniz. Motor braketi daha sonra əsas əsasın arxa deliklərinə vidalanır.

Arduinonun üstünə çıxa bilməyən bir motor sürücüsündən istifadə edirsinizsə və ya hər hansı bir səbəbdən motor sürücüsünün öz sahəsinə sahib olması lazımdırsa, bunun üçün mühərriklər və bıçaq arasında boşluq var. Əlavə yerə ehtiyacınız olduğu halda bu yer lipo batareyası və motor sürücüsü üçün ayrılmışdır. Artıq robotun alt hissəsi üzərində işlədiyimizdən və üst qapağı bağlandıqdan sonra ona daxil olmaq çətin olacağından, fotoşəkillərdəki kimi motor sürücüsünü bıçaqla mühərriklərin arasına yerləşdirə bilərsiniz. İki tərəfli bant, bazaya yapışdırmağa kömək edə bilər.

Addım 3: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika

Növbəti yerdə sensorlar, motor sürücüsü və lövhə kimi elektronika var.

Yenə də Arduinonun üstünə çıxmayan bir motor sürücüsündən istifadə edirsinizsə, onu mikro nəzarətçi ilə birləşdirmək üçün lazım olan telləri bağlamağa başlayın. Motor sürücüm üçün mənə lazım olan tək şey siqnal (mavi) və torpaq (qara) telidir. Sürücünün özündən asılıdır. Sürücülərə lazım olan şey batareyaya və ya enerji mənbəyinə qoşulmaq üçün tellərdir. XT-60-a (çoxlu lipo batareyalarındakı eyni fiş) bağlı olan uclar çox qalın idi, buna görə də dar bağlayıcı bloklara uyğunlaşdırmaq üçün kəsməli oldum.

Mikro nəzarətçim də motor sürücüləri ilə eyni enerji mənbəyini paylaşır, buna görə telləri motor sürücülərindəki XT-60 konnektorunun uclarına birbaşa lehimləməli oldum.

IR məsafə sensorlarının, əldə etdiyiniz sensordan asılı olaraq, başlarına sancaqlar qoyulması lazım ola bilər. Əgər satın alsanız, adətən bir paketə daxil edirlər, buna görə də lazım olduqda lehimləyin.

Mənim kimi mikrokontrolörün sensorlara qoşulması üçün telləri birlikdə lehimləməyiniz lazım ola bilər. Sensorun öz konnektoru var; bəziləri JST, bəziləri isə servo başlıqlardan istifadə edir. Adi bir Arduino ilə tullanan kabelləri Arduinoya yapışdıra və sonra kabelin digər ucunu sensordan çıxan kabelə lehimləyə bilərsiniz. Proses digər mikro nəzarətçilərlə eyni şəkildə işləyir. Mikrokontrolördən gələn tellər sensordan gələn tellərə lehimlənir.

Addım 4: Bütün hissələri bir yerə yığın

Bütün hissələri bir araya gətirmək
Bütün hissələri bir araya gətirmək
Bütün hissələri bir araya gətirmək
Bütün hissələri bir araya gətirmək
Bütün hissələri bir araya gətirmək
Bütün hissələri bir araya gətirmək
Bütün hissələri bir araya gətirmək
Bütün hissələri bir araya gətirmək

Sensorlar və mikrokontroller üst lövhədə gedir. Sensorun arxasındakı tellər mikro nəzarətçi ilə toqquşduğundan mikrokontrolörün üstünə qaldırmaq üçün İK məsafə sensorlarını bir dəstə kartona qoydum. Fotoda yalnız üç sensorun necə olduğuna diqqət yetirin. Yalnız son anda robotun arxasına dördüncü məsafə sensoru əlavə etmək qərarına gəldim. Təəssüf ki, artıq yer qalmadı, buna görə mühərriklərin arxasında, əsas bazanın özünə quraşdırmalı oldum.

Daha sonra mikrokontrolör üst lövhəyə bərkidilir. Çox çətin bir şey yoxdur; Sadəcə kartonda bir neçə deşik açdım və bütün lövhəni üst lövhəyə vidaladım. Alüminiumdan istifadə edirsinizsə, əl matkabı mütləq olmalıdır.

Hər şey üst lövhəyə bərkidildikdən sonra, mühərriklərin üst hissəsinə yapışdırmaq üçün iki tərəfli bant istifadə edin.

Bu nöqtədə sensorlar və motor sürücüsünü mikrokontrolöre bağlamaq kimi bütün elektronikaları birləşdirməyə başlaya bilərsiniz. Arduinonun üstünə yapışan motor sürücüsündən istifadə edirsinizsə, onda sizin üçün heç bir problem yoxdur. Əks təqdirdə, sürücünün xüsusiyyətlərinə uyğun olaraq, mənim etdiyim kimi lövhəyə bağlamalı olacaqsınız.

Hər şey tel bağlandıqdan sonra, liponu mühərriklərlə bıçaq arasındakı alt boşluğa qoyun, sonra ilk dəfə yandığını görmək üçün mikrokontrollerinizi və sürücülərinizi işə salın.

Addım 5: Proqramlaşdırma

Hər şey yığıldıqdan sonra, son bir iş var: robotunuzu proqramlaşdırın.

Robotunuzu proqramlaşdırmaq istədiyiniz strategiyadan asılıdır. Burada proqramlaşdırma sahəsində bacarıqlı olduğunuzu güman edirəm, çünki motor sürücüm serial (UART) əlaqəsindən istifadə edir və buna görə də proqramım digər motor sürücüləri üçün işləməyəcəkdir. Axı, proqramlaşdırmada hər kəsə uyğun bir ölçü yoxdur.

Sizə kömək etmək üçün proqramımın əsas sxemini təqdim edirik.

öndə çox yaxın birisi varsa, tam güclə get sol və ya sağ rəng sensoru ağ bir xətt algılarsa, geri dön və sonra sola və ya sağa məsafə sensoru bir şey algılarsa, o istiqamətə dönsə arxa sensoru bir şey algılarsa, o istiqamətə dön irəlidə, irəli get, irəli getməyə davam et

Maraqlanırsınızsa, bütün proqram budur:

#daxil edin

// A5 - sol rəng sensoru // A4 - sağ rəng sensoru // A6 - arxa məsafə sensoru // A2 - sol məsafə sensoru // A3 - sağ məsafə sensoru // A1 - ön məsafə sensoru // motor 1 - sağ // motor 2 - sol boşluq qurulması () {uart1_set_baud (9600); Serial1.write (64); Serial1.write (192); TAMAM(); bip (2); setTextColor (GLCD_BLUE); glcd (1, 0, "Başlatıldı"); gecikmə (4900); }

boşluq döngəsi () {

int frontDistanceValue = analogRead (A1); int leftDistanceValue = analogRead (A2); int rightDistanceValue = analogRead (A3); int rearDistanceValue = analogRead (A6); int leftColorValue = digitalRead (A5); int rightColorValue = digitalRead (A4); if (frontDistanceValue> 250) {// sağda biri, maksimum güc Serial1.write (127); Serial1.write (128); } else if (leftColorValue == 0) {// toxunmuş kənar // tərs Serial1.write (1); Serial1.write (255); gecikmə (400); Serial1.write (1); Serial1.write (128); gecikmə (300); } else if (rightColorValue == 0) {// toxunmuş kənar // tərs Serial1.write (1); Serial1.write (255); gecikmə (400); Serial1.write (127); Serial1.write (255); gecikmə (300); } else if (frontDistanceValue> 230) {// bir qədər uzaq Serial1.write (127); Serial1.write (128); } else if (leftDistanceValue> 250) {// sola çevirin Serial1.write (127); Serial1.write (255); gecikmə (450); } else if (rightDistanceValue> 250) {// sağa dönün Serial1.write (1); Serial1.write (128); gecikmə (450); } else if (rearDistanceValue> 150) {// yaxın arxa Serial1.write (1); Serial1.write (128); gecikmə (1050); } else if (frontDistanceValue> 180) {// uzaqda Serial1.write (127); Serial1.write (128); } başqa {Serial1.write (100); Serial1.write (155); }}

Addım 6: Şəkillər

Şəkillər
Şəkillər
Şəkillər
Şəkillər
Şəkillər
Şəkillər
Şəkillər
Şəkillər

Bitmiş sumobotun bəzi fotoşəkilləri göstərilir.

Ümid edirik ki, bu dərsdən bir şey öyrəndiniz. Bu bələdçini bəyənirsinizsə, zəhmət olmasa "Move it Move" yarışmasında mənə səs verin. Əks təqdirdə, bu təlimatı daha yaxşı edə biləcək hər şeyi düzəltməkdən məmnun olarıq.

Xoşbəxt öyrənmə!

Tövsiyə: