İçindekiler:

Measurino: Bir Ölçme Çarkı Kavram Kanıtı: 9 Adım
Measurino: Bir Ölçme Çarkı Kavram Kanıtı: 9 Adım

Video: Measurino: Bir Ölçme Çarkı Kavram Kanıtı: 9 Adım

Video: Measurino: Bir Ölçme Çarkı Kavram Kanıtı: 9 Adım
Video: Eğiticilerin Eğitimi "“Ölçme Araçlarında Geçerlik: Ölçme Değişmezliği” 2024, Temmuz
Anonim
Measurino: Bir Ölçme Çarkı Kavram Kanıtı
Measurino: Bir Ölçme Çarkı Kavram Kanıtı

Measurino, bir tekerleğin dönüş sayısını basitçe sayar ve kat edilen mesafe, tekerleğin yarıçapı ile doğru orantılıdır. Bu, bir Kilometre Sayacı'nın temel prensibidir ve bu projeye esas olarak devrenin (Arduino mikrodenetleyicisi tarafından idare edilir), milimetreden kilometreye kadar çeşitli mesafelerle uyumlu olmasını ve olası sorunları veya iyileştirmeleri değerlendirmeyi öğrenmek için başladım.

Adım 1: Parçalar ve Bileşenler

  • Arduino Nano rev.3
  • 128×64 OLED ekran (SSD1306)
  • Artımlı Fotoelektrik Döner Kodlayıcı (400P/R)
  • Model uçak için Lastik Tekerlek (51 mm çap)
  • 2 buton
  • 9v pil

Adım 2: Kodlayıcı

Kodlayıcı
Kodlayıcı
Kodlayıcı
Kodlayıcı

Bu proje için birkaç ucuz döner kodlayıcı test ettim, ancak kesinlik/hassasiyet sorunları nedeniyle bunları hemen çıkardım. Böylece DFRobot'un Artımlı Fotoelektrik Döner Kodlayıcı - 400P/R SKU: SEN0230'a gittim. Bu, alüminyum malzeme, metal kabuk ve paslanmaz çelik şaft ile endüstriyel artımlı fotoelektrik döner kodlayıcıdır. Izgara diski ve optokuplörün dönüşü ile AB iki fazlı ortogonal darbe sinyali üretir. Her faz için 400 pals/yuvarlak ve çift fazlı 4 kez çıkış için 1600 pals/yuvarlak. Bu döner kodlayıcı, maksimum 5000 dev/dak hızını destekler. Ve hız, açı, açısal hız ve diğer veri ölçümleri için kullanılabilir.

Fotoelektrik döner kodlayıcı bir NPN açık kollektör çıkışına sahiptir, bu nedenle pullup dirençleri kullanmanız veya dahili Arduino'nun pull-up'ını etkinleştirmeniz gerekir. DC4.8V-24V geniş aralıklı güç girişine sahip 750L05 voltaj regülatör çipini kullanıyor.

3. Adım: Hassasiyet

Duyarlılık
Duyarlılık

Bu Optoelektrik Döner Kodlayıcı gerçekten harika bir hassasiyete sahiptir, bu da onu şaft kontrolü ve konumlandırma uygulamaları için mükemmel kılar. Ama benim amacım için çok fazla mantıklıydı. 51 mm'lik bir çark ile bu kodlayıcı 0,4 mm'lik bir hassasiyete sahiptir, yani elinizde minimum titreme varsa, bunlar kaydedilecektir. Bu yüzden kesme rutinine bir histerezis ekleyerek hassasiyeti düşürdüm:

geçersiz kesme()

{ karakter ben; i = digitalRead(B_PHASE); if (i == 1) saymak +=1; başka sayı -=1; if (abs(sayım) >= histerezis) { flag_A = flag_A+sayım; sayı = 0; } }

Bu hile, ölçüye iyi bir stabilite vermek için yeterliydi.

Adım 4: Ölçüm

Ölçü Biriminizi (Ondalık veya İngiliz) seçin ve ardından tekerleği temas noktasıyla ölçümünüzün başlangıcında konumlandırın, Sıfırla düğmesine basın ve sonuna kadar döndürmeye devam edin. Soldan sağa ölçü artar ve toplanır, sağdan sola doğru azalır ve çıkarılır. Ayrıca kavisli nesneleri de ölçebilirsiniz (arabanızın şekli, döner bir merdivenin tırabzanı, dirsek bükülüyken kolunuzun omuzdan bileğe kadar olan uzunluğu vb.).

Çapı=D olan bir tekerleğin tam dönüşü, D*π uzunluğunu ölçecektir. Benim durumumda, 51 mm'lik bir tekerlekle bu 16,02 cm'dir ve her bir işaret 0,4 mm'dir (Hassasiyet paragrafına bakın).

Adım 5: Montaj

PoC, devreyi göstermek için bir devre tahtası üzerinde yapılmıştır. Her bileşen karta bağlanmıştır ve döner kodlayıcı 2x2 Kutuplu Vidalı Terminal Bloğuna bağlanmıştır. Batarya 9v standart bataryadır ve devrenin toplam güç tüketimi 60mA civarındadır.

6. Adım: Kod

Ekran için, bu tür OLED ekranlar için çok esnek ve güçlü olan U8g2lib'i kullandım ve çok çeşitli yazı tipi seçeneklerine ve iyi konumlandırma işlevlerine izin verdim. Bu sadece bir Poc olduğu için ekranı bilgilerle doldurmak için çok fazla zaman kaybetmedim.

Kodlayıcıyı okumak için 2 fazdan biri tarafından oluşturulan kesintileri kullanıyorum: kodlayıcı şaftı her hareket ettiğinde, dürtünün yükselmesine bağlı Arduino'ya bir kesinti oluşturur.

ataşeKesme(dijitalPinToInterrupt(A_PHASE), kesme, YÜKSELEN);

Ekran otomatik olarak milimetreden metreye, kilometreye ve (butondan seçilmişse) inçten yarda, mile değişirken, RST butonu ölçüyü sıfırlar.

Adım 7: Şemalar

şemalar
şemalar

Adım 8: PoC'den Üretime

Bu neden bir Kavram Kanıtı? Tam işlevli bir ekipman inşa etmeden önce yapılabilecek/yapılması gereken birçok iyileştirme nedeniyle. Tüm olası iyileştirmeleri ayrıntılı olarak görelim:

  • Teker. Measurino'nun hassasiyeti/hassasiyeti tekerleğe bağlıdır. Daha küçük bir tekerlek, küçük uzunlukları (milimetre-santimetre sırasına göre) ölçmede size daha iyi bir hassasiyet verebilir. Uzatma bomlu çok daha büyük bir tekerlek, yolda yürümeyi ve kilometreleri ölçmeyi sağlar. Küçük tekerlekler için malzeme dikkate alınmalıdır: tam kauçuk tekerlek biraz deforme olabilir ve hassasiyeti etkileyebilir, bu durumda kaymaları önlemek için sadece ince bantlı bir alüminyum/çelik tekerlek önereceğim. Önemsiz bir yazılım düzenlemesiyle (bir anahtarla doğru tekerlek çapını seçin), 4 pimli bir konektör (yani: usb bağlantı noktası) kullanarak değiştirilebilir tekerleklerin herhangi bir ölçüye uyum sağlamasını düşünebilirsiniz.
  • Yazılım. Yazılım, başka bir düğme ekleyerek, dikdörtgenlerin veya açıların genlik alanlarının ölçülmesiyle de ilgilenebilir. Ayrıca, ekrandaki değeri okumadan önce tekerleği yanlışlıkla hareket ettirmekten kaçınarak, ölçümün sonunda dondurmak için bir "Tut" düğmesi eklemenizi tavsiye ederim.
  • Tekerleği bir makara ile değiştirin. Kısa önlemler için (birkaç metre içinde) tekerlek, iplik veya bant içeren yaylı bir makara ile değiştirilebilir. Bu şekilde sadece ipliği çekmeniz (enkoder milinin dönmesini sağlayarak), ölçünüzü almanız ve ekrandan izlemeniz yeterlidir.
  • Pil durumu göstergesini ekleyin. 3.3v Arduino referans pimi (%1 içinde doğruluk), ADC dönüştürücü için bir temel olarak kullanılabilir. Bu nedenle, 3.3V pininde bir analogdan dijitale dönüştürme yaparak (bunu A1'e bağlayarak) ve ardından bu okumayı sensörden gelen okumayla karşılaştırarak, VIN ne olursa olsun gerçeğe yakın bir okuma elde edebiliriz (3.4V üzerinde olduğu sürece). Bu diğer projemde çalışan bir örnek bulunabilir.

9. Adım: Resim Galerisi

Önerilen: