Obsah:

Q -Bot - Řešitel Rubikovy kostky s otevřeným zdrojovým kódem: 7 kroků (s obrázky)
Q -Bot - Řešitel Rubikovy kostky s otevřeným zdrojovým kódem: 7 kroků (s obrázky)

Video: Q -Bot - Řešitel Rubikovy kostky s otevřeným zdrojovým kódem: 7 kroků (s obrázky)

Video: Q -Bot - Řešitel Rubikovy kostky s otevřeným zdrojovým kódem: 7 kroků (s obrázky)
Video: LEARN HOW TO SOLVE 3X3 RUBIK'S CUBE IN LESS THAN 1 MINUTE | training day 22 2024, Červenec
Anonim
Image
Image
obraz
obraz

Představte si, že máte míchanou Rubikovu kostku, víte, že hádanka z 80. let, kterou má každý, ale nikdo neví, jak ji vyřešit, a chcete ji vrátit zpět do původního vzoru. Naštěstí v dnešní době je velmi snadné najít pokyny k řešení. Přejděte tedy online a podívejte se na video, kde se dozvíte, jak obrátit strany, aby vám přinášely radost. Když to uděláte několikrát, uvědomíte si, že něco chybí. Uvnitř díra, kterou nelze zaplnit. Inženýři/tvůrce/hackeři ve vás jednoduše nemohou být spokojeni s řešením něčeho tak úžasného tak jednoduchým způsobem. Nebylo by to mnohem poetičtější, kdybyste měli stroj, který za vás udělal veškeré řešení? Pokud byste postavili něco, čím by se všichni vaši přátelé divili? Mohu vám zaručit, že to nebude o moc lepší, než sledovat, jak váš výtvor dělá zázraky a řeší Rubikovu kostku. Pojďte se tedy se mnou vydat na úžasnou cestu budování Q-Bot, open source řešení Rubik's Cube Solver, které rozhodně nepřekoná žádné světové rekordy, ale bude vám přinášet hodiny radosti (poté, co si samozřejmě projdete všemi frustracemi) během procesu stavby).

Krok 1: Navrhování hardwaru

Kompletní řešič byl navržen s CAD v Catii. Tímto způsobem bylo možné najít a opravit většinu konstrukčních chyb před výrobou jakýchkoli fyzických komponent. Většina řešiče byla 3D vytištěna v PLA pomocí tiskárny prusa MK3. Kromě toho byl použit následující hardware:

  • 8 kusů hliníkové tyče 8 mm (délka 10 cm)
  • 8 lineárních kuličkových ložisek (LM8UU)
  • něco pod 2 m rozvodového řemene GT2 6 mm + nějaké kladky
  • 6 bipolárních krokových motorů NEMA 17
  • 6 krokových ovladačů Polulu 4988
  • Arudino Mega jako ovladač projektu
  • napájení 12 V 3A
  • převodník, který bezpečně napájí arduino
  • nějaké šrouby a konektory
  • nějaká překližka na základnu

Popis hardwaru

Tato část stručně popisuje, jak Q-Bot dokonce funguje a kde jsou použity výše uvedené komponenty. Níže vidíte vykreslení plně sestaveného CAD modelu.

Q-bot funguje tak, že má čtyři motory připojené přímo k Rubikově kostce pomocí 3D vytištěných chapadel. To znamená, že vlevo, vpravo, vpředu a vzadu lze přímo otáčet. Pokud je třeba otočit horní nebo spodní stranu, musí být otočena celá krychle, a proto se dva motory musí vzdalovat. To se provádí připevněním každého z uchopovacích motorů na saně poháněné dalším krokovým motorem a rozvodovým řemenem podél systému lineárních kolejnic. Systém kolejnic se skládá ze dvou 8 kuličkových ložisek, která jsou namontována do dutin v saních a celá sáně jezdí na dvou 8mm hliníkových hřídelích. Níže vidíte podsestavu jedné osy řešiče.

Osa x a osa y jsou v zásadě totožné, liší se pouze výškou upevňovacího bodu pásu, a to proto, aby při úplném sestavení nedocházelo ke kolizi mezi oběma pásy.

obraz
obraz

Krok 2: Výběr správných motorů

Výběr správných motorů je zde samozřejmě velmi důležitý. Hlavní část spočívá v tom, že musí být dostatečně silní, aby dokázali otočit Rubikovu kostku. Jediným problémem je, že žádný výrobce Rubikových kostek neposkytuje hodnocení točivého momentu. Takže jsem musel improvizovat a udělat si vlastní měření.

Obecně je točivý moment definován silou směřující kolmo na polohu bodu otáčení ve vzdálenosti r:

obraz
obraz
obraz
obraz

Pokud bych tedy mohl nějak změřit sílu působící na kostku, mohl bych vypočítat točivý moment. Což jsem přesně udělal. Upnul jsem svoji kostku na poličku způsobem, který umožňoval pohyb pouze jedné strany. Kolem kostky byl uvázán provázek a dole připevněn pytel. Teď už jen zbývalo pomalu zvyšovat váhu v pytli, dokud se kostka neotočila. Pro nedostatek přesných hmotností jsem použil brambory a poté je změřil. Není to nejvědečtější metoda, ale protože se nesnažím najít minimální točivý moment, je to dostačující.

obraz
obraz

Pro jistotu jsem provedl měření třikrát a vzal nejvyšší hodnotu. Výsledná hmotnost byla 0,52 kg. Nyní díky siru Isaacovi Newtonovi víme, že Síla se rovná hmotnostně krát zrychlení.

obraz
obraz

Zrychlení je v tomto případě gravitační zrychlení. Požadovaný točivý moment je tedy dán vztahem

obraz
obraz

Zapojení všech hodnot, včetně poloviny úhlopříčky Rubikovy kostky, nakonec odhalí požadovaný točivý moment.

obraz
obraz

Šel jsem s krokovými motory, které jsou schopné aplikovat až 0,4 Nm, což je pravděpodobně přehnané, ale chtěl jsem být v bezpečí.

Krok 3: Stavba základny

Základna se skládá z velmi jednoduché dřevěné krabice a je v ní umístěna veškerá potřebná elektronika. Je vybaven zástrčkou pro zapnutí a vypnutí stroje, LED diodou indikující, zda je zapnutá, portem USB B a zásuvkou pro připojení napájecího zdroje. Byl zkonstruován s použitím 15 mm překližky, několika šroubů a trochy lepidla.

obraz
obraz
obraz
obraz
obraz
obraz
obraz
obraz

Krok 4: Sestavení hardwaru

Nyní se všemi požadovanými částmi, včetně základny, byl Q-bot připraven k sestavení. Vlastní díly byly vytištěny 3D a upraveny podle potřeby. Na konci tohoto článku si můžete stáhnout všechny soubory CAD. Sestava obsahovala montáž všech 3D tištěných dílů na zakoupené díly, prodloužení kabelů motoru a přišroubování všech dílů k základně. Kromě toho jsem kolem motorových kabelů nasadil objímky, abych vypadal trochu úhledněji, a na jejich konce jsem přidal konektory JST.

Abych zdůraznil důležitost základny, kterou jsem postavil, zde je záběr před a po, jak sestava vypadala. Trochu uklidnění všeho může znamenat obrovský rozdíl.

obraz
obraz
obraz
obraz

Krok 5: Elektronika

Pokud jde o elektroniku, projekt je poměrně jednoduchý. K dispozici je hlavní napájecí zdroj 12V, který může dodávat až 3A proudu, který napájí motory. K bezpečnému napájení Arduina se používá sestupný modul a byl navržen vlastní štít pro Arduino, který obsahuje všechny ovladače krokových motorů. Ovladače výrazně usnadňují ovládání motorů. Řízení krokového motoru vyžaduje specifickou řídicí sekvenci, ale pomocí ovladačů motoru potřebujeme pouze generovat vysoký puls pro každý krok, kterým se motor otočí. Kromě toho byly do štítu přidány některé jst konektory, které usnadňují připojení motorů. Štít pro Arduino byl pevně postaven na kusu perfboardu a poté, co se ujistil, že vše funguje tak, jak mělo, byl vyroben společností jlc pcb.

Zde je před a po prototypu a vyrobené desce plošných spojů.

obraz
obraz
obraz
obraz

Krok 6: Software a sériové rozhraní

Q-Bot je rozdělen na dvě části. Na jedné straně je hardware, který je ovládán Arduinem, na straně druhé je software, který vypočítává cestu řešení pro krychli na základě aktuálního shonu. Firmware běžící na Arduinu jsem napsal sám, ale abych tuto příručku zkrátil, nebudu se zde o ní rozepisovat. Pokud se na to chcete podívat a pohrát si s tím, odkaz na mé úložiště git bude uveden na konci tohoto dokumentu. Software, který vypočítá řešení, běží na počítači se systémem Windows a byl napsán mým kolegou, opět odkazy na jeho zdrojový kód najdete na konci tohoto textu. Tyto dvě části komunikují pomocí jednoduchého sériového rozhraní. Vypočítává řešení na základě dvoufázového algoritmu Kociemba. Řešicí software odešle řešiteli příkaz sestávající ze dvou bytů a čeká, až vrátí „ACK“. Tímto způsobem lze řešič testovat a ladit pomocí jednoduchého sériového monitoru. Kompletní sadu instrukcí najdete níže.

obraz
obraz

Příkazy k otočení každého motoru o jeden krok jsou řešením problému, kdy některé steppery po zapnutí náhodně provedou malé skoky. Aby se to kompenzovalo, lze motory před procesem řešení nastavit do jejich počáteční polohy.

Krok 7: Závěr

Po osmi měsících vývoje, nadávání, bít na klávesnici a tancování byl Q-bot konečně v bodě, kde byla úspěšně vyřešena jeho první Rubikova kostka. Míchání kostky bylo nutné ručně vložit do řídicího softwaru, ale vše fungovalo dobře.

O několik týdnů později jsem přidal držák pro webovou kameru a moje vysoká škola upravila software tak, aby kostku automaticky přečetl z pořízených snímků. To však ještě není dobře otestováno a stále potřebuje nějaká vylepšení.

obraz
obraz

Pokud tento pokyn vyvolal váš zájem, neváhejte a začněte stavět svou vlastní verzi Q-botu. Zpočátku se to může zdát skličující, ale stojí to za tu námahu, a když to dokážu já, můžete i vy.

Zdroje:

Zdrojový kód firmwaru:

github.com/Axodarap/QBot_firmware

Zdrojový kód řídicího softwaru

github.com/waldhube16/Qbot_SW

Doporučuje: