Мазмұны:

Arduino басқарылатын робот - екі қадам: 13 қадам (суреттермен)
Arduino басқарылатын робот - екі қадам: 13 қадам (суреттермен)

Бейне: Arduino басқарылатын робот - екі қадам: 13 қадам (суреттермен)

Бейне: Arduino басқарылатын робот - екі қадам: 13 қадам (суреттермен)
Бейне: Using BTS7960 BTN8982TA PWM H Bridge motor controller module with Arduino library 2024, Қыркүйек
Anonim
Image
Image
Arduino роботты екіжақты басқарылады
Arduino роботты екіжақты басқарылады
Arduino роботты екіжақты басқарылады
Arduino роботты екіжақты басқарылады

Fusion 360 жобалары »

Мені әрқашан роботтар қызықтырды, әсіресе адамның іс -әрекетіне еліктеуге тырысатындар. Бұл қызығушылық мені жаяу жүруге және жүгіруге еліктей алатын екіжақты робот құрастыруға және дамытуға талпындырды. Бұл нұсқаулықта мен сізге екіжақты роботтың дизайны мен құрастырылуын көрсетемін.

Бұл жобаны құрудағы басты мақсат - жүйені мүмкіндігінше берік ету, жаяу жүру мен жүгірудің әр түрлі әдістерімен тәжірибе жасау кезінде мен аппараттық құралдың істен шығуы туралы үнемі уайымдамаймын. Бұл маған аппараттық құралдың шегіне жетуге мүмкіндік берді. Қосымша мақсат-қол жетімді хобби бөлшектері мен 3D басып шығаруды қолдана отырып, жаңартулар мен кеңейтулерге орын қалдырып, салыстырмалы түрде арзанға түсіру. Бұл екі мақсат біріктірілген, әр түрлі эксперименттерді жүргізуге берік негіз береді, бұл бір талапты нақты орындауға мүмкіндік береді.

Ардуино басқаратын Robot Biped атты жеке меншік құруды жалғастырыңыз, егер сізге жоба ұнаған болса, «Arduino байқауында» дауыс беруден бас тартыңыз.

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

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

Гуманоидты аяқтар Autodesk -те Fusion 360 3d модельдеу бағдарламалық жасақтамасы бойынша тегін жасалған. Мен серво қозғалтқыштарын дизайнға енгізуден бастадым және олардың аяғын айналдырдым. Мен серво қозғалтқышының білігіне диаметрлі қарама -қарсы екінші бұрылыс нүктесін қамтамасыз ететін серво қозғалтқышы үшін жақшалар жасадым. Қозғалтқыштың екі ұшында қос біліктің болуы конструкцияның тұрақтылығын қамтамасыз етеді және аяқтар жүктемені көтеру кезінде пайда болатын кез келген қисаюды жояды. Сілтемелер мойынтіректі ұстауға арналған, ал жақшалар білікке арналған болтты қолданған. Сілтемелер гайкамен біліктерге бекітілгеннен кейін, мойынтірек серво қозғалтқыш білігінің қарама -қарсы жағында тегіс және берік айналу нүктесін қамтамасыз етеді.

Екі аяқты жобалау кезіндегі тағы бір мақсат - серво қозғалтқыштармен қамтамасыз етілетін крутящийді максималды пайдалану үшін модельді барынша ықшам ұстау. Байланыстардың өлшемдері қозғалыстың үлкен диапазонына жету үшін жасалған, ал жалпы ұзындықты азайтады. Оларды тым қысқа етіп жасау жақшалардың соқтығысуына әкеледі, қозғалыс ауқымын қысқартады және оны тым ұзартып жіберсе, жетектерге қажетсіз момент түсіреді. Ақырында мен Arduino және басқа электронды компоненттер орнатылатын роботтың корпусын жасадым.

Ескерту: Бөлшектер келесі қадамдардың біріне енгізілген.

2 -қадам: Ардуиноның рөлі

