Mündəricat:
- Addım 1: Dizayn prosesi
- Addım 2: Arduinonun rolu
- Addım 3: Lazım olan materiallar
- Addım 4: 3D çaplı hissələr
- Addım 5: Servo Mötərizələrin Hazırlanması
- Addım 6: Bağlantı Parçaları Hazırlayın
- Addım 7: Ayaqların yığılması
- Addım 8: Xüsusi PCB və Kablolama
- Addım 9: Bədənin yığılması
- Addım 10: Daxili Quraşdırma
- Addım 11: Kinematik haqqında bir az
- Addım 12: Arduino proqramlaşdırılması
- Addım 13: Son Nəticələr: Təcrübə Zamanı
Video: Arduino İdarə Edilən Robot Biped: 13 Addım (Şəkillərlə birlikdə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:43
Fusion 360 Layihələri »
Hər zaman robotlarla, xüsusən də insan hərəkətlərini təqlid etməyə çalışanlarla maraqlanıram. Bu maraq məni insan gedişini və qaçışını təqlid edə biləcək bir robotlu iki ayaqlı dizayn hazırlamağa və inkişaf etdirməyə çalışdı. Bu Təlimat kitabında, sizə iki tərəfli robotun dizaynını və montajını göstərəcəyəm.
Bu layihəni qurarkən əsas məqsəd, sistemi mümkün qədər möhkəm etmək idi ki, müxtəlif gəzinti və qaçış yürüşləri ilə təcrübə apararkən, cihazın uğursuz olması barədə daim narahat olmaya bilərəm. Bu, cihazı həddinə çatdırmağa imkan verdi. İkinci bir məqsəd, hazır hobbi hissələri və 3D çapdan istifadə edərək daha da yüksəltmək və genişləndirmək üçün yer buraxaraq nisbətən aşağı qiymətə sahib olmaq idi. Bu iki məqsəd bir araya gələrək fərqli təcrübələr aparmaq üçün möhkəm bir təməl yaradır və iki ayaqlı balığın daha spesifik tələblərə uyğun inkişaf etdirilməsinə imkan verir.
Arduino tərəfindən idarə olunan Robot Biped yaradın və layihəni bəyənmisinizsə "Arduino Müsabiqəsi" ndə səs verməyin.
Addım 1: Dizayn prosesi
Humanoid ayaqları Autodesk -in sərbəst şəkildə Fusion 360 3d modelləşdirmə proqramından istifadə etməklə hazırlanmışdır. Servo mühərrikləri dizayna idxal etməklə başladım və ayaqları ətrafına qurdum. Servo mühərrikin milinə tam əks olaraq ikinci bir dönmə nöqtəsi təmin edən servo motor üçün mötərizələr hazırladım. Motorun hər iki ucunda ikili şaftların olması dizaynın struktur sabitliyini təmin edir və ayaqları yük götürərkən meydana gələ biləcək hər hansı bir əyilməni aradan qaldırır. Bağlantılar, rulman tutmaq üçün nəzərdə tutulmuşdur, mötərizədə isə mil üçün bolt istifadə edilmişdir. Bağlantılar bir qoz istifadə edərək şaftlara monte edildikdən sonra, rulman servo motor milinin əks tərəfində hamar və möhkəm bir dönmə nöqtəsi təmin edər.
İki ayaqlı dizayn edərkən başqa bir məqsəd, servo mühərriklərin verdiyi torkdan maksimum istifadə etmək üçün modeli mümkün qədər yığcam saxlamaq idi. Bağlantıların ölçüləri, ümumi uzunluğu minimuma endirərkən böyük bir hərəkət aralığına nail olmaq üçün hazırlanmışdır. Onları çox qısaltmaq mötərizələrin toqquşmasına səbəb olacaq, hərəkət aralığını azaldacaq və çox uzunlaşdırdıqda aktuatorlara lazımsız tork tətbiq edəcək. Nəhayət, Arduino və digər elektron komponentlərin quraşdırılacağı robotun gövdəsini hazırladım.
Qeyd: Parçalar aşağıdakı addımlardan birinə daxil edilmişdir.
Addım 2: Arduinonun rolu
Bu layihədə bir Arduino Uno istifadə edildi. Arduino, sınaqdan keçirilmiş müxtəlif gedişlərin hərəkət yollarını hesablamaqdan məsuldur və hərəkət edənlərə hamar bir gəzinti hərəkəti yaratmaq üçün dəqiq sürətlə dəqiq açılara keçməyi tapşırdı. Arduino, çox yönlü olması səbəbindən layihələr hazırlamaq üçün əla seçimdir. Bir dəstə IO pin təmin edir və digər mikro nəzarətçilər və sensorlar ilə əlaqə qurmaq üçün serial, I2C və SPI kimi interfeyslər də təmin edir. Arduino, sürətli prototip və sınaq üçün əla bir platforma təmin edir və inkişaf etdiricilərə təkmilləşdirmə və genişlənmə imkanı verir. Bu layihədə, digər versiyalarda, maneələrin qarşısını almaq üçün düşmə aşkarlanması və qeyri -bərabər ərazilərdə dinamik lokomotiv və məsafə ölçmə sensoru kimi hərəkətin işlənməsi üçün bir Əyalət Ölçmə Birliyi daxil olacaq.
Bu layihə üçün Arduino IDE istifadə edildi. (Arduino veb əsaslı bir IDE də təmin edir)
Qeyd: Robot üçün proqramlar aşağıdakı addımlardan birindən endirilə bilər.
Addım 3: Lazım olan materiallar
Budur, Arduino ilə işləyən Bipedal robotunuzu hazırlamaq üçün lazım olan bütün komponentlərin və hissələrin siyahısı. Bütün hissələr ümumiyyətlə mövcud olmalı və tapılması asan olmalıdır.
ELEKTRONİK:
Arduino Uno x 1
Towerpro MG995 servo motor x 6
Perfboard (Arduino ilə eyni ölçüdə)
Kişi və Dişi başlıq pinləri (hər biri təxminən 20 ədəd)
Jumper telləri (10 ədəd)
MPU6050 IMU (isteğe bağlı)
Ultrasonik sensor (isteğe bağlı)
DONANIM:
Kaykay Rulmanı (8x19x7mm)
M4 qoz -fındıq və boltlar
3D printer filamenti (3D printeriniz yoxdursa, yerli iş yerində bir 3D printer olmalıdır və ya çaplar olduqca ucuza onlayn olaraq edilə bilər)
Arduino və 3D printerlər istisna olmaqla, bu layihənin ümumi dəyəri 20 dollardır.
Addım 4: 3D çaplı hissələr
Bu layihə üçün lazım olan hissələr xüsusi olaraq hazırlanmalı idi, buna görə də onları çap etmək üçün 3D printerdən istifadə olunurdu. Çaplar 40% doldurma, 2 perimetr, 0,4 mm nozzle və 0,1 mm təbəqə PLA ilə seçdiyiniz rəngdə hazırlanmışdır. Aşağıda öz versiyanızı çap etmək üçün hissələrin tam siyahısını və STL -ləri tapa bilərsiniz.
Qeyd: Buradan etibarən hissələr siyahıdakı adların istifadə edilməsinə istinad ediləcək.
- ayaq servo tutacağı x 1
- ayaq servo tutucu güzgü x 1
- diz servo tutacağı x 1
- diz servo tutucu güzgü x 1
- ayaq servo tutacağı x 1
- ayaq servo tutucu güzgü x 1
- daşıyıcı keçid x 2
- servo buynuz bağlantısı x 2
- ayaq keçidi x 2
- körpü x 1
- elektronika x 1
- elektronika ayırıcı x 8 (isteğe bağlı)
- servo buynuz boşluğu x 12 (isteğe bağlı)
Ümumilikdə, ayırıcılar istisna olmaqla, 14 hissədən ibarətdir. Ümumi çap müddəti təxminən 20 saatdır.
Addım 5: Servo Mötərizələrin Hazırlanması
Bütün hissələr çap edildikdən sonra servo və servo mötərizələri qurmağa başlaya bilərsiniz. Əvvəlcə rulmanı diz servo tutucusuna itələyin. Uyğun olmalıdır, amma hissəni qırmaq riski daşıyan yatağı məcbur etmək əvəzinə çuxurun daxili səthini zımpara etməyi məsləhət görürəm. Sonra M4 boltunu çuxurdan keçirin və qoz istifadə edərək sıxın. Sonra, ayaq keçidini tutun və təchiz edilmiş vintlərdən istifadə edərək dairəvi bir servo buynuzu bağlayın. Ayaq keçidini servo motoru da bağlamaq üçün istifadə edəcəyiniz vintlərdən istifadə edərək diz servo tutucusuna bağlayın. Şaftın əvvəllər bağladığınız cıvatanın eyni tərəfində olması üçün mühərriki hizaladığınızdan əmin olun. Nəhayət, servoyu qalan qoz -fındıq və boltlarla bərkidin.
Kalça servo tutacağı və ayaq servo tutucusu ilə də eyni şeyi edin. Bunun üçün üç servo mühərrik və onlara uyğun mötərizələr olmalıdır.
Qeyd: Bir ayağımın qurulması üçün təlimat verirəm, digər ayağı sadəcə aynadır.
Addım 6: Bağlantı Parçaları Hazırlayın
Mötərizələr yığıldıqdan sonra bağlantılar düzəltməyə başlayın. Rulman halqasını düzəltmək üçün, yatağın deliklərinin daxili səthini bir az yüngülcə zımparalayın və sonra yatağı hər iki tərəfdəki çuxura itələyin. Rulmanı bir tərəfi yuyulana qədər itələdiyinizə əmin olun. Servo buynuz bağlantısını qurmaq üçün iki dairəvi servo buynuzu və təchiz edilmiş vintləri tutun. Buynuzları 3D çapa qoyun və delikləri düzəldin, sonra vidanı 3D çap tərəfdən bağlayaraq 3D çapa vidalayın. Bu vintlər üçün 3D çaplı servo buynuz ayırıcıdan istifadə etməyi məsləhət görürəm. Bağlantılar qurulduqdan sonra ayağı yığmağa başlaya bilərsiniz.
Addım 7: Ayaqların yığılması
Bağlantılar və mötərizələr yığıldıqdan sonra onları robotun ayağını qurmaq üçün birləşdirə bilərsiniz. Birincisi, servo buynuz bağlantısından istifadə edərək kalça servo braketi və diz servo mötərizəsini bir -birinə bağlayın. Qeyd: Buynuzu servoya bağlamayın, çünki sonrakı mərhələdə bir quraşdırma mərhələsi var və buynuz servo motora vidalansa narahatçılıq yaranar.
Qarşı tərəfdə, rulman bağlantısını qoz -fındıq istifadə edərək çıxan boltlara quraşdırın. Nəhayət, çıxan boltu diz servo tutucusundakı yatağa daxil edərək ayaq servo braketini bağlayın. Və servo şaftını digər tərəfdən diz servo tutucusuna qoşulmuş servo buynuzuna bağlayın. Bu çətin bir iş ola bilər və bunun üçün ikinci bir cüt əl tövsiyə edərdim.
Digər ayağın hərəkətlərini təkrarlayın. Hər bir addıma əlavə edilmiş şəkilləri istinad olaraq istifadə edin.
Addım 8: Xüsusi PCB və Kablolama
Bu isteğe bağlı bir addımdır. Kabelləri səliqəli etmək üçün perf board və head pinlərindən istifadə edərək xüsusi bir PCB düzəltməyə qərar verdim. PCB -də servo motor tellərini birbaşa birləşdirən portlar var. Əlavə olaraq, İnertial Ölçmə Cihazları və ya ultrasəs məsafə sensorları kimi digər sensorları genişləndirmək və əlavə etmək istəsəm əlavə portlar da buraxdım. Ayrıca servo mühərrikləri gücləndirmək üçün lazım olan xarici enerji mənbəyi üçün bir port da var. Arduino üçün USB və xarici güc arasında keçid etmək üçün bir keçid istifadə olunur. Arduino və PCB -ni vintlər və 3D çap aralıqları ilə elektronikanın hər iki tərəfinə quraşdırın.
Qeyd: Arduino'yu USB vasitəsilə kompüterinizə bağlamadan əvvəl tullanan konnektoru çıxardığınızdan əmin olun. Bunu etməmək Arduinoya zərər verə bilər.
PCB -dən istifadə etməməyə və bunun yerinə bir çörək taxtası istifadə etməyə qərar verərsənsə, burada servo bağlantılar var:
- Sol Kalça >> pin 9
- Sağ Kalça >> pin 8
- Sol Diz >> pin 7
- Sağ Diz >> pin 6
- Sol Ayaq >> pin 5
- Sağ Ayaq >> pin 4
PCB -ni yuxarıdan eyni qaydada yerinə yetirmək qərarına gəlsəniz, PCB üzərindəki portları IMU portu yuxarıya baxaraq sağdan sola istifadə edin. Yuxarıdakı pin nömrələrindən istifadə edərək PCB -ni Arduino -ya bağlamaq üçün müntəzəm kişidən dişi tullanan tellərdən istifadə edin. Torpaq pinini də bağladığınızdan və USB gücü olmadan işə salmağa qərar verdiyiniz zaman eyni torpaq potensialı və Vin pin yaratdığınızdan əmin olun.
Addım 9: Bədənin yığılması
İki ayaq və elektronika yığıldıqdan sonra robot gövdəsini qurmaq üçün onları bir araya gətirin. İki ayağı bir -birinə bağlamaq üçün körpüdən istifadə edin. Kalça servo tutucusundakı eyni montaj deliklərindən və servo motoru tutan qoz -fındıqlardan və boltlardan istifadə edin. Nəhayət, elektron qurğunu körpüyə bağlayın. Körpüdə və elektronikada olan delikləri düzün və birləşməni düzəltmək üçün M4 qoz -fındıq və boltlardan istifadə edin.
Kömək üçün əlavə edilmiş şəkillərə baxın. Bununla robotun aparat quruluşunu tamamladınız. Sonra, proqrama keçək və robotu canlandıraq.
Addım 10: Daxili Quraşdırma
Bu layihəni qurarkən müşahidə etdiyim şey, servo mühərriklərin və buynuzların nisbətən paralel qalması üçün mükəmməl uyğunlaşmamasıdır. Bu səbəbdən hər bir servo motorun "mərkəzi mövqeyi" ayaqları ilə hizalanmaq üçün əllə tənzimlənməlidir. Buna nail olmaq üçün hər bir servodan servo buynuzlarını çıxarın və initial_setup.ino eskizini işlədin. Mühərriklər mərkəzi mövqeyinə oturduqdan sonra, ayaqları mükəmməl düz və ayağı yerə mükəmməl paralel olacaq şəkildə buynuzları yenidən bağlayın. Əgər belədirsə, şanslısınız. Əgər bitişik sekmədə tapılan constants.h faylını açmasanız və ayaqları mükəmməl hizalanana və ayaq düz olana qədər servo ofset dəyərlərini (1-6 sətirləri) dəyişdirin. Dəyərlərlə oynayın və vəziyyətinizdə nə lazım olduğu barədə bir fikir əldə edəcəksiniz.
Sabitlər təyin edildikdən sonra, bu dəyərləri daha sonra lazım olacağı kimi qeyd edin.
Yardım üçün şəkillərə baxın.
Addım 11: Kinematik haqqında bir az
İki ayaqlıların qaçış və gəzinti kimi faydalı hərəkətlər etməsini təmin etmək üçün müxtəlif yerişləri hərəkət yolları şəklində proqramlaşdırmaq lazımdır. Hərəkət yolları, son effektorun (ayaqların bu vəziyyətdə) hərəkət etdiyi yollardır. Buna nail olmağın iki yolu var:
- Bir yanaşma, müxtəlif mühərriklərin birləşmə açılarını kobud bir şəkildə qidalandırmaq olar. Bu yanaşma çox vaxt aparan, yorucu və səhvlərlə dolu ola bilər, çünki mühakimə yalnız vizualdır. Əksinə, istədiyiniz nəticəni əldə etməyin daha ağıllı bir yolu var.
- İkinci yanaşma, bütün oynaq bucaqları yerinə son effektorun koordinatlarını qidalandırmaqla bağlıdır. Ters Kinematik kimi tanınan budur. İstifadəçi koordinatları daxil edir və birləşmə açıları son effektoru göstərilən koordinatlarda yerləşdirmək üçün düzəldir. Bu üsul, bir koordinat daxil edən və birləşmə açılarını çıxaran bir qara qutu olaraq qəbul edilə bilər. Bu qara qutunun trigonometrik tənliklərinin necə hazırlandığı ilə maraqlananlar yuxarıdakı diaqrama baxa bilərlər. Maraqlanmayanlar üçün tənliklər artıq proqramlaşdırılmışdır və x, z girişini alan və mühərriklərə uyğun üç bucaq verən pos funksiyasından istifadə oluna bilər.
Bu funksiyaları ehtiva edən proqramı növbəti addımda tapa bilərsiniz.
Addım 12: Arduino proqramlaşdırılması
Arduino proqramlaşdırmadan əvvəl, fayl üzərində kiçik dəyişikliklər edilməlidir. Səndən not götürməyi xahiş etdiyim sabitləri xatırlayırsanmı? Eyni sabitləri constants.h faylında təyin etdiyiniz dəyərlərə dəyişdirin.
Qeyd: Bu Təlimatda göstərilən dizaynlardan istifadə etmisinizsə, dəyişdirmək üçün heç bir şeyiniz yoxdur. Bəzilərinizin öz dizaynlarını hazırlamaları halında, ofsetlərlə birlikdə daha bir neçə dəyər dəyişdirməli olacaqsınız. Sabit l1, kalça mili ilə diz mili arasındakı məsafəni ölçür. Sabit l2, diz mili ilə ayaq biləyi arasındakı məsafəni ölçür. Öz modelinizi hazırlamısınızsa, bu uzunluqları ölçün və sabitləri dəyişdirin. Yekunlar üçün son iki sabit istifadə olunur. StepClearance sabitliyi, bir addımdan sonra irəli gedərkən ayağın nə qədər yüksək qalxacağını, stepHeight sabitliyi isə addımlar atarkən yerdən kalçaya qədər olan hündürlüyü ölçür.
Bütün sabitlər ehtiyacınıza uyğun olaraq dəyişdirildikdən sonra əsas proqramı yükləyə bilərsiniz. Əsas proqram, robotu gəzinti mövqeyinə qoyur və irəli addımlar atmağa başlayır. Fonksiyonlar, ən yaxşı işlədiyini görmək üçün müxtəlif yerişləri, sürətləri və addım uzunluqlarını araşdırmaq ehtiyacınıza uyğun olaraq dəyişdirilə bilər.
Addım 13: Son Nəticələr: Təcrübə Zamanı
İki ayaqlı, əyilmədən uzunluğu 10 ilə 2 sm arasında dəyişən addımlar ata bilər. Yürüşü balanslı saxlayarkən sürət də dəyişə bilər. Arduinonun gücü ilə birləşdirilmiş bu iki ayaq, topu təpikləyərkən tullanmaq və ya tarazlaşdırmaq kimi müxtəlif yerişləri və digər məqsədləri sınamaq üçün möhkəm bir platforma təmin edir. Öz yerişlərinizi yaratmaq və müxtəlif yerişlərin robotun performansına necə təsir etdiyini öyrənmək üçün ayaqlarınızın hərəkət yollarını dəyişdirməyə çalışmanızı tövsiyə edərdim. IMU və məsafə sensoru kimi sensorlar sistemin funksiyalarını artırmaq üçün əlavə edilə bilər, qeyri -bərabər səthlərdə dinamik lokomotivlə təcrübə aparmaq üçün güc sensoru bacaklara əlavə edilə bilər.
Ümid edirik ki, bu Təlimatlandırıcıdan zövq aldınız və özünüzü yaratmaq üçün bir ilham mənbəyiniz olacaq. Layihəni bəyənmisinizsə, "Arduino Yarışması" nda səs verərək dəstək verin.
Xoşbəxt olun!
2020 Arduino Müsabiqəsində birinci mükafat
Tövsiyə:
Səs İdarə Edilən Robot Əl: 8 Addım (Şəkillərlə birlikdə)
Səs İdarə Edilən Robot Əl: a. məqalələr {font-size: 110.0%; yazı tipi çəkisi: qalın; şrift tərzi: italik; mətn bəzəyi: heç biri; background-color: red;} a.articles: hover {background-color: black;} Bu təlimat səslə idarə olunan robot əlin necə qurulacağını izah edir
Arduino/Tətbiqlə İdarə Edilən Masa İşığı: 6 Addım (Şəkillərlə birlikdə)
Arduino/App Controlled Desk Light: Bu layihə üçün elektronika/proqram təminatı haqqında özümə daha çox şey öyrətməyimə imkan verən bir şey istədim, hələ daxil olmadığım bir şey .. Bunun üçün yaxşı bir platforma olacağına qərar verdim. hazırladığım dizayn bir yükseltici üçün idi
Wemos D1 ESP8266, Arduino IDE və Blynk Tətbiqindən istifadə edərək Wi-Fi İdarə Edilən Robot: 11 Addım (Şəkillərlə birlikdə)
Wemos D1 ESP8266, Arduino IDE və Blynk Tətbiqindən istifadə edərək Wi-Fi İdarə Edilən Robot: Bu təlimatda sizə Blynk Tətbiqi istifadə edərək bir ağıllı telefondan idarə olunan Wi-Fi idarə olunan robot tankının necə hazırlanacağını göstərəcəyəm. Bu layihədə bir ESP8266 Wemos D1 lövhəsi istifadə edildi, lakin digər boşqab modelləri də istifadə edilə bilər (NodeMCU, Firebeetle və s.) Və pr
Su Arıtmaq üçün Arduino İdarə Edilən Pompa: 4 Addım (Şəkillərlə birlikdə)
Su Arıtmaq üçün Arduino İdarə Edilən Pompa: Bu layihənin ideyası, mənzilimə kondensasiya qaz qazanı alanda ortaya çıxdı. Qazanın istehsal etdiyi qatılaşdırılmış suya yaxın bir drenajım yoxdur. Su bir neçə gün ərzində 20 litrlik bir tanka (tambura) yığılır və sonra
8051 Mikrokontrolördən istifadə edən Səs İdarə Edilən Robot: 4 Addım (Şəkillərlə birlikdə)
8051 Mikro nəzarətçisindən istifadə edərək Səs İdarə Edilən Robot: Səslə idarə olunan robot səs şəklində müəyyən bir əmr alır. Səs modulu və ya Bluetooth modulu vasitəsilə verilən əmr nə olursa olsun, mövcud nəzarətçi tərəfindən deşifr olunur və buna görə də verilən əmr icra olunur. Bu layihədə mən