SMS bāzes sūkņa kontrolieris ar automātisku sausas darbības izslēgšanu

Izmēģiniet Mūsu Instrumentu Problēmu Novēršanai





Šajā ziņojumā mēs izveidosim SMS balstītu ūdens sūkņa kontrolieri ar automātisku sūkņa izslēgšanu, ja netiek konstatēta ūdens plūsma caur sūkni. Raksta nākamajā pusē mēs uzbūvēsim arī vēl daudz vienkāršāku automātisko sausās palaišanas novēršanas shēmu bez GSM.

Kas ir sausais skrējiens motoros

Mēs jau esam apsprieduši GSM bāzes sūkņa kontrolieris šajā vietnē pārbaudiet, ja vēl neesat to izdarījis. Šeit mēs pievienojam papildu funkciju esošajam dizainam, kas novērsīs motora sausu darbību.



Sausa skriešana nozīmē ūdens sūkņa darbību bez šķidruma plūsmas. Sekas var būt ekspluatējami bojājumi nederīgiem bojājumiem atkarībā no tā, cik ilgi motors darbojās, nepumpējot ūdeni, un no ūdens sūkņa kvalitātes.

Jā, ūdens sūkņi nav lēti, un, ja jūs esat lauksaimnieks, kurš katru dienu apūdeņo lauku, tad neliels jautājums ar jūsu ūdens sūkni var radīt ekonomiskus zaudējumus.



Sūkņa apkope var aizņemt zināmu laiku un naudu, tāpēc labāk ievērot slaveno saukli “profilakse ir labāka nekā ārstēšana”.

Motora sausa darbība ir ļoti izplatīta problēma, kad caur sūkni nav pietiekami daudz ūdens, lai mehāniski komponenti, kā arī elektriskie komponenti varētu pārkarst.

Vienā brīdī mehāniskie komponenti sāks kust, un tie var izraisīt arī īssavienojumu.

Šādu katastrofu var novērst, izmantojot šajā projektā piedāvāto shēmu.

Lai noteiktu ūdens plūsmu, mēs esam izmantojot YF-S201 ūdens plūsmas sensoru . Ja sensors nenosaka ūdens plūsmu, tas pārtrauc ūdens sūkņa strāvas padevi un nosūta SMS apstiprinājumu saņēmējam par sausās darbības izslēgšanu.

Izmantojot šo GSM balstīto vadību, jūs varat ieslēgt un izslēgt sūkni, kā arī ķēde atzīst par sūkņa sausās darbības problēmu.

Ķēde SMS bāzes sūkņa vadībai:

Ķēde SMS bāzes sūkņa vadībai:

Kontūru veido maiņstrāvas līdz līdzstrāvas pārveidotājs, izmantojot 9V transformatoru, tilta taisngriezi - izlīdzināšanas kondensatoru 1000 uF un LM7809 9V regulatoru. Arduino plates un SIM 800 / SIM 900 GSM moduļa darbināšanai ir paredzēti divi līdzstrāvas ligzdas.

Nekad nedarbiniet GSM moduli ar 5 V kontaktdakšu Arduino uz 5 V kontaktu GSM moduli, jo Arduino dēlis nespēj nodrošināt pietiekami daudz strāvas.

Saikne starp Arduino un GSM modulis sekojoši:

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

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

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

Galveno padevi nodrošina regulators LM 7809.

LED indikators spīdēs, ja relejs ir aktivizēts, un izslēdzas, kad relejs tiek deaktivizēts.

Diods IN4007 absorbēs augstsprieguma tapas, kas rodas, ieslēdzot un izslēdzot releju.

Ūdens plūsmas sensors ir savienots ar Arduino A0 tapu, 5V un GND, ko nodrošina Arduino dēlis.

Programma GSM balstītai projektēšanai:

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

// ---------------- R.Girish izstrādātā programma ------------ //

Jums jāievieto kods ar saņēmēja 10 ciparu mobilā tālruņa numuru.

Serial.println ('AT + CMGS = ' + 91xxxxxxxxxx ' r') // Aizstāt x ar mobilā tālruņa numuru

Jums jāievieto mobilā tālruņa numurs šādās 5 koda vietās.

SMS komandas:

· Jūsu SMS vienmēr jāsākas ar “/” un jābeidzas ar “/”

· / Motors ieslēgts / motora aktivizēšanai.

· / Motors izslēgts / motora izslēgšanai.

· / Test / ķēdes pārbaudei.

Prototipu veidošanas laikā ir pārbaudīta īsziņa:

pārbaudīja SMS prototipēšanas laikā

No ekrānuzņēmuma varam novērot šādas lietas:

· Vispirms ieslēdz motoru un ķēdi apstiprina ar atbildi.

· Motors tiek deaktivizēts un ķēde tiek apstiprināta ar atbildi.

· Atkal motors tiek aktivizēts un atvienots no sensora, lai imitētu sausas darbības situāciju, ķēde izslēdz sūkni un atbildēja ar sūkņa sausas darbības apstiprinājumu.

· Visbeidzot, ir nosūtīta testa īsziņa, un ķēde atbildēja ar “Sistēma darbojas labi”.

Es ieteiktu ūdens plūsmas sensoru uzstādīt pēc pāris metriem pēc ūdens sūkņa.

Ar to tiek secināts, ka uz GSM balstīta sūkņa sausās darbības novēršana.

Tagad apskatīsim vienkāršo ūdens sūkņa sausās darbības novēršanas ierīci bez GSM, tas varētu būt vieglāk no abiem.

Ķēdes shēma:

SMS bāzes sūkņa kontrolieris ar automātisku sausas darbības izslēgšanu

Šeit nekas daudz nav izskaidrojams, vienkārši pieslēdziet shēmu. Barošanas avots var būt 9V sienas adapteris ar vismaz 500 mA vai barošana, kas parādīta GSM balstītas kontrolieru shēmā.

Sūkņa ieslēgšanai un izslēgšanai ir paredzēta spiedpoga.

Nospiežot pogu, lai ieslēgtu sūkni, ķēde sākotnēji gaida līdz 20 sekundēm, lai noteiktu ūdens plūsmu, šajā laikā spiedpoga ir atspējota 20 sekundes.

Pēc sākotnējām 20 sekundēm spiedpoga ir iespējota, un jūs varat manuāli izslēgt sūkni, vēlreiz nospiežot spiedpogu.

Ja tiek konstatēta ūdens plūsma, ķēde pēc 20 sekundēm uztur ieslēgtu sūkni, pretējā gadījumā ķēde pārtrauc motora barošanu. Arī ķēde var jebkurā brīdī pārtraukt padevi, ja netiek konstatēta ūdens plūsma.

Ja ķēde tiek izslēgta sausas darbības dēļ, gaismas diode ātri mirgo.

Programma vienkāršam sūkņa sausas darbības novēršanai:

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

Tas noslēdz abus dizainus.

Ja jums ir kādi konkrēti jautājumi par šo SMS bāzes sūkņa kontrolieri ar automātisku sausas darbības izslēgšanas ķēdi, lūdzu, komentāru sadaļā izsakiet, iespējams, saņemsit ātru atbildi.




Pāri: 4 vienkāršas tuvuma sensoru shēmas - izmantojot IC LM358, IC LM567, IC 555 Nākamais: Inkubators Arduino izmantošana ar automātisku temperatūras un mitruma kontroli