İçindekiler:

UltraSonic Sıvı Seviye Kontrol Cihazı: 6 Adım (Resimlerle)
UltraSonic Sıvı Seviye Kontrol Cihazı: 6 Adım (Resimlerle)

Video: UltraSonic Sıvı Seviye Kontrol Cihazı: 6 Adım (Resimlerle)

Video: UltraSonic Sıvı Seviye Kontrol Cihazı: 6 Adım (Resimlerle)
Video: Tank Seviye Sensörü Nasıl Yapılır? | Bunu Sende Yapabilirsin 2024, Kasım
Anonim
UltraSonic Sıvı Seviye Kontrol Cihazı
UltraSonic Sıvı Seviye Kontrol Cihazı

Giriş Muhtemelen bildiğiniz gibi, İran'da kuru bir hava var ve ülkemde su sıkıntısı var. Bazen özellikle yaz aylarında devletin suyu kestiği görülmektedir. Yani dairelerin çoğunda su deposu var. Dairemizde su sağlayan 1500 litrelik bir depo bulunmaktadır. Ayrıca dairemizde 12 adet konut bulunmaktadır. Sonuç olarak, tankın çok yakında boşalması beklenebilir. Suyu binaya gönderen tanka bağlı bir su pompası bulunmaktadır. Depo boşaldığında pompa susuz çalışır. Bu durum motor sıcaklığında artışa neden olur ve bu süre içinde pompanın bozulmasına neden olabilir. Bir süre önce bu pompa arızası bizde ikinci kez oldu ve motoru açtıktan sonra bobin tellerinin yandığını gördük. Pompayı değiştirdikten sonra bu sorunu tekrar yaşamamak için su seviye kontrolörü yapmaya karar verdim. Depodaki su alt sınırın altına düştüğünde pompanın güç kaynağını kesmek için bir devre yapmayı planladım. Su yüksek bir sınıra yükselene kadar pompa çalışmayacaktır. Üst limiti geçtikten sonra devre tekrar güç kaynağını bağlayacaktır. Başlangıçta, uygun bir devre bulabilir miyim diye internetten araştırdım. Ancak uygun bir şey bulamadım. Arduino tabanlı bazı su indikatörleri vardı fakat benim sorunumu çözemediler. Sonuç olarak, su seviyesi kontrol cihazımı tasarlamaya karar verdim. Parametreleri ayarlamak için basit bir grafik kullanıcı arayüzüne sahip hepsi bir arada paket. Ayrıca cihazın farklı durumlarda geçerli olduğundan emin olmak için EMC standartlarını dikkate almaya çalıştım.

1. Adım: İlke

Prensip
Prensip

Muhtemelen daha önce prensibi biliyorsunuzdur. Ultrasonik darbe sinyali bir nesneye gönderildiğinde, nesne tarafından yansıtılır ve göndericiye yankı geri döner. Ultrasonik darbenin kat ettiği süreyi hesaplarsanız, nesnenin mesafesini bulabilirsiniz. Bizim durumumuzda madde sudur.

Suya olan mesafeyi bulduğunuzda, tanktaki boş alanın hacmini hesapladığınızı unutmayın. Su hacmini elde etmek için hesaplanan hacmi toplam tank hacminden çıkarmanız gerekir.

Adım 2: Sensör, Güç Kaynağı ve Kontrolör

Sensör, Güç Kaynağı ve Kontrolör
Sensör, Güç Kaynağı ve Kontrolör
Sensör, Güç Kaynağı ve Kontrolör
Sensör, Güç Kaynağı ve Kontrolör
Sensör, Güç Kaynağı ve Kontrolör
Sensör, Güç Kaynağı ve Kontrolör
Sensör, Güç Kaynağı ve Kontrolör
Sensör, Güç Kaynağı ve Kontrolör

Donanım

Sensör için JSN-SR04T su geçirmez ultrasonik sensör kullandım. Çalışma rutini HC-SR04 (eko ve trig pini) gibidir.

Özellikler:

  • Mesafe: 25cm ila 450 cm
  • Çalışma voltajı: DC 3.0-5.5V
  • Çalışma akımı: <8mA
  • Doğruluk: ±1cm
  • Frekans: 40khz
  • Çalışma sıcaklığı: -20 ~ 70 ℃

Bu denetleyicinin bazı sınırlamaları olduğunu unutmayın. örneğin:1- JSN-SR04T 25CM'nin altındaki mesafeyi ölçemez, bu nedenle sensörü su yüzeyinin en az 25CM üzerine kurmanız gerekir. Ayrıca maksimum mesafe ölçümü 4,5M'dir. Dolayısıyla bu sensör büyük tanklar için uygun değildir. 2- Bu sensör için doğruluk 1CM'dir. Sonuç olarak tankın çapına göre cihazın göstereceği hacim çözünürlüğü değişebilmektedir. 3- Sesin hızı sıcaklığa göre değişebilir. Sonuç olarak, doğruluk farklı bölgelerden etkilenebilir. Ancak, bu sınırlamalar benim için çok önemli değildi ve doğruluk uygundu.

Kontrol eden, denetleyici

STMicroelectronics'ten STM32F030K6T6 ARM Cortex M0 kullandım. Bu mikrodenetleyicinin özelliklerini burada bulabilirsiniz.

Güç kaynağı

İlk kısım 220V/50Hz'i (İran Elektriği) 12VDC'ye dönüştürmektir. Bu amaçla HLK-PM12 buck kademeli güç kaynağı modülünü kullandım. Bu AC/DC dönüştürücü, 0.25A çıkış akımı ile 90 ~ 264 VAC'yi 12VDC'ye dönüştürebilir.

Muhtemelen bildiğiniz gibi röle üzerindeki endüktif yük devrede ve güç kaynağında çeşitli sorunlara neden olabilir ve güç kaynağındaki zorluk özellikle mikrodenetleyicide tutarsızlığa neden olabilir. Çözüm, güç kaynaklarını izole etmektir. Ayrıca röle kontaklarında bir durdurma devresi kullanmanız gerekir. Güç kaynaklarını izole etmenin birkaç yöntemi vardır. Örneğin, iki çıkışlı bir transformatör kullanabilirsiniz. Ayrıca, çıkışı girişten izole edebilen küçük boyutta izole edilmiş DC/DC dönüştürücüler vardır. Bu amaçla MINMAX MA03-12S09 kullandım. İzolasyonlu 3W DC/DC dönüştürücüdür.

Adım 3: Süpervizör IC

Süpervizör IC
Süpervizör IC

TI App notuna göre: Bir voltaj süpervizörü (sıfırlama entegre devresi [IC] olarak da bilinir), bir sistemin güç kaynağını izleyen bir tür voltaj monitörüdür. Voltaj denetçileri genellikle işlemciler, voltaj regülatörleri ve sıralayıcılarla birlikte kullanılır - genel olarak voltaj veya akım algılamanın gerekli olduğu yerlerde. Denetçiler, gücün açık olduğundan emin olmak, arızaları tespit etmek ve sistem sağlığını sağlamak için yerleşik işlemcilerle iletişim kurmak için voltaj raylarını izler. Bu uygulama notunu burada bulabilirsiniz. STM32 Mikrodenetleyicilerde güç kaynağı monitörü gibi yerleşik süpervizörler olmasına rağmen, her şeyin yolunda gitmesini sağlamak için harici bir süpervizör çipi kullandım. Benim durumumda TI'den TL7705 kullandım. Bu IC için Texas Instruments web sitesindeki açıklamayı aşağıda görebilirsiniz: TL77xxA entegre devre besleme voltajı denetleyicileri ailesi, özellikle mikrobilgisayar ve mikroişlemci sistemlerinde sıfırlama denetleyicileri olarak kullanılmak üzere tasarlanmıştır. Besleme voltajı denetçisi, SENSE girişinde düşük voltaj koşulları için beslemeyi izler. Açılış sırasında, VCC 3,6 V'a yaklaşan bir değere ulaştığında RESET çıkışı aktif (düşük) olur. Bu noktada (SENSE'nin VIT+'ın üzerinde olduğu varsayılarak), gecikme zamanlayıcı işlevi bir zaman gecikmesini etkinleştirir, ardından RESET ve RESET(DEĞİL) etkin değil (sırasıyla yüksek ve düşük). Normal çalışma sırasında düşük voltaj durumu oluştuğunda, RESET ve RESET(NOT) aktif hale gelir.

Adım 4: Baskılı Devre Kartı (PCB)

Baskılı Devre Kartı (PCB)
Baskılı Devre Kartı (PCB)
Baskılı Devre Kartı (PCB)
Baskılı Devre Kartı (PCB)
Baskılı Devre Kartı (PCB)
Baskılı Devre Kartı (PCB)
Baskılı Devre Kartı (PCB)
Baskılı Devre Kartı (PCB)

PCB'yi iki parça olarak tasarladım. İlki, şerit/düz kablo ile anakarta bağlanan LCD PCB'dir. İkinci bölüm, kontrolör PCB'sidir. Bu PCB üzerine güç kaynağı, mikrodenetleyici, ultrasonik sensör ve ilgili bileşenleri yerleştirdim. Ayrıca röle, varistör ve susturucu devresi olan güç kısmı. Muhtemelen bildiğiniz gibi devremde kullandığım röle gibi mekanik röleler sürekli çalışırlarsa bozulabilir. Bu sorunu aşmak için rölenin normalde kapalı kontağı(NC) kullandım. Bu nedenle normal bir durumda röle aktif değildir ve normalde yakın temas pompaya güç iletebilir. Su Alt limitin altına düştüğünde röle açılacak ve bu da gücü kesecektir. Bunu söyledikten sonra, snubber devresini NC ve COM kontaklarında kullanmamın nedeni budur. Pompanın gücü yüksek olduğu için ikinci 220 rölesini kullandım ve PCB üzerindeki röle ile sürdüm.

Altium PCB dosyaları ve Gerber dosyaları gibi PCB dosyalarını GitHub'dan buradan indirebilirsiniz.

Adım 5: Kod

Image
Image
Tanka Kurulum
Tanka Kurulum

STMicroelectronics'ten kod geliştirme için hepsi bir arada bir çözüm olan STM32Cube IDE'yi kullandım. GCC ARM derleyicisi ile Eclipse IDE'ye dayanmaktadır. Ayrıca içinde STM32CubeMX var. Daha fazla bilgiyi burada bulabilirsiniz. İlk başta tank özelliklerimizi (Yükseklik ve Çap) içeren bir kod yazdım. Ancak, farklı özelliklere dayalı parametreleri ayarlamak için GUI olarak değiştirmeye karar verdim.

Adım 6: Tanka Kurulum

Tanka Kurulum
Tanka Kurulum
Tanka Kurulum
Tanka Kurulum

Sonunda PCB'yi sudan korumak için basit bir kutu yaptım. Ayrıca tankın üst kısmına sensörü yerleştirmek için bir delik açtım.

Önerilen: