1000 TL Üzeri Alışverişlerde Ücretsiz Kargo ve Türkiye'nin Her Yerine 59,90₺

Arduino ile Otomatik Su Seviye Anahtarı Kullanımı | Robocombo

Arduino ile Otomatik Su Seviye Anahtarı Kullanımı | Robocombo
Merhaba arkadaşlar, bugünkü yazımız da arduino ile otomatik su seviye anahtarı kullanımı konusunu inceleyeceğiz.
 

  Su seviye anahtarı kullanımı basit ve düşük maliyet avantajlarına sahiptir. Geleneksel su seviye kontrolörü, seviye tespiti için sensör olarak yüzen toplar / şamandıra anahtarı yardımıyla suyu iki seviye arasında kontrol edebilir. Yüzen bilya / şamandıra anahtarının konumlarına göre, pompa motorunun elektrik bağlantısı açık veya kapalı olacak şekilde ayarlanmıştır. Bununla birlikte, kontrol ünitesi genellikle su tankının üstüne yerleştirilir. Bu da nem sensör anahtarının temas noktalarını aşındırabilir ve sensör anahtarının hatalı çalışmasına neden olabilir. Bu arada, yeraltına yerleştirilmiş su deposunun su seviyesini bakarak tespit etmenin bir yolu olmadığından, su deposunda çok düşük veya sıfır su seviyesi varsa pompalama motorunun yanması çok yüksek ihtimaldir.

Bu durumdan muzdarip olmamak için birçok kişi su seviyesini akıllı bir şekilde tespit etmek ve kontrol etmek için su seviye anahtarı sistemi kullanmayı tercih eder. Siz de bu şekilde bir kuruluma ihtiyaç duyuyorsanız işte size AVR mikrodenetleyici Atmega328P-PU kullanılarak gerçekleştirilen basit ama etkili bir su deposu pompa anahtarlama devresi. Devre, su tankındaki su seviyesini öngörülen sınırlar içinde tutmak için kullanılabilir. Böylece su seviyesinin çok azalarak motoru yakmasının önüne geçebilir ve aynı zamanda su deposunda su olduğundan emin olursunuz.

Otomatik Su Deposu Seviye Anahtarı Kullanımı - Donanım

Arduino ile Otomatik Su Seviye Anahtarı Kullanarak Su Deposu Yapımı Projesi Malzemeleri:
  Mikrodenetleyici Birimi: Burada gösterilen devre de, işlemci olarak bir Atmega328P-PU, sistem durumunu görüntülemek için bir dizi LED, otomatik / manuel mod seçimi için bir düğme anahtarı, pompalama motorunun sürücüsü olarak bir elektromanyetik röle ve diğer birkaç harici bileşen mevcuttur. Temel tasarım fikri, su seviyesi tespiti için fdti programlama kartı'nın iki portunu, otomatik/manuel mod anahtarı seçimi için, bir portu görsel durum göstergesi için ayarlayalım. Mikrodenetleyicinin E2 PROM depolama seçeneğinin de burada kullanıldığına dikkat edin.

 

Su Seviyesi Sensörleri

Su deposu, seviye sensörü, şamandıralı anahtar'dan oluşur. Sapın içinde bulunan hermetik olarak kapatılmış cam kamış anahtarları, şamandıranın kuyruk parçasındaki güçlü mıknatısın yukarı / aşağı hareketi ile etkinleştirilir / devre dışı bırakılır. Güç Kaynağı Ünitesi: Devre, 9 - 12 V aralığında dc voltaj ile çalışacaktır ve bu nedenle, tüm sisteme enerji vermek için 9v pil ve pil başlığı kullanılabilir. 

Su Seviye Anahtarı Kullanımı - Sistem Açıklaması

Belirtildiği gibi, su tankının su seviyesini okumak için biri düşük seviye (L) diğeri yüksek (H) seviye iki sensör vardır. İki sensörü de aktive edecek manyetik bir şamandıra anahtarı kullanın, böylece şamandıra (mıknatıslı) L ve H sensörlerinin önündeki hareket ile sistemi sonlandırsın. L sensörü mikrodenetleyici girişini tetiklerse, su pompası etkinleştirilir, BEKLEME gösterge LED'i söner ve LED üzerindeki POMPA AÇIK yanar. H seviyesine ulaşıldığında, yani H sensörü mikrodenetleyici girişini tetiklediğinde, su pompası devre dışı bırakılır ve POMPA AÇIK göstergesi söner, BEKLEME göstergesi tekrar yanar. Su pompası yalnızca su L seviyesine düştüğünde yeniden etkinleştirilir. Ayrıca, otomatik modda, (isteğe bağlı) üçüncü sensör (kuru çalışma sensörü) su tankına takılırsa, sensör (G), sisteme su tankında su olmadığını bildirmek için mikrodenetleyici girişini tetikler. Sonuç olarak, sistem su pompasının elektrik motorunu korumak için su pompasını derhal devre dışı bırakır.

Su Seviyesi Sensörü

Sistem Otomatik / Manuel çalışma özelliğine sahiptir. AUTO modunda su pompası durur, ardından maksimum su seviyesine (H) ulaşılır. MANUEL modda, su seviyesi algılama işlemi geçersiz kılınır ve su pompası sürekli çalışmaya devam eder. Aynı anda, MANUAL modu gösterge LED'i bir uyarı göstergesi olarak yanar.

Devre Tanımı

Bu devredeki Atmega328P-PU (IC1) yongası, bir Arduino UNO yongasıdır, yani IC1, Arduino IDE kullanılarak hazırlanan ve işlenen küçük bir kodu tutar. Anahtar S1, Arduino kartta bulunan geleneksel sıfırlama anahtarıdır. Burada IC1'in PD2, PD4 ve PD7 portları (Arduino'nun D2, D4, D7) giriş portları olarak yapılandırılır ve PB0, PB4 ve PB5 portları (Arduino'nun D8, D12, D13) çıkış portları olarak yapılandırılır. PD2 portu AUTO / MAN modu seçim anahtarına bağlıdır. Su seviye sensörleri PD4 ve PD5 portları tarafından okunur. Bağlantı noktası PB5, su pompası motorunu sürücü transistörü (T1) yardımıyla bir elektromanyetik rölesi (RL1) ile kontrol etmek için kullanılır. Kalan çıkış portları (PB0 ve PB5) sistem durum göstergelerini (LED1 ve LED2) çalıştırmak için kullanılır. IC1 (önceden yüklenmiş Arduino UNO Bootloader ile birlikte), yaygın olarak bulunan bir programlama kartı (usb-seri dönüştürücü kartı) kullanılarak seri arayüz soketi J3 aracılığıyla programlanabilir. Su tankının üst/limit su seviye sensörü ve alt/limit su seviye sensörü, sırasıyla J1 ve J2 soketleri aracılığıyla devreye bağlanabilir. Soket J4, sisteme yerleşik voltaj regülatör yongası (IC2) tarafından önceden işlenmiş, düzenlenmiş bir 5VDC kaynağı ile güç sağlandığı DC giriş soketidir. LED4, güç kaynağı durumu (açık / kapalı) göstergesi olarak çalışır.

 

Yazılım Tanımı

Devre şemasından (donanım), çok az harici bileşene ihtiyaç duyulduğu görülebilir. Ayrıca, daha fazla işlev eklenecekse yazılımın değiştirilmesi kolaydır. Bu, tasarımın esnekliğini ve sorumluluğunu artıracaktır. İşte Arduino IDE'de hazırlanan mikrodenetleyicinin ana mantığı:
/* 
 *Smart Water Tank Pump Switcher
 *An Arduino-Based Project
 *Designed by T.K.Hareendran
 *Tested @ TechNode PROTOLABZ
 *IDE: Arduino 0022 / Board:Arduino UNO-R3 / Chip: ATmega328P-PU
 *Date: November 14,2014
 *Source: https://www.electroschematics.com
 */

#include 

#define inputLevel1  4  //Tank Level-Low

#define inputLevel2  7  //Tank Level-High
#define modeSwitch   2 //Auto/Manual Mode Switch
// OUTPUT PINS

#define statLED  8 //System Status Indicator

#define modeLED  12  //Auto/Manual Mode Indicator
#define driveOutput 13 //Water Pump Swicth Output
#define memposL1  0  //Set constant eeprom position 0 to save Level1

int state=0;
int level = 0;
int lastlevel = 0;

void setup (){
  pinMode(modeSwitch,INPUT);   
  pinMode(inputLevel1,INPUT);          
  pinMode(inputLevel2,INPUT);            

  digitalWrite(modeSwitch, HIGH);     
  digitalWrite(inputLevel1, HIGH);    

  digitalWrite(inputLevel2, HIGH);     


  pinMode(driveOutput, OUTPUT);
  pinMode(statLED, OUTPUT);
  pinMode(modeLED, OUTPUT);

  level = EEPROM.read(memposL1); 
  lastlevel = level;           
  if ((level == 0)||(level>2)) { 
    level=1;       
    refreshmem(); 
  }
  visualdrive(); 
  delay(1000);
  pumpdrive();
}

void visualdrive() {

  digitalWrite(statLED, LOW );

  if (level >1)   digitalWrite(statLED, HIGH );

}

void  pumpdrive(){ 
  if (level < 2)   digitalWrite(driveOutput, HIGH );
  if ((level == 2) & (state == 0)) {
    digitalWrite(driveOutput, LOW );
  }
  else {
    digitalWrite(driveOutput, HIGH );
  }
}

void refreshmem() {

  lastlevel = level;      
  EEPROM.write(memposL1, level);   
}

void loop () {
  if ( (digitalRead(modeSwitch) == LOW) & (state == 0) ) { 
    state=1;  
    digitalWrite(modeLED, state );        
    pumpdrive();
    delay(400);
  }

  if ( (digitalRead(modeSwitch) == LOW) & (state == 1)  ) { 
    state=0;  
    digitalWrite(modeLED, state );       
    pumpdrive();
    delay(400);
  } 


  if ( digitalRead(inputLevel1) == LOW  ) { 
    level = 1;
  }

  if ( digitalRead(inputLevel2) == LOW  ) { 
    level = 2;
  }

  if (level != lastlevel) {
    visualdrive();
    pumpdrive();
    refreshmem();
  }   

} 

 
Arduino kartındaki mikro denetleyicide, kart kapatıldığında değerleri tutan EEPROM (E 2 PROM) belleği vardır. EEPROM kütüphanesi bu byte'ları okumanıza ve yazmanıza olanak tanır. Atmega328 mikrodenetleyicisinin kapasitesi 1024 byte'dır.
  
Etiketler: Arduino ile Otomatik Su Seviye Anahtarı Kullanımı
Ekim 31, 2021
Listeye dön
cultureSettings.RegionId: 0 cultureSettings.LanguageCode: TR
Çerez Uyarısı

Alışveriş deneyiminizi iyileştirmek için yasal düzenlemelere uygun çerezler (cookies) kullanıyoruz. Detaylı bilgiye Gizlilik ve Çerez Politikası
sayfamızdan erişebilirsiniz.