Obvod řadiče motoru čerpadla GSM pomocí Arduina

Vyzkoušejte Náš Nástroj Pro Odstranění Problémů





V tomto příspěvku budeme konstruovat obvod řízení motoru čerpadla GSM přátelský k zemědělcům, který by mohl
zapněte a vypněte zavlažovací systém na dálku odkudkoli na světě pomocí SMS mobilního telefonu a vraťte se s potvrzovací zprávou. Nápad požadoval pan PG Ragavandir.

Design

Zemědělství je jedním z největších průmyslových odvětví v Indii, kde se každý rok podává jídlo pro více než miliardu lidí. Produkce velkého množství jídla není nikdy snadný úkol, zavlažování je jedním z faktorů.



Většina zemědělských plodin se nachází daleko od jejich bydliště, pouhé zapnutí vodního čerpadla stojí ročně obrovské náklady na jejich přepravu.

Indie je známá svými dovednostmi v oblasti IT a vesmírnými programy a dosáhla marže pod cenu filmu „Gravitace“, což znamená velký potenciál mezi inženýry a vědci. Dovednosti však nejsou rovnoměrně rozloženy v různých oblastech. Zemědělství je jednou z oblastí, kde je technologický rozvoj pomalý.



Tento ovladač motoru s čerpadlem GSM založený na SMS dělá dětský krok směrem rozvoj zemědělství , nemusí to být revoluční projekt, ale může přinést potěšení mezi zemědělci.

Pojďme se ponořit do technické části projektu.

Projekt je navržen s minimem hardwarových komponent, aby ho začátečník mohl snadno dokončit.
Obvod se skládá z napájecího zdroje, který napájí celé nastavení.

Arduino je mozkem projektu, který rozhoduje, a GSM modem, který odesílá a přijímá textové SMS a komunikuje s uživatelem a relé, které řídí motor.

Jak to funguje

Obvod řadiče motoru čerpadla GSM pomocí Arduina

Poznámka: Použijte prosím alespoň 10K rezistor na základně tranzistoru BC548, 330 Ohmů je příliš nízkých.

The transformátor ustoupit 230VAC na 12VAC a můstkový usměrňovač převádějí střídavý proud na stejnosměrný proud a proud prochází elektrolytickým kondenzátorem, aby se vyhladilo napájení.

Opravený Regulátor napětí 12V dodává energii Arduinu, GSM modemu a relé. The GSM modem je připojen k arduino na pinu # 0 a pinu # 1, což jsou RX a TX.

RX GSM je připojen k TX arduina a TX z GSM je připojen k RX arduina. Pokud jste zmatení, podívejte se na níže uvedený diagram, nesprávné připojení nebude odesílat ani přijímat SMS.

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

Mezi arduino a GSM modemem je také vytvořeno zemní spojení.

Zkuste získat zástrčku napájecího konektoru pro GSM a arduino, pokud ne jen pájejte vodiče přímo ze zdroje na arduino a GSM, což by mohlo zvýšit nepořádek v projektu.

Tranzistor pohání relé a dioda chrání obvod před vysokonapěťovými hroty při zapnutí / vypnutí relé.

The LED indikátor zobrazuje stav relé. Pokud LED dioda svítí, relé je aktivováno a pokud LED dioda nesvítí, relé je deaktivováno.

Vložte platnou SIM kartu do GSM modemu a zkuste využít nabídky, které nabízí poskytovatel sítě pro SMS, jako jsou nástroje na snižování sazeb, což sníží 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: Při kompilaci programu se zobrazuje varování, které můžete ignorovat. Program je ověřen a otestován.

POZNÁMKA 2: Odeberte prosím během nahrávání kódu spojení TX a RX z arduina.

POZNÁMKA 3: Nahraďte „xxxxxxxxxxxxx“ telefonním číslem příjemce na 4 místech v programu.

POZNÁMKA 4: Kupte si prosím GSM modem bez tlačítka napájení v modulu pro případ výpadku napájení, který se nezachytí do mobilní sítě, pokud tlačítko nestisknete ručně, tak se vyhněte takovým typům GSM modemů. GSM modem jeden bez tlačítko napájení se připojí do mobilní sítě hned po zachování napájení.

Autorův prototyp obvodu ovladače motoru čerpadla GSM:

Jak použít výše uvedené nastavení:

• Odeslat / zapnout motor / SMS z vašeho mobilního telefonu pro aktivaci relé.

• Odeslat / vypnout motor / SMS pro deaktivaci relé.

• Odeslat / otestovat / SMS pro testování odezvy z obvodu.

Ujistěte se, že spustíte příkaz „/“ a končíte „/“, jinak nebude přijat jako platný požadavek.

• / motor zapne / zapne relé a vrátí se potvrzovací SMS „Motor aktivován“.

• / motor vypnut / vypne relé a vrátí se potvrzovací SMS „Motor deaktivován.“

• Pokud odešlete / otestujete /, vrátí se s potvrzovací SMS „Systém funguje dobře.“

• Výše ​​uvedená zpráva znamená, že vaše nastavení funguje dobře.

• Pokud vám není vráceno žádné potvrzení, můžete předpokládat, že na motoru nepředchází žádná akce, a můžete problémy odstranit.

• Po zapnutí nastavení počkejte 1 minuta systém odešle potvrzovací SMS „Systém je připraven přijímat příkazy.“ jakmile obdržíte tuto SMS, je váš projekt připraven sloužit.

Výše uvedené příkazy jsou bláznivé a nikdy nespouštějí motor falešně, nastavení nebude reagovat na žádné jiné SMS než výše uvedené pochvaly.

Vylepšení výše uvedené koncepce

Tento výše uvedený aplikační obvod GSM pumpy přilákal spoustu čtenářů a obdrželi jsme spoustu dotazů a návrhů. Jeden z vášnivých čtenářů tohoto webu pan Gandhi navrhl dobré vylepšení předchozího designu.

Potvrzení SMS, když je motor skutečně zapnutý

Vylepšení se týká zpětného potvrzení, kdy uživatel obdrží odpověď SMS na svůj mobilní telefon z GSM systém ovladače čerpadla když uživatel odešle platný komentář SMS.

Stávající konstrukce odesílá potvrzovací SMS uživateli nezávisle na aktuálním stavu relé, tj. ZAPNUTO / VYPNUTO.

Nová změna designu navržená panem Gandhim kontroluje stav relé, zda je relé fyzicky přepnuto do svého stavu nebo ne.

Změna podle této nové GSM vody design ovladače čerpadla lze implementovat do předchozího designu bez velkých potíží přidáním systému zpětné vazby, jak je znázorněno ve schématu, a nahráním nového kódu.

Kruhový diagram:

Když pošleme SMS příkaz „/ MOTOR ZAPNUTÝ“, pin # 9 se zvýší a aktivuje relé ZAPNUTO. Pokud relé spojuje společné a spínací piny, čerpadlo se spustí a také zapne transformátor, který na výstupu dá +5.

Signál + 5V je přiveden na pin # 7, který potvrdí a vrátí se s potvrzením „Motor aktivován“.

Když pošleme „/ MOTOR VYPNUTO“, pin # 9 se otočí LOW a relé odpojí společné a N / O piny, tím se vypne čerpadlo i připojený transformátor. Výstup na pinu č. 7 jde NÍZKÝ a vrátí se s potvrzením „Motor deaktivován“.

Pokud žádné potvrzení SMS je přijímána na váš mobilní telefon , můžeme potvrdit, že nebyla učiněna žádná akce a čerpadlo je v posledním požadovaném stavu, můžete přejít na web a vyřešit problém, nebo není přijato potvrzení kvůli výpadku proudu.

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

Výše uvedená implementace není prakticky testována, ale autor si je stoprocentně jistý, že výše uvedená myšlenka bude fungovat. Pokud čtenáři zjistili nějaké problémy s výše uvedeným vylepšením, mohou je vyjádřit prostřednictvím sekce komentářů.

Seznam součástí

1) Transformátor sestoupit 12-0V
2) Diody IN4007 x5
3) LM7812 x1
4) Relé 12V x1
5) BC548 Tranzistor x1
6) Elektrolytický kondenzátor 1000uF x1
7) GSM modul: model SIM 800 nebo SIM 900
8) Rezistor 330 Ohm x2
9) LED ČERVENÁ / ZELENÁ x1
10) Arduino Uno nebo Arduino nano nebo Arduino Mega
11) DC zástrčka x2

Videoklip:

Integrace s 3fázovými motory

Obdržel jsem mnoho požadavků na upgrade reléového stupně pro výše uvedený design tak, aby se stal kompatibilním pro provoz 3fázových motorů pomocí příkazů GSM mobilního telefonu.

Proto jsem se rozhodl navrhnout požadovaný obvod, který bude doufejme být schopen zapnout a vypnout dané 3fázové motory mající typický spouštěcí a zastavovací stykačový mechanismus.

Následující obrázek ukazuje, jak konfigurovat návrh pomocí obvodu IC 4017.

Dálkový mobilní telefon GSM s 3fázovým ovladačem motoru

POZNÁMKA: Hodnoty 100uF / 10K a 220uF a 47K mohou vyžadovat určité úpravy, aby byla zajištěna správná doba zpoždění pro příslušné tranzistory a stupně relé.




Předchozí: Bezpečnostní obvod indikátoru polohy vetřelce Další: Dálkově ovládaný obvod regulátoru intenzity solární lampy