Мазмуну:

Arduino башкарылган робот эки буттуу: 13 кадам (сүрөттөр менен)
Arduino башкарылган робот эки буттуу: 13 кадам (сүрөттөр менен)

Video: Arduino башкарылган робот эки буттуу: 13 кадам (сүрөттөр менен)

Video: Arduino башкарылган робот эки буттуу: 13 кадам (сүрөттөр менен)
Video: Контрольная лампа переменного тока с диммером Arduino AC 2024, Июль
Anonim
Image
Image
Arduino башкарылган робот эки буттуу
Arduino башкарылган робот эки буттуу
Arduino робот башкарылган
Arduino робот башкарылган

Fusion 360 долбоорлору »

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

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

Өзүңүздүн Arduino башкарган Robotic Biped түзүүнү улантыңыз жана эгер сизге долбоор жакса, "Arduino Конкурсунда" добуш бербей коюңуз.

1 -кадам: Дизайн процесси

Дизайн процесси
Дизайн процесси
Дизайн процесси
Дизайн процесси
Дизайн процесси
Дизайн процесси

Гуманоид буттары Fodes 360 3d моделдөө программасын колдонуу үчүн Autodeskтин бекер иштелип чыккан. Мен серво моторлорун дизайнга импорттоо менен баштадым жана алардын айланасындагы буттарды курдум. Мен servo мотор үчүн кашааларды ойлоп таптым, ал дивизиялык түрдө servo мотордун валына карама -каршы экинчи бурулуш чекитти камсыз кылат. Кыймылдаткычтын эки учунда эки валдын болушу дизайнга структуралык туруктуулукту берет жана буттар кандайдыр бир жүктү алуу үчүн жасалганда пайда болушу мүмкүн болгон кыйшыктарды жок кылат. Шилтемелер подшипникти кармоо үчүн иштелип чыккан, ал эми кронштейндер вал үчүн болт колдонушкан. Шилтемелер гайкалар аркылуу валдарга орнотулгандан кийин, подшипник серво моторунун карама -каршы жагында жылмакай жана бекем бурулуш чекитти камсыз кылат.

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

Эскертүү: Бөлүктөр төмөнкү кадамдардын бирине киргизилген.

2 -кадам: Ардуинонун ролу

Ардуинонун ролу
Ардуинонун ролу

Бул долбоордо Arduino Uno колдонулган. Arduino тестирленген ар кандай басуунун кыймыл жолдорун эсептөө үчүн жооптуу болчу жана кыймылдаткычтарга так ылдамдыкта так бурчтарга өтүүнү буйрук кылды, алар жылмакай басуу кыймылын түзүштү. An Arduino - бул ар тараптуулугунан улам долбоорлорду иштеп чыгуу үчүн эң сонун тандоо. Бул IO казыктарынын бир тобун камсыз кылат, ошондой эле башка микроконтроллерлер жана сенсорлор менен байланышуу үчүн сериялык, I2C жана SPI сыяктуу интерфейстерди камсыз кылат. Arduino ошондой эле тез прототиптөө жана тестирлөө үчүн сонун платформа менен камсыз кылат, ошондой эле иштеп чыгуучуларга өркүндөтүү жана кеңейтүү үчүн орун берет. Бул долбоордо кийинки версиялар кыймылдарды иштетүү үчүн инерциялуу өлчөө бирдигин камтыйт, мисалы, кулоону аныктоо жана тегиз эмес жерлерде динамикалык локомотив жана тоскоолдуктарды болтурбоо үчүн аралыкты өлчөөчү сенсор.

Бул долбоор үчүн Arduino IDE колдонулган. (Arduino ошондой эле вебге негизделген IDE менен камсыз кылат)

Эскертүү: Робот үчүн программаларды төмөнкү кадамдардын биринен жүктөп алсаңыз болот.

3 -кадам: Керектүү материалдар

Керектүү материалдар
Керектүү материалдар
Керектүү материалдар
Керектүү материалдар
Керектүү материалдар
Керектүү материалдар
Керектүү материалдар
Керектүү материалдар

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

ЭЛЕКТРОНИКА:

Arduino Uno x 1

Towerpro MG995 servo мотор x 6

Perfboard (Arduinoго окшош өлчөм)

Эркек жана Ургаачы төөнөгүч казыктары (ар биринен 20га жакын)

Jumper Wires (10 даана)

MPU6050 IMU (милдеттүү эмес)

УЗИ сенсор (милдеттүү эмес)

ЖАБДУУ:

Скейтборд подшипниги (8x19x7mm)

M4 гайкалар жана болттар

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

Arduino жана 3D принтерин эске албаганда, бул долбоордун жалпы баасы 20 доллар.

4 -кадам: 3D басылган бөлүктөр

3D басылган бөлүктөрү
3D басылган бөлүктөрү
3D басылган бөлүктөрү
3D басылган бөлүктөрү
3D басылган бөлүктөрү
3D басылган бөлүктөрү
3D басылган бөлүктөрү
3D басылган бөлүктөрү

Бул долбоорго керектүү тетиктер атайын иштелип чыгышы керек болчу, ошондуктан аларды басып чыгаруу үчүн 3D принтер колдонулган. Басылмалар 40% толтурууда, 2 периметрде, 0.4мм саптамада жана 0.1 мм катмар бийиктигинде PLA менен тандалган түстө жасалган. Төмөндө бөлүктөрдүн толук тизмесин жана өз версияңызды басып чыгаруу үчүн STLлерди таба аласыз.

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

  • бут серво кармагычы x 1
  • бут серво кармагыч күзгү x 1
  • тизе серво кармагычы x 1
  • тизе серво кармагычы күзгү x 1
  • бут серво кармагычы x 1
  • бут серво кармагыч күзгү x 1
  • көтөрүүчү шилтеме x 2
  • servo мүйүз шилтемеси x 2
  • бут шилтеме x 2
  • көпүрө x 1
  • электроника х 1
  • электроника аралыгы x 8 (милдеттүү эмес)
  • servo horn space x 12 (милдеттүү эмес)

Жалпысынан, бөлгүчтөрдү кошпогондо, 14 бөлүк бар. Жалпы басып чыгаруу убактысы болжол менен 20 саатты түзөт.

5 -кадам: Servo кронштейндерди даярдоо

Серво кронштейндерин даярдоо
Серво кронштейндерин даярдоо
Серво кронштейндерин даярдоо
Серво кронштейндерин даярдоо
Серво кронштейндерин даярдоо
Серво кронштейндерин даярдоо

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

Жамбаш серво кармагыч жана бут серво кармагыч менен да ушундай кылыңыз. Муну менен сизде үч серво мотору жана аларга тиешелүү кронштейндер болушу керек.

Эскертүү: Мен бир бутумду куруу боюнча көрсөтмөлөрдү берип жатам, экинчиси жөн эле күзгү.

6 -кадам: Шилтемелерди жасоо

Шилтеменин бөлүктөрүн жасоо
Шилтеменин бөлүктөрүн жасоо
Шилтеменин бөлүктөрүн жасоо
Шилтеменин бөлүктөрүн жасоо
Шилтеменин бөлүктөрүн жасоо
Шилтеменин бөлүктөрүн жасоо

Кронштейндерди чогулткандан кийин, шилтемелерди жасай баштаңыз. Тирөөчтүн шилтемесин жасоо үчүн, подшипниктин тешиктеринин ички бетин дагы бир аз жеңилдетиңиз, анан подшипникти эки тараптын тешигине түртүңүз. Подшипникти бир жагы кызарганча түртүп коюңуз. Серво мүйүзүнүн шилтемесин куруу үчүн эки тегерек серво мүйүзүн жана берилген бурамаларды кармаңыз. Мүйүздөрдү 3D басып чыгарууга коюп, тешиктерди тизип коюңуз, андан кийин 3D басып чыгаруучу тараптан бураманы тиркөө менен мүйүздү 3D басып чыгарууга буруңуз. Мен бул бурамалар үчүн 3D басылган servo мүйүз аралыгын колдонууну сунуштайм. Шилтемелер курулгандан кийин, бутту чогултууну баштасаңыз болот.

7 -кадам: Буттарды чогултуу

Буттарды чогултуу
Буттарды чогултуу
Буттарды чогултуу
Буттарды чогултуу
Буттарды чогултуу
Буттарды чогултуу
Буттарды чогултуу
Буттарды чогултуу

Шилтемелер жана кронштейндер чогултулгандан кийин, сиз аларды роботтун бутун куруу үчүн бириктире аласыз. Биринчиден, хип серво кронштейнин жана тизе серво кронштейнин бириктирүү үчүн servo мүйүз шилтемесин колдонуңуз. Эскертүү: Сервого мүйүздү бура бербеңиз, анткени кийинки баскычта орнотуу этапы бар жана мүйүз сервоприводго сайылып калса, бул ыңгайсыздыкка алып келет.

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

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

8 -кадам: Ыңгайлаштырылган PCB жана зымдар

Ыңгайлаштырылган PCB жана зым
Ыңгайлаштырылган PCB жана зым
Ыңгайлаштырылган PCB жана зым
Ыңгайлаштырылган PCB жана зым
Ыңгайлаштырылган PCB жана зым
Ыңгайлаштырылган PCB жана зым

Бул кошумча кадам. Электр өткөргүчтөрүн таза кылуу үчүн, мен такта жана баштык казыктарын колдонуп, ыңгайлаштырылган ПКБ жасоону чечтим. PCB түздөн -түз servo мотор зымдарын туташтыруу үчүн портторду камтыйт. Мындан тышкары, мен инерциалдык өлчөө бирдиктери же УЗИ аралык сенсорлору сыяктуу башка сенсорлорду кеңейтүүнү жана кошууну каалаган учурда кошумча портторду калтырдым. Ал ошондой эле servo моторлорун иштетүү үчүн зарыл болгон тышкы энергия булагы үчүн портту камтыйт. Өткөргүч туташуусу Arduino үчүн USB менен тышкы кубаттуулукту алмаштыруу үчүн колдонулат. Arduino менен ПХБны электрониканын эки жагына бурамалар менен 3D басылган аралыкты орнотуп орнотуңуз.

Эскертүү: Arduino'ду USB аркылуу компьютериңизге туташтыруудан мурун, секиргичти сууруп алыңыз. Муну жасабоо Arduinoго зыян келтириши мүмкүн.

Эгерде сиз ПХБны колдонбоону чечсеңиз, анын ордуна нан тактасын колдонуңуз, бул жерде servo байланыштары:

  • Сол жамбаш >> пин 9
  • Оң жамбаш >> пин 8
  • Сол тизе >> пин 7
  • Оң тизе >> пин 6
  • Сол бут >> пин 5
  • Оң бут >> пин 4

Эгерде сиз ПХБны жогорудагыдай тартипте жасоону чечсеңиз, ПКБдагы портторду ӨМИ портун өйдө каратып оңдон солго карай колдонуңуз. Жана жогорудагы пин номерлерин колдонуу менен ПКБны Arduino менен туташтыруу үчүн кадимки эркектен аялга секирүүчү зымдарды колдонуңуз. Ошондой эле, жерге туташтыргычты туташтырып, ошол эле потенциалды жана Вин пинди USB кубаты жок иштетүүнү чечкениңизди текшериңиз.

9 -кадам: Денени чогултуу

Денени чогултуу
Денени чогултуу
Денени чогултуу
Денени чогултуу
Денени чогултуу
Денени чогултуу

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

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

10 -кадам: Intial Setup

Intial Setup
Intial Setup
Intial Setup
Intial Setup
Intial Setup
Intial Setup

Мен бул проекти куруп жатып байкаганым, серво моторлору менен мүйүздөр салыштырмалуу параллель калыш үчүн кемчиликсиз тегизделбеши керек. Ушул себептен улам, ар бир servo мотордун "борбордук ордун" буттар менен тегиздөө үчүн кол менен тууралоо керек. Буга жетүү үчүн ар бир серводон servo мүйүздөрүн алып салыңыз жана initial_setup.ino эскизин иштетиңиз. Кыймылдаткычтар борбордук абалына жайгашкандан кийин, мүйүздөрдү кайра туташтыргыла, анткени буттары түз жана буту жерге параллель. Эгер андай болсо, анда сиз ийгиликке жетесиз. Эгерде чектеш өтмөктөн табылган constants.h файлын ачпаңыз жана буттар эң сонун тегизделгенге чейин жана бут жалпак болгонго чейин, servo офсетинин маанилерин (1-6-саптар) өзгөртпөңүз. Баалуулуктар менен ойноңуз жана сиздин учурда эмне керек экени жөнүндө түшүнүк аласыз.

Туруктуулуктар коюлгандан кийин, бул баалуулуктарга көңүл буруңуз, анткени алар кийинчерээк керек болот.

Жардам үчүн сүрөттөргө кайрылыңыз.

11 -кадам: Кинематика жөнүндө бир аз

Кинематика жөнүндө бир аз
Кинематика жөнүндө бир аз
Кинематика жөнүндө бир аз
Кинематика жөнүндө бир аз
Кинематика жөнүндө бир аз
Кинематика жөнүндө бир аз

Эки бутун чуркоо жана басуу сыяктуу пайдалуу иш -аракеттерди жасоо үчүн кыймылдын жолдору түрүндө программалоо керек. Кыймыл жолдору - бул акыркы эффектор (бул учурда буттар) бирге өтүүчү жолдор. Буга жетүүнүн эки жолу бар:

  1. Бир ыкма - ар кандай моторлордун бириккен бурчтарын катаал күч менен азыктандыруу. Бул ыкма көп убакытты талап кылат, түйшүктүү, ошондой эле каталар менен толтурулушу мүмкүн, анткени өкүм визуалдуу. Тескерисинче, каалаган натыйжаларга жетүүнүн акылдуу жолу бар.
  2. Экинчи ыкма бардык биргелешкен бурчтардын ордуна акыркы эффектордун координаттарын азыктандыруунун тегерегинде болот. Бул тескери кинематика деп аталат. Колдонуучу координаттарды киргизет жана биргелешкен бурчтар акыркы эффекторду көрсөтүлгөн координаттарга жайгаштырууга ылайыкташат. Бул ыкманы координаттарды киргизүүчү жана биргелешкен бурчтарды чыгаруучу кара куту катары кароого болот. Бул кара кутунун тригонометриялык теңдемелери кантип иштелип чыкканына кызыккандар үчүн жогорудагы диаграмманы караңыз. Кызыкпагандар үчүн теңдемелер мурунтан эле программаланган жана аларды x, z деп кабыл алган жана моторго туура келген үч бурчту чыгарган pos функциясын колдонуп колдонсо болот.

Бул функцияларды камтыган программаны кийинки кадамда тапса болот.

12 -кадам: Arduino программалоо

Arduino программалоо
Arduino программалоо
Arduino программалоо
Arduino программалоо

Arduino программалоодон мурун, файлга кичине өзгөртүүлөрдү киргизүү керек. Мен сизден эскертүү алып салууну суранган константалар эсиңиздеби? Ошол эле константаларды сиз constants.h файлында койгон маанилерге өзгөртүү.

Эскертүү: Эгерде сиз ушул Нускамада берилген дизайндарды колдонгон болсоңуз, анда эч нерсе өзгөртө албайт. Эгерде сиздердин кээ бириңиздер өздөрүнүн дизайнын жасашса, сиз дагы бир нече баалуулуктарды алмаштырууга туура келет. Туруктуу l1 жамбаш айлануу менен тизе айлануу ортосундагы аралыкты өлчөйт. Туруктуу l2 тизе менен бутунун айлануусун ортосундагы аралыкты өлчөйт. Демек, эгер сиз өзүңүздүн моделиңизди иштеп чыксаңыз, бул узундуктарды өлчөп, константаларды өзгөртүңүз. Акыркы эки констант басуу үчүн колдонулат. StepClearance туруктуу кадамынан кийин алдыга келгенде бут канчалык бийик көтөрүлөрүн өлчөйт жана stepHeight туруктуу кадамдарды жасап жатканда жерден жамбашка чейинки бийиктигин өлчөйт.

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

13 -кадам: Акыркы жыйынтыктар: Эксперимент жасоого убакыт

Акыркы жыйынтыктар: Экспериментке убакыт
Акыркы жыйынтыктар: Экспериментке убакыт
Акыркы жыйынтыктар: Экспериментке убакыт
Акыркы жыйынтыктар: Экспериментке убакыт
Акыркы жыйынтыктар: Экспериментке убакыт
Акыркы жыйынтыктар: Экспериментке убакыт

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

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

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

Ардуино сынагы 2020
Ардуино сынагы 2020
Ардуино сынагы 2020
Ардуино сынагы 2020

Ардуино сынагынын биринчи сыйлыгы 2020

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