Мазмуну:

1KG Sumobot Build: 6 кадам
1KG Sumobot Build: 6 кадам

Video: 1KG Sumobot Build: 6 кадам

Video: 1KG Sumobot Build: 6 кадам
Video: How to make Robot Sumo 2024, Июнь
Anonim
1KG Sumobot Build
1KG Sumobot Build

Бул Инструкция сизге 1 килограммдык сумоботту долбоорлоо жана куруу процессинде жол көрсөтөт.

Бирок, биринчиден, эмне үчүн мен муну жазууну чечкеним жөнүндө бир аз маалымат. Мен эски сумоботумду сынакка оңдоп жатканымда, мен эч качан сумобот жасоо боюнча Нускама бербегенимди түшүндүм. Мен өткөн жылы Instructables программасында унчукпай жүрдүм, ошондуктан мен 1KG сумоботту кантип куруу керектиги боюнча ушул Инструкция менен кайрылып келүүнү чечтим.

Биринчиден, көптөр кызыктырат: сумобот деген эмне?

Негизи, сумобот-бул сумобот же робот-сумо мелдештеринде колдонулуучу роботтун бир түрү. Аты айтып тургандай, максаты - сумо күрөшүнө окшош, бири -бирин рингден түртүп чыгаруу. Сүмоботтун өзү башка сумоботту рингден чыгаруу үчүн гана иштелип чыккан. Бул Нускамада сумобот 1 килограммды түзөт. Бирок 500 грамм жана 3 килограмм сыяктуу башка салмак категориялары бар.

Керектүү көндүмдөр:

  • CAD (Компьютердик Дизайн) менен таанышуу
  • Soldering
  • Ардуинодо программалоо

Бул долбоор үчүн көп көндүмдөрдүн кереги жок. CAD менен ыңгайлуу болуу, ширетүү жана программалоо узак жолду басып өтөт. Компьютердин жардамы менен татаал дизайн кандай угулганына таң калбаңыз. Autodesk өз программалык камсыздоосу боюнча бекер комплекстүү окуу куралдарын берет (мен Fusion 360ты өзүм колдоном) жана бул арканды үйрөнүп баштагандарга абдан пайдалуу. Мен үчүн баарынан маанилүүсү үйрөнүүгө даярдык жана даярдык, жана албетте жолдо көңүл ачуу.

Муну менен баштайлы.

P. S. Мен дагы бул Нускамалыкты Make it Move конкурсуна катышып жатам. Эгерде сиз бул Инструктивдүү кереметтүү деп тапсаңыз, мага да добуш бериңиз. (Мен футболканы каалайм; бул чын эле сонун көрүнөт:))

1 -кадам: Бөлүктөрдүн тизмеси

Бөлүктөрдүн тизмеси:

0.090 "6061 Алюминий Барагы - 12" x 12 "(же кандайдыр бир 0.090" /2.2mm алюминий баракчасы CNC'd болушу мүмкүн. Мен 6061ди тандадым, анткени бул негизги корпус үчүн колдонулат, жана 6061дин күчү адилеттүү)

0.5мм алюминий барагы - 12”x 12” (Ар кандай эритме иштейт; бул үстүнкү капкак менен лезвие үчүн. Мен запастык алюминий калдыктарын колдондум)

5мм алюминий барагы (Дагы, кандайдыр бир эритме иштейт. Меники 7075 алюминий калдыгы болчу.)

2 x 12V DC жогорку момент мотору (Ар кандай жогорку момент мотору иштейт, мисалы Amazonдан келген.)

2 x дөңгөлөк алкагы (Дагы, дөңгөлөктүн алкагы моторуңузга жараша иштейт. Эгерде сизде 5 мм мотору бар болсо, бул дөңгөлөктөр жакшы иштейт. Меники чындыгында менде болгон эски силикон дөңгөлөктөр)

4 IR аралык сенсорлору (мен Sharp IR аралык сенсорлорун колдоном, аларды бир нече дүкөндөрдөн сатып алса болот, мисалы, бул Пололудан жана Sparkfunдан.)

2 IR сенсорлору (мен дагы Sparkfunдан бул жерден алдым.)

1 Микроконтроллер тактасы (мен ATX2ди керектүү болгону үчүн колдоном. Кадимки Arduino Uno колдонуунун оңойлугу үчүн жакшы болмок).

1 3S литий полимердик батарея (LiPo. 3S LiPos - 12 вольт. Сыйымдуулугу 800дөн 1400махка чейин иштейт.)

1 Мотор драйвери (Дагы, бул сиздин моторуңуздун канчалык күч тарта тургандыгынан көз каранды. Бул түздөн -түз Arduino Uno үстүнө чыгат жана 5Ага чейин токту камсыздай алат.)

Зымдар, кабелдер жана туташтыргычтар (сенсорлорду тактага туташтыруу үчүн жана ноутбук менен интерфейс үчүн.)

M3 бурамалар жана гайкалар

Epoxy

Картон

Ноутбук (тактаны программалоо үчүн)

Кайчы, зым чечүүчү жана ширетүүчү сыяктуу шаймандар.

2 -кадам: Шассиди чогултуу

Шассиди чогултуу
Шассиди чогултуу
Шассиди чогултуу
Шассиди чогултуу
Шассиди чогултуу
Шассиди чогултуу
Шассиди чогултуу
Шассиди чогултуу

Мен шассиди иштеп чыгуу үчүн бир булутта иштеген 3D CAD/CAM программасын Fusion 360 колдондум. Autodesk бул жерде сонун окуу куралдарын берет. Мен көбүнчө видеолорду көрүп, анан өзүм жасоого аракет кылып үйрөндүм. Мен сизге Fusion 360ты кантип колдонууну үйрөтпөйм; Мен профессионалдарга өз ишин кыла берейин.

Дизайн өзү бир негизги базадан, бир пышактан, бир үстүңкү капкактан, эки мотор кронштейнден жана эки (же төрт) 3D басма кашаадан турат. Негизги база 2.2мм алюминий, мотор кронштейндер 5мм алюминий, бычак 0.5мм алюминий, үстүңкү капкак 0,5мм алюминий же кадимки картон болушу мүмкүн. Мен картон колдондум, анткени алюминийдин салмагы бир -эки граммга көп болчу, мен 1 килограммдык чектен 10 граммга аштым. Башка жагынан алганда, 3D басылган кашаа ABS менен басылып, 50% толтурулат.

Алюминийди талап кылган конструкциялар.dxf файлдарына экспорттолуп, Филиппиндеги жергиликтүү лазер кесүүчү компанияга жөнөтүлгөн. Ошол эле учурда 3D басылган бөлүктөр STLге экспорттолуп, кайра жергиликтүү 3D басып чыгаруучу компанияга жөнөтүлдү.

Жоопкерчиликтен баш тартуу: Мен иштебей турган, бирок бул дизайнды колдонгон эски сумоботумду кайра колдондум, андыктан айрым бөлүктөрү сүрөттөрдө мурунтан эле чогултулган. Бирок, мен сизге бардык бөлүктөрдү чогултуу процессин көрсөтөм.

Бөлүктөр кесилгенден кийин, сиз үстүнкү капкактан, кашаанын жана пышактын же мотор кронштейнинен баштасаңыз болот.

Дизайндагы үстүнкү капкак алюминийден жасалган, бирок салмак чектөөлөрүнөн улам мен картонду колдондум. Дизайндагыдай техникалык шарттарда картон кестим.

3D басылган кашаа бурамалар менен камсыздалат жана пышакты бекемдөө үчүн колдонулат. Бычак эпоксидин колдонуу менен базага жабыштырылган. Бычактын жана негизги базанын бурама тешиктери позициялоону жетектөө үчүн жана анын так бириктирилгенин текшерүү үчүн колдонулат. Негизги базада тегерек тешиктер бар, аларды бычакты негизги базага жабыштыруу үчүн эпоксид менен толтурсаңыз болот. Тешиктердин чоң бети эпоксидин бычакты жакшыраак кармашына жана анын түбүнөн айрылышына жол бербөөгө мүмкүндүк берет. IR сенсорун, сүрөттөрдөгүдөй эле, эпоксидин колдонуу менен бычактын түбүнө жабыштырууга болот. Сенсордун түбү полго перпендикуляр экенин текшериңиз.

Моторду базага орнотуу үчүн, алгач моторду кронштейнге сайыңыз. Бирок, адегенде зымдарды моторго ширетишиңиз керек, анткени учтар мотордун артында жана базага бекитилгенден кийин аларга жетүү кыйын болмок. Мотор мотор кронштейнине тизилет жана бурамалар менен кармалып турат. Башкача айтканда, эгер сиз моторду алган болсоңуз, анда мен тетиктердин тизмесине киргем. Болбосо, дизайнды моторуңузга ылайыкташтырып өзгөртө аласыз. Бул жерде сиз дөңгөлөктүн алкагын моторго тиркеп койсоңуз болот. Мотор кронштейн андан кийин негизги базанын арткы тешиктерине буралат.

Эгерде сиз Arduino чокусуна чыга албаган мотор драйверин колдонуп жатсаңыз, же кандайдыр бир себептерден улам мотор айдоочусунун жеке аймагы болушу керек болсо, моторлор менен лезвиенин ортосунда боштук бар. Бул боштук lipo батарейкасы жана мотор айдоочусу үчүн бөлүнгөн, эгер сизге кошумча орун керек болсо. Биз роботтун астыңкы бөлүгүндө иштеп жаткандыктан, кийинчерээк ага кирүү кыйын болуп калат, үстүңкү капкагы жабышкандан кийин, сүрөттөрдөгүдөй эле, мотор драйверин пышак менен мотордун ортосуна койсоңуз болот. Эки тараптуу скотч аны базага бекитүүгө жардам берет.

3 -кадам: Электроника

Электроника
Электроника
Электроника
Электроника
Электроника
Электроника

Кийинки орунда датчиктер, мотор айдоочу жана такта сыяктуу электроника турат.

Эгерде дагы бир жолу, сиз Arduino чокусуна чыкпаган мотор драйверин колдонуп жатсаңыз, аны микроконтроллер менен туташтыруу үчүн керектүү зымдарды туташтыра баштаңыз. Менин айдоочум үчүн мага сигнал (көк) жана жерге (кара) зым гана керек. Бул айдоочунун өзүнө көз каранды. Бардык айдоочуларга батарейкага же кубат булагына туташуу үчүн зымдар керек. Менин XT-60ка туташтырылган коргошундар (көпчүлүк липо батарейкаларында ошол эле штепсель) өтө коюу болгондуктан, аны тар туташтыргыч блокторуна ылайыкташ үчүн кыркууга туура келди.

Менин микроконтроллерим дагы мотор драйверлери менен бирдей энергия булагын бөлүшөт, андыктан зымдарды мотор драйверлериндеги XT-60 туташтыргычынын учтарына туташтырууга туура келди.

IR дистанциясынын сенсорлору, сиз алган сенсорго жараша, үстүнө төөнөгүчтөрдү коюшу керек болушу мүмкүн. Аларды көбүнчө пакетке кошсоңуз болот, эгерде сиз аларды сатып алсаңыз, анда аларды керектүү жерге гана ээриңиз.

Мага окшоп микроконтроллерди сенсорлорго туташтыруу үчүн зымдарды чогуу ширетүү керек болушу мүмкүн. Сенсордун өзүнүн туташтыргычы бар; кээ бирлери JSTти колдонушат, кээ бирлери servo аталыштарын колдонушат. Кадимки Arduino менен сиз секирүүчү кабелдерди Arduino -га жабыштырып, анан кабелдин экинчи учун сенсордон чыккан кабелге туташтыра аласыз. Процесс башка микроконтроллерлер менен бирдей иштейт. Микроконтроллерден келген зымдар сенсордон келген зымдарга ширетилет.

4 -кадам: Бардык бөлүктөрдү бириктирүү

Бардык бөлүктөрдү бириктирүү
Бардык бөлүктөрдү бириктирүү
Бардык бөлүктөрдү бириктирүү
Бардык бөлүктөрдү бириктирүү
Бардык бөлүктөрдү бириктирүү
Бардык бөлүктөрдү бириктирүү
Бардык бөлүктөрдү бириктирүү
Бардык бөлүктөрдү бириктирүү

Сенсорлор жана микроконтроллер үстүңкү плитага өтөт. Мен IR аралык сенсорлорун микроконтроллерден өйдө көтөрүү үчүн бир топ картонго орноттум, анткени сенсордун артындагы зымдар микроконтроллер менен кагылышып кетет. Сүрөттө үч гана сенсор бар экенин байкаңыз. Бул акыркы мүнөттө гана роботтун артындагы төртүнчү аралык сенсорун кошууну чечтим. Тилекке каршы, бош орун жок болгондуктан, аны мотордун артында, негизги базанын өзүнө орнотууга туура келди.

Андан соң микроконтроллер үстүңкү пластинага бекитилет. Эч нерсе өтө оор; Мен жөн эле картонду тешип, үстөлдүн үстүндөгү тактайдын баарын бурап койгом. Эгерде сиз алюминийди колдонуп жатсаңыз, анда кол менен машыгуу керек болот.

Баары үстүңкү табакка бекитилгенден кийин, моторлордун үстүңкү бөлүгүнө жабыштыруу үчүн эки тараптуу скотчту колдонуңуз.

Бул жерде сенсорлорду жана мотор драйверин микроконтроллерге туташтыруу сыяктуу бардык электрониканы бириктире баштасаң болот. Эгерде сиз Arduino чокусуна жабышкан мотор драйверин колдонуп жатсаңыз, анда сиз үчүн көйгөй жок. Болбосо, анда мен кылган нерсеге окшоп, аны айдоочунун өзгөчөлүгүнө ылайык тактага зым менен жабышыңыз керек болот.

Баары зымдуу болгондон кийин, липону мотор менен пышактын ортосуна коюңуз, андан кийин микроконтроллериңизди жана драйверлериңизди күйгүзүп көрүңүз.

5 -кадам: Программалоо

Баары чогултулгандан кийин, акыркы нерсени жасоо керек: роботту программалоо.

Роботту программалоо сиз каалаган стратегияга жараша болот. Мен бул жерде сиз программалоодо компетенттүү деп ойлойм, анткени менин мотор драйверим сериялык (UART) байланышты колдонот, ошондуктан менин программам башка мотор драйверлери үчүн иштебейт. Кантсе да, программалоодо баарына бирдей өлчөм жок.

Сизге жардам берүү үчүн, бул жерде менин программанын негизги схемасы.

эгерде алдыда кимдир бирөө бар болсо, анда толук күчкө барыңыз сол же оң түстүү сенсор ак сызыкты аныктайт, артка кайтыңыз жана артка бурулсаңыз солго же оңго аралык сенсор бир нерсени аныктайт, ошол тарапка буруңуз алдыда, алдыга кет, алдыга жыла бер

Бул жерде сиз кызык болсоңуз бүтүндөй программа:

#кошуу

// A5 - сол түстүү сенсор // A4 - оң түстүү сенсор // A6 - арткы аралык сенсор // A2 - сол аралык сенсор // A3 - оң аралык сенсор // A1 - алдыңкы аралык сенсору // мотор 1 - оң // мотор 2 - сол боштукту орнотуу () {uart1_set_baud (9600); Serial1.write (64); Serial1.write (192); OK (); бип (2); setTextColor (GLCD_BLUE); glcd (1, 0, "Башталган"); кечигүү (4900); }

void loop () {

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) {// туура кимдир бирөө, максималдуу күч Serial1.write (127); Serial1.write (128); } else if (leftColorValue == 0) {// тийген кыр // артка Serial1.write (1); Serial1.write (255); кечигүү (400); Serial1.write (1); Serial1.write (128); кечигүү (300); } else if (rightColorValue == 0) {// тийген кыр // артка Serial1.write (1); Serial1.write (255); кечигүү (400); Serial1.write (127); Serial1.write (255); кечигүү (300); } else if (frontDistanceValue> 230) {// kinda far front Serial1.write (127); Serial1.write (128); } else if (leftDistanceValue> 250) {// солго буруңуз Serial1.write (127); Serial1.write (255); кечигүү (450); } else if (rightDistanceValue> 250) {// оңго буруңуз Serial1.write (1); Serial1.write (128); кечигүү (450); } else if (rearDistanceValue> 150) {// жакынкы Serial1.write (1); Serial1.write (128); кечигүү (1050); } else if (frontDistanceValue> 180) {// алыскы Serial1.write (127); Serial1.write (128); } else {Serial1.write (100); Serial1.write (155); }}

6 -кадам: Сүрөттөр

Сүрөттөр
Сүрөттөр
Сүрөттөр
Сүрөттөр
Сүрөттөр
Сүрөттөр
Сүрөттөр
Сүрөттөр

Даяр сумоботтун кээ бир сүрөттөрү көрсөтүлгөн.

Бул үйрөткүчтөн бир нерсе үйрөндүңүз деп үмүттөнөбүз. Эгерде сизге бул колдонмо жакса, анда аны жылдыруу конкурсунда мага добуш бериңиз. Болбосо, мен бул колдонмону жакшырта турган нерсени оңдоого кубанычтамын.

Бактылуу окуу!

Сунушталууда: