GSM szivattyú motorvezérlő áramköre Arduino segítségével

Próbálja Ki A Műszerünket A Problémák Kiküszöbölésére





Ebben a bejegyzésben egy farmerbarát GSM szivattyú motorvezérlő áramkört fogunk megépíteni, amely képes lenne
távolról be- és kikapcsolhatja az öntözőrendszert a világ bármely pontjáról mobiltelefonos SMS-ben, és nyugtázó üzenettel küldheti vissza. Az ötletet PG Ragavandir kérte.

A dizájn

A mezőgazdaság India egyik legnagyobb ipara, amely évente több mint egymilliárd embernek szolgál fel ételeket. A hatalmas mennyiségű élelmiszer előállítása soha nem könnyű feladat, az öntözés az egyik tényező.



A mezőgazdász termőföldjének nagy része lakóhelyétől távol található, csak a vízszivattyú bekapcsolása óriási költségekkel jár évente történő szállításukért.

India ismert az informatikai készségekről és az űrprogramokról, és a „Gravitáció” film költségeinél kevesebbet ért el, ez jelzi a mérnökök és tudósok nagy potenciálját. De a készségek nem egyenletesen oszlanak meg a különböző területeken, a mezőgazdaság az egyik olyan terület, ahol a technológiai fejlődés lassú.



Ez az SMS alapú GSM szivattyú motorvezérlő egy baba lépést tesz afelé mezőgazdasági fejlesztés , ez nem feltétlenül forradalmi projekt, de örömet okozhat a mezőgazdászok körében.

Merüljünk el a projekt technikai részében.

A projektet minimális hardverkomponensekkel tervezték, hogy egy kezdő könnyedén meg tudja valósítani.
Az áramkör tápegységből áll, amely az egész beállítást táplálja.

Az Arduino a projekt agya, amely döntéseket hoz és GSM modem, amely szöveges SMS-eket küld és fogad, valamint kommunikál a felhasználóval és a motort vezérlő relével.

Hogyan működik

GSM szivattyú motorvezérlő áramköre Arduino segítségével

Megjegyzés: Kérjük, használjon legalább 10K ellenállást a BC548 tranzisztor tövénél, 330 Ohm túl alacsony.

Az transzformátor lépjen le a 230 VAC-ról 12 VAC-ra és a híd-egyenirányító átalakítja az AC-t egyenárammá, és az áram elektrolit kondenzátoron halad át az áramellátás simítása érdekében.

Egy fix 12V feszültségszabályozó energiát ad az arduino, a GSM modem és a relé számára. Az GSM modem az arduino-hoz van csatlakoztatva a 0-as és az 1-es csapon, amelyek RX és TX.

A GSM RX csatlakozik az arduino TX-hez, a GSM TX pedig az arduino RX-jéhez. Ha zavart, csak nézze meg az alábbi ábrát, a hibás kapcsolat nem küld és nem fogad SMS-t.

ARDUINO TX ---------------------- RX GSM modem
RX ---------------------- TX

Föld-föld kapcsolat is létrejön az arduino és a GSM modem között.

Próbáljon beszerezni egy férfi jack csatlakozót a GSM és az arduino számára, ha nem csak közvetlenül forrasztja a vezetékeket a tápegységről az arduino és a GSM felé, ami növelheti a rendetlenséget a projektben.

A tranzisztor hajtja a relét, és a dióda megvédi az áramkört a nagyfeszültségű tüskéktől, miközben a relét BE / KI kapcsolja.

Az LED kijelző a relé állapotát mutatja. Ha a LED világít, a relé aktiválva van, és ha a LED nem világít, a relét deaktiválják.

Helyezzen be érvényes SIM-kártyát a GSM-modemre, és próbálja kihasználni a hálózati szolgáltató által az SMS-hez igénybe vett ajánlatokat, például az árcsökkentőket, ami csökkenti az SMS költségeit.

Program kód:

//----------------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. MEGJEGYZÉS: A program fordítása közben figyelmeztetés jelenik meg, amelyet figyelmen kívül hagyhat. A program ellenőrzése és tesztelése megtörtént.

2. MEGJEGYZÉS: Kérjük, távolítsa el a TX és az RX kapcsolatot az arduino-ból a kód feltöltése közben.

3. MEGJEGYZÉS: Cserélje ki az „xxxxxxxxxxxxx” szót a címzett telefonszámára a program 4 helyén.

4. MEGJEGYZÉS: Kérjük, hogy áramkimaradás esetén vásároljon egy GSM modemet bekapcsológomb nélkül, ha áramkimaradás esetén nem fog bekapcsolódni a mobilhálózatban, hacsak nem nyomja meg kézzel a gombot, ezért kerülje az ilyen típusú GSM modemeket. A GSM modem nélkül bekapcsológomb az áram megtartása után közvetlenül a mobilhálózathoz kapcsolódik.

A GSM szivattyú motorvezérlő áramkörének szerzői prototípusa:

A fenti beállítások használata:

• Küldés / motor be / SMS a mobiltelefonról a relé aktiválásához.

• Küldés / motor ki / SMS a relé kikapcsolásához.

• Küldés / teszt / SMS az áramkör válaszának teszteléséhez.

Győződjön meg róla, hogy a parancsot „/” - val kezdte, a „/” - val fejezte be, különben nem fogadja el érvényes kérésként.

• / motor be / bekapcsolja a relét és visszatér a „Motor aktiválva” nyugtázó SMS-sel.

• / a motor kikapcsolja / kikapcsolja a relét és visszatér a „Motor deaktivált” nyugtázó SMS-sel.

• Ha elküldi / teszteli, akkor nyugtázó SMS-sel tér vissza: „A rendszer jól működik.”

• A fenti üzenet azt jelzi, hogy a beállítás jól működik.

• Ha nem kap visszaigazolást, akkor feltételezheti, hogy semmilyen műveletet nem hajtott végre a motor, és elháríthatja a problémákat.

• Miután bekapcsolta a beállítást, várjon 1 perc a rendszer nyugtázó SMS-t küld “A rendszer készen áll a parancsok elfogadására.” miután megkapta ezt az SMS-t, a projekt készen áll a kiszolgálásra.

A fenti parancsok bolondbiztosak, és soha nem indítják hamisan a motort, a beállítás a fent megadott ajánlásokon kívül semmilyen SMS-re nem válaszol.

A fenti koncepció javítása

Ez a fenti GSM szivattyú alkalmazás áramkör rengeteg olvasót vonzott, és rengeteg kérdést és javaslatot kaptunk. A weboldal egyik lelkes olvasója, Mr. Gandhi jó fejlesztést javasolt a korábbi tervezésen.

SMS nyugtázás, amikor a motor valójában BE van kapcsolva

A fejlesztés a nyugtázás visszaállításáról szól, ahol a felhasználó SMS-választ kap a mobiltelefonjában a GSM-től szivattyúvezérlő rendszer amikor a felhasználó érvényes SMS megjegyzést küld.

A meglévő kialakítás nyugtázó SMS-t küld a felhasználónak, függetlenül a relé tényleges állapotától, azaz BE / KI.

A Mr. Gandhi által javasolt új tervmódosítás ellenőrzi a relé állapotát, hogy a relé fizikailag át van-e kapcsolva vagy sem.

A változás ennek az új GSM víznek megfelelően szivattyúvezérlő kialakítása a sematikus ábrán bemutatott visszacsatolási rendszer hozzáadásával és az új kód feltöltésével nagy gond nélkül megvalósítható az előző terv szerint.

Kördiagramm:

Amikor a „/ MOTOR ON /” SMS parancsot elküldjük, a # 9 tű magasra megy, és beindítja a relét. Ha a relé összeköti a közös és az N / O csapokat, akkor a szivattyú elindul, és bekapcsolja a transzformátort is, amely +5 értéket ad a kimeneten.

A + 5V jelet a # 7-es csapba táplálják, amely megerősíti és visszatér a 'Motor aktiválva' nyugtázással.

Amikor a „/ MOTOR OFF /” üzenetet elküldjük, a # 9 tű LOW állásba fordul, és a relé leválasztja a közös és az N / O csapokat, ez kikapcsolja a szivattyút, valamint a csatlakoztatott transzformátort. A # 7-es kimenet kimenete LOW-ra megy, és visszatér a 'Motor deaktiválva' nyugtázással.

Ha nincs nyugtázás SMS érkezik a mobiltelefonjára , megerősíthetjük, hogy semmilyen művelet nem történt, és a szivattyú az utolsó kért állapotban van, elmehet a helyszínre, és elháríthatja a hibákat, vagy nem kap nyugtázást az áramkimaradás miatt.

Program kód:

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

A fenti megvalósítást gyakorlatilag nem tesztelték, de a szerző százalékosan biztos abban, hogy a fenti ötlet működni fog. Ha az olvasók bármilyen problémát találtak a fenti fejlesztéssel kapcsolatban, kifejthetik a megjegyzés részben.

Alkatrészlista

1) A transzformátor lépjen 12-0V-ra
2) IN4007 x5 diódák
3) LM7812 x1
4) 12V x1 relé
5) BC548 x1 tranzisztor
6) Elektrolit kondenzátor 1000uF x1
7) GSM modul: SIM 800 vagy SIM 900 modell
8) 330 Ohmos ellenállás x2
9) LED VÖRÖS / ZÖLD x1
10) Arduino Uno vagy Arduino nano vagy Arduino Mega
11) DC-csatlakozó x2

Videoklip:

Integráció háromfázisú motorokkal

Sok kérést kaptam a relé fokozatának frissítésére a fenti kialakítás érdekében, hogy kompatibilis legyen a 3 fázisú motorok GSM-mobiltelefon-parancsokkal történő működtetéséhez.

Ezért úgy döntöttem, hogy megtervezem a szükséges áramkört, amely remélhetőleg képes be- és kikapcsolni egy adott 3 fázisú motort, amelynek tipikus indító és leállító kontaktor mechanizmusa van.

Az alábbi ábra bemutatja, hogyan konfigurálható a tervezés IC 4017 áramkör segítségével.

GSM 3 fázisú motorvezérlő távoli mobiltelefon

MEGJEGYZÉS: A 100uF / 10K, a 220uF és a 47K értékeket némi beállításra lehet szükség annak érdekében, hogy a megfelelő tranzisztorok és relé fokozatok késleltetése megfelelő legyen.




Előző: Betolakodó helyzetjelző biztonsági áramkör Következő: Távvezérelt napelemes lámpa fényerősség-szabályozó áramköre