İçindekiler:

Q-Bot - Açık Kaynak Rubik Küp Çözücü: 7 Adım (Resimlerle)
Q-Bot - Açık Kaynak Rubik Küp Çözücü: 7 Adım (Resimlerle)

Video: Q-Bot - Açık Kaynak Rubik Küp Çözücü: 7 Adım (Resimlerle)

Video: Q-Bot - Açık Kaynak Rubik Küp Çözücü: 7 Adım (Resimlerle)
Video: ZEKA KÜPÜ NASIL ÇÖZÜLÜR (ÖĞRENME GARANTİLİ!!) 2024, Kasım
Anonim
Image
Image
resim
resim

Karıştırılmış bir Rubik Küpünüz olduğunu hayal edin, herkesin sahip olduğu ama kimsenin gerçekten nasıl çözeceğini bilmediği 80'lerden oluşan bulmacayı biliyorsunuz ve onu orijinal kalıbına geri getirmek istiyorsunuz. Neyse ki bu günlerde çözme talimatlarını bulmak çok kolay. Bu yüzden, çevrimiçi olun bir videoya bakın, size neşe getirmek için tarafları nasıl çevireceğinizi öğrenin. Ancak birkaç kez yaptıktan sonra bir şeylerin eksik olduğunu fark edeceksiniz. İçinde doldurulamayacak bir boşluk. İçinizdeki mühendisler/yapımcı/hacker, bu kadar şaşırtıcı bir şeyi bu kadar basit bir şekilde çözmekle yetinemez. Sizin için tüm çözümleri yapan bir makineniz olsaydı çok daha şiirsel olmaz mıydı? Bir şey yapsaydın, tüm arkadaşların hayran kalacak mıydı? Yaratıcılığınızın harikalar yaratmasını ve bir Rubik Küpü çözmesini izlemekten daha iyi olamayacağını garanti edebilirim. Öyleyse gelin ve kesinlikle hiçbir dünya rekorunu kırmayacak, ancak size saatlerce keyif verecek (elbette tüm hayal kırıklıklarını yaşadıktan sonra) açık kaynaklı Rubik Küp Çözücüsü olan Q-Bot'u inşa etmenin harika yolculuğunda bana katılın. inşa sürecinde).

Adım 1: Donanımı Tasarlamak

Tam çözücü, Catia'da CAD ile tasarlanmıştır. Bu şekilde, tasarım hatalarının çoğu, herhangi bir fiziksel bileşeni üretmeden önce bulunabilir ve düzeltilebilir. Çözücünün çoğu, bir prusa MK3 yazıcı kullanılarak PLA'da 3D olarak basıldı. Ayrıca, aşağıdaki donanım kullanıldı:

  • 8 adet 8 mm alüminyum çubuk (10cm uzunluk)
  • 8 lineer bilyalı rulman (LM8UU)
  • 2 m'nin biraz altında GT2 6mm triger kayışı + bazı kasnaklar
  • 6 NEMA 17 bipolar step motor
  • 6 Polulu 4988 step sürücü
  • proje için kontrolör olarak bir Arudino Mega
  • 12 V 3A güç kaynağı
  • arduino'ya güvenli bir şekilde güç sağlamak için bir düşürücü dönüştürücü
  • bazı vidalar ve konektörler
  • taban için biraz kontrplak

Donanım açıklaması

Bu bölüm kısaca Q-Bot'un nasıl çalıştığını ve yukarıda bahsedilen bileşenlerin nerede kullanıldığını kapsar. Aşağıda tamamen monte edilmiş CAD modelinin bir görüntüsünü görebilirsiniz.

Q-bot, 3D baskılı tutucularla doğrudan Rubik Küpüne bağlı dört motora sahip olarak çalışır. Bu, sola, sağa, ön ve arkaya doğrudan çevrilebileceği anlamına gelir. Üst veya alt tarafın döndürülmesi gerekiyorsa, küpün tamamı döndürülmeli ve bu nedenle motorlardan ikisi uzaklaştırılmalıdır. Bu, kavrama motorlarının her birinin, lineer bir ray sistemi boyunca başka bir kademeli motor ve bir triger kayışı tarafından tahrik edilen kızaklara bağlanmasıyla yapılır. Ray sistemi, kızaktaki boşluklara monte edilmiş iki adet 8 bilyalı rulmandan oluşur ve tüm kızak iki adet 8 mm'lik alüminyum mil üzerinde hareket eder. Aşağıda, çözücünün bir ekseninin alt montajını görebilirsiniz.

X ve y ekseni temelde aynıdır, yalnızca kayışın montaj noktasının yüksekliğinde farklılık gösterirler, bu, tam olarak monte edildiğinde iki kayış arasında çarpışma olmamasını sağlar.

resim
resim

Adım 2: Doğru Motorları Seçmek

Tabii burada doğru motorları seçmek çok önemli. Ana kısım, bir Rubik küpünü çevirebilecek kadar güçlü olmaları gerektiğidir. Buradaki tek sorun, hiçbir Rubik küp üreticisinin bir tork derecesi vermemesidir. Bu yüzden doğaçlama yapmak ve kendi ölçümlerimi yapmak zorunda kaldım.

Genellikle tork, r mesafesindeki dönme noktasının konumuna dik olarak yönlendirilen kuvvet tarafından tanımlanır:

resim
resim
resim
resim

Yani, eğer bir şekilde kübe uygulanan kuvveti ölçebilseydim, torku hesaplayabilirdim. Bu tam olarak yaptığım şey. Küpümü sadece bir tarafının hareket edebileceği şekilde bir rafa kenetledim. Küpün etrafına bir ip bağlanmış ve altına bir torba bağlanmış. Şimdi yapılması gereken tek şey, küp dönene kadar çantadaki ağırlığı yavaşça artırmaktı. Herhangi bir doğru ağırlık olmaması için patates kullandım ve daha sonra ölçtüm. En bilimsel yöntem değil ama minimum torku bulmaya çalışmadığım için oldukça yeterli.

resim
resim

Ölçümleri üç kez yaptım ve sadece güvende olmak için en yüksek değeri aldım. Ortaya çıkan ağırlık 0,52 kg idi. Şimdi Sir Isaac Newton sayesinde, Kuvvetin kütle çarpı ivmeye eşit olduğunu biliyoruz.

resim
resim

Bu durumda ivme, yerçekimi ivmesidir. Böylece gerekli tork ile verilir

resim
resim

Rubik küpünün köşegeninin yarısı da dahil olmak üzere tüm değerleri eklemek, sonunda gerekli torku ortaya çıkarır.

resim
resim

Muhtemelen aşırıya kaçan 0,4Nm'ye kadar uygulayabilen step motorlarla gittim, ancak güvende olmak istedim.

Adım 3: Üssün Oluşturulması

Taban çok basit bir ahşap kutudan oluşur ve gerekli tüm elektronikleri barındırır. Makineyi açıp kapatmak için bir fişe, açık olup olmadığını gösteren bir LED'e, bir USB B bağlantı noktasına ve güç kaynağının takılması için bir sokete sahiptir. 15 mm kontrplak, bazı vidalar ve biraz yapıştırıcı kullanılarak yapılmıştır.

resim
resim
resim
resim
resim
resim
resim
resim

Adım 4: Donanımın Montajı

Artık, taban da dahil olmak üzere gerekli tüm parçalarla, Q-bot montaja hazırdı. Özel parçalar 3D yazdırıldı ve gerektiğinde ayarlandı. Tüm CAD dosyalarını bu dosyanın sonunda indirebilirsiniz. Montaj, tüm 3D baskılı parçaların satın alınan parçalarla takılmasını, motor kablolarının uzatılmasını ve tüm parçaların tabana vidalanmasını içeriyordu. Ek olarak, biraz daha düzenli görünmesi için motor kablolarının etrafına manşonlar koydum ve uçlarına JST konektörleri ekledim.

İnşa ettiğim tabanın önemini vurgulamak için, montajın nasıl göründüğünün bir öncesi ve sonrası görüntüsü burada. Her şeyi biraz toparlamak büyük bir fark yaratabilir.

resim
resim
resim
resim

Adım 5: Elektronik

Elektroniklere gelince, proje oldukça basit. Motorlara güç sağlayan 3A'ya kadar akım sağlayabilen bir ana 12V güç kaynağı vardır. Arduino'ya güvenli bir şekilde güç sağlamak için bir düşürme modülü kullanılır ve tüm step motor sürücülerini barındıran Arduino için özel bir kalkan tasarlanmıştır. Sürücüler, motorları kontrol etmeyi çok daha kolay hale getirir. Bir step motoru sürmek, belirli bir kontrol sırası gerektirir, ancak motor sürücülerini kullanarak, motorun döneceği her adım için yalnızca yüksek bir darbe üretmemiz gerekir. Ayrıca, motorların bağlanmasını kolaylaştırmak için kalkana bazı jst konektörleri eklendi. Arduino için kalkan ilk olarak bir perfboard üzerine yapıldı ve her şeyin olması gerektiği gibi çalıştığından emin olduktan sonra jlc pcb tarafından üretildi.

İşte prototipin ve üretilen pcb'nin öncesi ve sonrası.

resim
resim
resim
resim

Adım 6: Yazılım ve Seri Arayüz

Q-Bot iki bölüme ayrılmıştır. Bir yanda Arduino tarafından kontrol edilen donanım, diğer yanda mevcut karıştırmaya göre küpün çözüm yolunu hesaplayan bir yazılım parçası var. Arduino üzerinde çalışan ürün yazılımı tarafımdan yazılmıştır ancak bu kılavuzu kısa tutmak için burada bununla ilgili herhangi bir ayrıntıya girmeyeceğim. Ona bir göz atmak ve onunla oynamak isterseniz, git depomun bağlantısı bu belgenin sonunda sağlanacaktır. Çözümü hesaplayan yazılım bir windows makinesinde çalışıyor ve bir meslektaşım tarafından yazılmış, yine kaynak koduna bağlantılar bu kitabın sonunda bulunabilir. İki parça, basit bir seri arabirim kullanarak iletişim kurar. Çözümü Kociemba'nın iki aşamalı algoritmasına göre hesaplar. Çözme yazılımı, çözücüye iki bayttan oluşan bir komut gönderir ve bir 'ACK' döndürmesini bekler. Bu şekilde çözücü, basit bir seri monitör kullanılarak test edilebilir ve hata ayıklanabilir. Tam talimat seti aşağıda bulunabilir.

resim
resim

Her motoru bir adım döndürme komutları, bazı adımlayıcıların güç verildiğinde rastgele küçük sıçramalar gerçekleştireceği bir sorun için bir geçici çözümdür. Bunu telafi etmek için motorlar, çözme işleminden önceki başlangıç konumlarına ayarlanabilir.

7. Adım: Sonuç

Sekiz aylık geliştirme, küfür etme, klavyeye basma ve Q-bot dans etme sürecinin ardından nihayet ilk Rubik Küpünü başarıyla çözdüğü bir noktadaydı. Küpün karıştırılmasının kontrol yazılımına manuel olarak eklenmesi gerekiyordu, ancak her şey iyi çalıştı.

Birkaç hafta sonra bir web kamerası için bir montaj parçası ekledim ve üniversitem yazılımı, çekilen görüntülerden küpü otomatik olarak okuyacak şekilde ayarladı. Ancak, bu henüz iyi test edilmedi ve hala bazı iyileştirmelere ihtiyacı var.

resim
resim

Bu talimat ilginizi çektiyse, tereddüt etmeyin ve kendi Q-bot versiyonunuzu oluşturmaya başlayın. İlk başta göz korkutucu görünebilir, ancak bu çabaya çok değer ve eğer ben yapabildiysem siz de yapabilirsiniz.

Kaynaklar:

Bellenimin Kaynak Kodu:

github.com/Axodarap/QBot_firmware

Kontrol yazılımının Kaynak Kodu

github.com/waldhube16/Qbot_SW

Önerilen: