SMS базиран контролер на помпата с автоматично изключване на сухо изпълнение

Опитайте Нашия Инструмент За Премахване На Проблемите





В този пост ще изградим базиран на SMS контролер за водна помпа с автоматично изключване на помпата, когато не бъде открит поток от вода през помпата. Също така ще изградим още една много по-опростена автоматична схема за предотвратяване на сухо движение без GSM в следващата половина на статията.

Какво е сухо движение в двигатели

Вече обсъдихме по GSM базиран контролер на помпата на този уебсайт го проверете, ако още не сте го направили. Тук добавяме допълнителна функция към съществуващия дизайн, която ще попречи на двигателя да работи на сухо.



Сухо бягане означава пускане на водната помпа без течност. Последицата може да бъде полезна повреда до неизползваема повреда в зависимост от това колко дълго двигателят е работил без изпомпване на водата и качеството на водната помпа.

Да, водните помпи не са евтини и ако сте земеделец, който напоява полето всеки ден, тогава малък проблем с вашата водна помпа може да ви приведе в икономическа загуба.



Обслужването на помпата може да отнеме известно време и пари, така че е по-добре да следвате известния лозунг „превенцията е по-добра от лечението“.

Мотор на сухо движение е много често срещан проблем, когато няма достатъчно вода, която да тече през помпата, ще настъпи прегряване на механични компоненти, както и електрически компоненти.

В даден момент механичните компоненти ще започнат да се топят и също могат да причинят късо съединение.

Такова бедствие може да бъде предотвратено с помощта на схемата, предложена в този проект.

За да открием притока на вода, ние сме използвайки YF-S201 датчик за воден поток . Когато сензорът не открие воден поток, той прекъсва захранването на водната помпа и изпраща SMS потвърждение до получателя за изключването на сухо движение.

С този GSM базиран контрол можете да включвате и изключвате помпата, а също така веригата потвърждава проблема със сухото пускане на помпата.

Верига за управление на помпа чрез SMS:

Верига за управление на помпа чрез SMS:

Веригата се състои от AC към DC преобразувател, използващ 9V трансформатор, мостов токоизправител, изглаждащ кондензатор от 1000 uF и LM7809 9V регулатор. Осигурени са два DC жака за захранване на платката Arduino и SIM 800 / SIM 900 GSM модул.

Никога не захранвайте GSM модула с 5V пин на Arduino към 5V пин на GSM модул, тъй като платката Arduino не може да осигури достатъчно ток.

Връзката между Arduino и GSM модул както следва:

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

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

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

Основното захранване се осигурява от регулатора LM 7809.

Светодиодният индикатор ще свети, ако релето е активирано и се изключва, когато релето е деактивирано.

Диодът IN4007 ще поеме скок с високо напрежение, който се появява при включване и изключване на релето.

Сензорът за водния поток е свързан към щифт A0 на Arduino, 5V и GND, осигурен от платката Arduino.

Програма за 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)
}
}

// ---------------- Програма, разработена от R.Girish ------------ //

Трябва да поставите кода с 10-цифрения номер на мобилен телефон на получателя.

Serial.println ('AT + CMGS = ' + 91xxxxxxxxxx ' r') // Заменете x с мобилен номер

Трябва да поставите мобилния номер на такива 5 места в кода.

SMS команди:

· Вашият SMS винаги трябва да започва с „/“ и да завършва с „/“

· / Двигател включен / за активиране на двигателя.

· / Мотор изключен / за деактивиране на мотора.

· / Тест / за тестване на веригата.

Ето тествания SMS при прототипиране:

тестван SMS при прототипиране

Следните неща можем да наблюдаваме от екрана:

· Първо двигателят се включва и веригата се потвърждава с отговор.

· Двигателят е деактивиран и веригата се потвърждава с отговор.

· Моторът отново се активира и изключва сензора, за да симулира ситуация на сухо движение, веригата изключва помпата и отговаря с потвърждение за сухо движение на помпата.

· Накрая е изпратен тестов SMS и веригата е отговорила с „Системата работи добре“.

Бих предложил да инсталирате сензора за водния поток след няколко метра след водната помпа.

Това завършва превенцията за сухо движение на помпата, базирана на GSM.

Сега нека да разгледаме обикновения предпазител за сухо движение на водна помпа без GSM, това може да е по-лесното от двете.

Електрическа схема:

SMS базиран контролер на помпата с автоматично изключване на сухо изпълнение

Тук няма много какво да обяснявате, просто свържете според схемата. Захранването може да бъде 9V адаптер за стена с поне 500 mA или захранване, илюстрирано в схемата на контролера, базирана на GSM.

Бутонът е предвиден за включване и изключване на помпата.

След като натиснете бутона, за да включите помпата, веригата изчаква до 20 секунди първоначално, за да открие потока вода, като през това време бутонът е деактивиран за 20 секунди.

След началните 20 секунди бутонът е активиран и можете да изключите помпата ръчно, като натиснете отново бутона.

Ако се открие воден поток, веригата поддържа помпата включена след 20 секунди, в противен случай веригата прекъсва захранването на двигателя. Също така веригата може да прекъсне захранването по всяко време, ако не бъде открит воден поток.

Ако веригата се изключи поради сухо движение, светодиодът мига бързо.

Програма за прост предпазител за сухо движение на помпата:

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

Това завършва и двата дизайна.

Ако имате някакви специфични въпроси относно този базиран на SMS контролер на помпата с автоматична верига за изключване на сухо движение, моля изразете в раздела за коментари, може да получите бърз отговор.




Предишен: 4 прости схеми за сензори за близост - Използване на IC LM358, IC LM567, IC 555 Напред: Инкубатор, използващ Arduino с автоматичен контрол на температурата и влажността