Мазмұны:

Биоэнергетикалық робот жылан: 16 қадам (суреттермен)
Биоэнергетикалық робот жылан: 16 қадам (суреттермен)

Бейне: Биоэнергетикалық робот жылан: 16 қадам (суреттермен)

Бейне: Биоэнергетикалық робот жылан: 16 қадам (суреттермен)
Бейне: Екі күннен кейін ақша күтпеген жерден келеді 2024, Шілде
Anonim
Image
Image

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

Төменде мен 3D басып шығаруға арналған файлдармен бірге 2 түрлі жыланның құрылысын және жылан тәрізді қозғалысқа жету үшін код пен алгоритмдерді талқылаймын. Егер сіз көбірек білгіңіз келсе, осы нұсқаулықты оқығаннан кейін беттің төменгі жағындағы сілтемелер бөліміндегі сілтемелерді оқуды ұсынамын.

Бұл нұсқаулық техникалық жағынан 2-де 1, мен робот жыланның 2 түрлі нұсқасын қалай жасау керектігін түсіндіремін. Егер сіз тек жыландардың бірін жасауға қызығушылық танытсаңыз, басқа жыланға арналған нұсқауларды елемеңіз. Бұл екі түрлі жылан келесі сөз тіркестерін бір -бірімен алмастыратын болады.

  1. Бір осьті жылан, 1D жылан немесе сары және қара жылан
  2. Қос осьті жылан, 2D жылан немесе ақ жылан

Әрине, сіз жыландарды кез келген түсті жіпке басып шығара аласыз. Екі жыланның жалғыз айырмашылығы - 2D жыланында әрбір қозғалтқыш алдыңғыға қарағанда 90 градусқа бұрылады, ал 1D жыланында барлық қозғалтқыштар бір осьте тураланған.

Соңғы алғы сөз - менің жыландарымның әрқайсысында 10 -нан ғана серво болса, жыландарды көп немесе аз серво көмегімен жасауға болады. Бір нәрсені ескеру керек: аз серво болса, сіз аз табысты қозғалысқа қол жеткізесіз, ал көп серво болса, сіз серпентиндік қозғалыста табысқа жетесіз, бірақ сізге шығындар, ағымдағы ұтыс (кейінгі ескертулерді қараңыз) мен түйреуіштердің санын ескеру қажет. Arduino -да қол жетімді. Жыланның ұзындығын өзгерте аласыз, бірақ есіңізде болсын, бұл өзгерісті ескеру үшін кодты өзгерту қажет болады.

1 -қадам: компоненттер

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

  • 10 MG996R серво*
  • 1,75 мм 3D басып шығару жіпшесі
  • 608 бөлігі бар 10 шарикті мойынтіректер
  • Дөңгелектерге арналған бөлшек нөмірі r188 болатын 20 ұсақ шарикті мойынтіректер ** (мен шахтаны Jitterspin фиджет спиннерінің ішкі бөлігінен құтқардым)
  • 40 Philips бас бұрандалары 6-32 x 1/2 «(немесе ұқсас)
  • 8 ұзын бұрандалар (менің бөлшек нөмірім жоқ, бірақ олардың диаметрі жоғарыдағы бұрандалармен бірдей)
  • Кемінде 20 дана 4 дюймдік зипти (қанша қолданғыңыз келетіні сізге байланысты)
  • Әрқайсысы 5 м қызыл және қара 20 калибрлі сым немесе одан да қалың ***
  • Стандартты 22 калибрлі сым
  • 30 аталық түйреуіш (10 лот 3 -ке бөлінген)
  • Ардуино Нано
  • 3D басып шығарылған бөлшектер (келесі бөлімді қараңыз)
  • Қуаттың қандай да бір түрі (Қосымша ақпарат алу үшін «Жыланды қуаттандыру» бөлімін қараңыз), мен жеке ATX қуат көзін қолдандым.
  • 1000ВФ 25В электролиттік конденсатор
  • Әр түрлі мөлшердегі жылуды қысқартатын түтік, дәнекер, желім және басқа құралдар

*сіз басқа түрлерін қолдана аласыз, бірақ сізге 3D файлдарын сервоприводтарға сәйкес келуі үшін қайта жобалау қажет болады. Сондай -ақ, егер сіз sg90 сияқты кіші сервоприводтарды қолдануға тырыссаңыз, олардың күші жеткіліксіз екенін байқауыңыз мүмкін (мен мұны тексерген жоқпын және тәжірибе жасау сізге байланысты).

** Дөңгелектерге ұсақ шарикті мойынтіректерді қолданудың қажеті жоқ, менде көп нәрсе болды. Немесе LEGO дөңгелектерін немесе басқа ойыншық дөңгелектерін қолдануға болады.

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

2 -қадам: 3D басып шығару компоненттері

Жыландардың жиналуы
Жыландардың жиналуы

Егер сіз 1D жыланын жасасаңыз, бұл бөліктерді басып шығарыңыз.

Егер сіз 2D жыланды жасайтын болсаңыз, бұл бөліктерді басып шығарыңыз.

Маңызды ескерту: масштаб қате болуы мүмкін! Мен өз компоненттерімді Fusion 360 -та (мм бірлікпен) құрастырдым, дизайнды.stl файлы ретінде MakerBot бағдарламалық жасақтамасына экспорттадым, содан кейін оны Qidi Tech принтерінде басып шығардым (MakerBot Replicator 2X клонды нұсқасы). Бұл жұмыс процесінде қате бар және менің барлық іздерім тым кішкентай болып шығады. Мен қатенің орналасқан жерін анықтай алмадым, бірақ MakerBot бағдарламалық жасақтамасында 106% өлшемге дейін әр басып шығаруды уақытша түзете алдым, бұл мәселені шешеді.

Осыны ескере отырып, егер сіз жоғарыдағы файлдарды басып шығарсаңыз, олар қате масштабталуы мүмкін екенін ескертіңіз. Мен тек бір бөлікті басып шығаруды және олардың барлығын басып шығармас бұрын MG996R сервоңызға сәйкес келетінін тексеруді ұсынамын.

Егер сіз кез келген файлды басып шығарсаңыз, нәтижесі қандай болатынын маған хабарлаңыз: егер баспа тым кішкентай болса, дәл дұрыс, тым үлкен және қанша пайыз. Қауымдастық ретінде бірігіп жұмыс жасай отырып, біз әр түрлі 3D принтерлер мен.stl кескіштерді қолдана отырып, қатенің орнын анықтай аламыз. Мәселе шешілгеннен кейін мен осы бөлімді және жоғарыдағы сілтемелерді жаңартамын.

3 -қадам: Жыландарды жинау

Жыландардың жиналуы
Жыландардың жиналуы
Жыландардың жиналуы
Жыландардың жиналуы
Жыландардың жиналуы
Жыландардың жиналуы

Жинау процесі негізінен жыланның екі нұсқасы үшін де бірдей. Жалғыз айырмашылығы - 2D жыланында әр қозғалтқыш алдыңғыға қарағанда 90 градусқа бұрылады, ал 1D жыланында барлық қозғалтқыштар бір оське тураланған.

Сервоны бұрап алу арқылы бастаңыз, бұрандаларды сақтаңыз және қара пластик жақтаудың үстіңгі және астыңғы бөліктерін алып тастаңыз және тісті берілістерді жоғалтпау үшін абай болыңыз! Сервоны жоғарыдағы суреттердегідей 3D басып шығарылған жақтауға сырғытыңыз. Серво корпусының жоғарғы жағын ауыстырыңыз және оны 6-32 1/2 дюймдік төрт бұрандамен бұрап бекітіңіз. Серво жақтауының төменгі жағын сақтаңыз (егер оны кейінгі жобаларда қайтадан қолданғыңыз келсе) және оны 3D-мен ауыстырыңыз. баспа корпусы, айырмашылығы - шарикті мойынтіректің сырғып кететін қосымша тұтқасы. Сервоны қайтадан бұраңыз, 10 рет қайталаңыз.

МАҢЫЗДЫ: Жалғастырмас бұрын, сіз кодты Arduino -ға жүктеп, әр сервоны 90 градусқа жылжытуыңыз керек. Бұлай жасамау сізге бір немесе бірнеше серво және/немесе 3D басып шығарылған кадрларды сындыруы мүмкін. Сервоны 90 градусқа қалай жылжытуға болатынын білмесеңіз, осы бетті қараңыз. Негізінен сервоприводтың қызыл сымын Arduino -дағы 5В -қа, қоңыр сымды GND -ге және сары сымды цифрлық пинге 9 -ға қосыңыз, содан кейін кодты сілтемеге жүктеңіз.

Енді әр серво 90 градус болғанда, жалғастырыңыз:

10 -сегментті жалғаңыз, 3D -басып шығарылған тұтқаны бір серво корпусынан екінші сегменттің тесігіне салыңыз, содан кейін кішкене күшпен серво осін оның саңылауына итеріңіз (жоғарыдағы суреттер мен бейнені қараңыз). Егер сіз 1D жыланын жасайтын болсаңыз, онда барлық сегменттер туралануы керек, егер сіз 2D жыланды жасасаңыз, әр сегмент алдыңғы сегментке 90 градусқа бұрылуы керек. Құйрық пен бастың жақтауы басқа сегменттердің ұзындығының жартысын ғана құрайтынын ескеріңіз, оларды жалғаңыз, бірақ біз сымдарды аяқтағанша пирамида тәрізді бөліктерге түсініктеме бермеңіз.

Х-тәрізді серво қолын бекітіп, орнына бұраңыз. Шарикті мойынтіректі 3D басып шығарылған тұтқаға сырғытыңыз, бұл үшін екі дөңгелек тіректі бір-біріне ақырын қысу қажет болады. Сіз жіптің қандай маркасына және толтыру тығыздығына байланысты, посттар өте сынғыш және сынғыш болуы мүмкін, менің ойымша, бұлай болмайды, бірақ соған қарамастан шамадан тыс күш қолданбаңыз. Мен PLA жіпшесін 10% толтырумен қолдандым. Шарикті мойынтірек қосылғаннан кейін, ол тұтқаға ілініп тұруы керек.

4 -қадам: Схема

Схема
Схема
Схема
Схема
Схема
Схема

Робот екі жыланға да бірдей. Сымдарды қосу кезінде әр сегмент үшін, әсіресе 2D жыланында, толық айналу үшін жеткілікті сым бос орын бар екеніне көз жеткізіңіз.

Жоғарыда тек 2 серво бар сымдардың схемасы берілген. Мен 10 серводан тұратын схеманы жасауға тырыстым, бірақ ол тым көп болды. Бұл суреттің шынайы өмірден айырмашылығы - сізге тағы 8 серводы параллель жалғау және PWM сигналдық сымдарын Arduino Nano -ның түйреуіштеріне қосу қажет.

Электр желілерін өткізгенде мен жыланның ұзындығымен өтетін негізгі 5В желісі ретінде 18 калибрлі сымды (қалыңдығы 10 амперге төтеп беруге жеткілікті) қолдандым. Сымды тазартқышты қолдана отырып, мен изолятордың кішкене бөлігін 10 тұрақты аралықпен алып тастадым және осы аралықтардың әрқайсысынан қысқа сымның үш бөлігін дәнекерледім. Мұны қара түсті 18 калибрлі GND сымы мен екінші еркек бастық штыры үшін екінші рет қайталаңыз. Соңында ұзынырақ сымды 3 -ші аталық түйреуішке дәнекерлеңіз, бұл түйін PWM сигналын жыланның басындағы Arduino Nano сервосына жеткізеді (сым сегменттер бүгілген кезде де жету үшін жеткілікті ұзын болуы керек). Қажет болса, жылуды қысатын түтікті бекітіңіз. 3 еркек бағаналық түйреуішті, серво сымдарының 3 әйел бастық түйреуішін жалғаңыз. 10 серводың әрқайсысы үшін 10 рет қайталаңыз. Сайып келгенде, бұл серводы параллель жалғау және наноға PWM сигнал сымдарын қосу. Аталық/аналық штепсельдік түйреуіштердің себебі сегменттерді оңай бөліп алуға болады, егер олар бәрін сатусыз бұзса, серводы ауыстырады.

GND және 5V сымдарын конденсатор мен бұрандалы қысқыштары бар 3х7 тесік тақтасына дәнекерлеңіз. Конденсатордың мақсаты - Arduino Nano -ны қалпына келтіре алатын сервоприводты іске қосқанда пайда болатын кез келген тартылуды жою (егер сізде конденсатор болмаса, сіз онсыз құтыла аласыз, бірақ қауіпсіз болған дұрыс). Есіңізде болсын, электролиттік конденсаторлардың ұзын тесігі 5В желіге, ал қысқа тесігі GND желісіне қосылуы керек. GND сымын наноның GND түйреуішіне және 5В сымды 5В істігіне дәнекерлеңіз. Егер сіз басқа кернеуді қолдансаңыз, (келесі тарауды қараңыз), айталық, 7.4В кернеуі бар Lipo аккумуляторы, содан кейін қызыл сымды 5В емес, Вин түйреуішіне жалғаңыз, бұл істікті бұзады.

PWM сигналының 10 сымын Arduino Nano түйреуіштеріне дәнекерлеңіз. Мен келесі тәртіпте сымды қостым, сіз өзгеше қосуды таңдай аласыз, бірақ кодтағы servo.attach () жолдарын өзгерту қажет болатынын есте сақтаңыз. Егер мен не айтатыныма сенімді болмасаңыз, мен сияқты дәл осылай байланыстырыңыз, сонда сізде проблемалар болмайды. Жыланның құйрығындағы серводан жыланның басына дейін мен екі жыланымды да келесі ретпен сыммен қостым. Сигнал түйреуіштерін қосу: A0, A1, A2, A3, A4, A5, D4, D3, D8, D7.

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

5 -қадам: Жыланды қуаттандыру

Жыланды қуаттандыру
Жыланды қуаттандыру
Жыланды қуаттандыру
Жыланды қуаттандыру
Жыланды қуаттандыру
Жыланды қуаттандыру

Серво параллель қосылғандықтан, олардың барлығы бірдей кернеуді алады, бірақ ток қосылуы керек. MG996r сервосының деректер кестесіне қарап, олар жұмыс кезінде 900 мА дейін тарта алады (тоқтап қалмаған жағдайда). Осылайша, егер барлық 10 серво бір мезгілде қозғалатын болса, жалпы ток тартуы 0,9А*10 = 9А болады. Қалыпты 5в сияқты, 2А розетка адаптері жұмыс істемейді. Мен 20А -да 5В -қа қабілетті ATX қуат көзін өзгертуді шештім. Мен мұны қалай жасау керектігін түсіндіргім келмейді, өйткені бұл нұсқаулықтар мен YouTube -те бұрыннан талқыланған. Интернетте жылдам іздеу сізге осы қуат көздерінің біреуін қалай өзгерту керектігін көрсетеді.

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

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

6 -қадам: Барлығы жұмыс істейтінін тексеріңіз

Жалғастырмас бұрын, бәрі жұмыс істейтінін тексеріп көрейік. Бұл кодты жүктеңіз. Сіздің жылан әр серваны жеке 0-180 аралығында жылжытып, содан кейін түзу сызықпен аяқтауы керек. Егер олай болмаса, онда бірдеңе дұрыс емес, сымдар дұрыс емес немесе сервистер бастапқыда «жыландарды құрастыру» бөлімінде айтылғандай 90 градусқа центрленбеген.

7 -қадам: код

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

Егер сіз 1D жыланын жасасаңыз, бұл кодты жүктеңіз.

Егер сіз 2D жыланды жасайтын болсаңыз, бұл кодты жүктеңіз.

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

8 -қадам: Дөңгелектер мен таразылар

Дөңгелектер мен таразылар
Дөңгелектер мен таразылар
Дөңгелектер мен таразылар
Дөңгелектер мен таразылар
Дөңгелектер мен таразылар
Дөңгелектер мен таразылар
Дөңгелектер мен таразылар
Дөңгелектер мен таразылар

Жыландардың алға жылжуының негізгі әдістерінің бірі - қабыршақтарының пішіні. Таразылар алға жылжуды жеңілдетуге мүмкіндік береді. Қосымша түсініктеме алу үшін таразының жыланның алға жылжуына қалай көмектесетінін көру үшін осы бейнені 3: 04 -тен бастап қараңыз. Сол видеодағы 3: 14 -ке қарап, таразылардың үйкелісін кетіретін жыландар жеңде болған кездегі әсер көрсетеді. Менің YouTube бейнебаянымда көрсетілгендей, роботты 1D жылан шөпте қабыршақсыз сырғып кетуге тырысқанда, ол алға да, артқа да жылжымайды, өйткені күштер нөлге тең. Осылайша, біз роботтың астына кейбір жасанды таразыларды қосуымыз керек.

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

Өкінішке орай, бұл тиімсіз болды (менің YouTube -тегі бейнеролигімді 3: 38 -де қараңыз), таразылар талшықтарды ұстаудың және үйкелісті жоғарылатудың орнына кілемнің бетінде әлі де өтіп жатты.

Егер сіз мен жасаған таразылармен тәжірибе жасағыңыз келсе, GitHub -дан файлдарды 3D басып шығаруға болады. Егер сіз өз қолыңызбен табысты жасасаңыз, төмендегі түсініктемелерде маған хабарлаңыз!

Басқа тәсілді қолдана отырып, r188 шарикті мойынтіректерден жасалған дөңгелектерді сыртқа жылытатын құбырлармен «шиналар» ретінде қолдануға тырыстым. Сіз GitHub -да.stl файлдарынан дөңгелек пластикалық осьтерді 3D басып шығара аласыз. Дөңгелектер биологиялық тұрғыдан дәл болмаса да, олар таразыларға ұқсас, өйткені алға айналу оңай, бірақ бүйірден қозғалыс айтарлықтай қиын. Дөңгелектердің сәтті нәтижесін менің YouTube видеомен көре аласыз.

9 -қадам: Жылжымалы қозғалыс (жалғыз осьті жылан)

Make it Move конкурсының бірінші жүлдесі

Ұсынылған: