İçindekiler:

Ultrason Tank Seviye Ölçer: 5 Adım (Resimlerle)
Ultrason Tank Seviye Ölçer: 5 Adım (Resimlerle)

Video: Ultrason Tank Seviye Ölçer: 5 Adım (Resimlerle)

Video: Ultrason Tank Seviye Ölçer: 5 Adım (Resimlerle)
Video: ENDÜSTRİYEL SAHA ENSTRÜMANTASYONU 2024, Kasım
Anonim
Ultrason Tank Seviye Ölçer
Ultrason Tank Seviye Ölçer
Ultrason Tank Seviye Ölçer
Ultrason Tank Seviye Ölçer

Büyük çaplı bir kuyuda, bir tankta veya açık bir kapta sıvı seviyesini izlemeniz mi gerekiyor? Bu kılavuz size ucuz elektronikler kullanarak bir sonar temassız sıvı seviye ölçerin nasıl yapıldığını gösterecektir!

Yukarıdaki taslak, bu projeyle neyi amaçladığımıza dair genel bir bakış sunmaktadır. Yazlık evimizde evde kullanılmak üzere içme suyu sağlamak için geniş çaplı bir kuyu bulunmaktadır. Bir gün, kardeşim ve ben, dedemizin, fazla çekimden kaçınmak için yaz boyunca su tüketimini ve akışını takip etmek için su seviyesini nasıl manuel olarak ölçtüğünü konuştuk. Modern elektroniklerle geleneği yeniden canlandırabileceğimizi düşündük, ancak daha az el emeği ile. Birkaç programlama hilesiyle, su yüzeyine (l) olan mesafeyi makul bir güvenilirlik ve ± birkaç milimetre doğrulukla ölçmek için sonar modüllü bir Arduino kullanmayı başardık. Bu, bilinen D çapını ve L derinliğini kullanarak kalan V hacmini yaklaşık ±1 litre doğrulukla tahmin edebileceğimiz anlamına geliyordu.

Kuyu evden yaklaşık 25m uzakta olduğundan ve ekranı içeride istediğimizden, aralarında veri bağlantısı olan iki Arduino kullanmayı seçtik. Bu sizin için geçerli değilse, projeyi yalnızca bir Arduino kullanacak şekilde kolayca değiştirebilirsiniz. Neden kablosuz veri aktarımını kullanmıyorsunuz? Kısmen basitlik ve sağlamlık (telin nemden daha az hasar görmesi) ve kısmen de sensör tarafında pil kullanmaktan kaçınmak istediğimiz için. Bir kabloyla hem veri aktarımını hem de gücü aynı kablo üzerinden yönlendirebiliriz.

1) Evdeki Arduino modülüBu, ana Arduino modülüdür. Kuyudaki Arduino'ya bir tetik sinyali gönderecek, ölçülen mesafeyi alacak ve hesaplanan kalan su hacmini bir ekranda gösterecektir.

2) Kuyu tarafı Arduino ve sonar modülü Bu Arduino'nun amacı basitçe evden bir tetik sinyali almak, bir ölçüm yapmak ve sonar modülünden su seviyesine olan mesafeyi geri göndermektir. Elektronikler, (nispeten hava geçirmez) bir kutunun içine yerleştirilmiştir ve sonar modülünün alıcı tarafına plastik bir boru takılmıştır. Borunun amacı, alıcı tarafından yalnızca su yüzeyinin "görülmesi" için görüş alanını azaltarak ölçüm hatalarını azaltmaktır.

Adım 1: Parçalar, Test ve Programlama

Parçalar, Test ve Programlama
Parçalar, Test ve Programlama
Parçalar, Test ve Programlama
Parçalar, Test ve Programlama
Parçalar, Test ve Programlama
Parçalar, Test ve Programlama

Bu projede aşağıdaki parçaları kullandık:

  • 2 x Arduino (biri sıvı seviyesini ölçmek için, biri sonuçları ekranda göstermek için)
  • Temel bir 12V güç kaynağı
  • Ultrason (sonar) modülü HC-SR04
  • LED ekran modülü MAX7219
  • 25 m telefon kablosu (4 tel: Güç, toprak ve 2 veri sinyali)
  • Montaj kutusu
  • Sıcak tutkal
  • Lehim

Parça maliyeti: Yaklaşık 70 €

Her şeyin olması gerektiği gibi çalıştığından emin olmak için önce tüm lehimleme, kablolama ve basit tezgah testlerini yaptık. Ultrason sensörü ve LED modülü için çevrimiçi olarak çok sayıda örnek program var, bu yüzden onları sadece ölçülen mesafenin anlamlı olduğundan emin olmak için kullandık (resim 1) ve su yüzeyinden ultrasonik yansımayı yakalayabildik- site (resim 2). Ayrıca, uzun mesafelerde çalıştığından emin olmak için veri bağlantısını kapsamlı bir şekilde test ettik ve bunun hiç sorun olmadığı kanıtlandı.

Bu adımda harcanan zamanı hafife almayın, çünkü her şeyi kutulara güzelce monte etmeye, kabloları kazmaya vb. başlamadan önce sistemin çalıştığını bilmek hayati önem taşır.

Test sırasında, sonar modülünün bazen su yüzeyinden değil de yan duvarlar ve su besleme borusu gibi kuyunun diğer kısımlarından ses yansıması aldığını fark ettik. Bu, ölçülen mesafenin aniden su seviyesine olan gerçek mesafeden çok daha kısa olacağı anlamına geliyordu. Bu tür bir ölçüm hatasını düzeltmek için basitçe ortalamayı kullanamayacağımızdan, mevcut mesafe tahmininden çok farklı olan yeni ölçülen mesafeleri atmaya karar verdik. Su seviyesinin zaten oldukça yavaş değişmesini beklediğimiz için bu sorun değil. Başlatma sırasında, bu modül bir dizi ölçüm yapacak ve alınan en büyük değeri (yani en düşük su seviyesi) en olası başlangıç noktası olarak seçecektir. Bundan sonra, "sakla/at" kararına ek olarak, rastgele ölçüm hatalarını düzeltmek için tahmini seviyenin kısmi bir güncellemesi kullanılır. Yeni bir ölçüm yapmadan önce tüm ekoların sönmesine izin vermek de önemlidir - en azından duvarların betondan yapıldığı ve bu nedenle çok eko-y olduğu bizim durumumuzda.

İki Arduino için kullandığımız kodun son halini burada bulabilirsiniz:

github.com/kelindqv/arduinoUltrasonicTank

Adım 2: İnşaat İşleri

İnşaat işleri
İnşaat işleri

Kuyumuz evden uzakta olduğu için, kabloyu koymak için çimenlikte küçük bir hendek oluşturmamız gerekti.

Adım 3: Tüm Bileşenlerin Bağlanması ve Monte Edilmesi

Tüm Bileşenlerin Bağlanması ve Montajı
Tüm Bileşenlerin Bağlanması ve Montajı
Tüm Bileşenlerin Bağlanması ve Montajı
Tüm Bileşenlerin Bağlanması ve Montajı
Tüm Bileşenlerin Bağlanması ve Montajı
Tüm Bileşenlerin Bağlanması ve Montajı

Her şeyi test sırasında olduğu gibi bağlayın ve hala çalıştığını umuyoruz! Bir Arduino'daki TX pininin diğerinin RX'ine gittiğini ve bunun tersini kontrol etmeyi unutmayın. Resim 1'de gösterildiği gibi, pil kullanmaktan kaçınmak için kuyudaki Arduino'ya güç sağlamak için telefon kablosunu kullandık.

İkinci ve üçüncü resim, plastik boru düzenlemesini, vericinin borunun dışına ve alıcının içine yerleştirildiğini göstermektedir (evet, bu rahatsız edici bir çekim pozisyonuydu…)

Adım 4: Kalibrasyon

Sensörden su seviyesine olan mesafenin doğru hesaplandığından emin olduktan sonra, kalibrasyon sadece kuyunun çapını ve toplam derinliği ölçmekten ibaretti, böylece sıvı hacmi hesaplanabiliyordu. Sağlam ve doğru bir ölçüm sağlamak için algoritma parametrelerini de (ölçümler arasındaki süre, kısmi güncelleme parametreleri, ilk ölçümlerin sayısı) ayarladık.

Peki sensör sıvı seviyesini ne kadar iyi takip etti?

Musluğu birkaç dakikalığına sifonu çekmenin ya da tuvaleti sifonu çekmenin bir etkisini kolayca görebilirdik, istediğimiz buydu. Kuyunun gece boyunca nispeten öngörülebilir bir oranda yeniden dolduğunu bile görebiliyorduk - hepsi ekrana bir bakışla. Başarı!

Not:- Zaman-mesafe dönüşümü şu anda sıcaklık değişimlerinden dolayı ses hızındaki değişiklikleri düzeltmiyor. Kuyudaki sıcaklıklar biraz değişeceğinden, bu gelecekte güzel bir katkı olabilir!

Adım 5: Uzun Süreli Kullanım

1 yıllık güncelleme: Sensör, nemli ortama rağmen korozyon veya hasar belirtisi olmadan kusursuz çalışır! Yıl boyunca tek sorun, soğuk havalarda (kışın) sensörde yoğuşmanın birikmesi ve bu da sensörün tıkanması olmuştur. Sadece yaz aylarında okumalara ihtiyacımız olduğu için bu bizim durumumuzda bir sorun değil, ancak diğer kullanıcıların yaratıcı olması gerekebilir!:) Yalıtım veya havalandırma muhtemelen uygun çözümlerdir. Mutlu icat!

Önerilen: