מעגל בקר מנוע משאבת GSM באמצעות Arduino

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





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

העיצוב

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



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

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



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

בואו נצלול לחלק הטכני של הפרויקט.

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

Arduino הוא המוח של הפרויקט שמקבל החלטות ומודם GSM ששולח ומקבל SMS טקסט ומתקשר עם המשתמש וממסר השולט במנוע.

איך זה עובד

מעגל בקר מנוע משאבת GSM באמצעות Arduino

הערה: אנא השתמש בנגן 10K לפחות בבסיס הטרנזיסטור BC548, 330 אוהם נמוך מדי.

ה שנאי צעד למטה מיישר 230VAC ל- 12VAC ומיישר גשר ממיר זרם זרם זרם DC והזרם עובר דרך קבל אלקטרוליטי כדי להחליק את אספקת החשמל.

מתוקן וסת מתח 12V נותן כוח לארדואינו, למודם GSM ולממסר. ה מודם GSM מחובר לארדואינו בסיכה מספר 0 וסיכה מס '1, שהם RX ו- TX בהתאמה.

ה- RX של GSM מחובר ל- TX של arduino ו- TX של GSM מחובר ל- RX של arduino. אם אתה מבולבל, רק הסתכל בתרשים שלמטה, חיבור שגוי לא ישלח או יקבל SMS.

ARDUINO TX ---------------------- RX GSM מודם
RX ---------------------- TX

חיבור קרקע לקרקע נוצר גם בין ארדואינו למודם GSM.

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

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

ה חיווי לד מראה את מצב הממסר. אם נורית הנורית זוהרת הממסר מופעל ואם הנורית כבויה, הממסר מבוטל.

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

קוד תכנית:

//----------------Program developed by R.Girish------------//
int LED = 8
int motor = 9
int temp=0
int i=0
char str[15]
void setup()
{
Serial.begin(9600)
pinMode(motor,OUTPUT)
pinMode(LED,OUTPUT)
digitalWrite(motor,LOW)
digitalWrite(LED,LOW)
delay(20000)
delay(20000)
delay(20000)
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)
}
}
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
delay(1000)
}
else if(!(strncmp(str,'motor off',9)))
{
digitalWrite(motor,LOW)
digitalWrite(LED,LOW)
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 developed by R.Girish------------//

הערה 1: בעת הידור התוכנית היא מציגה אזהרה שתוכל להתעלם ממנה. התוכנית מאומתת ונבדקת.

הערה 2: אנא הסר את חיבור TX ו- RX מארדואינו בזמן העלאת הקוד.

הערה 3: החלף את 'xxxxxxxxxxxxx' במספר הטלפון של הנמען בארבעה מקומות בתוכנית.

הערה 4: אנא רכוש מודם GSM ללא כפתור הפעלה במודול במקרה של הפסקת חשמל הוא לא יינעל ברשת הסלולרית אלא אם תלחץ ידנית על הכפתור, לכן הימנע מסוג כזה של מודמי GSM. מודם ה- GSM אחד בלי כפתור הפעלה ישתלב ברשת הסלולרית ישירות לאחר שמירת החשמל.

אב הטיפוס של המחבר של מעגל בקר מנועי משאבת GSM:

כיצד להשתמש בהתקנה שלעיל:

• שלח / מפעיל / SMS מהטלפון הסלולרי שלך להפעלת הממסר.

• שלח / כבה את המנוע / SMS כדי להשבית את הממסר.

• שלח / בדוק / ​​SMS לבדיקת התגובה מהמעגל.

הקפד להתחיל את הפקודה עם '/' ולסיים עם '/' אחרת היא לא תקבל כבקשה תקפה.

• / מנוע מופעל / יפעיל את הממסר ויחזור עם הודעת SMS 'מנוע מופעל'.

• / מנוע כבוי / יכבה את הממסר ויחזור עם הודעת SMS 'מנוע מושבת'.

• אם תשלח / תבדוק / ​​היא תחזור עם הודעת SMS אישור 'המערכת עובדת בסדר.'

• ההודעה הנ'ל מסמנת כי ההתקנה שלך עובדת בסדר.

• אם לא מוחזרת אליך אישור אתה יכול להניח שלא קודמת לפעולה על המנוע ואתה עלול לפתור בעיות.

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

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

שיפור המושג הנ'ל

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

אישור SMS כאשר המנוע פועל

השיפור נוגע לאישור ההחלפה, שם המשתמש יקבל מ- SMS בטלפון הנייד שלו מה- GSM מערכת בקרת משאבה כאשר משתמש שולח תגובה SMS חוקית.

העיצוב הקיים שולח SMS אישור למשתמש ללא תלות במצב המשדר בפועל כלומר ON / OFF.

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

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

תרשים מעגל:

כשאנחנו שולחים פקודת SMS '/ MOTOR ON /' הסיכה מס '9 גבוהה ומפעילה את הממסר. אם הממסר מחבר את הפינים המשותפים ואת הפינים N / O המשאבה מתחילה ומפעילה גם את השנאי שייתן +5 ביציאה.

אות + 5V מוזן לסיכה מס '7 אשר תאשר ויחזור עם אישור 'המנוע מופעל'.

כאשר אנו שולחים '/ MOTOR OFF /' הסיכה מס '9 הופכת לנמוכה והממסר מנתק את הפינים המשותפים ואת הסיכות ללא פלט, זה יכבה את המשאבה וגם את השנאי המחובר. הפלט בסיכה 7 הולך נמוך ונחזור עם אישור 'מנוע מושבת'.

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

קוד תכנית:

//----------------Program developed by R.Girish------------//
int motor = 8
int LED = 9
int temp=0
int i=0
int ack=7
char str[15]
void setup()
{
Serial.begin(9600)
pinMode(ack,INPUT)
pinMode(motor,OUTPUT)
pinMode(LED,OUTPUT)
digitalWrite(motor,LOW)
digitalWrite(LED,LOW)
delay(20000)
delay(20000)
delay(20000)
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)
}
}
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)
delay(100)
if(digitalRead(ack)==1)
{
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
delay(1000)
}
}
else if(!(strncmp(str,'motor off',9)))
{
digitalWrite(motor,LOW)
delay(5000)
if(digitalRead(ack)==0)
{
digitalWrite(LED,LOW)
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 developed by R.Girish------------//

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

רשימת חלקים

1) שנאי צעד למטה 12-0V
2) דיודות IN4007 x5
3) LM7812 x1
4) ממסר 12V x1
5) טרנזיסטור BC548 x1
6) קבל אלקטרוליטי 1000uF x1
7) מודול GSM: מודל SIM 800 או SIM 900
8) נגן 330 אוהם x2
9) LED אדום / ירוק x1
10) Arduino Uno או Arduino nano או Arduino Mega
11) שקע זכר DC x2

סרטון וידאו:

שילוב עם 3 מנועי פאזה

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

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

האיור הבא מראה כיצד להגדיר את התכנון באמצעות מעגל IC 4017.

טלפון סלולרי מרחוק בקר GSM תלת פאזי GSM

הערה: ערכי 100uF / 10K ו- 220uF ו- 47K עשויים להזדקק להתאמות מסוימות על מנת להבטיח את כמות העיכוב הנכונה עבור הטרנזיסטורים ושלבי הממסר המתאימים.




קודם: מעגל אבטחה של מחוון מיקום פורץ הבא: מעגל בקר עוצמת בקר בשלט רחוק