Arduino kullanarak GSM Pompa Motor Kontrol Devresi

Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin





Bu yazıda, çiftçi dostu bir GSM pompa motor kontrol devresi inşa edeceğiz.
sulama sistemini dünyanın herhangi bir yerinden cep telefonu SMS ile uzaktan açıp kapatın ve size bir onay mesajı ile geri dönün. Fikir, Sayın PG Ragavandir tarafından talep edildi.

Dizayn

Tarım, Hindistan'da her yıl bir milyardan fazla insana gıda hizmeti veren en büyük endüstrilerden biridir. Çok miktarda yiyecek üretmek asla kolay bir iş değildir, sulama faktörlerden biridir.



Ziraatçının mahsul tarlasının çoğu, ikametlerinden uzakta bulunuyor, sadece su pompasını açmak, nakliyeleri için çok pahalıya mal oluyor.

Hindistan, BT becerileri ve uzay programları ile tanınır ve “Yerçekimi” filminin maliyetinden daha azına ulaştı, bu, Mühendisler ve Bilim İnsanları arasındaki büyük potansiyeli ifade ediyor. Ancak, beceriler farklı alanlara eşit olarak dağılmamıştır Tarım, teknolojik gelişimin yavaş olduğu alanlardan biridir.



Bu SMS tabanlı GSM pompa motor kontrolörü, tarımsal gelişme Bu devrimci bir proje olmayabilir ama çiftçiler arasında mutluluk getirebilir.

Projenin teknik kısmına geçelim.

Proje, yeni başlayanların kolaylıkla başarabilmesi için minimum donanım bileşenleri ile tasarlanmıştır.
Devre, tüm kuruluma güç sağlayan güç kaynağından oluşur.

Arduino, projenin beyni ve motoru kontrol eden röle ve kullanıcı ile iletişim kuran, SMS gönderen ve alan GSM modemdir.

Nasıl çalışır

Arduino kullanarak GSM Pompa Motor Kontrol Devresi

Not: Lütfen BC548 transistörünün tabanında en az 10K direnç kullanın, 330 Ohm çok düşük.

trafo indirimi 230VAC'den 12VAC'ye ve köprü doğrultucu, AC'yi DC akımına dönüştürür ve akım, güç kaynağını yumuşatmak için bir elektrolitik kapasitörden geçer.

Sabit 12V voltaj regülatörü arduino, GSM modem ve röleye güç verir. GSM modem arduino'ya sırasıyla RX ve TX olan pin # 0 ve pin # 1'den bağlanır.

GSM'in RX'i arduino'nun TX'ine ve GSM'nin TX'i arduino'nun RX'ine bağlanır. Kafanız karıştıysa, aşağıdaki şemaya bakın, yanlış bağlantı SMS gönderip almayacaktır.

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

Arduino ile GSM modem arasında da topraklama bağlantısı kurulur.

GSM ve arduino için bir erkek jak güç konektörü almaya çalışın, eğer sadece güç kaynağından gelen kabloları doğrudan arduino ve GSM'e lehimlemek değilse, bu da projedeki karışıklığı artırabilir.

Transistör röleyi çalıştırır ve diyot, röleyi AÇIK / KAPALI konuma getirirken devreyi yüksek voltaj yükselmelerinden korur.

LED göstergesi rölenin durumunu gösterir. LED yanarsa, röle etkinleştirilir ve LED kapalıysa, röle devre dışı bırakılır.

GSM modeme geçerli bir SIM takın ve şebeke sağlayıcısının, ücret kesiciler gibi SMS için sunduğu tekliflerden yararlanmaya çalışın, bu da SMS masraflarını azaltacaktır.

Program kodu:

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

NOT 1: Programı derlerken göz ardı edebileceğiniz bir uyarı gösterir. Program doğrulandı ve test edildi.

NOT 2: Lütfen kodu yüklerken arduino'dan TX ve RX bağlantısını kaldırın.

NOT 3: 'xxxxxxxxxxxxx' i programda 4 yerde alıcının telefon numarasıyla değiştirin.

NOT 4: Lütfen güç kesintisi durumunda modülde güç düğmesi olmayan bir GSM modem satın alın, düğmeye manuel olarak basmadığınız sürece mobil ağa kilitlenmeyecektir, bu nedenle bu tür GSM modemlerden kaçının. GSM modem biri olmadan güç düğmesi güç tutulduktan sonra doğrudan mobil ağa bağlanacaktır.

Yazarın GSM Pompa Motor Kontrol Devresi Prototipi:

Yukarıdaki kurulum nasıl kullanılır:

• Röleyi etkinleştirmek için cep telefonunuzdan / motor açık / SMS gönderin.

• Röleyi devre dışı bırakmak için / motoru kapat / SMS gönder.

• Devreden gelen yanıtı test etmek için gönder / test / SMS.

Komutu '/' ile başlattığınızdan ve '/' ile bitirdiğinizden emin olun, aksi takdirde geçerli istek olarak kabul edilmez.

• / motor açık / röleyi AÇIK konuma getirecek ve 'Motor Etkinleştirildi' onay SMS'iyle geri dönecektir.

• / motor kapalı / röleyi kapatır ve 'Motor Devre Dışı Bırakıldı' onay SMS'iyle geri döner.

• Gönderirseniz / test ederseniz / 'Sistem İyi Çalışıyor' onay SMS'iyle geri döner.

• Yukarıdaki mesaj, kurulumunuzun düzgün çalıştığını gösterir.

• Herhangi bir onay verilmezse, motorda herhangi bir işlemin yapılmadığını varsayabilir ve sorunları giderebilirsiniz.

• Kurulumu AÇIK konuma getirdikten sonra bekleyin 1 dakika sistem, 'Sistem komutları kabul etmeye hazır' şeklinde bir bilgilendirme SMS'i gönderecektir. Bu SMS'i aldığınızda projeniz hizmete hazırdır.

Yukarıdaki komutlar kusursuzdur ve motoru asla yanlış şekilde tetiklemez, kurulum, yukarıda belirtilen komutlar dışında herhangi bir SMS'e yanıt vermez.

Yukarıdaki Konseptin İyileştirilmesi

Yukarıdaki GSM pompa uygulama devresi çok sayıda okuyucu çekti ve tonlarca sorgu ve öneri aldık. Bu web sitesinin hevesli okuyucularından biri olan Bay Gandhi, önceki tasarıma iyi bir gelişme önerdi.

Motor Gerçekte AÇIK Olduğunda SMS Onayı

İyileştirme, kullanıcının GSM'den cep telefonuna bir SMS yanıtı alacağı geri alma onayı ile ilgilidir. pompa kontrol sistemi Kullanıcı geçerli bir SMS yorumu gönderdiğinde.

Mevcut tasarım, kullanıcıya rölenin gerçek durumundan, yani AÇIK / KAPALI durumundan bağımsız olarak bir alındı ​​SMS'i gönderir.

Bay Gandhi'nin önerdiği yeni tasarım değişikliği, rölenin fiziksel olarak durumunun değiştirilip değiştirilmediğini kontrol eder.

Bu yeni GSM suyuna göre değişim pompa kontrolör tasarımı Şematikte gösterildiği gibi bir geri bildirim sistemi ekleyerek ve yeni kodu yükleyerek önceki tasarıma çok fazla güçlük çekmeden uygulanabilir.

Devre şeması:

'/ MOTOR ON /' SMS komutunu gönderdiğimizde, pin # 9 yükselir ve röleyi AÇIK duruma getirir. Röle ortak ve N / O pinlerini bağlarsa pompa başlar ve ayrıca çıkışta +5 verecek olan transformatörü açar.

+ 5V sinyali, 'Motor etkinleştirildi' onayıyla onaylayacak ve geri dönecek olan # 7'ye beslenir.

'/ MOTOR OFF /' gönderdiğimizde, pin # 9 DÜŞÜK olur ve röle ortak ve N / O pinlerini ayırır, bu pompayı ve bağlı trafoyu kapatır. Pim # 7'deki çıkış DÜŞÜK olur ve 'Motor devre dışı bırakıldı' onayıyla geri döner.

Kabul yoksa Cep telefonunuza SMS alındı , herhangi bir işlem yapılmadığını ve pompanın istenen son durumda olduğunu teyit edebiliriz, siteye gidip sorunu giderebilir veya elektrik kesintisi nedeniyle herhangi bir onay alınmaz.

Program kodu:

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

Yukarıdaki uygulama pratik olarak test edilmemiştir, ancak yazar yukarıdaki fikrin işe yarayacağından yüzde yüzde emin. Okuyucular yukarıdaki iyileştirmeyle ilgili herhangi bir sorun bulursa, yorum bölümü aracılığıyla ifade edebilir.

Parça listesi

1) Transformatör 12-0V aşağı adım
2) Diyotlar IN4007 x5
3) LM7812 x1
4) Röle 12V x1
5) BC548 Transistör x1
6) Elektrolitik Kondansatör 1000 uF x1
7) GSM modülü: SIM 800 veya SIM 900 modeli
8) 330 Ohm Direnç x2
9) LED KIRMIZI / YEŞİL x1
10) Arduino Uno veya Arduino nano veya Arduino Mega
11) DC erkek jak x2

Video klip:

3 Fazlı Motorlarla Entegrasyon

Yukarıdaki tasarımın röle aşamasını GSM cep telefonu komutlarını kullanarak 3 fazlı motorları çalıştırmaya uyumlu hale getirmek için birçok talep alıyorum.

Bu nedenle gerekli devreyi tasarlamaya karar verdim. inşallah Tipik başlatma ve durdurma kontaktör mekanizmasına sahip belirli bir 3 fazlı motorları AÇIK ve KAPALI konuma getirebilir.

Aşağıdaki şekil, tasarımın bir IC 4017 devresi kullanılarak nasıl yapılandırılacağını göstermektedir.

GSM 3 fazlı motor kontrol cihazı uzaktan cep telefonu

NOT: 100uF / 10K ve 220uF ve 47K değerleri, ilgili transistörler ve röle aşamaları için doğru gecikme miktarını sağlamak için bazı ayarlamalara ihtiyaç duyabilir.




Önceki: Hırsız Pozisyon Göstergesi Güvenlik Devresi Sonraki: Uzaktan Kumandalı Güneş Lambası Yoğunluk Kontrol Devresi