İçindekiler:

Planet Dişli Saati: 6 Adım (Resimli)
Planet Dişli Saati: 6 Adım (Resimli)

Video: Planet Dişli Saati: 6 Adım (Resimli)

Video: Planet Dişli Saati: 6 Adım (Resimli)
Video: Baştan Sona Planet Dişli Tasarımı! Hemen Öğrenin 2024, Temmuz
Anonim
Planet Dişli Saat
Planet Dişli Saat
Planet Dişli Saat
Planet Dişli Saat
Planet Dişli Saat
Planet Dişli Saat

(Eski) mekanik saat işleri inanılmaz derecede ilginç ve izlemesi zevkli, ancak ne yazık ki kendi başınıza inşa etmek neredeyse imkansız. Mekanik saatler de bugün mevcut olan hassas dijital teknolojinin dikkatsizliğinden yoksundur. Bu Eğitilebilir Tablo size her iki dünyanın en iyilerini birleştirmenin bir yolunu gösterir; bir step motor ve bir Arduino ile bir planet dişli kutusu aracılığıyla mekanik saat ibrelerini sürerek!

Gereçler

Genel bileşenler:

  • 5 mm ahşap ve akrilik levha
  • M5 cıvatalar (havşa başlı), pullar ve somunlar
  • PCB zıtlıkları
  • Step motor için M3 vidalar

Elektrik parçaları:

  • Step sürücü (L293d'yi kullandım)
  • Her türlü Arduino
  • Gerçek Zamanlı Saat (DS3231'i kullandım)
  • Hall efekt sensörü (A3144'ü kullandım)
  • 5 mm Neodyum mıknatıs
  • Kullanıcı girişi için düğmeler
  • 10K direnç
  • 100uf 25V kapasitör
  • DC jakı
  • 5V 2A DC güç kaynağı
  • RTC için pil (benim durumumda cr2032)

Mekanik bileşenler:

  • 5 mm akslı her türlü 1.8 derece/adım step motor
  • GT2 400mm triger kayışı
  • GT2 60 dişli 5mm aks kasnağı
  • GT2 20 dişli 5mm aks kasnağı
  • 5x16x5 mm rulman (3x)
  • 5x16x5 mm flanşlı yatak (2x)
  • M5x50 dişli çubuk

Adım 1: Dişlileri Tasarlamak ve Yapmak

Image
Image
Dişlileri Tasarlamak ve Yapmak
Dişlileri Tasarlamak ve Yapmak
Dişlileri Tasarlamak ve Yapmak
Dişlileri Tasarlamak ve Yapmak

Bu projenin amaçlarından biri, bir kaçış mekanizmasının tüm saati çalıştırdığı gerçek bir mekanik saate benzer şekilde, tüm saati çalıştıran bir motora sahip olmaktı. Ancak akrebin 1 dönüş yaptığı süre içinde yelkovanın 12 dönüş yapması gerekir. Bu, her iki eli tek bir motorla sürmek için 1:12 redüksiyon dişli kutusu gerektiği anlamına gelir. Bunu bir planet dişli kutusu ile yapmaya karar verdim, dahil edilen video bu tür dişli kutusunun nasıl çalıştığını güzel bir şekilde açıklıyor.

Benim için bir sonraki adım, 1:12 oranını oluşturmak için farklı dişliler için diş sayısını belirlemekti. Bu web sitesi çok yardımcı oldu ve gerekli tüm formülleri içeriyor. Güneş dişlisini yelkovana ve planet taşıyıcıyı akrep koluna taktım ve halka dişliyi sabit bıraktım. Hadi biraz matematik yapalım!

  • S = güneş dişlisindeki diş sayısı
  • R = halka dişli üzerindeki diş sayısı
  • P = planet dişli üzerindeki diş sayısı

Dişli oranı (i) şu şekilde belirlenir:

ben = S/R+S

Bu durumda planet dişlideki diş sayısının dişli oranı için önemli olmadığını unutmayın, ancak genel kısıtlamaya uymamız gerekiyor:

P = (R - S)/2

Biraz kafa karıştırdıktan sonra aşağıdaki sayıları kullandım: S = 10; R = 110; P = 50; Gezegen dişlileri arasında çok az boşluk olduğu için mümkün olanın sınırında görünüyorlar, ama işe yarıyor!

Dişlileri en sevdiğiniz CAD programında çizebilirsiniz, çoğu özel dişli eklentilerine sahiptir. Ayrıca bu Eğitilebilir Dosyaya ekli dosyaları da kullanabilirsiniz. elbette. Tüm dişlilerin boyutları farklı olsa da aynı diş aralığına sahip olduğuna dikkat edin.

Bu dişlileri 5 mm alüminyumdan yapmanın harika olacağını düşündüm ve bu dişlileri benim için kesebilirlerse bir su jeti ile yerel bir dükkanla iletişime geçtim. Normalde su kesicilerle asla dişli yapmazsınız, ancak bunlar çok düşük performanslı dişlilerdir. Şaşırtıcı bir şekilde denemeyi kabul ettiler, ancak bu plan korkunç bir şekilde başarısız oldu. Parçalar su jeti için çok küçüktü ve kesim sırasında hareket etmeye başladı.

Bu gerileme, B planının zamanının geldiği anlamına geliyordu, bu yüzden 5 mm'lik duman siyahı akrilik aldım ve lazer kesicili bir yer buldum ve dişlilerimi kesmekte sorun yaşamadım. Elinizde bir lazer kesici yoksa, muhtemelen bu dişliler için bir 3D yazıcı da kullanabilirsiniz, STL dosyalarını ekledim (halka dişlisinin 3 parçaya bölünmesi gerekebilir).

Kestikten sonra, takılı yatakları planet dişlilere bastırıyorum. Doğru uyumu elde etmek için, her biri biraz daha büyük çapa sahip (0,05 mm'lik adımlar) birkaç deliğe sahip bir akrilik test parçası yaptım. Ayarı doğru şekilde bulduktan sonra planet dişlilerdeki delik boyutunu bu ayara getirdim. Bu, malzemeye ve makine tipine göre farklılık gösteren bir şeydir, bu yüzden bunu her zaman kendiniz yapmalısınız.

Adım 2: Dişli Sisteminin Montajı

Dişli Sisteminin Montajı
Dişli Sisteminin Montajı
Dişli Sisteminin Montajı
Dişli Sisteminin Montajı
Dişli Sisteminin Montajı
Dişli Sisteminin Montajı
Dişli Sisteminin Montajı
Dişli Sisteminin Montajı

Dişlileri monte etmek için saatin çerçevesine ihtiyaç vardır. Şimdi bu, tüm cıvata delikleri doğru yerde olduğu sürece çerçevenin şekli nispeten önemsiz olduğundan, yaratıcılığınızın çılgına dönmesine izin verebileceğiniz kısımdır. Dişli mekanizmasını vurgulamak için kadran plakasında ve arka plakada çok sayıda delik açmayı seçtim. Bu aynı zamanda gezegen taşıyıcılarının ve yelkovanın bir tür şeffaf olmasının nedenidir, ancak aynı zamanda harika görünüyor!

Bu parçaları yapmak için bir kez daha lazer kesici kullandım ve akrilik parçalar 5 mm kalınlığında olduğu için ahşap parçaları da 5 mm kalınlığında yaptım. Kadran plakasındaki ve gezegen taşıyıcısındaki tüm delikler, eşleşen cıvataları yerleştirmek için havşa açılmıştır.

Saatin merkezi aksı, gezegen taşıyıcıların içindeki iki yatakta çalışır. Bu dingili 5 mm çubuk stoğundan yaptığım için, yatakların içine gerçekten sıkı bir şekilde oturuyor ve artık bu bileşenleri sökemedim. Artık kendi ipinizi kesmek zorunda kalmayacağınız için sadece bir parça M5 ipi kullanmak çok daha kolay olurdu (eğer önceden fark etseydim…..). Güneş dişlisinin aks etrafında dönmesini durdurmak için D şeklinde bir deliği vardır, dolayısıyla aksın da bu D şeklinde törpülenmesi gerekir. Güneş dişlisi dingilin etrafına oturduğunda dingili monte edebilirsiniz, flanşlı rulman kullanıyorsanız planet taşıyıcıları unutmayın! Montaj talimatları için patlatılmış görünüme bakın.

Merkezi eksen monte edildiğinde, sıra planet dişlilere gelir. Dişlilerin sorunsuz bir şekilde çalıştığından emin olmak için, tıpkı merkezi aks gibi, bunlar da küçük rondelalara ihtiyaç duyar. Her şey gezegen taşıyıcılarına monte edildikten sonra, gezegen dişlilerinin ve güneş dişlisinin düzgün çalışıp çalışmadığını kontrol edin.

Orta kısım artık saat çerçevesine monte edilebilir. Bu sıkıcı bir iştir, ancak cıvataları ön plakaya yapıştırmak ve yerlerine bantlamak çok yardımcı olur. Yelkovan için yer açmak için ön plakayı yükseltmek de faydalı olabilir. Fotoğraflar, dişliler için biraz boşluk sağlamak için dişli halkası ve arka plaka arasına altı küçük kağıt parçası yerleştirdiğimi gösteriyor. Gezegen taşıyıcıyı takarken kadranların mantıklı bir yeri gösterdiğinden emin olun (Jür yelkovanı 12'yi gösteriyorsa akrep örneğin iki saat arasında olmamalıdır)

Adım 3: Stepper ve Sensörün Bağlanması

Step ve Sensörü Bağlama
Step ve Sensörü Bağlama
Step ve Sensörü Bağlama
Step ve Sensörü Bağlama
Step ve Sensörü Bağlama
Step ve Sensörü Bağlama
Step ve Sensörü Bağlama
Step ve Sensörü Bağlama

Artık elleri doğru hareket ettiren bir dişli mekanizmamız olduğuna göre, yine de dişli mekanizmasını doğru bir şekilde sürmemiz gerekiyor. Çeşitli tipte elektrik motorları kullanılabilir, sabit açısal geri besleme sensörleri olmadan hassas hareketler yapabildiğinden step motor seçtim. Bir step motor, yarı mekanik saat için harika olan gerçek bir "Tıklama" sesi de çıkarabilir!

Sıradan bir step motor devir başına 200 adım yapabilir, bu da onu yelkovana bağlarsak saatte 200 adım anlamına gelir. Bu, adım başına 18 saniyelik bir aralık anlamına gelir ve bu, henüz bir tıkırtı saati gibi ses çıkarmaz. Bu nedenle step motor ile yelkovan arasında 1:3'lük bir şanzıman kullandım, bu nedenle step motorun saatte 600 adım yapması gerekiyor. Yarım adım modunu kullanarak bu, 3 saniyede bir adıma eşit olan saatte 1200 adıma yükseltilebilir. Kulağa daha iyi geliyor!

Step motorlarla ilgili bir problem, Arduino'nuzu çalıştırdığınızda nerede olduklarını asla bilemezsiniz. Bu nedenle tüm 3D yazıcıların bitiş noktaları vardır, böylece yazıcınızı bilinen bir konuma taşıyabilir ve ardından o noktadan devam edebilirsiniz. Bu aynı zamanda saat için de gereklidir, bir saat sürekli dönüşler yapması gerektiğinden sadece bir son durdurma çalışmayacaktır. Bu konum algılamayı gerçekleştirmek için, gezegen taşıyıcısına bağlı bir mıknatısı (polariteyi kontrol edin! ….) algılayan bir A3144 Hall etkisi sensörü kullandım. Bu, elleri başlangıçta belirli bir konuma hareket ettirmek için kullanılır, daha sonra gerekli süreye hareket edebilirler.

Montajı çok basittir; Vidaları biraz gevşek bırakarak step motoru arka plakaya takın. Ardından küçük kasnağı step motor aksına monte edebilir ve triger kayışının düz çalışıp çalışmadığını kontrol edebilirsiniz. Artık triger kayışındaki gerilimi ayarlamak için step motoru kaydırabilirsiniz. Dişlilere herhangi bir baskı uygulamadığınızdan emin olmak için triger kayışının biraz oynaması gerekir. Memnun kalana kadar bu ayarla oynayın, ardından step motorun vidalarını tamamen sıkın.

Salon etkisi sensörü yerine yapıştırılmıştır. İlk önce sensöre üç kablo lehimlemek en iyisidir, böylece sensörün her bir ayağının etrafına ısıyla büzüştüğünden emin olun, böylece birbirlerini kısa devre yapamayacaklar. Lehimlemeden sonra sensör yerine yapıştırılabilir. Mıknatısı henüz takmadığınız sürece, hangi tarafın yukarıda olduğu gerçekten önemli değil. Sensörü yerine yapıştırdıktan sonra, çalışıp çalışmadığını test etmek için bir Arduino'ya veya küçük bir LED devresine bağlayın. (NOT: hall etkisi sensörü yalnızca manyetik alan çizgileri doğru yönde gittiğinde çalışır). Bu test devresini kullanarak mıknatısın nasıl yapıştırılacağını doğrulayın. Mıknatısınızın hangi tarafının sensöre bakması gerektiğinden kesinlikle emin olduğunuzda, mıknatısı yerine yapıştırın.

Adım 4: Saatin Titremesini Sağlayan Elektronikler

Saati Titreten Elektronikler
Saati Titreten Elektronikler
Saati Titreten Elektronikler
Saati Titreten Elektronikler
Saati Titreten Elektronikler
Saati Titreten Elektronikler
Saati Titreten Elektronikler
Saati Titreten Elektronikler

Motorla yarım adım yapan ve ardından bir sonraki adıma kadar 3000 milisaniye gecikme süren çok basit bir Arduino kodu kullanabilirsiniz. Bu işe yarar, ancak dahili Arduino saati çok hassas olmadığı için çok kesin değildir. İkincisi, Arduino her güç kaybettiğinde zamanı unutacaktı.

Bu nedenle zamanı takip etmek için gerçek zamanlı bir saat kullanmak en iyisidir. Bunlar, zamanı doğru bir şekilde takip eden yedek pilli özel olarak tasarlanmış çiplerdir. Bu proje için i2c üzerinden Arduino ile iletişim kurabilen ve kablolamayı kolaylaştıran DS3231 RTC'yi seçtim. Çipinde saati doğru bir şekilde ayarladığınızda, saatin kaç olduğunu asla unutmaz (CR2032 pilin biraz suyu kaldığı sürece). Bu modülle ilgili tüm ayrıntılar için bu web sitesine göz atın.

Step motorun sürülmesi bir L293d motor sürücüsü ile yapılır. Bazı daha gelişmiş step motor sürücüleri, mikro adımlama ve akım sınırlaması için bir PWM sinyali kullanır. Bu PWM sinyali, her üreticinin aşina olduğu (özellikle bir 3D yazıcınız varsa) rahatsız edici peep gürültüsünü yapabilir. Bu saatin iç mekanınızın bir parçası olması gerektiği için, kötü sesler istenmez. Bu nedenle, saatimin sessiz olduğundan emin olmak için düşük teknolojili l293d motor sürücüsünü kullanmaya karar verdim (her 3 saniyede bir adım atmanın yanı sıra, ama bu gerçekten eğlenceli!). l293d çipinin ayrıntılı açıklaması için bu web sitesine bakın. Step motorumu, step motorun güç tüketimini ve sıcaklığını düşüren 5V'da çalıştırdığımı unutmayın.

Daha önce de belirtildiği gibi, gezegen taşıyıcısına yapıştırılmış bir mıknatısı algılamak için Hall etkisi sensörü kullanıyorum. Sensörün çalışma prensibi çok basittir, bir mıknatıs yeterince yakın olduğunda durum değiştirir. Bu şekilde Arduino'nuz dijital bir yüksek veya düşük algılayabilir ve bu nedenle bir mıknatısın yakın olup olmadığını algılayabilir. Sensörün nasıl bağlanacağını ve mıknatıs tespiti için kullanılan basit kodu gösteren bu web sitesine göz atın.

Son olarak, PCB'ye kullanıcı girişi için 4 düğme ekledim. Kablolamayı basitleştirmek için Arduino dahili pull-up dirençlerini kullanırlar. PCB'mde ayrıca Uno konfigürasyonunda başlıklar var, böylece olası genişletmeler için Arduino kalkanları ekleyebilirim (bunu şimdiye kadar yapmadım).

İlk önce her şeyi breadboard'umda test ettim ve sonra harika göründüğü için bu proje için özel bir PCB tasarladım ve sipariş ettim! Bakmak istemiyorsanız PCB'yi saatinizin arkasına da monte edebilirsiniz.

PCB için Gerber dosyaları sürücümden indirilebilir, Instructables nedense onları yüklememe izin vermiyor. Bu bağlantıyı google sürücüm için kullanın.

Adım 5: Arduino'yu Programlama

Arduino'yu Programlamak
Arduino'yu Programlamak

Arduino'nun temel kodu aslında çok basittir. Arduino'nun içinde neler olduğunu ve Arduino'nun diğer cihazlarla nasıl arayüz oluşturduğunu görselleştiren bir şema ekledim. Kodlamayı basitleştirmek için birkaç kitaplık kullandım.

  • Accelstepper -> step motorun adım sırasını yönetir, sırasıyla belirli bir hızda veya belirli bir konuma hareket etmenizi sağlayan Stepper.runSpeed() veya Stepper.move() gibi sezgisel komutlar vermenizi sağlar.
  • Tel -> bu, RTClib'i kullanırken bile i2c iletişimi için gereklidir
  • RTClib -> Arduino ve RTC arasındaki iletişimi yönetir, şimdiki zamanı döndüren rtc.now() gibi sezgisel komutlar vermenizi sağlar.
  • OneButton -> Düğme girişini yönetir, basışları algılar ve ardından bir şeyler yapmak için önceden belirlenmiş bir boşluk çalıştırır. Tek, çift veya uzun basışları algılayabilir.

Bir saat için kod yazarken, sürekli artan değişkenlerden kaçınmak çok önemlidir. Arduino kodu 7/24 çalışacağından, bu değişkenler hızla büyüyecek ve sonunda bir taşmaya neden olacaktır. Örneğin step motora hiçbir zaman belirli bir konuma gitmesi komutu verilmez, çünkü bu konum yalnızca zamanla artacaktır. Bunun yerine step motora belirli sayıda adımı belirli bir yönde hareket ettirmesi komutu verilir. Bu şekilde zamanla artan bir konum değişkeni olmaz.

RTC'yi ilk bağladığınızda, çipin zamanını ayarlamanız gerekir, RTC zamanını bilgisayar zamanınıza (kodu derlediğiniz an) eşitleyen, yorumunu kaldırabileceğiniz bir kod parçası vardır. Bunu yorumsuz bıraktığınızda, RTC zamanının her seferinde kodunuzu derlediğiniz zamana sıfırlanacağını unutmayın. Bu yüzden bunu yorumlayın, bir kez çalıştırın ve sonra tekrar yorum yapın.

Kodumu bu Eğitilebilir Dosyaya ekledim, iyice yorumladım. Herhangi bir değişiklik yapmadan yükleyebilir veya kontrol edebilir ve ne düşündüğünüzü görebilirsiniz!

Adım 6: İlk Kez Saatinizin Titremesinin Sesinin Keyfini Çıkarın

Image
Image

Tüm elektronik aksamları bağladıktan ve kodu yükledikten sonra sonuç bu!

Bu saatin temel tasarımı çok basittir ve birçok farklı şekil ve boyutta yapılabilir. Gemide Arduino olduğundan kolayca ekstra özellikler de ekleyebilirsiniz. Bir alarm kurun, kahve makinenizi belirli bir saatte açın, internet bağlantısı, tasarımınızı başkalarına göstermek için mekanik hareketi vurgulayan harika demo modları ve çok daha fazlası!

Bu Eğitilebilir Yazı boyunca fark etmiş olabileceğiniz gibi, bu Eğitilebilir Yazıyı yazmak uğruna saatimi ayırmak zorunda kaldım. Bu Eğitilebilir Kitap için talihsiz olsa da, en azından tasarımın uzun vadede çok iyi performans gösterdiğini garanti edebilirim, çünkü bu saat oturma odamda 3 yıldan fazla bir süredir sorunsuz çalışıyor!

Bu Eğitilebilir Yazıyı beğendiyseniz, lütfen yorumlarda bana bildirin, ilk defa yazıyorum. Ayrıca herhangi bir ipucu veya sorunuz varsa, bana bir mesaj gönderin. Ve umarım birisine bir gün yarı mekanik bir saat yapması için ilham vermişimdir!

Saatler Yarışması
Saatler Yarışması

Saat Yarışmasında Birincilik Ödülü

Önerilen: