1 puan yazan GN⁺ 2024-02-12 | 1 yorum | WhatsApp'ta paylaş
  • Tek bir köşe üzerinde duran bu küp, üç reaksiyon tekerleği ve bir kontrolcüyle dengesini koruyan, ayrıca eksen etrafındaki dönüşünü de kontrol eden bir açık kaynak donanım projesidir
  • Asıl çıkış noktası ETH Zürich’in Cubli projesidir; University of São Paulo’dan Bobrow ve ekibi ise IMU sayısını 6’dan 1’e indiren bir kontrol kavramı eklemiştir
  • Mevcut çalışmaların çoğu büyük ölçüde kapalı olduğu için yapımcı, mekanik tasarım, devre, ayarlar ve kodu tersine mühendislikle yeniden çıkarıp bunu tamamen açık kaynak olarak yayımlamıştır
  • Donanım; paslanmaz çelik ve alüminyum yapı, 3 adet Maxon 60W motor, 4-quadrant motor controller, 6S1P LiPo batarya, ESP32-S3 ve IMU içeren özel bir karttan oluşur
  • Şu anda insan eliyle dikildikten sonra dengeyi koruma aşamasındadır; bir sonraki hedef ise mekanik fren ile küpün kendi kendine denge konumuna sıçramasını sağlamaktır

Açık kaynak olarak yeniden yapılmış Cubli türevi küp

  • Bu küp, tek bir köşe üzerinde dengede durabilir ve aynı anda ekseni etrafında kontrollü dönüş yapabilir
  • Çalışmanın kalbinde akıllıca bir kontrol yöntemi ve üç reaksiyon tekerleği bulunur
  • Temel fikir, ETH Zürich araştırmacılarının Cubli çalışmasından gelir
  • Daha sonra University of São Paulo’da Bobrow ve ekibi, gereken IMU sayısını 6’dan 1’e indiren geliştirilmiş bir kontrol yaklaşımı sundu
  • Önceki çalışmaların çoğu kapalı olduğu için yapımcı, her şeyi tersine mühendislikle yeniden oluşturup en baştan çizerek yayımladı
  • Tasarım, ayar ve kod dosyaları GitHub deposunda yayımlanmıştır
  • Yapımcıya göre BOM maliyeti yaklaşık €2500 seviyesindedir

Pratik kullanımdan çok öğrenme ve araştırmaya yakın bir düzenek

  • Küpün kendisi daha çok bir öğrenme deneyimi ve araştırma projesidir; doğrudan pratik değeri yüksek değildir
  • Ancak aynı prensiple çalışan reaksiyon tekerlekleri, James Webb telescope gibi uydularda yönelim kontrolü için kullanılır
  • Önceki M&Ms sınıflandırıcısında olduğu gibi dışarıdan faydasız görünen aygıtlar da benzer uygulamalarda gerçek değer taşıyabilir

Mekanik yapı ve üretim

  • Genel mekanik yapı, özgün Cubli ile büyük ölçüde benzerdir ancak bazı ayrıntılarda farklar vardır
  • Temel yapı 8 adet cornerstone ve 6 adet face plate’ten oluşur
    • 6 face plate’in 3’ünde motor ve reaksiyon tekerleği grubunu taşımak için ek şekillendirmeler bulunur
  • Tüm parçalar Fusion 360’ta tasarlanmıştır
    • Yapımcı, daha önce kullandığı Siemens NX yerine Fusion 360 kullanmanın tasarımı DIY topluluğuyla paylaşmayı kolaylaştırdığını düşünüyor
  • Yapısal parçaların çoğu dayanıklılık için paslanmaz çelikten üretilmiştir
  • face plate’ler ağırlığı azaltmak için alüminyumdan yapılmıştır
    • Montajdan sonra yapısal rijitlik yeterli çıktığı için face plate’leri çelikten üretmeye gerek kalmamıştır
  • Metal parçalar PCBWay’de CNC ile üretilmiştir
    • Maliyetin bir kısmı PCBWay tarafından karşılanmıştır
    • Parça yükleme ve malzeme seçimi sonrası teklifin otomatik hesaplandığı sipariş süreci kullanılmıştır
    • Küçük üretim sorunları hızlıca çözülmüş ve parçalar sorunsuz biçimde birbirine uymuştur

Motor ve reaksiyon tekerleği montajı

  • Reaksiyon tekerlekleri en fazla 6000 rpm hıza çıkabildiği için hem sağlam hem hafif bir tasarım gerekmiştir
  • Motorlar, üç adet havşa başlı vida ile paslanmaz çelik bir köprüye bağlanır; köprü de alüminyum face plate’e sabitlenir
  • Motor miline küçük bir hub takılır ve üç adet set screw ile sabitlenir
    • Hub’ın merkez deliği düz üçgen yüzeye dik değilse tekerlek motor miliyle hizalanmaz; bu da titreşim ve aşınmaya yol açabilir
  • Reaksiyon tekerleği, hub’a üç adet havşa başlı vida ile monte edilir
    • Hub ve tekerlekteki küçük kusurlar, temas yüzeyleri arasına yerleştirilen küçük kâğıt parçalarıyla telafi edilmiştir
  • face plate içine küçük bir radial ball bearing yerleştirilip cyanoacrylate yapıştırıcıyla sabitlenir
    • Bu rulman, motor milinin bir ucunu destekler
    • Milin diğer ucu ise motor içindeki rulman tarafından taşınır
  • Bu montaj süreci üç kez tekrarlanarak küpün yarısı oluşturulur; kalan face plate’ler ise özel bir montaj gerektirmeden doğrudan birleştirilir
  • Kablo işini sadeleştirmek için motorlardan biri köprü referansına göre farklı yönde yerleştirilmiştir

Elektrik ve mekanik yapılandırma

  • Diğer balancing cube projelerinde olduğu gibi bu projede de Maxon’un EC flat serisi motorları tercih edilmiştir
  • Motorlar ve kontrolcüler, küpün torkla dengede kalmasında kilit bileşenlerdir
    • Birçok DC motorun veri sayfasında tork sabiti belirtilmez
    • Birçok BLDC kontrolcü veya ESC yalnızca hız kontrolü sunar, akım kontrolü sunmaz
    • Bu proje için tork-akım ilişkisi ve akım kontrolü zorunludur
  • Seçilen motor Maxon 60W motor modelidir ve uyumlu 4-quadrant motor controller en fazla 6A akım sağlayabilir
  • 24V’ta 6A, neredeyse 150W anlamına gelir
    • Bu değer motorun nominal gücünü aşsa da kısa süreli aşırı yük sorun yaratmaz
    • Kontrolcüde, sargı sıcaklığının aşırı yükseldiği tahmin edilirse akımı sınırlayan yerleşik bir I2t algoritması bulunur
    • Denge koruma sırasında akım genellikle çok düşük olduğundan normal çalışmada bu sınıra takılması pek olası değildir
  • Escon motor controller yazılımı; motor devreye alma, ayar araçları ve çalışma sırasındaki durum ile giriş/çıkışları gösteren bir panel sunar

Batarya ve özel kart

  • Batarya olarak 6S1P lityum polimer batarya kullanılır
    • Motorların nominali 24V olduğu için, 22.2V nominal gerilime sahip 6 hücreli LiPo iyi uyum sağlar
    • Kapasite 1300mAh ve 29Wh’tir; bu da genelde küpü en az 1 saat çalıştırmaya yeter
  • Ana kart özel tasarımdır
    • üç motor kontrolcüsü
    • IMU
    • ESP32-S3 geliştirme kartı
    • koruma devresi
    • gerilim regülatörleri
    • mekanik fren için RC servo motor çıkışı
  • Mekanik fren çıkışı, küpün kendi kendine denge konumuna jump-up yapabilmesi için önceden düşünülmüş bir tasarımdır
  • Fren tasarımı henüz tamamlanmamıştır
  • Devre kartı; solder paste uygulaması, yüzey montajlı bileşenlerin yerleştirilmesi, küçük bir tost fırınında reflow ve through-hole parçaların elle lehimlenmesiyle monte edilmiştir
  • Entegrasyon ve test sırasında bazı hatalı yönlendirmeler bulunmuş ve bodge wire ile düzeltilmiştir
    • Motor kontrolcüsünün dijital girişlerinden yalnızca biri PWM destekliyordu, ancak PWM sinyali desteklenmeyen bir girişe yönlendirilmişti
  • Batarya montajı için de ayrı bir kart tasarlanmıştır
    • 2 adet XT60 konnektör
    • En fazla 18A akım dikkate alınarak paralel bağlanan 2 anahtar

Kontrolcünün port edilmesi ve denge kontrolü

  • Kontrolcü sıfırdan tasarlanmadı; Fabio Bobrow’un cubli-firmware yazılımı Arm Mbed’den Arduino’ya port edildi
  • Mikrodenetleyici olarak STM32 Nucleo yerine ESP32 kullanıldı
  • IMU olarak TDK Invensense’in ICM20948 modeli seçildiği için ilgili sürücü de yeniden yazıldı
  • Ana duruş kontrolcüsünün aynı anda iki çelişen hedefi karşılaması gerekir
    • küpü istenen duruşta, yani kararsız denge konumunda tutmak
    • reaksiyon tekerleklerinin hızını sıfıra yakın tutmak
  • İkinci hedef dikkate alınmazsa tekerlek hızı kontrolden çıkar ve motorlar doyuma ulaşıp küpe tork uygulayamaz hale gelebilir
  • Tekerlek hızını 0’a yakın tutma kuvveti fazla olursa küp devrilir
  • Tersine bu kuvvet çok zayıf kalırsa tekerlek hızı gerçekten de kontrolden çıkacak kadar artabilir
  • İyi denge performansı, bozucu etkilere dayanıklılık ve düşük tekerlek hızı birlikte isteniyorsa uygun gain değerleri bulunmalıdır

Sabit hata ve tekerlek konumu integrali

  • Kontrolcüde sabit hatayı ele alan bir mekanizma da vardır
  • Sabit hata, küpün ağırlık dağılımındaki kusurlar nedeniyle ayarlanan denge konumu ile gerçek denge konumunun biraz farklı olması durumudur
  • Sıradan PID kontrolcülerde bu tür hatalar integral terimiyle giderilir
  • Bu kontrolcü ise integrale benzer biçimde tekerleğin konumunu kullanır
  • Küpün üzerine domates konup ağırlık dağılımı değiştirildiğinde, reaksiyon tekerlekleri önce hızlanıp sonra yavaşlayarak yeni bir konuma geçer ve artan hatayı telafi eder

Ayar sürecinde takılan kısım

  • Devreye alma ve kontrolcü ayarı, kod tarafındaki işlerin en büyük bölümünü oluşturdu
  • Önce çeşitli sinyallerin işaretlerini doğru eşleştirmek için birkaç gün harcandı
  • Ardından kontrolcü gain değerlerinin bulunması gerekti
  • Bobrow’un makalesinde anlatılan ayar yöntemi bu küpte işe yaramadı
  • Bu küpte Bobrow’un kübünden farklı tekerlekler kullanıldığı için gain değerleri doğrudan yeniden kullanılamadı
  • Tekrarlanan manuel ayarlardan sonra videoda görülen kararlı dengeleme performansı elde edildi

Benzer küpler ve sonraki adım

  • Yapımcı, bu küpün Cubli’ye benzer denge performansına ulaşan tamamen açık kaynak bir küp olduğunu düşünüyor
  • Görece iyi belgelenmiş benzer projeler şunlardır
  • Bir sonraki hedef, reaksiyon tekerleklerine mekanik fren eklemektir
  • Fren, tekerlekleri çok hızlı durdurarak motorun doğrudan üretebileceğinden çok daha büyük bir tork oluşturabilir
  • Bu tork sayesinde küp, kendi kendine denge konumuna çıkan bir jump-up manoeuver gerçekleştirebilir
  • Yapımcıya göre şu anda bu özellik yalnızca özgün Cubli’de bulunuyor
  • Cubli’nin fren mekanizması çeşitli nedenlerle tercih edilmediği için farklı bir yaklaşım planlanıyor

1 yorum

 
GN⁺ 2024-02-12
Hacker News yorumları
  • Kontrol ve sinyal işleme alanında yüksek lisans yapmış, sonrasında daha sıkıcı işlere yönelmiş biri olarak, sinyal işaretini günlerce tersine çevirip durmamın deneyim eksikliğinden kaynaklandığını düşünüyordum.
    Meğer o değerlendirmede de işareti yanlış almışım.

    • Mühendisliğin hatırı sayılır bir kısmı, işaret hatalarının çift sayıda olmasını garanti altına alma işidir.
    • Şu anda yörüngede olan bazı uydularda bile reaksiyon tekerleği kablolaması ters bağlanmış durumda ve kod tabanında x *= -1.0; //DO NOT TOUCH satırı var.
      Herkes bunu yapıyor gerçi ama genelde binlerce kg’lık patlayıcının üstüne koli bandıyla yapıştırıp kırmızı düğmeye basmadan önce test edilir :)
    • USB’yi doğru takmak için her zaman yaklaşık üç kez denemek zorunda kalma olgusu da buna benziyor.
    • Üniversiteden sonra neredeyse hiç eğitim almamış, garajda bir şeyler kurcalamayı seven biri olarak, biraz eğitim alsam işareti tersine çevirip çalışana kadar denemeye bu kadar az zaman harcardım diye düşünmüştüm.
    • Yalnız değilsin.
      Tasarlayıp uyguladığım tüm kontrolörler, işaret ve yön gibi davranışları garanti etmek için eninde sonunda yeterli birim testi gerektiği gerçeğini kabul ettirdi.
  • O videoyu izleyince gerçekten inanılmaz geldi.
    “Bu düpedüz büyü değil mi?” diye düşündüğüm şeye en yakın deneyimdi.
    İtildiğinde verdiği tepki, mıknatıslarla ilk kez karşılaştığım zamanki hisse benziyor; ama bu kez sanki tamamen yeni bir kuvvet görüyormuşum gibi.
    Canlıymış gibi kendi dengesini koruyor, çevresel değişimlere direniyor; üstüne domates koysan bile, vücudumuzun yük değişimine uyum sağlaması gibi hemen uyum sağlıyor.
    Bir gün Amazon’da 50 dolarlık seri üretim küçük bir versiyonu satılırsa mutlaka alıp oynamak isterim.

    • Eski Cubli videosunda “zıplayarak ayağa kalkma”, denge kurma ve kontrollü düşüşleri birleştirerek hareket etmeyi bile gösteriyordu.
      https://youtu.be/n_6p-1J551Y?si=zvwORnuPZmgXw0S8
    • Bazı kontrol mühendisliği uygulamalarının gerçekten büyü gibi hissettirebildiğine kesinlikle katılıyorum.
      Programlamayı öğrenirken “yeterince zaman ayırıp program yazarsam bilgisayara istediğim her şeyi yaptırabiliyorum” diye hissetmiştim.
      Kontrol teorisi de benzer bir his veriyor; ama bu kez fizik yasalarını “programlayıp” gerçekliğin çalışma biçimini değiştiriyormuşsun gibi.
    • Bu aslında epey eski bir şey.
      YouTube’da ararsan 10 yıldan eski örnekler bile var.
  • Yazılım mühendisi kariyerimden çok keyif alıyorum ama bir yandan da keşke böyle şeyler yapmaya başlayabileceğim bir alan okusaydım diye düşünüyorum.
    Gerçekten harika.

    • Bunların hepsi kendi kendine öğrenilebilir.
      Çoğumuzun programlamayı öğrendiği gibi ;-)
      Yalnız ilk proje olarak kendi kendini dengeleyen küpten başlamamak iyi olur; bir Arduino ya da ESP kartı alıp LED yakıp söndürmekle başlayabilirsin.
    • Bir geliştirici olarak ben de benzer hissediyorum; ama hobi olarak böyle havalı şeyler yapmanın maliyetinin epey yüksek olduğunu fark edince, deneme maliyeti neredeyse sıfıra yakın bir alan seçmiş olduğum için şükrediyorum.
      Bir uzlaşma olarak ev otomasyonu ve esp32, rpi pico gibi mikrodenetleyiciler kullanan hobi elektroniği projelerine yöneldim.
      Elle tutulur şeyler yapmak isteyen biri için denemeye değer.
      Bu arada bu küp projesinin toplam parça maliyeti yaklaşık 2500 avroydu.
    • Her zaman havalıydı.
      En azından piyasadaki işlerin insan öldüren makineler yapmakla sınırlı olduğunu öğrenene kadar.
      Benim için böyle oldu; herkes için farklı olabilir.
    • https://www.adafruit.com/ harika bir kaynak.
      Öğreticileri iyi, ürün ve video tanıtımları da gerçekten çok başarılı.
      Neredeyse her üründe video var; bu yüzden para harcamayı çok kolaylaştıran bir yer.
    • Ben de aynı açlığı hissediyordum ve özel mekanik klavyeler yaparak donanım tarafında yaratıcı bir çıkış yolu buldum.
      Kodlama hızını, doğruluğunu ve verimliliğini artırarak yazılım mühendisi kariyerine de yardımcı oluyor.
      https://www.reddit.com/r/ErgoMechKeyboards/comments/hj0q8x/f...
  • Reaksiyon tekerleğine mekanik fren ekleyerek zıplama manevrasını mümkün kılma ve küpün kendi kendine denge konumuna ulaşmasını sağlama kısmını merakla bekliyorum.
    Cubli projesinde her zaman en havalı bulduğum kısım buydu.
    Video: https://youtu.be/n_6p-1J551Y?t=92

    • Bu yapı için küpten daha iyi bir biçim var mı merak ediyorum.
      Yukarı tırmanmak için dairesel olmaması gerekir; ama aşağı yuvarlanmak için yuvarlatılmış kenarlar iyi olur gibi.
      İki halkanın bir küre oluşturduğu bir şekil hayal ediyorum: 90 derece dönerek yuvarlanma modu ile yürüme modu arasında geçiş yapmak gibi.
    • Çalışma prensibini öğrenince büyü hissi büyük ölçüde kayboluyor; ama hiçbir belirgin özelliği olmayan, vızıldayan metal bir küp bulduğunu hayal et.
      Küp kenarının üstüne zıplıyor, sonra tekrar köşesinin üstüne çıkıp dönmeye başlıyor ve bunu rastgele yüzeylerde de yapabiliyor.
      Fiziğe aşina olduğunu düşünen çoğu insan bile epey şaşırırdı; küp aniden köşeden yüzeyinin üstüne geri zıplayıp bunun gizli bir çıkıntı mekanizması olmadığını gösterirse, ciddi ciddi büyü ihtimalini düşünmeye başlayabilirler.
    • Şaşırtıcı.
      Şimdi tek gereken, havalı bir ahşap kaplama ve ona uygun indüksiyonlu şarj standı.
      Kickstarter’da çıksa paramı alabilir.
  • Brennan monoray treni aklıma geldi.
    Çok ilginç bir video: https://www.youtube.com/watch?v=kUYzuAJeg3M

  • Harika bir sanat eseri.
    Aynı kişinin yaptığı şu diğer iş tamamen farklı ama izlemesi aynı derecede keyifli: https://www.youtube.com/watch?v=P9jyNIWsRvI
    Sanat yapan mühendisleri gerçekten seviyorum.

    • Böyle şeyleri seviyorsanız Jacob Tonski’nin Balance from Within işini de kesin seversiniz.
      170 yıllık bir kanepeye bir reaksiyon çarkı takılarak, inanılmaz bir şekilde tek ayağı üzerinde durması sağlanmış bir eser.
      Sonunda reaksiyon çarkı sınırına ulaştığında kanepe devrilip patlıyor; sanatçıya sorarsanız bunun insan ilişkilerine benzediğini söylerdi.
      Günümüzde akla siyasetin gelmemesi de zor.
      Bu türde çok yüksek bir onur sayılan Prix Ars Electronica tarafından da takdir edilmişti.
      Video: https://www.youtube.com/watch?v=uQRP-b68fnE
      Yazı: https://ars.electronica.art/aeblog/en/2014/07/02/auf-der-suc...
    • Birkaç yıl önce onun M&M ayırıcısını gördüğümü hatırlıyorum: https://www.youtube.com/watch?v=ceGlMV4sHnk
    • Bu diğer projenin tamamen farklı olduğunu söyleyemem.
      Aslında ikisini kolayca birleştirmek de mümkün gibi.
    • Şimdi bir de sessiz çalışacak hale getirseler de gerçekten oturma odasına koyabilsek ;)
  • Pazar günleri genelde kodla yeni zirvelere ulaşıp heyecanlanır, azim ve yaratıcılığımı zorlamış olmanın tatminini hissederim; ama böyle yazıları görünce tamamen güçsüz hissediyorum.
    Sabrım kısa ve böyle bir şeyi denemeye bile fazla korkuyorum.

    • Bu, bizim yaptığımız işle epey dik kesişen bir alan.
      Son birkaç haftadır yan proje olarak React öğrenmeye başladım ve arkadaşlarımın gerçekten kullanabileceği bir şey yapınca oldukça gururlandım.
      Elbette “vay be” dedirten bir tarafı yok ama yapması 2500 dolar da tutmadı; yıllar, belki de on yıllar sürecek bir öğrenme maliyeti de gerektirmedi.
    • Başka birinin bir işi daha iyi yapması moralinizi bozuyorsa hayat epey zorlaşır.
      Herhangi bir alanda dünyanın en iyisi olan insan sayısı çok azdır ama bunun önemi yok.
      Bu gerçek, benim yapabileceklerimi değiştirmez.
    • Temel eğitimleri takip ederek ve Adafruit gibi yerlerden kit alarak başlayabilirsiniz.
      Bunların hatırı sayılır bir kısmı lehim bile gerektirmez.
      Tamamen sıfırdan başlamak çok zor; çünkü hangi parçaların birbiriyle uyumlu olduğunu, ne kadar güç gerektiğini vb. kendiniz çözmek zorundasınız.
    • Burada önce iki boyutu ortadan kaldırmak iyi olur.
      O zaman çok daha kolaylaşır; hazır parçalar ya da el yapımı parçalar da kullanabilirsiniz.
  • Aslında denge kurmasından çok, nesnenin kendisinin havalı görünüşü beni daha çok çekiyor.

    • Ben de öyleydim.
      Hemen satışta olup olmadığına baktım; kendiniz yaparsanız yaklaşık 2500 dolar tutuyor gibi.
  • Pervasızlık diyebilirsiniz ama daha büyük bir versiyonunda kenarlar boyunca tutamaklar olsa, para verip üzerine tırmanmak isterdim.
    Hareketlerime nasıl tepki verdiğini bizzat hissetmek isterim.

    • Jöle duvara tırmanmak ya da deprem sırasında dağa çıkmak gibi olurdu herhalde.
      İlginç bir düşünce deneyi.
  • Pil azaldığında ya da reaksiyon kontrol çarkı doygunluğa ulaştığında, kendi kendine tekrar bir Qi şarj cihazının ya da pogo pinlerin üzerine yatmasını sağlama fikri nasıl olur merak ediyorum.
    Muhtemelen bu, kendi kendine ayağa kalkabilmesi için fren ekledikten sonraki bir mesele olurdu.

    • Köşelere bobin koyup sürekli güç sağlamak mümkün mü diye de merak ediyorum.
      Mesafe sorun olabilir tabii.