Ардуиноның рөлі
Ардуиноның рөлі

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

Бұл жоба үшін Arduino IDE қолданылды. (Arduino сонымен қатар вебке негізделген IDE ұсынады)

Ескерту: Роботқа арналған бағдарламаларды келесі қадамдардың бірінен жүктеуге болады.

3 -қадам: Қажетті материалдар

Қажетті материалдар
Қажетті материалдар
Қажетті материалдар
Қажетті материалдар
Қажетті материалдар
Қажетті материалдар
Қажетті материалдар
Қажетті материалдар

Міне, Arduino -мен жұмыс істейтін екі жақты роботты жасау үшін қажет барлық компоненттер мен бөлшектердің тізімі. Барлық бөлшектер қол жетімді болуы керек және оңай табылуы керек.

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

Arduino Uno x 1

Towerpro MG995 серво қозғалтқышы x 6

Perfboard (өлшемі Arduino -ға ұқсас)

Әйелдер мен ерлерге арналған түйреуіштер (әрқайсысының шамамен 20 -сы)

Өткізгіш сымдар (10 дана)

MPU6050 IMU (міндетті емес)

Ультрадыбыстық сенсор (міндетті емес)

ЖАБДЫҚ:

Скейтборд мойынтіректері (8х19х7 мм)

М4 гайкалар мен болттар

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
  • серво мүйізі сілтемесі x 2
  • аяқ сілтемесі x 2
  • көпір x 1
  • электроника қондырғысы x 1
  • электроника аралығы x 8 (міндетті емес)
  • Серво мүйізінің кеңістігі x 12 (міндетті емес)

Барлығы, аралықтарды қоспағанда, 14 бөлік бар. Басып шығарудың жалпы уақыты шамамен 20 сағатты құрайды.

5 -қадам: Серво жақшаларын дайындау

Серво жақшаларын дайындау
Серво жақшаларын дайындау
Серво жақшаларын дайындау
Серво жақшаларын дайындау
Серво жақшаларын дайындау
Серво жақшаларын дайындау

Барлық бөліктер басып шығарылғаннан кейін, сервоприводтар мен серво жақшаларын орнатудан бастауға болады. Алдымен мойынтіректі тізе серво ұстағышына итеріңіз. Тығыз орналасуы керек, бірақ мен мойынтіректі мәжбүрлемей, тесіктің ішкі бетін сәл тегістеуді ұсынамын, бұл бөлікті сындыруы мүмкін. Содан кейін тесіктен M4 болтын өткізіп, гайкамен бекітіңіз. Содан кейін, аяқтың сілтемесін ұстаңыз және оған берілген бұрандалардың көмегімен дөңгелек серво мүйізін бекітіңіз. Аяқ сілтемесін серво қозғалтқышын бекіту үшін қолданылатын бұрандалармен тізе серво ұстағышына бекітіңіз. Қозғалтқышты білік бұрын бекітілген болттың бір жағында болатындай етіп туралағанына көз жеткізіңіз. Соңында серводы басқа гайкалар мен болттармен бекітіңіз.

Жамбас серво ұстағышымен және аяқ серво ұстағышымен де осылай жасаңыз. Бұл үшін сізде үш серво қозғалтқышы және олардың тиісті жақшалары болуы керек.

Ескерту: Мен бір аяқты салу бойынша нұсқаулар беремін, екіншісі жай ғана шағылысады.

6 -қадам: Сілтеме бөліктерін жасау

Сілтеме бөліктерін жасау
Сілтеме бөліктерін жасау
Сілтеме бөліктерін жасау
Сілтеме бөліктерін жасау
Сілтеме бөліктерін жасау
Сілтеме бөліктерін жасау

Кронштейндер жиналғаннан кейін сілтемелер жасауға кірісіңіз. Мойынтірек байланысын жасау үшін мойынтірекке арналған саңылаулардың ішкі бетін қайтадан аздап құммен жағыңыз, содан кейін мойынтіректі екі жағындағы тесікке итеріңіз. Мойынтіректі бір жағы қызарғанша итеріңіз. Серво мүйізінің сілтемесін жасау үшін екі дөңгелек серво мүйізі мен берілген бұрандаларды алыңыз. Мүйізді 3D басып шығаруға қойыңыз да, тесіктерді түзетіңіз, содан кейін 3D басып шығару жағынан бұранданы бекіту арқылы мүйізді 3D басып шығаруға бекітіңіз. Мен бұл бұрандалар үшін 3D басып шығарылған серво мүйізінің аралық бөлігін қолдануды ұсынамын. Байланыстар орнатылғаннан кейін сіз аяқты жинауға кірісе аласыз.

7 -қадам: аяқтарды жинау

Аяқтарды жинау
Аяқтарды жинау
Аяқтарды жинау
Аяқтарды жинау
Аяқтарды жинау
Аяқтарды жинау
Аяқтарды жинау
Аяқтарды жинау

Сілтемелер мен кронштейндер жиналғаннан кейін оларды роботтың аяғын құрастыру үшін біріктіруге болады. Алдымен, серво мүйізінің сілтемесін қолданып, жамбас серво кронштейні мен тізе серво кронштейнін бекітіңіз. Ескертпе: мүйізді сервоға бұрамаңыз, себебі келесі кезеңде орнату кезеңі бар, ал егер мүйіз серво қозғалтқышына бұралған болса, бұл ыңғайсыздық туғызады.

Қарама -қарсы жақта мойынтіректерді шығыңқы болттарға гайкамен бекітіңіз. Соңында тізе серво ұстағышындағы мойынтіректен шығыңқы болтты кіргізу арқылы табан серво кронштейнін бекітіңіз. Серво білігін екінші жағынан тізе серво ұстағышына қосылған серво мүйізіне бекітіңіз. Бұл қиын тапсырма болуы мүмкін және мен бұл үшін екінші жұпты ұсынар едім.

Екінші аяқ үшін қадамдарды қайталаңыз. Әр қадамға бекітілген суреттерді сілтеме ретінде пайдаланыңыз.

8 -қадам: теңшелетін ПХД және сымдар

Арнайы PCB және сымдар
Арнайы PCB және сымдар
Арнайы PCB және сымдар
Арнайы PCB және сымдар
Арнайы PCB және сымдар
Арнайы PCB және сымдар

Бұл қосымша қадам. Электр сымдарын ұқыпты ету үшін мен перфокартон мен тақырып түйреуіштерін қолдана отырып реттелетін ПХД жасауды шештім. ПХД серво қозғалтқыш сымдарын тікелей қосуға арналған порттарды қамтиды. Сонымен қатар, мен инерциялық өлшеу қондырғылары немесе ультрадыбыстық қашықтық датчиктері сияқты басқа датчиктерді кеңейтіп, қосқым келген жағдайда қосымша порттарды қалдырдым. Ол сонымен қатар серво қозғалтқыштарын қуаттандыру үшін қажетті сыртқы қуат көзінің портын қамтиды. Өткізгіш қосылым Arduino үшін USB мен сыртқы қуат арасында ауысу үшін қолданылады. Arduino мен ПХД электронды қондырғының екі жағына бұрандалар мен 3D басып шығарылған аралықтар көмегімен орнатыңыз.

Ескерту: Arduino -ны компьютерге USB арқылы қоспас бұрын, қосқышты ажыратыңыз. Мұны жасамау Arduino -ға зақым келтіруі мүмкін.

Егер сіз ПХД пайдаланбауды шешсеңіз және оның орнына тақтаны қолдансаңыз, онда серво қосылымдары:

  • Сол жақ жамбас >> түйреуіш 9
  • Оң жамбас >> түйреуіш 8
  • Сол жақ тізе >> түйреуіш 7
  • Оң жақ тізе >> түйреуіш 6
  • Сол жақ аяқ >> түйреуіш 5
  • Оң аяқ >> түйреуіш 4

Егер сіз ПХД жасауды шешсеңіз, ПХД портын оң жақтан солға қарай ИМУ порты жоғары қаратып қолданыңыз. ПХД -ны Arduino -ға қосу үшін жоғарыда көрсетілген пин нөмірлерін қолданып, кәдімгі еркек пен әйелдің қосқыш сымдарын қолданыңыз. Сондай -ақ, жерге қосу түйреуішін қосқаныңызға көз жеткізіңіз, егер сіз оны USB қуатысыз іске қосуды шешсеңіз, сол жерге қосылу потенциалын және Vin түйреуішін жасаңыз.

9 -қадам: денені жинау

Денені жинау
Денені жинау
Денені жинау
Денені жинау
Денені жинау
Денені жинау

Екі аяқ пен электроника жиналғаннан кейін оларды робот корпусын жасау үшін біріктіріңіз. Екі аяқты біріктіру үшін көпір бөлігін пайдаланыңыз. Серво қозғалтқышын ұстайтын гайкалар мен болттардың жамбас серво ұстағышындағы бекітетін тесіктерді қолданыңыз. Соңында, электронды қондырғыны көпірге қосыңыз. Көпір мен электроника қондырғысының саңылауларын реттеңіз және түйіспе жасау үшін M4 гайкалары мен болттарын қолданыңыз.

Көмек алу үшін берілген суреттерді қараңыз. Осымен сіз роботтың аппараттық құрылысын аяқтадыңыз. Әрі қарай, бағдарламалық жасақтамаға өтіп, роботты өмірге келтірейік.

10 -қадам: Интуиалды орнату

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

Мен бұл жобаны құрастыру кезінде байқағаным, серво қозғалтқыштары мен мүйіздер параллель болу үшін біркелкі орналаспауы керек. Сондықтан әр серво қозғалтқышының «орталық күйі» аяқпен туралау үшін қолмен реттелуі керек. Бұған жету үшін серво мүйіздерін әр серводан шығарып, initial_setup.ino нобайын іске қосыңыз. Қозғалтқыштар орталық орынға қойылғаннан кейін, мүйіздерді қайта бекітіңіз, осылайша аяқтары түзу, ал табан жерге параллель. Егер бұлай болса, сіз сәттілікке жетесіз. Егер көрші қойындыда табылған constants.h файлын ашпаңыз және серво офсеттік мәндерін өзгертіңіз (1-6 жолдар) аяқтар біркелкі және табан тегіс болғанша. Құндылықтармен ойнаңыз, сонда сіз өзіңіздің жағдайда не қажет екендігі туралы түсінік аласыз.

Тұрақтылар орнатылғаннан кейін бұл мәндерге назар аударыңыз, себебі олар кейінірек қажет болады.

Көмек алу үшін суреттерді қараңыз.

11 -қадам: Кинематика туралы аздап

Кинематика туралы аздап
Кинематика туралы аздап
Кинематика туралы аздап
Кинематика туралы аздап
Кинематика туралы аздап
Кинематика туралы аздап

Екі аяқты жүгіру мен жүру сияқты пайдалы әрекеттерді орындау үшін әр түрлі жүрістерді қозғалыс жолдары түрінде бағдарламалау қажет. Қозғалыс жолдары - бұл соңғы эффектор (бұл жағдайда аяқтар) бойымен жүретін жолдар. Бұған жетудің екі әдісі бар:

  1. Бір әдіс - әр түрлі қозғалтқыштардың түйісу бұрыштарын қатал күшпен беру. Бұл тәсіл көп уақытты қажет етеді, жалықтырады, сонымен қатар қателіктерге толы болады, өйткені шешім тек визуалды. Керісінше, қалаған нәтижеге жетудің ақылды әдісі бар.
  2. Екінші тәсіл барлық түйісу бұрыштарының орнына соңғы эффектордың координаттарын беруде. Бұл кері кинематика деп аталады. Пайдаланушы координаттарды енгізеді және түйісу бұрыштары соңғы эффекторды көрсетілген координаттарға орналастыру үшін реттеледі. Бұл әдісті координатты енгізетін және түйісу бұрыштарын шығаратын қара жәшік ретінде қарастыруға болады. Бұл қара жәшіктің тригонометриялық теңдеулері қалай жасалғанына қызығушылық танытқандар үшін жоғарыдағы диаграмманы қараңыз. Қызығушылық танытпайтындар үшін теңдеулер қазірдің өзінде бағдарламаланған және оларды x, z кіріс ретінде алатын және қозғалтқыштарға сәйкес үш бұрышты шығаратын pos функциясын қолдана отырып қолдануға болады.

Бұл функцияларды қамтитын бағдарламаны келесі қадамда табуға болады.

12 -қадам: Arduino бағдарламалау

Arduino бағдарламалау
Arduino бағдарламалау
Arduino бағдарламалау
Arduino бағдарламалау

Arduino бағдарламалау алдында файлға аздап өзгертулер енгізу қажет. Сізден жазбаны алуды сұраған тұрақтылар есіңізде ме? Сол тұрақтыларды constants.h файлында орнатылған мәндерге өзгертіңіз.

Ескерту: Егер сіз осы нұсқаулықта берілген конструкцияларды қолдансаңыз, сізде ештеңе өзгермейді. Егер сіздердің кейбіреулеріңіз жеке дизайн жасаған болса, сізге басқа да бірнеше мәндерді ауыстыруға тура келеді. Тұрақты l1 жамбас айналуы мен тізе айналуы арасындағы қашықтықты өлшейді. Тұрақты l2 тізе мен табан айналу арасындағы қашықтықты өлшейді. Егер сіз өзіңіздің жеке моделіңізді жасасаңыз, осы ұзындықтарды өлшеп, тұрақтыларды өзгертіңіз. Соңғы екі тұрақтылық жүріс үшін қолданылады. StepClearance тұрақты қадамнан кейін алға қарай аяқтың қаншалықты жоғары көтерілетінін өлшейді, ал stepHeight тұрақтысы қадамдар кезінде жерден жамбасқа дейінгі биіктікті өлшейді.

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

13 -қадам: Соңғы нәтижелер: экспериментке уақыт

Соңғы нәтижелер: тәжірибе уақыты
Соңғы нәтижелер: тәжірибе уақыты
Соңғы нәтижелер: тәжірибе уақыты
Соңғы нәтижелер: тәжірибе уақыты
Соңғы нәтижелер: тәжірибе уақыты
Соңғы нәтижелер: тәжірибе уақыты

Екі аяқтың ұзындығы 10 см -ден 2 см -ге дейінгі қадамдарды жасай алады. Жүру тепе -теңдігін сақтай отырып, жылдамдықты да өзгертуге болады. Ардуиноның күшімен біріктірілген бұл екі түрлі жүріспен және допты тепкен кезде секіру немесе тепе -теңдік сияқты басқа мақсаттармен тәжірибе жасауға берік платформа ұсынады. Мен сізге өзіңіздің жүрісіңізді жасау үшін аяқтың қозғалыс жолдарын өзгертуге және әр түрлі жүрістің роботтың жұмысына қалай әсер ететінін білуге кеңес берер едім. IMU және қашықтық сенсоры сияқты сенсорларды жүйеге қосуға болады, оның функцияларын жоғарылату үшін, ал сенсорларды аяқтарға динамикалық локомотивпен біркелкі емес беттерде тәжірибе жасау үшін қосуға болады.

Сізге бұл нұсқаулық ұнады деп үміттенемін және өзіңізді құру үшін шабыт жеткілікті. Егер сізге жоба ұнаған болса, «Arduino байқауында» дауыс беру арқылы оны қолдаңыз.

Бақытты жасау!

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

2020 жылғы Arduino байқауының бірінші жүлдесі

Ұсынылған: