Съдържание:

Направи си сам образователен микро: битов робот: 8 стъпки (със снимки)
Направи си сам образователен микро: битов робот: 8 стъпки (със снимки)

Видео: Направи си сам образователен микро: битов робот: 8 стъпки (със снимки)

Видео: Направи си сам образователен микро: битов робот: 8 стъпки (със снимки)
Видео: Свършвам бързо! Как да правя секс по-дълго? 2024, Ноември
Anonim
Направи си сам образователен микро: битов робот
Направи си сам образователен микро: битов робот
Направи си сам образователен микро: битов робот
Направи си сам образователен микро: битов робот

Тази инструкция ще ви покаже как да създадете сравнително достъпен, способен и евтин робот. Моята цел при проектирането на този робот беше да предложа нещо, което повечето хора могат да си позволят, за да преподават компютърни науки по ангажиращ начин или да научат за това.

След като изградите този робот, можете да се насладите на неговото разнообразие от сензори и задвижвания, за да правите основни, но и доста напреднали неща в зависимост от версията, която изграждате (ще ви предложа две версии). С този робот вие давате очи (180 ° изглед!) И крака (с възможно прецизно движение!) На micro: bit, докато micro: bit ви предоставя страхотни функции като LED матрицата, радио комуникацията, bluetooth комуникация, акселерометър, компаси, но също така и достъп до всички тези неща или с MicroPython, или с визуален език за програмиране, подобен на нулата (всъщност също в C ++ и javascript, но намирам тези по -малко подходящи за образование).

Ще работя и върху тази инструкция, така че да мога да настроя читателите и създателите на път да открият повече за мобилната роботика, електрониката, проектирането и рязането на дърво. За да направя това, проектирах всичко да бъде възможно най -модулно. Например няма да използвам никакво лепило, което да позволява свободно сглобяване и разглобяване, което улеснява надстройките, както и отстраняването на грешки. Също така ще направя стъпките възможно най -постепенни, за да можете постепенно да разберете какво се случва, да проверите дали нещата работят както трябва и да стигнете до края с робот, който работи.

Стъпка 1: Събиране на парчетата

Събиране на парчетата
Събиране на парчетата

За този проект минималният минимум, от който се нуждаете, е:

  • MDF дърво с дебелина 5 мм и лазерен нож за скелета
  • 1x18650 литиева батерия, 1x щит на батерията за енергия и прекъсвач
  • 1xMicro: Бит карта и 1xMicro: битова удължителна платка за мозъка (въпреки че и двете могат да бъдат заменени лесно с Arduino)
  • 2x28BYJ-5V стъпкови двигатели, 2xA4988 драйвери за стъпкови двигатели и 2x платка за развитие за монтиране на драйверите за краката
  • 1x TOF10120 и 1x Мини 9g серво мотор за очите Някои кабели и винтове
  • 1x универсално колело, височина = 15 мм

Сред тях само три части не са стандарти, затова ето връзки за намирането им: намерете разширението, което използвах тук (но бих ви препоръчал да използвате това вместо това за чистата версия на робота. Ще трябва да не променяйте почти нищо в дизайна и това ще направи кабелите много по-опростени с огъване на женски и женски заглавки), щита на батерията тук и универсалното колело тук.

В идеалния случай ще имате на разположение и:

  • Мултицет
  • Макет
  • Поялник

За тях, както и за лазерния нож, проверете дали имате някакви фабрики около вас! Това са чудесни места за среща с някои вдъхновяващи създатели!

Стъпка 2: Подготовка на краката

Подготовка на краката
Подготовка на краката
Подготовка на краката
Подготовка на краката
Подготовка на краката
Подготовка на краката
Подготовка на краката
Подготовка на краката

Първата ви мисия, ако я приемете, ще бъде да накарате нашия стъпков двигател да се върти с помощта на micro: bit като контролер! Защо стъпков двигател? Можех да отида за DC двигател с редуктори, но ги опитах и ми е трудно да накарам евтини двигатели да работят с ниска скорост. Мислех си също, че би било хубаво да знам с каква скорост се въртят колелата ми. Поради тези причини стъпковите двигатели бяха най -добрият вариант.

И така, сега, как да управляваме 28BYJ мотор с помощта на драйвер 4988? Отговорът е … малко дълъг. Не успях да го направя добре в тази инструкция, затова направих още един само за тази цел, който ще намерите тук. Каня ви да следвате тези стъпки до края със създаването на малка прототипираща дъска с размери 26x22 мм с отвори 2x2 мм с размери 17 мм, за да я монтирате отстрани, както е показано на снимката по -горе (Обърнете внимание, че както е посочено в посочената статия жълтата жица вляво стърчащият е точно там, за да ви напомни да запоявате SLP и RST заедно).

След като започнах да работя с един двигател с прототипната платка, аз също проектирах моя собствена печатна платка, за да направя нещата малко по -подредени. Прикачих съответния файл easyEDA. Това е txt файл, но все още можете да го отворите с безплатната онлайн платформа за редактиране easyEDA.

Стъпка 3: Виждам светлината !! (По избор)

Виждам светлината !! (По избор)
Виждам светлината !! (По избор)
Виждам светлината !! (По избор)
Виждам светлината !! (По избор)
Виждам светлината !! (По избор)
Виждам светлината !! (По избор)

Ако просто искате да изградите и нищо повече, преминете към този преди последния параграф на тази стъпка, за да видите как да свържете TOF10120 към micro: bit. Ако не следвайте.

Тъй като нашият micro: bit не идва с никаква камера или сензор за близост, той го прави нещо като сляпо за всяко приложение за мобилна роботика. Той идва с радиоизлъчвател и рецептор, което би ни позволило да изградим скелета върху това, което вече имаме, и да получим робот с дистанционно управление. Но не би ли било чудесно да направим нашия робот автономен? Да би било! Така че нека видим как да стигнем до там.

Това, което ни интересува сега, е да оборудваме нашия робот със сензори, за да може нашият робот да получи известна информация за неговата среда. Налични са много видове сензори, но тук ще се съсредоточим върху сензора за близост. Когато проектирах този робот, целта ми беше най -вече роботът да не се блъсне в нищо, затова исках да усети препятствия. За това също има няколко опции. Първият, много прост, може да бъде използването на брони, но смятам, че информацията за околната среда е малко ограничена. От друга страна, можете да помислите за добавяне на камера (или Lidar или kinect!). Обичам камерите, компютърното зрение и всички тези неща, но за съжаление Micro: bit не ги поддържа (ще трябва да използваме малинов Pi, за да поддържаме такива устройства, а не micro: bit или Arduino).

И така, какво поддържа micro: bit, който е между камерата и броните? Има малки активни сензори, които изпращат светлина към околната среда и проверяват полученото, за да получат известна информация за света. Този, за който вече знаех, беше GP2Y0A41SK0F, който използва триангулационен метод за оценка на разстоянието до препятствия. Чудех се обаче дали мога да намеря нещо по-добро, затова направих малко проучване и в крайна сметка открих TOF10120 (и GY-VL53L0XV2, но все още не съм го получил:(). Ето една хубава статия, за да го откриете. По принцип този сензор излъчва инфрачервен сигнал, който отразява препятствията и след това получава отразената светлина. В зависимост от времето, необходимо на светлината да върви напред -назад, сензорът може да оцени разстоянието на препятствието (оттук и името TOF = време на полет Заради малкия си размер, обхват на разстояние и мощност реших да използвам TOF10120.

Докато първата ми идея беше да сложа три от тези на робота (един отпред и два отстрани), китайската нова година и пандемията COVID-19 не искаха така, тъй като изглеждаше, че причинява проблеми с пратките. Тъй като бях ограничен до един TOF10120, който исках да видя и отстрани и че имах леки серво мотори, реших да монтирам сензора си на серво. Така че сега липсват две неща: как да използвам TOF10120 с micro: bit? И същия въпрос със серво.

За щастие micro: bit е оборудван с I2C комуникационен протокол и прави живота ни наистина лесен: включете червения проводник към 3.3V, черен към земята, зелен към SCL и син към SDA и това е всичко за хардуерната част. За софтуера ви препоръчвам да прочетете малко за I2C комуникацията и да опитате кода на python, който прикачих към micro: bit. Тази програма трябва да ви отпечата разстоянието, измерено от сензора на REPL (Read Evaluate Print Loop). Това е. Току -що дадохме зрение на нашия micro: bit.

Сега нека го накараме да обърне врата си, ако ми позволите да продължа аналогиите си с анатомията на животните. Единствената мисъл, която ще ни трябва, е да управляваме серво мотор с micro: bit. Тази част става все по -дълга, затова просто ще ви дам тази връзка, която съдържа цялата информация, от която се нуждаете, и кода, който използвах, за да я тествам. Ако искате, добавих и прост код за управление на сервото с помощта на pin0. Само не забравяйте да захранвате вашето серво с 5V, а не с 3.3V.

Стъпка 4: Хакване на щита на батерията

Хакване на щита на батерията
Хакване на щита на батерията
Хакване на щита на батерията
Хакване на щита на батерията
Хакване на щита на батерията
Хакване на щита на батерията

Сега, когато подготвихме нашите задвижващи механизми и сензори, е време да разгледаме системата за управление на батерията. За да научите повече за щита на батерията, който избрах, бих ви посъветвал да прочетете тази статия. Намирам го за много ясно и достъпно. От тази статия можем да видим много предимства на този щит на батерията, но има един важен недостатък, който не исках да приема: превключвателят ON/OFF влияе само на USB изхода. Това означава, че ако изключите превключвателя, всички други 3.3V и 5V щифтове ще се захранват. В резултат на това, тъй като използваме тези щифтове за нашия робот, превключвателят няма да направи нищо …

Но искам да мога да изключвам робота си, за да не изпразня батерията си за нищо, затова трябваше да хакна щита на батерията. Няма да е красиво, но работи и не струва нищо. Затова искам превключвател да отваря или затваря веригата, така че да изолира клетката на батерията ми от щита на батерията. Нямам оборудване за докосване на печатната платка, но наоколо има парчета пластмаса. Така че сега си представете, че изрязах парче пластмаса, така че да може да се побере в единия край на клетката на батерията ми в щита, както на първото изображение по -горе. Веригата вече е отворена и батерията ми се съхранява безопасно.

Да, но не искам да отварям робота за достъп до щита на батерията, за да сложа и премахна това парче пластмаса! Лесно: вземете превключвател и залепете два малки квадратчета от алуминий към всеки от проводниците, свързани към превключвателя. Сега залепете тези две парчета алуминий към парчето пластмаса, за да изолирате двете алуминиеви парчета една от друга и за да изложите алуминия на външната страна на вашата система. Обикновено това трябва да стане. Поставете новото си творение в щита на батерията до клетката и превключвателят трябва да ви позволи да отворите или затворите веригата, свързана с клетката.

И последно нещо: за да улесните сглобяването и разглобяването на робота, бих ви посъветвал да запоите женски заглавки върху щита на батерията. По този начин можете лесно да включите и изключите това, което изграждате с двигателите и техните драйвери.

Стъпка 5: 3D дизайн и изрязване

3D дизайн и изрязване
3D дизайн и изрязване
3D дизайн и изрязване
3D дизайн и изрязване

Единственото нещо, което липсва сега, е да се изгради структура, която да държи всички наши компоненти заедно. За целта използвах онлайн платформата tinkercad. Това е наистина приятна среда за извършване на някои основни CAD, което често е достатъчно за проектиране на неща за лазерния нож.

След известно време за размисъл, беше време да се побъркам. За да направя това, започнах да съставям 3D модели на различните части, които имах (първо запазих серво и TOF извън уравнението). Това включва батерията и щита, стъпковите двигатели и драйверите на двигателя и, разбира се, micro: bit с платката за разширение. Прикачих всички съответни 3D модели като stl файлове. За да улесня процеса, реших да направя робота симетричен. В резултат на това се занимавах само с половината от робота и стигнах до дизайна, показан на изображението по -горе.

От това оживяха няколко версии, от които избрах две:

  • Един доста подреден, без сензора за близост, който позволява да не се появяват проводници. Въпреки че не е автономна, тази версия все още може да бъде програмирана чрез bluetooth чрез iPad например или може да бъде програмирана да се управлява с помощта на радиосигнали, които например могат да бъдат изпратени от друг micro: bit, както е показано във видеото по -горе.
  • Една много по -малко подредена, която позволява да отидете много по -далеч в мобилната роботика, тъй като позволява да се улови разстоянието на препятствие с изглед 180 ° благодарение на сензора за близост, вграден върху серво мотор.

За да изградите това, отидете на любимия си Fablab и използвайте лазерния нож, който намерите, за да изрежете модела по ваш избор: първият, съответстващ на файловете design1_5mmMDF.svg и design1_3mmMDF, които съответстват съответно на частите, които трябва да се режат в 5 мм MDF дърво и тези, които трябва да се режат от 3 мм; втората съответства на файла design2_5mmMDF.svg. Задайте черните контури за изрязване и червените за гравиране.

Странична бележка: Добавих червения модел само за да го направя. Това е функция за запълване на Хилберт, която генерирах с помощта на приложения код на python.

Стъпка 6: Монтиране на звяра

Монтиране на звяра
Монтиране на звяра
Монтиране на Звяра
Монтиране на Звяра
Монтиране на звяра
Монтиране на звяра

Стъпките, които следвах, за да монтирам първата версия на робота, са следните (снимките обикновено трябва да са в правилния ред):

  1. Свалете синята капачка на двигателите и я отрежете малко, за да накарате кабела да стърчи от задната част на двигателя.
  2. Монтирайте двигателите от всяка страна с помощта на винтове и болтове М2.
  3. Монтирайте прототипната дъска отстрани, като използвате отворите 2х2 мм и някои винтове и болтове.
  4. Поставете драйверите на A4988 и залепете кабелите на двигателя, за да го поддържате подреден.
  5. Монтирайте универсалното колело под долната част и добавете страните.
  6. Монтирайте удължителната платка на micro: bit върху горната част.
  7. Монтирайте долната част на гъвкавия преден капак.
  8. Поставете щита за батерии и свържете всичко (за да го направя, тъй като все още чаках доставката на платката за разширение, която исках, и че имах само една с изпъкнали женски заглавки, рециклирах IDE кабел от стар компютър, за да успея да нямам кабелите ми да стърчат на дъската, за да покрият всичко това чрез сгъваемия преден капак). Въпреки че предоставеният от мен код е много лесен за адаптиране, за да го използвате директно, ще трябва да свържете лявата СТЪПКА към пин 2, дясната СТЪПКА към пин 8, лявата DIR към пин 12, дясната DIR към пин 1.
  9. Поставете micro: bit в разширението.
  10. Преди да продължите, проверете дали всичко работи с MoveTest.py.
  11. Монтирайте превключвателя върху горната част и поставете пластмасовото бито до литиевата клетка.
  12. Завийте горната част на предния капак.
  13. Монтирайте гърба и сте готови! Фу! Не очаквах толкова много стъпки! Толкова е по -лесно да мислиш за това и да го правиш, отколкото да го обясняваш с думи! (И съм сигурен, че все още ще липсва информация!)

Ако изграждате втората версия със сензор за близост, тогава:

  1. Следвайте инструкциите по -горе. Единствената разлика ще бъде, че ще трябва да добавите малко разделители M2 в стъпка 7 (въпреки че това направих, но не се изисква), игнорирайте стъпка 8 и стъпка 13 (тъй като няма преден капак)
  2. Монтирайте серво мотора с винтове M2 и свържете VCC и GND на серво директно към 5V на щита на батерията и свържете контролния вход към щифт 0 на micro: бита.
  3. Монтирайте двата парчета дърво, които ще вървят върху сервото с винт, завийте TOF сензора върху него, както и бялото пластмасово парче, което се доставя със серво.
  4. Монтирайте последното устройство на серво и свържете сензора с помощта на I2C на micro: bit, както е описано в стъпка 3.

Стъпка 7: Програма

Това е ! Имате робот, който можете да програмирате или в micro: python, или в makecode. Прикачих тук примерен код, който използвах, за да направя видеоклиповете по -горе:

  • Пример 1: Поставете radioControl.py върху micro: bit на робота и ReadAccelero.py на друг micro: bit, за да управлявате робота, като използвате наклона на втория micro: bit.
  • Пример 2: Поставете Autonomous.py на версия 2 на робота, той ще изследва околната среда.

Това са само основни примери, които можете да използвате, за да отидете много, много по -далеч. Например много харесвам едновременната локализация и картографиране и обикновено има всичко, от което се нуждаете във версия 2 на този робот, за да направите това! Въпреки че един голям недостатък за мен да направя такъв проект е, че драйверът на micro: bit PWM е софтуерен драйвер, който използва същия таймер за всички канали, което означава, че всички ШИМ, които задаваме, трябва да имат еднаква честота (което направих аз не знам кога съм написал примерните кодове, въпреки че открих нещо странно, когато написах Autonomous.py).

Стъпка 8: Отидете по -нататък

Не се колебайте да подобрите дизайна, разрешете някои проблеми, които не видях. Например бих искал в крайна сметка:

  • Добавете IR сензор в долната част на робота, за да го разпознаете дали земята е черна или бяла или стига до края на бюрото ми.
  • Променете системата за управление на батерията, тъй като все още не съм доволен от нея. Всъщност в момента, за да презаредите батерията, е необходимо да разглобите робота, за да извадите клетката или щита на батерията … Затова планирам да: 1. добавя мини-USB конектор на гърба на робота, който ще се свържа към щита на батерията, за да мога да го заредя; 2. Изрежете дупка в долната част, за да видите светодиодите от щита на батерията, за да видите кога зареждането приключи.
  • Проверете дали има приемлив начин за извеждане на ШИМ с различни честоти.
  • Изпробвайте VL53L0XV2, за да замените TOF10120, тъй като това може да е по -евтин вариант, който да го направи достъпен за още повече хора. Въпреки че прочетох повече за този сензор и изглежда, че компанията, която направи това евтино, го направи много трудно за справяне с …
  • Тествайте различни дизайни на колелата, за да ги направите по -издръжливи (В момента бих очаквал, че ако взема колелата навътре и навън много пъти, дървото постепенно ще се повреди. Ако направя дървото по -еластично, променяйки дизайна, бих могъл може да продължи по -дълго)

Голямо благодаря на хората от екипа за мобилна роботика (сега част от лабораторията по биороботика) на EPFL, които ми помогнаха много да разширя познанията си по електроника и механика!

Препоръчано: