Мазмұны:

DIY оқу микро: бит робот: 8 қадам (суреттермен)
DIY оқу микро: бит робот: 8 қадам (суреттермен)

Бейне: DIY оқу микро: бит робот: 8 қадам (суреттермен)

Бейне: DIY оқу микро: бит робот: 8 қадам (суреттермен)
Бейне: Металл енді қажет емес! Енді DIY материалы бар! 2024, Шілде
Anonim
DIY Educational Micro: бит робот
DIY Educational Micro: бит робот
DIY Educational Micro: бит робот
DIY Educational Micro: бит робот

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

Сіз бұл роботты алғаннан кейін, оның сенсорлары мен қозғағыштарынан ләззат ала аласыз, сонымен қатар сіз құрастырған нұсқаға байланысты өте жетілдірілген нәрселерді жасай аласыз (мен екі нұсқаны ұсынамын). Бұл роботтың көмегімен сіз микро: битке көзді (180 ° қарау!) Және аяқтарды (дәл қозғалыспен!) Бересіз, ал микро: бит сізге LED матрицасы, радио байланысы, Bluetooth байланысы, акселерометр сияқты керемет мүмкіндіктерді ұсынады., компастар, сонымен қатар MicroPython немесе сызуға ұқсас визуалды бағдарламалау тілі бар барлық нәрсеге қол жеткізуге болады (іс жүзінде C ++ мен javascript -те, бірақ мен оларды білімге сәйкес келмейтін деп санаймын).

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

1 -қадам: Бөлшектерді жинау

Бөлшектерді жинау
Бөлшектерді жинау

Бұл жоба үшін сізге қажет минимум:

  • Қалыңдығы 5 мм MDF ағашы мен қаңқаға арналған лазерлік кескіш
  • 1x18650 литий аккумуляторы, энергия үшін 1х батарея қалқаны және үзгіш
  • 1xMicro: Bit картасы және 1xMicro: миға арналған бит кеңейту тақтасы (бірақ екеуін де Arduino оңай ауыстыруға болады)
  • 2x28BYJ-5V қадамдық қозғалтқыштар, 2xA4988 қадамдық қозғалтқыштар мен аяқтарға драйверлерді орнатуға арналған 2x даму тақтасы
  • 1x TOF10120 және 1x Mini 9g Servo моторы Кейбір кабельдер мен бұрандалар
  • 1x әмбебап доңғалақ, биіктігі = 15 мм

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

Ең дұрысы, сізде де болады:

  • Мультиметр
  • Нан тақтасы
  • Пісіру үтігі

Лазерлік кескіш сияқты, сіздің орныңызда фабриканың бар -жоғын тексеріңіз! Бұл шабыттандыратын жасаушылармен кездесудің тамаша орындары!

2 -қадам: Аяқтарды дайындау

Аяқтарды дайындау
Аяқтарды дайындау
Аяқтарды дайындау
Аяқтарды дайындау
Аяқтарды дайындау
Аяқтарды дайындау
Аяқтарды дайындау
Аяқтарды дайындау

Сіздің бірінші миссияңыз, егер сіз оны қабылдайтын болсаңыз, біздің моторды микро: бит көмегімен контроллер ретінде айналдыру керек! Неліктен қадамдық қозғалтқыш? Мен редукторы бар тұрақты ток қозғалтқышына баруым мүмкін еді, бірақ мен оларды сынап көрдім, мен төмен қозғалтқыштарды төмен жылдамдықпен жұмыс жасауды қиындатамын. Дөңгелектерімнің қандай жылдамдықпен айналатынын дәл білу жақсы болар еді деп ойладым. Осы себепті қадамдық қозғалтқыштар ең жақсы нұсқа болды.

Сонымен, енді 4988 драйверін пайдаланып 28BYJ моторын қалай басқаруға болады? Жауап … сәл ұзақ. Мен оны осы нұсқаулыққа ұқыпты орналастыра алмадым, сондықтан мен сіз оны осы жерден таба аласыз. Мен сізді жоғарыдағы суретте көрсетілгендей бүйірлеріне бекіту үшін 2х2мм тесіктері 17мм болатын 26х22мм өлшемді шағын тақтаны құрумен осы қадамдарды соңына дейін орындауға шақырамын (сілтеме жасалған мақалада көрсетілгендей, сары сым сол жақта SLP мен RST бірге дәнекерлеуді еске салады).

Прототиптік тақтасы бар бір қозғалтқышпен жұмыс жасағаннан кейін, мен заттарды біршама ұқыпты ету үшін жеке ПХД құрастырдым. Мен тиісті easyEDA файлын тіркедім. Бұл txt файлы, бірақ сіз оны әлі де оңай EDA тегін онлайн өңдеу платформасы арқылы аша аласыз.

3 -қадам: Мен жарықты көремін !! (Қосымша)

Мен Жарықты көремін !! (Қосымша)
Мен Жарықты көремін !! (Қосымша)
Мен Жарықты көремін !! (Қосымша)
Мен Жарықты көремін !! (Қосымша)
Мен Жарықты көремін !! (Қосымша)
Мен Жарықты көремін !! (Қосымша)

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

Біздің микро: бит ешқандай камерамен немесе жақындық сенсорымен бірге келмейтіндіктен, бұл оны кез келген мобильді робототехника қосымшасы үшін соқыр етеді. Ол радио эмиттер мен рецептормен бірге келеді, бірақ бұл бізге қолда бар заттың үстінен қаңқа құруға және қашықтан басқарылатын робот алуға мүмкіндік береді. Бірақ біздің роботты автономды ету керемет емес пе? Иә болар еді! Ол жаққа қалай жетуге болатынын қарастырайық.

Бізді қызықтыратын нәрсе - роботты сенсорлармен жабдықтау, біздің роботқа қоршаған ортасы туралы ақпарат алу. Сенсорлардың көптеген түрлері бар, бірақ біз жақындық сенсорына тоқталамыз. Мен бұл роботты құрастырған кезде, менің мақсатым робот ештеңеге құлап кетпеуі болды, сондықтан мен оның кедергілерді сезінуін қаладым. Бұл үшін бірнеше нұсқа бар. Біріншісі, өте қарапайым, бамперлерді пайдалану болуы мүмкін, бірақ мен қоршаған орта туралы ақпаратты шектеулі деп санаймын. Екінші жағынан, сіз камера (немесе лидар немесе кинект!) Қосу туралы ойлай аласыз. Мен камераларды, компьютерді көруді және солардың бәрін жақсы көремін, бірақ, өкінішке орай, Micro: bit оларды қолдамайды (бізге микро: бит немесе Arduino емес, осындай құрылғыларды қолдау үшін таңқурай Pi пайдалану керек еді).

Сонымен, камера мен бампер арасындағы микро: биттік қолдау не істейді? Кішкене белсенді сенсорлар бар, олар қоршаған ортаға жарық жібереді және әлем туралы ақпарат алу үшін қабылданған нәрсені тексереді. Мен білетін GP2Y0A41SK0F кедергілерге дейінгі қашықтықты бағалау үшін триангуляция әдісін қолданады. Мен жақсырақ нәрсені таба аламын ба деп ойладым, сондықтан мен біраз іздендім және TOF10120-ды (және GY-VL53L0XV2) аштым, бірақ мен оны әлі алған жоқпын.(Негізінен бұл сенсор кедергілерді көрсететін инфрақызыл сигнал шығарады, содан кейін ол шағылған жарықты қабылдайды. Жарықтың артқа және артқа өтуіне кеткен уақытқа байланысты сенсор кедергінің қашықтығын бағалай алады (демек TOF = ұшу уақыты Шағын өлшемі, қашықтық диапазоны мен қуат қажеттілігі үшін мен TOF10120 қолдануға шешім қабылдадым.

Менің алғашқы ойым-үшеуін роботқа отырғызу (біреуі алдыңғы және екеуі бүйірінде), қытайлықтардың жаңа жылы мен COVID-19 пандемиясының бұлай болғанын қаламады, себебі тасымалдауда қиындықтар туғызды. Мен тек бір TOF10120 -мен ғана шектелгендіктен, мен оны көргім келді, менде серво қозғалтқыштары жатыр, мен сенсорымды сервоға орнатуды шештім. Енді екі нәрсе жетіспейді: TOF10120 микро: битпен қалай пайдалануға болады? Сервомен бірдей сұрақ.

Бақытымызға орай, микро: бит I2C байланыс протоколымен жабдықталған және бұл біздің өмірімізді жеңілдетеді: қызыл сымды 3.3В -қа, қара жерге, жасылға SCL -ге, көкке SDA -ға қосыңыз, бұл аппараттық бөлікке арналған. Бағдарламалық жасақтама үшін I2C байланысы туралы аздап оқуға және микро: битке қосқан питон кодын қолдануға кеңес беремін. Бұл бағдарлама сенсормен өлшенген қашықтықты REPL -де басып шығаруы керек (Read Evaluate Print Loop). Міне бітті. Біз жай ғана микро: битке көз жеткіздік.

Енді маған жануарлар анатомиясымен ұқсастығымды жалғастыруға рұқсат берсеңіз, мойнын бұруға рұқсат етіңіз. Бізге қажет болатын жалғыз ой - микро: биті бар серво қозғалтқышты басқару. Бұл бөлім ұзаққа созылып жатыр, сондықтан мен сізге бұл сілтемені беремін, онда сізге барлық ақпарат қажет және мен оны тексеру үшін қолданған код бар. Егер қаласаңыз, мен pin0 көмегімен сервоны басқару үшін қарапайым кодты қостым. Серваңызды 3,3 В емес, 5 В қуаттандыруды ұмытпаңыз.

4 -қадам: Батарея қалқанын бұзу

Батарея қалқанын бұзу
Батарея қалқанын бұзу
Батарея қалқанын бұзу
Батарея қалқанын бұзу
Батарея қалқанын бұзу
Батарея қалқанын бұзу

Енді біз жетектер мен сенсорларды дайындадық, аккумуляторды басқару жүйесін қарастыратын кез келді. Мен таңдаған батарея қалқаны туралы көбірек білу үшін мен сізге осы мақаланы оқуға кеңес берер едім. Мен оны өте түсінікті және қол жетімді деп санаймын. Бұл мақаладан біз батарея қалқанының көптеген артықшылықтарын көре аламыз, бірақ мен қабылдағым келмейтін бір маңызды кемшілік бар: ҚОСУ/ӨШІРУ қосқышы тек USB шығысына әсер етеді. Бұл дегеніміз, егер сіз сөндіргішті өшірсеңіз, басқа 3.3V және 5V түйреуіштерінің барлығы қуатқа қосылады. Нәтижесінде, біз бұл түйреуіштерді роботқа қолданған кезде, коммутатор ештеңе жасамайды …

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

Иә, бірақ мен бұл пластикті алып тастау үшін батарея қалқанына кіру үшін роботты ашқым келмейді! Оңай: коммутаторды алыңыз және қосқышқа қосылған сымдардың әрқайсысына алюминийдің екі кішкене квадратын жабыстырыңыз. Енді алюминийдің екі бөлігін бір -бірінен оқшаулау үшін және алюминийді сіздің жүйенің сыртына шығару үшін пластмассаға осы екі бөлікті жабыстырыңыз. Әдетте бұл істеу керек. Жаңа құрылғыны ұяшықтың жанындағы батарея қалқанына салыңыз, ал коммутатор ұяшыққа қосылған тізбекті ашуға немесе жабуға мүмкіндік беруі керек.

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

5 -қадам: 3D дизайны мен кесу

3D дизайны мен кесілуі
3D дизайны мен кесілуі
3D дизайны мен кесілуі
3D дизайны мен кесілуі

Қазір жетіспейтін нәрсе - біздің барлық компоненттерді біріктіретін құрылымды құру. Ол үшін мен tinkercad онлайн -платформасын қолдандым. Бұл лазерлік кескішке арналған заттарды жобалау үшін жеткілікті болатын негізгі АЖЖ жасау үшін өте жақсы орта.

Біраз ойланып болған соң, ойланатын кез келді. Ол үшін менде әр түрлі бөлшектердің 3D модельдерін жинай бастадым (алдымен серво мен TOF теңдеуден тыс). Бұған батарея мен қалқан, қадамдық қозғалтқыштар мен қозғалтқыштардың драйверлері, әрине, ұзартқыш тақтасы бар микро: бит кіреді. Мен барлық сәйкес 3D модельдерді stl файлдары ретінде тіркедім. Процесті жеңілдету үшін мен роботты симметриялы етіп жасауға шешім қабылдадым. Нәтижесінде мен роботтың жартысын ғана қолданып, жоғарыдағы суретте көрсетілген дизайнға жеттім.

Осыдан бірнеше нұсқа өмірге келді, мен олардың ішінен екеуін таңдадым:

  • Сымдардың пайда болмауына мүмкіндік беретін жақындық сенсоры жоқ өте ұқыпты. Бұл нұсқа автономды болмаса да, мысалы, iPad арқылы bluetooth арқылы бағдарламалануы мүмкін немесе жоғарыдағы бейнеде көрсетілгендей басқа микро: бит арқылы жіберілетін радио сигналдардың көмегімен басқарылатын етіп бағдарламалануы мүмкін.
  • Ұялы робототехникаға біршама ілгерілеуге мүмкіндік беретін біршама ұқыпсыздық, бұл серво қозғалтқышында орнатылған жақындық сенсорының арқасында кедергілердің қашықтығын 180 ° қарауға мүмкіндік береді.

Мұны жасау үшін сүйікті Fablab -ке кіріңіз және өзіңіз қалаған модельді кесу үшін табылған лазерлік кескішті қолданыңыз: біріншісі 5мм МДФ кесуге қажетті бөлшектерге сәйкес келетін design1_5mmMDF.svg және design1_3mmMDF файлдарына сәйкес келеді. ағаш және 3 мм -ден кесетіндер; екіншісі design2_5mmMDF.svg файлына сәйкес келеді. Қара контурды қиюға және қызылға ойып жазуды орнатыңыз.

Қосымша ескерту: Мен қызыл өрнекті тек оны өрмелеу үшін қостым. Бұл бекітілген питон кодының көмегімен жасаған Гильбертті толтыру функциясы.

6 -қадам: Жыртқышты орнату

Жыртқышты орнату
Жыртқышты орнату
Жыртқышты орнату
Жыртқышты орнату
Жыртқышты орнату
Жыртқышты орнату

Роботтың бірінші нұсқасын орнату үшін мен жасаған қадамдар келесідей (суреттер әдетте дұрыс тәртіпте болуы керек):

  1. Қозғалтқыштардың көк қақпағын алып тастаңыз және кабельді қозғалтқыштың артқы жағынан шығарып алу үшін оны аздап кесіңіз.
  2. М2 бұрандалар мен болттарды қолданып, қозғалтқыштарды әр жағынан орнатыңыз.
  3. Прототип тақтасын бүйірлеріне 2х2 мм тесіктер мен кейбір бұрандалар мен болттарды қолданып орнатыңыз.
  4. A4988 драйверлерін салыңыз және мотор кабельдерін мұқият ұстаңыз.
  5. Әмбебап дөңгелекті астыңғы бөлігінің астына орнатып, жақтарын қосыңыз.
  6. Micro: bit кеңейту тақтасын жоғарғы бөлігіне орнатыңыз.
  7. Иілгіш алдыңғы қақпақтың түбін бекітіңіз.
  8. Батарея қалқанын салыңыз және бәрін қосыңыз (мұны істеу үшін мен әлі де қалаған кеңейту тақтасының жеткізілуін күтіп жүрген едім, менде тек әйелдік тақырыптары бар, мен ескі компьютерден IDE кабелін қайта өңдедім. Менің кабельдерім тақтаны жабыспайды, мұның бәрін жиналмалы алдыңғы қақпақпен жабу үшін). Мен берген кодты бейімдеу өте оңай болғанымен, оны тікелей қолдану үшін сізге сол жақтағы ҚАДАМДЫ 2 -ші түйінге, оңға -ҚАДЫМды 8 -ге, сол жақтағы DIR -ді 12 -ге, оң жақтағы ДИР -ді 1 -ші түйінге қосу керек.
  9. Кеңейтімге micro: bit қойыңыз.
  10. Әрі қарай жүрмес бұрын MoveTest.py -мен жұмыс істейтінін тексеріңіз.
  11. Коммутаторды үстіңгі бөлікке орнатып, пластикалық ұшты литий ұяшығының жанына қойыңыз.
  12. Алдыңғы қақпақтың жоғарғы бөлігін бұраңыз.
  13. Артқы жағына бекітіңіз, сіз аяқтадыңыз! Пф! Мен мұндай қадамдарды күтпедім! Мұны сөзбен түсіндіруден гөрі, бұл туралы ойлану және оны жасау әлдеқайда оңай! (Мен әлі де ақпарат жетіспейтініне сенімдімін!)

Егер сіз жақындық сенсорымен екінші нұсқаны құрсаңыз, онда:

  1. Жоғарыдағы нұсқауларды орындаңыз. Жалғыз айырмашылық мынада, сіз 7 -қадамда M2 аралық бөлгіштерді қосуға тура келеді (бұл мен жасадым, бірақ бұл қажет емес), 8 -қадам мен 13 -қадамды елемеңіз (алдыңғы қақпағы жоқ болғандықтан)
  2. Серво қозғалтқышты М2 бұрандалармен орнатыңыз және серводтың VCC мен GND -ті аккумулятор қалқанының 5В -ке тікелей қосыңыз, ал басқарушы кірісті микро: биттің 0 -штырына қосыңыз.
  3. Серво үстіне шығатын екі ағаш бөлшекті бұрандамен бекітіңіз, TOF сенсорын бұраңыз, сонымен қатар ақ сервомен бірге жеткізілетін ақ пластик бөлікті бұраңыз.
  4. Бұл соңғы қондырғыны сервоға орнатыңыз және сенсорды 3 -қадамда сипатталғандай micro: bit I2C көмегімен қосыңыз.

7 -қадам: Бағдарлама

Міне бітті ! Сізде микро: python немесе makecode бағдарламалауға болатын робот бар. Мен жоғарыда бейнелерді жасау үшін қолданатын кодты осында тіркедім:

  • 1 -мысал: роботтың micro: битіне radioControl.py, ал екінші micro: bitке роботты басқару үшін ReadAccelero.py қойыңыз.
  • 2 -мысал: Autonom.py роботтың 2 -ші нұсқасына қойыңыз, ол қоршаған ортаны зерттейді.

Бұл сіз әрі қарай жүру үшін қолдануға болатын негізгі мысалдар. Мысалы, мен бір мезгілде локализация мен картаны ұнатамын, және әдетте бұл роботтың 2 -нұсқасында сізге қажет нәрсенің бәрі бар! Маған мұндай жобаны жасаудың бір үлкен кемшілігі - микро -разрядты PWM драйвері - бұл барлық арналар үшін бірдей таймерді қолданатын бағдарламалық қамтамасыз ету драйвері, яғни біз орнатқан барлық PWM -лердің жиілігі бірдей болуы керек (бұл мен жасаған нәрсе) Мен үлгі кодтарын қашан жазғанымды білмеймін, бірақ мен Autonom.py жазған кезде біртүрлі нәрсе байқадым).

8 -қадам: Әрі қарай жүріңіз

Дизайнды жақсартудан тартынбаңыз, мен көрмеген кейбір мәселелерді шешіңіз. Мысалы, мен соңында:

  • Жердің қара немесе ақ екенін немесе менің үстелімнің соңына жеткенін анықтау үшін роботтың төменгі жағына IR сенсорын қосыңыз.
  • Батареяны басқару жүйесін өзгертіңіз, себебі мен оған әлі қанағаттанбаймын. Шынында да, қазіргі уақытта аккумуляторды қайта зарядтау үшін ұяшықты немесе батарея қалқанын шығарып алу үшін роботты бөлшектеу қажет … Сондықтан мен: 1. Мен аккумулятор қалқанына қосамын, мен оны қайта зарядтай аламын; 2. Зарядтау аяқталғанын көру үшін батарея қалқанынан жарық диодтарын көру үшін төменгі жағындағы тесікті кесіңіз.
  • Әр түрлі жиіліктегі PWM шығарудың қолайлы әдісі бар -жоғын тексеріңіз.
  • TOF10120 ауыстыру үшін VL53L0XV2 қолданып көріңіз, себебі бұл арзанырақ нұсқа болуы мүмкін, бұл оны көптеген адамдарға қолжетімді етеді. Мен бұл сенсор туралы көбірек оқығаныммен, оны арзанға шығарған компания оны әдейі шешкен сияқты …
  • Дөңгелектердің беріктігі үшін әр түрлі конструкцияларды сынап көріңіз (дәл қазір мен дөңгелектерді бірнеше рет кіргізіп, шығаратын болсам, ағаш біртіндеп бүлінеді деп күтетін едім. Егер мен ағашты серпімді етіп жасасам, дизайнды өзгерте аламын. ұзақ сақтауға болады)

Маған электроника мен механика туралы білімдерімді кеңейтуге көмектескен EPFL мобильді робототехника командасының (қазір Биороботика зертханасының бөлігі) адамдарына үлкен рахмет!

Ұсынылған: