ตัวควบคุมปั๊มที่ใช้ SMS พร้อมการปิดเครื่อง Dry Run อัตโนมัติ

ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา





ในโพสต์นี้เราจะสร้างตัวควบคุมปั๊มน้ำที่ใช้ SMS พร้อมการปิดปั๊มอัตโนมัติเมื่อตรวจไม่พบการไหลของน้ำผ่านปั๊ม นอกจากนี้เราจะสร้างวงจรป้องกันการวิ่งแห้งอัตโนมัติที่ง่ายกว่ามากโดยไม่มีระบบ GSM ในช่วงครึ่งหน้าของบทความ

Dry Run ใน Motors คืออะไร

เราได้พูดคุยกันไปแล้ว ตัวควบคุมปั๊มที่ใช้ระบบ GSM ในเว็บไซต์นี้ให้ตรวจสอบหากยังไม่ได้ทำ เรากำลังเพิ่มคุณลักษณะเพิ่มเติมในการออกแบบที่มีอยู่ซึ่งจะป้องกันไม่ให้มอเตอร์ทำงานแห้ง



วิ่งแห้ง หมายถึงการใช้ปั๊มน้ำโดยไม่มีของเหลวไหล ผลที่ตามมาอาจเป็นความเสียหายที่สามารถให้บริการได้กับความเสียหายที่ไม่สามารถให้บริการได้ขึ้นอยู่กับระยะเวลาที่มอเตอร์ทำงานโดยไม่ต้องสูบน้ำและคุณภาพของปั๊มน้ำ

ใช่ปั๊มน้ำไม่ใช่ราคาถูกและหากคุณเป็นเกษตรกรที่ทดน้ำในสนามทุกวันปัญหาเล็กน้อยเกี่ยวกับปั๊มน้ำของคุณอาจทำให้คุณสูญเสียทางเศรษฐกิจได้



การให้บริการปั๊มอาจใช้เวลาและเงินพอสมควรดังนั้นจึงควรปฏิบัติตามสโลแกนที่มีชื่อเสียง 'การป้องกันดีกว่าการรักษา'

มอเตอร์แห้ง เป็นปัญหาที่พบบ่อยมากเมื่อมีน้ำไม่เพียงพอที่จะไหลผ่านปั๊มความร้อนของส่วนประกอบทางกลและส่วนประกอบไฟฟ้าจะเกิดขึ้น

เมื่อถึงจุดหนึ่งส่วนประกอบทางกลจะเริ่มละลายและอาจทำให้เกิดไฟฟ้าลัดวงจร

ภัยพิบัติดังกล่าวอาจป้องกันได้โดยใช้วงจรซึ่งเสนอในโครงการนี้

ในการตรวจจับการไหลของน้ำเราคือ ใช้เซ็นเซอร์การไหลของน้ำ YF-S201 . เมื่อเซ็นเซอร์ตรวจไม่พบการไหลของน้ำเซ็นเซอร์จะตัดการจ่ายไฟไปยังปั๊มน้ำและส่ง SMS แจ้งให้ผู้รับทราบเกี่ยวกับการปิดเครื่อง

ด้วยการควบคุมโดยใช้ระบบ GSM นี้คุณสามารถเปิดและปิดปั๊มและวงจรจะรับทราบเกี่ยวกับปัญหาการทำงานของปั๊มแห้ง

วงจรสำหรับการควบคุมปั๊มตาม SMS:

วงจรสำหรับการควบคุมปั๊มตาม SMS:

วงจรประกอบด้วยตัวแปลง AC เป็น DC โดยใช้หม้อแปลง 9V, วงจรเรียงกระแสแบบบริดจ์ตัวเก็บประจุแบบเรียบ 1000 uF และตัวควบคุม LM7809 9V มีแจ็ค DC สองตัวสำหรับเปิดบอร์ด Arduino และโมดูล SIM 800 / SIM 900 GSM

อย่าจ่ายกระแสไฟให้โมดูล GSM ด้วยขา 5V ของ Arduino ถึง 5V ของโมดูล GSM เนื่องจากบอร์ด Arduino ไม่สามารถจ่ายกระแสไฟได้เพียงพอ

การเชื่อมต่อระหว่าง โมดูล Arduino และ GSM ดังต่อไปนี้:

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

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

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

แหล่งจ่ายไฟหลักมาจากตัวควบคุม LM 7809

ไฟ LED จะเรืองแสงหากรีเลย์ถูกเปิดใช้งานและดับลงเมื่อปิดการทำงานของรีเลย์

ไดโอด IN4007 จะดูดซับแรงดันไฟฟ้าสูงซึ่งเกิดขึ้นขณะเปิดและปิดรีเลย์

เซ็นเซอร์การไหลของน้ำเชื่อมต่อกับ A0 พินของ Arduino, 5V และ GND ที่มาจากบอร์ด Arduino

โปรแกรมสำหรับการออกแบบตามระบบ 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)
}
}

