Съдържание:

Q -Bot - решавачът на кубика на Рубик с отворен код: 7 стъпки (със снимки)
Q -Bot - решавачът на кубика на Рубик с отворен код: 7 стъпки (със снимки)

Видео: Q -Bot - решавачът на кубика на Рубик с отворен код: 7 стъпки (със снимки)

Видео: Q -Bot - решавачът на кубика на Рубик с отворен код: 7 стъпки (със снимки)
Видео: Мы к этому не готовы. Что такое Q*? 2024, Ноември
Anonim
Image
Image
Образ
Образ

Представете си, че имате кодиран куб на Рубик, знаете този пъзел от 80 -те години, който всеки има, но никой не знае как да го реши и искате да го върнете в първоначалния му модел. За щастие в наши дни е много лесно да се намерят инструкции за решаване. Така че, отидете онлайн и погледнете видеоклип, за да научите как да обърнете страните, за да ви достави радост. След като го направите няколко пъти обаче, ще разберете, че нещо липсва. Дупка вътре, която не може да бъде запълнена. Инженерите/производителят/хакерът във вас просто не могат да се задоволят с решаването на нещо толкова невероятно по толкова прост начин. Не би ли било много по -поетично, ако имате машина, която да свърши цялото решение вместо вас? Ако бяхте построили нещо, всичките ви приятели биха били изумени? Мога да ви гарантирам, че не става много по -добре от това да гледате как вашето творение прави чудеса и решава кубчето на Рубик. И така, елате и се присъединете към мен в прекрасното пътешествие на изграждането на Q-Bot, Rubik's Cube Solver с отворен код, който със сигурност няма да победи нито един световен рекорд, но ще ви достави часове на радост (след като, разбира се, преминете през всички разочарования по време на строителния процес).

Стъпка 1: Проектиране на хардуера

Пълният решател е проектиран с CAD в Catia. По този начин повечето от грешките при проектирането могат да бъдат открити и коригирани преди производството на каквито и да било физически компоненти. По -голямата част от решавача е 3D отпечатана в PLA с помощта на принтер prusa MK3. Освен това беше използван следния хардуер:

  • 8 броя алуминиев прът 8 мм (дължина 10 см)
  • 8 линейни сачмени лагери (LM8UU)
  • малко под 2 м GT2 6 мм зъбен ремък + няколко ролки
  • 6 биполярни стъпкови двигателя NEMA 17
  • 6 Polulu 4988 стъпкови драйвери
  • Arudino Mega като контролер на проекта
  • 12 V 3A захранване
  • стъпаловиден конвертор за безопасно захранване на arduino
  • някои винтове и съединители
  • малко шперплат за основата

Описание на хардуера

Този раздел накратко описва как Q-Bot дори функционира и къде се използват гореспоменатите компоненти. По -долу можете да видите изобразяване на напълно сглобения CAD модел.

Q-ботът работи, като има четири двигателя, прикрепени директно към куба на Рубик с 3D отпечатани грайфери. Това означава, че наляво, надясно, отпред и отзад може да се обръща директно. Ако трябва да се обърне горната или долната страна, целият куб трябва да се обърне и така два от двигателя трябва да се отдалечат. Това става чрез прикачване на всеки от захващащите двигатели към шейни, задвижвани от друг стъпков двигател и ангренажен ремък по линейна релсова система. Релсовата система се състои от два 8 сачмени лагера, които са монтирани в кухини в шейната, а цялата шейна се движи на два 8 мм алуминиеви вала. По -долу можете да видите подсглобяването на една ос на решавача.

Оста x и y са почти идентични, различават се само по височината на точката на закрепване на колана, така че да няма сблъсъци между двата колана, когато са напълно сглобени.

Образ
Образ

Стъпка 2: Избор на правилните двигатели

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

Обикновено въртящият момент се определя от силата, насочена перпендикулярно към положението на точката на въртене на разстоянието r:

Образ
Образ
Образ
Образ

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

Образ
Образ

Направих измерванията три пъти и взех най -високата стойност само за да съм в безопасност. Полученото тегло е 0,52 кг. Сега поради сър Исак Нютон знаем, че Силата е равна на масата по ускорение.

Образ
Образ

Ускорението в този случай е гравитационното ускорение. Така че необходимия въртящ момент се определя от

Образ
Образ

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

Образ
Образ

Отидох със стъпкови двигатели, които могат да прилагат до 0,4 Nm, което вероятно е прекалено много, но исках да съм в безопасност.

Стъпка 3: Изграждане на основата

Основата се състои от много проста дървена кутия и в нея се помещава цялата необходима електроника. Той разполага с щепсел за включване и изключване на машината, светодиод, който показва дали е включен, USB B порт и гнездо за включване на захранването. Изграден е с помощта на 15 мм шперплат, няколко винта и малко лепило.

Образ
Образ
Образ
Образ
Образ
Образ
Образ
Образ

Стъпка 4: Сглобяване на хардуера

Сега с всички необходими части, включително основата, Q-ботът беше готов за сглобяване. Персонализираните части бяха 3D отпечатани и коригирани, където е необходимо. Можете да изтеглите всички CAD файлове в края на тази таблица. Монтажът включва монтаж на всички 3D отпечатани части с закупените части, удължаване на кабелите на двигателя и завинтване на всички части към основата. Освен това сложих ръкави около кабелите на двигателя, само за да изглеждам малко по -спретнат, и добавих JST съединители към краищата им.

За да подчертая важността на базата, която построих, ето снимка преди и след това как изглеждаше монтажът. Поправяйки всичко малко, може да има огромна разлика.

Образ
Образ
Образ
Образ

Стъпка 5: Електроника

Що се отнася до електрониката, проектът е доста прост. Има основно 12V захранване, което може да достави до 3А ток, което захранва двигателите. Модулът за понижаване се използва за безопасно захранване на Arduino и е проектиран персонализиран щит за Arduino, в който се помещават всички драйвери на стъпкови двигатели. Шофьорите правят управлението на двигателите много по -лесно. Управлението на стъпков двигател изисква специфична последователност на управление, но с помощта на драйверите на двигателя трябва само да генерираме висок импулс за всяка стъпка, която двигателят трябва да завърти. Освен това към щита бяха добавени някои jst конектори, за да се улесни свързването на двигателите. Щитът за Arduino беше изцяло построен върху парче перфорирана дъска и след като се увери, че всичко работи както трябва, беше произведено от jlc pcb.

Ето преди и след прототипа и произведената платка.

Образ
Образ
Образ
Образ

Стъпка 6: Софтуер и сериен интерфейс

Q-Bot е разделен на две части. От една страна има хардуер, който се контролира от Arduino, от друга страна има част от софтуер, който изчислява пътя на решаване на куба въз основа на текущото кодиране. Фърмуерът, работещ на Arduino, е написан от мен, но за да направя това ръководство кратко, няма да навлизам в подробности за него тук. Ако искате да го разгледате и да поиграете с него, връзката към моето git хранилище ще бъде предоставена в края на този документ. Софтуерът, който изчислява решението, работи на Windows машина и е написан от мой колега, отново връзки към неговия изходен код могат да бъдат намерени в края на тази таблица. Двете части комуникират чрез прост сериен интерфейс. Той изчислява решението въз основа на двуфазния алгоритъм на Kociemba. Софтуерът за решаване изпраща команда, състояща се от два байта, към решавача и изчаква той да върне „ACK“. По този начин решателят може да бъде тестван и отстранен с помощта на обикновен сериен монитор. Пълният набор от инструкции може да бъде намерен по -долу.

Образ
Образ

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

Стъпка 7: Заключение

След осем месеца на разработване, псуване, натискане на клавиатурата и танци на Q-бота най-накрая беше в момент, в който успешно се решава първият му куб на Рубик. Разбъркването на куба трябваше да бъде вмъкнато ръчно в софтуера за управление, но всичко работеше добре.

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

Образ
Образ

Ако тази инструкция предизвика интереса ви, не се колебайте и започнете да изграждате своя собствена версия на Q-бота. В началото може да изглежда обезсърчаващо, но си струва усилията и ако аз можех да го направя, можете и вие.

Ресурси:

Изходен код на фърмуера:

github.com/Axodarap/QBot_firmware

Изходен код на софтуера за управление

github.com/waldhube16/Qbot_SW

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