Controller ng Pump na Batay sa SMS na may Awtomatikong Tuyong Run Run Shut Off

Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema





Sa post na ito magtatayo kami ng isang nakabatay sa SMS na water pump controller na may awtomatikong pag-shutdown ng pump kapag walang nakita na daloy ng tubig sa pamamagitan ng pump. Magagawa rin namin ang isa pang mas simple na awtomatikong dry run preventer circuit nang walang GSM sa susunod na kalahati ng artikulo.

Ano ang Dry Run sa Motors

Napag-usapan na natin sa Controller ng pump based na GSM sa website na ito suriin ito kung wala pa. Dito nagdaragdag kami ng isang karagdagang tampok sa mayroon nang disenyo, na pipigilan ang motor mula sa dry running.



Tuyong pagtakbo nangangahulugang pagpapatakbo ng water pump nang walang likidong daloy. Ang kahihinatnan ay maaaring maging serbisyo na pinsala sa hindi masisilbing pinsala depende sa kung gaano katagal ang motor ay tumatakbo nang hindi pumping ang tubig at ang kalidad ng pump ng tubig.

Oo, ang mga pump ng tubig ay hindi mura at kung ikaw ay isang magsasaka na tumutubig sa bukid araw-araw, kung gayon ang isang maliit na isyu sa iyong water pump ay maaaring mapunta sa pagkawala ng ekonomiya.



Ang paglilingkod sa bomba ay maaaring tumagal ng ilang oras at pera, kaya mas mahusay na sundin ang sikat na slogan na 'ang pag-iwas ay mas mahusay kaysa sa pagaling'.

Motor dry run ay isang pangkaraniwang problema, kapag walang sapat na tubig na dumaloy sa pamamagitan ng bomba, magaganap ang labis na pag-init ng mga sangkap na mekanikal pati na rin ang mga sangkap na elektrikal.

Sa isang punto ang mga sangkap ng mekanikal ay magsisimulang matunaw at maaari ring maging sanhi ng maikling circuit.

Ang naturang sakuna ay maaaring mapigilan gamit ang circuit, na iminungkahi sa proyektong ito.

Upang makita ang daloy ng tubig, tayo ay paggamit ng YF-S201 sensor ng daloy ng tubig . Kapag walang nakita na daloy ng tubig ng sensor, pinuputol nito ang supply ng kuryente sa water pump at nagpapadala ng pagkilala sa SMS sa tatanggap tungkol sa dry run shut off.

Gamit ang kontrol na batay sa GSM maaari mong i-on at i-off ang bomba at kinikilala din ng circuit ang tungkol sa isyu ng dry dry run.

Circuit para sa kontrol sa pump na nakabatay sa SMS:

Circuit para sa kontrol sa pump na nakabatay sa SMS:

Ang circuit ay binubuo ng AC to DC converter gamit ang 9V transpormer, tulay na tagapagpatuwid ng isang smoothing capacitor na 1000 uF at isang LM7809 9V regulator. Dalawang DC jacks ang ibinigay para sa pag-power ng Arduino board at SIM 800 / SIM 900 GSM module.

Huwag kailanman bigyan ng lakas ang module ng GSM na may 5V pin ng Arduino hanggang 5V pin ng GSM module dahil ang Arduino board ay hindi maaaring magbigay ng sapat na kasalukuyang.

Ang koneksyon sa pagitan ng Arduino at GSM module tulad ng sumusunod:

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

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

Arduino GND ------------------- GND SIM 800/900

Ang pangunahing supply ay ibinibigay ng LM 7809 regulator.

Ang LED tagapagpahiwatig ay mamula-mula kung ang relay ay aktibo at patayin kapag ang relay ay naka-deactivate.

Ang diode IN4007 ay sumisipsip ng mataas na boltahe na spike na nangyayari habang binabago at pinapatay ang relay.

Ang sensor ng daloy ng tubig ay konektado sa A0 pin ng Arduino, 5V at GND na ibinigay mula sa Arduino board.

Programa para sa disenyo batay sa 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)
}
}

// ---------------- Program na binuo ni R.Girish ------------ //

Kailangan mong ilagay ang code sa 10 digit na numero ng mobile phone ng tatanggap.

Serial.println ('AT + CMGS = ' + 91xxxxxxxxxx ' r') // Palitan x ng numero ng mobile

Kailangan mong ilagay ang numero ng mobile sa ganoong 5 mga lugar sa code.

Mga utos ng SMS:

· Ang iyong SMS ay dapat palaging magsimula sa “/” at magtatapos sa “/”

· / Motor sa / para sa pag-aktibo ng motor.

· / Motor off / para sa pag-deactivate ng motor.

· / Pagsubok / para sa pagsubok ng circuit.

Narito ang nasubok na SMS habang prototyping:

nasubukan ang SMS habang nagprotipo

Ang mga sumusunod na bagay na maaari naming obserbahan mula sa screen shot:

· Una ang motor ay nakabukas at kinilala ang circuit na may isang tugon.

· Ang motor ay na-deactivate at ang circuit ay kinilala sa isang tugon.

· Muli ang motor ay aktibo at na-unplug ang sensor upang gayahin ang dry run na sitwasyon, pinapatay ng circuit ang bomba at sumagot na may pagkilala sa dry dry run.

· Sa wakas ay nagpadala ng isang pagsubok na SMS at sumagot ang circuit na may 'System is Working Fine'.

Iminumungkahi ko ang pag-install ng sensor ng daloy ng tubig pagkatapos ng ilang metro pagkatapos ng water pump.

Tinapos nito ang tigbasang G dry based pump dry run.

Tingnan natin ngayon ang simpleng water pump dry run preventer nang walang GSM, maaaring ito ang mas madali sa dalawa.

Diagram ng Circuit:

Controller ng Pump na Batay sa SMS na may Awtomatikong Tuyong Run Run Shut Off

Walang magkano ang tungkol sa ipaliwanag dito, mag-wire lamang ayon sa eskematiko. Ang supply ng kuryente ay maaaring isang 9V wall adapter na may hindi bababa sa 500 mA o ang supply na nakalarawan sa iskema ng controller na batay sa GSM.

Ibinigay ang push button upang i-on at i-off ang bomba.

Kapag pinindot mo ang pindutan upang i-on ang bomba, naghihintay ang circuit hanggang 20 segundo sa una upang makita ang daloy ng tubig, sa oras na iyon ang pindutan ng push ay hindi pinagana para sa 20 segundo.

Matapos ang paunang 20 segundo ang push button ay pinagana at maaari mong i-OFF ang pump nang manu-mano sa pamamagitan ng pagpindot muli sa push button.

Kung napansin ang daloy ng tubig ang circuit ay nagpapanatili ng Bomba pagkatapos ng 20 segundo, kung hindi man ay pinuputol ng circuit ang supply ng kuryente sa motor. Gayundin ang circuit ay maaaring putulin ang supply ng anumang instant, kung walang napansin na daloy ng tubig.

Kung ang circuit ay nakasara dahil sa dry run, ang LED blinks mabilis.

Programa para sa simpleng pumipigil sa dry dry run:

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

Tinatapos nito ang parehong mga disenyo.

Kung mayroon kang anumang mga partikular na katanungan tungkol sa SMS based pump controller na may awtomatikong dry run shut down circuit, mangyaring ipahayag sa seksyon ng komento, maaari kang makatanggap ng mabilis na tugon.




Nakaraan: 4 na Simpleng Sensor Circuits - Paggamit ng IC LM358, IC LM567, IC 555 Susunod: Incubator na Gumagamit ng Arduino na may awtomatikong Temperatura at kontrol sa Humidity