Su Deposu Pompa Kontrolü
Arduino Nano 33 BLE üzerinde bir su deposunu iki şamandıra anahtarı arasında doldurun: çalkalanmayı süzün, şamandıralar arasında pompanın durumunu koruyun, imkânsız şamandıra okumalarını arıza olarak yakalayın ve on saniye içinde su gelmezse kilitli bir kuru çalışma arızası verin.
- Kart
- Nano 33 BLE · Arduino
- Zorluk
- Zor
- Konu
- Applied Integration
- Erişim
- Ücretsiz
Görev
Su Deposu Pompa Kontrolü
Çatıdaki bir su deposu bir pompayla dolduruluyor. Depoda iki şamandıra anahtarı asılı: dibe yakın bir alt şamandıra ve üste yakın bir üst şamandıra. Her anahtar, su onu kaldırdığında kapanıyor. Kontrol cihazı depoyu alt işaretten üst işarete kadar dolduruyor ve bir şeyler ters gittiğinde pompayı korumak zorunda.
Donanım
- Arduino Nano 33 BLE (nRF52840, 3,3 V lojik). Seri konsol
Serial1(D0/D1), 115200 baud.SerialUSB'dir ve testlerde görülmez. - D2: alt şamandıra, D3: üst şamandıra. Her biri su altındayken (ıslak) GND'ye kapanır: dahili pull-up ile
LOW= ıslak,HIGH= kuru. - D4: pompa rölesi girişi,
HIGH= pompa çalışıyor. - D6: seri dirençle GND'ye bağlı arıza LED'i,
HIGH= yanık.
Gereksinimler
Kodu sketch/sketch.ino dosyasına (setup() ve loop()) yazın.
- Açılış.
Serial1'i 115200 baud ile açın, pompa ve arıza LED'i kapalı, şamandıralar pull-up'lı. Şamandıraların o anki okumalarını olduğu gibi alın, sonraREADYyazın ve yeniden başlatma kuralını (aşağıda) uygulayın. - Durulma. Su çalkalanır. Açılıştan sonra bir şamandıranın yeni okuması, ancak 200 ms boyunca değişmeden kalırsa kabul edilir.
- Doldurma kuralı. Kabul edilmiş bir okuma her değiştiğinde:
- alt şamandıra kuru: pompa açık (depo alt işaretin altında);
- üst şamandıra ıslak: pompa kapalı (depo dolu);
- aksi halde (şamandıraların arasında): pompayı olduğu gibi bırakın.
- Yeniden başlatma kuralı. Açılışta ve bir arıza temizlendiğinde: üst şamandıra ıslak değilse pompa açık (depoyu üst işarete kadar doldurun).
- Mesajlar. Doldurma veya yeniden başlatma kuralı pompayı değiştirdiğinde
PUMP ON/PUMP OFFyazın. - İmkânsız okuma. Alt şamandıra kuruyken üst şamandıranın ıslak olması gerçek suyla olamaz: bu bir arızadır.
FAULTyazın, pompa kapalı, arıza LED'i yanık. Okumalar yeniden tutarlı olduğundaFAULT CLEAREDyazın, arıza LED'ini söndürün ve yeniden başlatma kuralını uygulayın. - Kuru çalışma. Pompa 10000 ms çalıştıysa ve bu çalışmanın hiçbir anında alt şamandıra ıslak olmadıysa pompa kuru çalışıyordur: pompa kapalı, arıza LED'i yanık,
DRY RUNyazın. Bu durum kilitlenir: bundan sonra şamandıralar ne yaparsa yapsın, güç kesilene kadar pompa kapalı ve LED yanık kalır. delay()ile akışı durdurmayın (setup()içinde pull-up'lar için 1 ms bekleme sorun değil).
Örnek konsol çıktısı:
READY
PUMP ON
PUMP OFF
PUMP ON
FAULT
FAULT CLEARED
PUMP ON
Kablolama
Wiring sekmesinde devreyi kurun: alt şamandırayı D2 ile GND arasına, üst şamandırayı D3 ile GND arasına, röle modülünün IN'ini D4'e (VCC 3V3'e, GND GND'ye) ve arıza LED'ini seri direnciyle D6'ya bağlayın.
Başarı ölçütleri
- Sketch derlenir.
- Pompa depoyu alt şamandıradan üst şamandıraya kadar doldurur ve arada durumunu korur.
- Çalkalanan bir şamandıra pompayı değiştirmez.
- İmkânsız bir okuma pompayı kendiliğinden temizlenen bir arızayla durdurur; kuru çalışma onu kalıcı olarak durdurur.
Neler var
- Firmware'in emüle edilmiş bir kartta derlenip çalıştırılır ve donanım seviyesindeki testlerle kontrol edilir.
- Geliştirme kartı veya yerel kurulum gerekmez.
Gömülüye yeni misin? Yol haritasıyla başla: Gömülü sistemler nasıl öğrenilir