בקר משאבות מבוסס SMS עם כיבוי אוטומטי של ריצה יבשה

נסה את הכלי שלנו לביטול בעיות





בפוסט זה אנו הולכים לבנות בקר משאבות מים מבוסס SMS עם כיבוי אוטומטי של המשאבה כאשר לא מתגלה זרימת מים דרך המשאבה. אנו גם נבנה מעגל מונע ריצות יבשות אוטומטיות פשוט הרבה יותר ללא GSM במחצית הבאה של המאמר.

מה זה Dry Run in Motors

כבר דנו בנושא בקר משאבות מבוסס GSM באתר זה בדוק אם עדיין לא עשית זאת. כאן אנו מוסיפים תכונה נוספת על העיצוב הקיים, שתמנע מנוע לפעול יבש.



ריצה יבשה פירושו הפעלת משאבת המים ללא זרימת נוזלים. התוצאה יכולה להיות פגיעה ניתנת לנזקים שאינם ניתנים לשירות, תלוי כמה זמן המנוע פעל ללא שאיבת המים ואיכות משאבת המים.

כן, משאבות המים אינן זולות ואם אתה חקלאי שמשקה את השדה כל יום, אז בעיה קטנה עם משאבת המים שלך יכולה לגרום לך אובדן כלכלי.



שירות המשאבה עשוי לקחת קצת זמן וכסף, ולכן עדיף לעקוב אחר הסיסמה המפורסמת 'מניעה עדיפה על תרופה'.

ריצה יבשה במנוע היא בעיה נפוצה מאוד, כאשר אין מספיק מים לזרום דרך המשאבה, יתרחש חימום של רכיבים מכניים כמו גם רכיבים חשמליים.

בשלב זה הרכיבים המכאניים יתחילו להימס וגם עלולים לגרום לקצר.

ניתן למנוע אסון כזה באמצעות המעגל, המוצע בפרויקט זה.

כדי לזהות את זרימת המים, אנחנו שימוש בחיישן זרימת המים YF-S201 . כאשר לא מזוהה זרימת מים על ידי החיישן, הוא מנתק את אספקת החשמל למשאבת המים ושולח אישור SMS לנמען על כיבוי הריצה היבשה.

בעזרת שליטה מבוססת GSM זו תוכלו להפעיל ולכבות את המשאבה וגם המעגל מכיר בנושא הבעיה של משאבה יבשה.

מעגל לבקרת משאבה מבוססת SMS:

מעגל לבקרת משאבה מבוססת SMS:

המעגל מורכב מממיר AC ל- DC באמצעות שנאי 9V, מיישר גשר וקבל החלקה של 1000 uF וווסת ​​9M LM7809. שני שקעי DC מסופקים להפעלת לוח Arduino ומודול GSM SIM 800 / SIM 900.

לעולם אל תפעיל את מודול ה- GSM עם פינת 5V של Arduino לפין של 5V של מודול GSM מכיוון שלוח Arduino אינו יכול לספק מספיק זרם.

הקשר בין מודול Arduino ו- GSM כדלהלן:

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

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

ארדואינו 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 במספר נייד

אתה צריך למקם את המספר הנייד בחמש מקומות כאלה בקוד.

פקודות SMS:

· ה- SMS שלך חייב להתחיל תמיד עם '/' ולסיים עם '/'

· / מנוע מופעל / להפעלת המנוע.

· / מנוע כבוי / לנטרול המנוע.

· / בדיקה / לבדיקת המעגל.

הנה ה- SMS שנבדק תוך כדי טיפוס:

נבדק SMS תוך כדי טיפוס

את הדברים הבאים אנו יכולים לצפות מצילום המסך:

· ראשית המנוע מופעל והמעגל אישר בתשובה.

· המנוע מושבת והמעגל מאושר בתשובה.

· שוב המנוע מופעל ונתק את החיישן כדי לדמות את מצב הריצה היבשה, המעגל מכבה את המשאבה והשיב באישור הפעלה יבשה.

· לבסוף נשלח SMS מבחן והמעגל השיב 'המערכת עובדת בסדר'.

הייתי מציע להתקין את חיישן זרימת המים לאחר כמה מטרים לאחר משאבת המים.

זה מסכם את מונע הריצה היבש של משאבה מבוססת GSM.

עכשיו בואו נסתכל על מונע הפעלה יבשה פשוטה של ​​משאבת מים ללא GSM, זה יכול להיות קל יותר מבין השניים.

תרשים מעגל:

בקר משאבות מבוסס SMS עם כיבוי אוטומטי של ריצה יבשה

אין הרבה מה להסביר כאן, רק מחברים לפי הסכמה. ספק הכוח יכול להיות מתאם קיר 9V עם לפחות 500 mA או הספק המתואר בתרשים הבקר מבוסס GSM.

כפתור הלחיצה מסופק להפעלת וכיבוי המשאבה.

ברגע שלוחצים על הכפתור להפעלת המשאבה, המעגל ממתין עד 20 שניות בתחילה כדי לזהות את זרימת המים, בזמן זה כפתור הלחיצה מושבת במשך 20 שניות.

לאחר 20 השניות הראשוניות לחצן הלחיצה מופעל ואתה יכול לכבות את המשאבה באופן ידני על ידי לחיצה על כפתור הלחיצה שוב.

אם מתגלה זרימת מים המעגל שומר על הפעלת המשאבה לאחר 20 שניות, אחרת המעגל מנתק את אספקת החשמל למנוע. כמו כן המעגל יכול לנתק את האספקה ​​בכל רגע, אם לא מתגלה זרימת מים.

אם המעגל נכבה בגלל ריצה יבשה, הנורית מהבהבת במהירות.

תוכנית למניעת הפעלה יבשה פשוטה:

//--------------------------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 הבא: חממה באמצעות ארדואינו עם בקרת טמפרטורה ולחות אוטומטית