Съдържание:
- Стъпка 1: Проектиране на хардуера
- Стъпка 2: Избор на правилните двигатели
- Стъпка 3: Изграждане на основата
- Стъпка 4: Сглобяване на хардуера
- Стъпка 5: Електроника
- Стъпка 6: Софтуер и сериен интерфейс
- Стъпка 7: Заключение
Видео: Q -Bot - решавачът на кубика на Рубик с отворен код: 7 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Представете си, че имате кодиран куб на Рубик, знаете този пъзел от 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
Препоръчано:
Ръководител на кубика на Рубик със затворени очи в реално време, използващ Raspberry Pi и OpenCV: 4 стъпки
Решавач на куб Рубик в реално време със завързани очи, използващ Raspberry Pi и OpenCV: Това е втората версия на инструмента за куб на Рубик, създаден за решаване на завързани очи. Първата версия е разработена от javascript, можете да видите проекта RubiksCubeBlindfolded1 За разлика от предишната, тази версия използва OpenCV библиотека за откриване на цветовете и
Комплект за обучение на Arduino (с отворен код): 7 стъпки (със снимки)
Комплект за обучение на Arduino (с отворен код): Ако сте начинаещ в Arduino World и ще научите Arduino, имайки практически опит, този Instructables и този комплект са за вас. Този комплект също е добър избор за учителите, които обичат да преподават Arduino на своите ученици по лесен начин
PyonAir - монитор за замърсяване на въздуха с отворен код: 10 стъпки (със снимки)
PyonAir - Монитор за замърсяване на въздуха с отворен код: PyonAir е евтина система за мониторинг на местните нива на замърсяване на въздуха - по -специално на прахови частици. Базирана на платката Pycom LoPy4 и хардуер, съвместим с Grove, системата може да предава данни както по LoRa, така и по WiFi. Предприех този п
K -Ability V2 - Достъпна клавиатура с отворен код за сензорни екрани: 6 стъпки (със снимки)
K-Ability V2-Достъпна клавиатура с отворен код за сензорни екрани: Този прототип е втората версия на K-Ability.K-Ability е физическа клавиатура, която позволява използването на устройства със сензорен екран на лица с патологии, водещи до нервно-мускулни разстройства. Има много помощни средства които улесняват използването на изчисления
„Sup - мишка за хора с квадриплегия - ниска цена и отворен код: 12 стъпки (със снимки)
„Sup - мишка за хора с квадриплегия - ниска цена и отворен код: През пролетта на 2017 г. семейството на най -добрия ми приятел ме попита дали искам да летя до Денвър и да им помогна с проект. Те имат приятел, Алън, който има квадриплегия в резултат на инцидент с планинско колоездене. Феликс (моят приятел) направихме бърза повторна проверка