// ---------------- โปรแกรมที่พัฒนาโดย R.Girish ------------ //

คุณต้องวางรหัสพร้อมหมายเลขโทรศัพท์มือถือ 10 หลักของผู้รับ

Serial.println ('AT + CMGS = ' + 91xxxxxxxxxx ' r') // แทนที่ x ด้วยหมายเลขโทรศัพท์มือถือ

คุณต้องวางหมายเลขโทรศัพท์ใน 5 ตำแหน่งดังกล่าวในรหัส

คำสั่ง SMS:

· SMS ของคุณต้องขึ้นต้นด้วย“ /” และลงท้ายด้วย“ /” เสมอ

· / มอเตอร์เปิด / สำหรับเปิดใช้งานมอเตอร์

· / ปิดมอเตอร์ / สำหรับปิดการทำงานของมอเตอร์

· / ทดสอบ / สำหรับการทดสอบวงจร

นี่คือ SMS ที่ทดสอบขณะสร้างต้นแบบ:

ทดสอบ SMS ขณะสร้างต้นแบบ

สิ่งต่อไปนี้เราสามารถสังเกตได้จากภาพหน้าจอ:

·ก่อนอื่นมอเตอร์จะเปิดและวงจรรับทราบพร้อมตอบกลับ

·มอเตอร์ถูกปิดการใช้งานและตอบรับการตอบกลับของวงจร

·อีกครั้งมอเตอร์ถูกเปิดใช้งานและถอดปลั๊กเซ็นเซอร์เพื่อจำลองสถานการณ์การวิ่งแห้งวงจรจะปิดปั๊มและตอบกลับพร้อมรับทราบการทำงานของเครื่องสูบน้ำ

·ในที่สุด SMS ทดสอบได้ส่งไปและวงจรตอบกลับว่า 'ระบบทำงานได้ดี'

ฉันขอแนะนำให้ติดตั้งเซ็นเซอร์วัดการไหลของน้ำหลังจากปั๊มน้ำไปสองสามเมตร

นั่นเป็นการสรุปตัวป้องกันการวิ่งแห้งของปั๊มที่ใช้ระบบ GSM

ตอนนี้เรามาดูตัวป้องกันการทำงานของปั๊มน้ำแบบแห้งที่ไม่มีระบบ GSM ซึ่งอาจเป็นวิธีที่ง่ายกว่าสำหรับทั้งสอง

แผนภูมิวงจรรวม:

ตัวควบคุมปั๊มที่ใช้ SMS พร้อมการปิดเครื่อง Dry Run อัตโนมัติ

ไม่มีอะไรจะอธิบายที่นี่มากนักเพียงแค่ต่อสายตามแผนผัง แหล่งจ่ายไฟสามารถเป็นอะแดปเตอร์ติดผนัง 9V ที่มีอย่างน้อย 500 mA หรือแหล่งจ่ายไฟที่แสดงในแผนผังคอนโทรลเลอร์ที่ใช้ระบบ GSM

ปุ่มกดมีไว้เพื่อเปิดและปิดปั๊ม

เมื่อคุณกดปุ่มเพื่อเปิดปั๊มวงจรจะรอจนถึง 20 วินาทีในขั้นต้นเพื่อตรวจจับการไหลของน้ำในระหว่างนั้นปุ่มกดจะถูกปิดใช้งานเป็นเวลา 20 วินาที

หลังจาก 20 วินาทีเริ่มต้นปุ่มกดถูกเปิดใช้งานและคุณสามารถปิดปั๊มด้วยตนเองได้โดยกดปุ่มอีกครั้ง

หากตรวจพบการไหลของน้ำวงจรจะคงปั๊มไว้หลังจาก 20 วินาทีมิฉะนั้นวงจรจะตัดแหล่งจ่ายไฟไปยังมอเตอร์ นอกจากนี้วงจรยังสามารถตัดแหล่งจ่ายได้ทันทีหากตรวจไม่พบการไหลของน้ำ

หากวงจรไฟฟ้าดับเนื่องจากไฟ LED จะกะพริบถี่ๆ

โปรแกรมสำหรับเครื่องสูบน้ำแบบแห้งอย่างง่าย:

//--------------------------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------------------------//

ซึ่งสรุปการออกแบบทั้งสองแบบ

หากคุณมีคำถามเฉพาะเกี่ยวกับตัวควบคุมปั๊มที่ใช้ SMS พร้อมวงจรปิดเครื่องอัตโนมัติโปรดแสดงความคิดเห็นในส่วนความคิดเห็นคุณอาจได้รับคำตอบอย่างรวดเร็ว




ก่อนหน้านี้: 4 วงจรเซนเซอร์จับความใกล้เคียงอย่างง่าย - ใช้ IC LM358, IC LM567, IC 555 ถัดไป: ศูนย์บ่มเพาะโดยใช้ Arduino พร้อมระบบควบคุมอุณหภูมิและความชื้นอัตโนมัติ