Pengawal Pam Berasaskan SMS dengan Matikan Kering Secara Automatik

Cuba Instrumen Kami Untuk Menghapuskan Masalah





Dalam posting ini kita akan membina pengawal pam air berasaskan SMS dengan pemadaman pam automatik apabila tidak ada aliran air melalui pam yang dikesan. Kami juga akan membina litar pencegah jalan kering automatik yang lebih mudah lagi tanpa GSM pada separuh artikel berikutnya.

Apa itu Kering Lari di Motor

Kami telah membincangkan mengenai Pengawal pam berasaskan GSM di laman web ini, periksa jika belum. Di sini kami menambahkan ciri tambahan pada reka bentuk yang ada, yang akan menghalang motor daripada kering.



Berlari kering bermaksud menjalankan pam air tanpa aliran cecair. Akibatnya adalah kerosakan yang dapat diservis kepada kerosakan yang tidak dapat diservis bergantung pada berapa lama motor berjalan tanpa mengepam air dan kualiti pam air.

Ya, pam air tidak murah dan jika anda seorang ahli pertanian yang mengairi ladang setiap hari, maka masalah kecil dengan pam air anda boleh menyebabkan anda mengalami kerugian ekonomi.



Menyervis pam mungkin memerlukan sedikit masa dan wang, jadi lebih baik mengikuti slogan terkenal 'pencegahan lebih baik daripada menyembuhkan'.

Larian kering motor adalah masalah yang sangat biasa, apabila air tidak mencukupi untuk mengalir melalui pam, pemanasan komponen mekanikal dan komponen elektrik akan berlaku.

Pada suatu ketika komponen mekanikal akan mula mencair dan juga boleh menyebabkan litar pintas.

Bencana seperti itu dapat dicegah menggunakan litar, yang dicadangkan dalam projek ini.

Untuk mengesan aliran air, kita berada menggunakan sensor aliran air YF-S201 . Apabila tidak ada aliran air yang terdeteksi oleh sensor, ia memutuskan bekalan kuasa ke pam air dan mengirim pengakuan SMS kepada penerima mengenai pemadaman kering.

Dengan kawalan berasaskan GSM ini, anda boleh menghidupkan dan mematikan pam dan juga litar memperakui mengenai masalah jalan kering pam.

Litar untuk kawalan pam berasaskan SMS:

Litar untuk kawalan pam berasaskan SMS:

Litar ini terdiri daripada penukar AC ke DC menggunakan pengubah 9V, penyearah jambatan kapasitor pelicin 1000 uF dan pengatur LM7809 9V. Dua bicu DC disediakan untuk menghidupkan papan Arduino dan modul SIM 800 / SIM 900 GSM.

Jangan sekali-kali menghidupkan modul GSM dengan pin Arduino 5V hingga pin modul GSM 5V kerana papan Arduino tidak dapat menyediakan arus yang mencukupi.

Hubungan antara Modul Arduino dan GSM seperti berikut:

Arduino TX ---------------------- RX SIM 800/900

Arduino RX --------------------- TX SIM 800/900

Arduino GND ------------------- GND SIM 800/900

Bekalan utama disediakan oleh pengawal selia LM 7809.

Penunjuk LED akan menyala jika relay diaktifkan dan mati semasa relay dinyahaktifkan.

Diod IN4007 akan menyerap lonjakan voltan tinggi yang berlaku semasa menghidupkan dan mematikan geganti.

Sensor aliran air disambungkan ke pin A0 Arduino, 5V dan GND yang disediakan dari papan Arduino.

Program untuk reka bentuk berasaskan GSM:

//----------------Program developed by R.Girish------------//
int motor = 8
int LED = 9
int temp = 0
int i = 0
int j = 0
int k = 0
int X = 0
int Y = 0
int mtr_on = 0
float Time = 0
float frequency = 0
const int input = A0
const int test = 6
char str[15]
void setup()
{
Serial.begin(9600)
pinMode(motor, OUTPUT)
pinMode(LED, OUTPUT)
digitalWrite(motor, LOW)
digitalWrite(LED, LOW)
analogWrite(test, 100)
for (k = 0 k <60 k++)
{
delay(1000)
}
Serial.println('AT+CNMI=2,2,0,0,0')
delay(1000)
Serial.println('AT+CMGF=1')
delay(500)
Serial.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
Serial.println('System is ready to receive commands.')// The SMS text you want to send
delay(100)
Serial.println((char)26) // ASCII code of CTRL+Z
delay(1000)
}
void loop()
{
if (temp == 1)
{
check()
temp = 0
i = 0
delay(1000)
}
if (mtr_on == 1)
{
X = pulseIn(input, HIGH)
Y = pulseIn(input, LOW)
Time = X + Y
frequency = 1000000 / Time
if (isinf(frequency))
{
digitalWrite(motor, LOW)
digitalWrite(LED, LOW)
delay(1000)
Serial.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
Serial.println('Motor Deactivated. Dry Run Shut Off!')// The SMS text you want to send
delay(100)
Serial.println((char)26) // ASCII code of CTRL+Z
mtr_on = 0
delay(1000)
}
}
}
void serialEvent()
{
while (Serial.available())
{
if (Serial.find('/'))
{
delay(1000)
while (Serial.available())
{
char inChar = Serial.read()
str[i++] = inChar
if (inChar == '/')
{
temp = 1
return
}
}
}
}
}
void check()
{
if (!(strncmp(str, 'motor on', 8)))
{
digitalWrite(motor, HIGH)
digitalWrite(LED, HIGH)
delay(1000)
Serial.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
Serial.println('Motor Activated')// The SMS text you want to send
delay(100)
Serial.println((char)26) // ASCII code of CTRL+Z
for (j = 0 j <20 j++)
{
delay(1000)
}
mtr_on = 1
}
else if (!(strncmp(str, 'motor off', 9)))
{
digitalWrite(motor, LOW)
digitalWrite(LED, LOW)
mtr_on = 0
delay(1000)
Serial.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
Serial.println('Motor deactivated')// The SMS text you want to send
delay(100)
Serial.println((char)26) // ASCII code of CTRL+Z
delay(1000)
}
else if (!(strncmp(str, 'test', 4)))
{
Serial.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
Serial.println('The System is Working Fine.')// The SMS text you want to send
delay(100)
Serial.println((char)26) // ASCII code of CTRL+Z
delay(1000)
}
}

// ---------------- Program yang dibangunkan oleh R.Girish ------------ //

Anda mesti meletakkan kod dengan nombor telefon bimbit 10 digit penerima.

Serial.println ('AT + CMGS = ' + 91xxxxxxxxxx ' r') // Ganti x dengan nombor telefon bimbit

Anda perlu meletakkan nombor telefon bimbit di 5 tempat dalam kod tersebut.

Perintah SMS:

· SMS anda mesti selalu dimulai dengan '/' dan diakhiri dengan '/'

· / Motor hidup / untuk mengaktifkan motor.

· / Motor mati / untuk menyahaktifkan motor.

· / Ujian / untuk menguji litar.

Berikut adalah SMS yang diuji semasa membuat prototaip:

SMS yang diuji semasa membuat prototaip

Perkara-perkara berikut yang dapat kita perhatikan dari tangkapan skrin:

· Mula-mula motor dihidupkan dan litar diakui dengan jawapan.

· Motor dinyahaktifkan dan litar dikenali dengan jawapan.

· Sekali lagi motor diaktifkan dan cabut sensor untuk mensimulasikan keadaan larian kering, litar mematikan pam dan menjawab dengan pengakuan larian kering pam.

· Akhirnya SMS ujian telah dikirim dan rangkaian menjawab dengan 'Sistem Bekerja dengan Baik'.

Saya cadangkan memasang sensor aliran air setelah beberapa meter selepas pam air.

Itu menyimpulkan pencegah kering pam berasaskan GSM.

Sekarang mari kita lihat penekanan kering kering pam air tanpa GSM, ini mungkin lebih mudah bagi keduanya.

Rajah Litar:

Pengawal Pam Berasaskan SMS dengan Matikan Kering Secara Automatik

Tidak ada yang perlu dijelaskan di sini, hanya buat skema. Bekalan kuasa boleh menjadi penyesuai dinding 9V dengan sekurang-kurangnya 500 mA atau bekalan yang digambarkan dalam skema pengawal berasaskan GSM.

Butang tekan disediakan untuk menghidupkan dan mematikan pam.

Setelah anda menekan butang untuk menghidupkan pam, litar menunggu hingga 20 saat pada awalnya untuk mengesan aliran air, selama itu butang tekan dilumpuhkan selama 20 saat.

Selepas 20 saat awal butang tekan diaktifkan dan anda boleh mematikan pam secara manual dengan menekan butang tekan sekali lagi.

Sekiranya aliran air dikesan litar mengekalkan pam AKTIF setelah 20 saat, jika tidak, litar memutuskan bekalan kuasa ke motor. Litar juga dapat memutuskan bekalan pada bila-bila masa, jika tidak ada aliran air yang dikesan.

Sekiranya litar dimatikan kerana kering, LED berkelip dengan cepat.

Program untuk pencegah jalan kering pam sederhana:

//--------------------------Program Developed by R.GIRISH------------------------//
int X = 0
int Y = 0
int i = 0
int mtr_on = 0
float Time = 0
float frequency = 0
const int input = A0
const int test = 6
const int button = A1
const int LED = 8
const int motor = 9
void setup()
{
Serial.begin(9600)
pinMode(input, INPUT)
pinMode(test, OUTPUT)
pinMode(LED, OUTPUT)
pinMode(motor, OUTPUT)
analogWrite(test, 100)
digitalWrite(button, HIGH)
}
void loop()
{
if (digitalRead(button) == LOW && mtr_on == 0)
{
Serial.println('Motor Activated')
digitalWrite(LED, HIGH)
digitalWrite(motor, HIGH)
for (i = 0 i <20 i++)
{
delay(1000)
}
mtr_on = 1
}
if (digitalRead(button) == LOW && mtr_on == 1)
{
Serial.println('Motor Deactivated')
digitalWrite(LED, LOW)
digitalWrite(motor, LOW)
mtr_on = 0
delay(1000)
}
if (mtr_on == 1)
{
X = pulseIn(input, HIGH)
Y = pulseIn(input, LOW)
Time = X + Y
frequency = 1000000 / Time
if (isinf(frequency))
{
Serial.println('Dry run shut off')
digitalWrite(motor, LOW)
digitalWrite(LED, LOW)
mtr_on = 0
while (true)
{
digitalWrite(LED, HIGH)
delay(500)
digitalWrite(LED, LOW)
delay(500)
}
}
}
}
//--------------------------Program Developed by R.GIRISH------------------------//

Itu menyimpulkan kedua-dua reka bentuk.

Sekiranya anda mempunyai pertanyaan khusus mengenai pengawal pam berasaskan SMS ini dengan litar penutupan kering kering automatik, sila nyatakan di bahagian komen, anda mungkin akan mendapat balasan cepat.




Sebelumnya: 4 Litar Sensor Kedekatan Mudah - Menggunakan IC LM358, IC LM567, IC 555 Seterusnya: Inkubator Menggunakan Arduino dengan kawalan Suhu dan Kelembapan Automatik