Obvod ovládača motora čerpadla GSM pomocou Arduina

Obvod ovládača motora čerpadla GSM pomocou Arduina

V tomto príspevku skonštruujeme obvod motora motora čerpadla GSM vhodný pre poľnohospodárov, ktorý by mohol
zapínajte a vypínajte zavlažovací systém na diaľku odkiaľkoľvek na svete prostredníctvom mobilných SMS a vráťte sa s potvrdzovacou správou. Túto myšlienku požadoval pán PG Ragavandir.



Dizajn

Poľnohospodárstvo je jedným z najväčších priemyselných odvetví v Indii, kde sa každý rok podáva jedlo pre viac ako miliardu ľudí. Produkcia veľkého množstva potravín nie je nikdy ľahká úloha. Jedným z faktorov je zavlažovanie.

Väčšina polí poľnohospodárov sa nachádza ďaleko od ich bydliska, len zapnutie vodného čerpadla stojí ročne ich prepravu obrovské.





India je známa svojimi zručnosťami v oblasti IT a vesmírnymi programami. Dosiahla na marci menej ako náklady na film „Gravitácia“, čo znamená veľký potenciál medzi inžiniermi a vedcami. Zručnosti však nie sú rovnomerne rozložené v rôznych oblastiach. Poľnohospodárstvo je jednou z oblastí, kde je technologický rozvoj pomalý.

Tento ovládač motora čerpadla GSM založený na SMS robí detský krok k rozvoj poľnohospodárstva , nemusí to byť revolučný projekt, ale môže potešiť poľnohospodárov.



Poďme sa ponoriť do technickej časti projektu.

Projekt je navrhnutý s minimom hardvérových komponentov, aby ho začiatočník zvládol s ľahkosťou.
Obvod sa skladá z napájacieho zdroja, ktorý napája celé nastavenie.

Arduino je mozgom projektu, ktorý rozhoduje, a GSM modem, ktorý odosiela a prijíma textové SMS a komunikuje s používateľom a relé, ktoré riadi motor.

Ako to funguje

Obvod ovládača motora čerpadla GSM pomocou Arduina

Poznámka: Použite aspoň 10K rezistor na základni tranzistora BC548, 330 Ohmov je príliš nízkych.

The transformátor ustúpiť 230VAC na 12VAC a mostový usmerňovač premieňajú striedavý prúd na jednosmerný prúd a prúd prechádza elektrolytickým kondenzátorom, aby sa vyrovnalo napájanie.

Opravený 12V regulátor napätia napája Arduino, GSM modem a relé. The GSM modem je pripojený k arduino na pinoch 0 a 0, ktoré sú RX a TX.

RX GSM je pripojený k TX Arduino a TX GSM je pripojený k RX Arduino. Ak ste zmätení, stačí sa pozrieť na nižšie uvedený diagram, nesprávne pripojenie nebude odosielať ani prijímať SMS.

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

Medzi arduino a GSM modemom je nadviazané aj spojenie zem-zem.

Skúste si zaobstarať zástrčku napájacieho konektora pre GSM a arduino, ak nielen spájkujte vodiče priamo zo zdroja napájania na arduino a GSM, čo by mohlo zvýšiť neporiadok v projekte.

Tranzistor poháňa relé a dióda chráni obvod pred vysokonapäťovými hrotmi pri zapínaní a vypínaní relé.

The LED indikátor zobrazuje stav relé. Ak LED svieti, relé je aktivované a ak LED nesvieti, relé je deaktivované.

Vložte platnú SIM kartu na GSM modem a pokúste sa využiť ponuky ponúkané poskytovateľom siete na SMS, ako sú napríklad nástroje na znižovanie cien, ktoré znížia náklady na SMS.

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

POZNÁMKA 1: Počas kompilácie programu zobrazuje varovanie, ktoré môžete ignorovať. Program je overený a testovaný.

POZNÁMKA 2: Počas nahrávania kódu prosím odpojte TX a RX pripojenie od arduina.

POZNÁMKA 3: Nahraďte „xxxxxxxxxxxxx“ telefónnym číslom príjemcu na 4 miestach v programe.

POZNÁMKA 4: Zakúpte si GSM modem bez vypínača v module pre prípad výpadku napájania, ktorý sa nezaskočí do mobilnej siete, pokiaľ tlačidlo nestlačíte manuálne, vyhnite sa takémuto typu GSM modemov. Modem GSM bez vypínač sa zaistí v mobilnej sieti ihneď po udržaní napájania.

Autorský prototyp obvodu ovládača motora čerpadla GSM:

Ako používať vyššie uvedené nastavenie:

• Odoslaním / zapnutím motora / SMS z mobilného telefónu aktivujte relé.

• Odoslať / vypnúť motor / SMS na deaktiváciu relé.

• Send / test / SMS na testovanie odozvy z obvodu.

Príkaz začnite znakom „/“ a koniec znakom „/“, inak nebude akceptovaný ako platná požiadavka.

• / motor zapne / zapne relé a vráti sa s potvrdzovacou SMS „Motor aktivovaný“.

• / motor vypnutý / vypne relé a vráti sa s potvrdzovacou SMS „Motor deaktivovaný“.

• Ak pošlete / otestujete /, vráti sa s potvrdzovacou SMS „Systém funguje dobre.“

• Vyššie uvedená správa znamená, že vaše nastavenie funguje dobre.

• Ak sa vám nevráti potvrdenie, môžete predpokladať, že na motore sa nevykonáva žiadna činnosť a môžete problém vyriešiť.

• Po zapnutí nastavenia počkajte 1 minútu systém odošle potvrdzujúcu SMS „Systém je pripravený prijímať príkazy.“ Len čo dostanete túto SMS, je váš projekt pripravený slúžiť.

Vyššie uvedené príkazy sú bláznivé a nikdy nespúšťajú motor falošne, nastavenie nebude reagovať na žiadne SMS okrem vyššie uvedených pochvál.

Vylepšenie vyššie uvedenej koncepcie

Tento vyššie uvedený aplikačný okruh GSM pumpy prilákal veľa čitateľov a dostali sme veľa otázok a návrhov. Jeden z vášnivých čitateľov tejto webovej stránky Mr.Gandhi navrhol dobré vylepšenie predchádzajúceho dizajnu.

SMS potvrdenie, keď je motor skutočne zapnutý

Vylepšenie spočíva v spätnom potvrdení, kde užívateľ dostane SMS správu vo svojom mobilnom telefóne z GSM systém regulátora čerpadla keď užívateľ pošle platný SMS komentár.

Existujúci návrh odosiela potvrdzovacie SMS používateľovi nezávisle od skutočného stavu relé, t. J. ZAP / VYP.

Nová konštrukčná zmena navrhnutá pánom Gandhim kontroluje stav relé, či je relé fyzicky prepnuté do svojho stavu alebo nie.

Zmena podľa tejto novej GSM vody návrh regulátora čerpadla je možné implementovať do predchádzajúceho dizajnu bez väčších problémov pridaním systému spätnej väzby, ako je znázornené na schéme, a nahraním nového kódu.

Schéma zapojenia:

Keď pošleme SMS príkaz „/ MOTOR ZAPNUTÝ“, pin # 9 sa zvýši a aktivuje relé ZAPNUTÉ. Ak relé spája spoločné a N / O piny, čerpadlo sa spustí a tiež zapne transformátor, ktorý na výstupe dá +5.

Signál + 5V sa privádza na pin # 7, ktorý potvrdí a vráti sa s potvrdením „Motor je aktivovaný“.

Keď pošleme „/ MOTOR VYPNUTÝ“, pin # 9 sa otočí LOW a relé odpojí bežné a N / O piny, tým sa vypne čerpadlo aj pripojený transformátor. Výstup na pin # 7 ide LOW a vracia sa s potvrdením „Motor deaktivovaný“.

Ak žiadne potvrdenie SMS je prijímaná do vášho mobilného telefónu , môžeme potvrdiť, že neboli podniknuté žiadne kroky a čerpadlo je v poslednom požadovanom stave, môžete prejsť na stránku a vyriešiť problém, alebo sa neobdrží žiadne potvrdenie z dôvodu prerušenia napájania.

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

Vyššie uvedená implementácia nie je prakticky testovaná, ale autor je si stopercentne istý, že uvedená myšlienka bude fungovať. Ak čitatelia našli nejaké problémy s vyššie uvedeným vylepšením, môžu ich vyjadriť prostredníctvom sekcie komentárov.

Zoznam dielov

1) Transformátor zostúpiť 12-0V
2) Diódy IN4007 x5
3) LM7812 x1
4) Relé 12V x1
5) BC548 Tranzistor x1
6) elektrolytický kondenzátor 1 000uF x1
7) GSM modul: model SIM 800 alebo SIM 900
8) Rezistor 330 Ohm x2
9) LED ČERVENÉ / ZELENÉ x1
10) Arduino Uno alebo Arduino nano alebo Arduino Mega
11) DC zástrčka x2

Videoklip:

Integrácia s 3 fázovými motormi

Dostával som veľa požiadaviek na modernizáciu reléového stupňa pre vyššie uvedený dizajn tak, aby bol kompatibilný pre prevádzku 3fázových motorov pomocou príkazov GSM mobilného telefónu.

Preto som sa rozhodol navrhnúť požadovaný obvod, ktorý bude dúfajme byť schopný zapnúť a vypnúť dané 3fázové motory, ktoré majú typický mechanizmus stýkača pre spustenie a zastavenie.

Nasledujúci obrázok ukazuje, ako konfigurovať návrh pomocou obvodu IC 4017.

Diaľkový mobilný telefón GSM s 3fázovým motorom

POZNÁMKA: Hodnoty 100uF / 10K a 220uF a 47K môžu vyžadovať určité úpravy, aby sa zabezpečilo správne množstvo oneskorenia pre príslušné tranzistory a reléové stupne.




Predchádzajúci: Bezpečnostný obvod indikátora polohy votrelca Ďalej: Diaľkovo ovládaný obvod regulátora intenzity solárnej lampy