Rangkaian Pengendali Motor Pompa GSM menggunakan Arduino

Coba Instrumen Kami Untuk Menghilangkan Masalah





Pada postingan kali ini kita akan membangun rangkaian pengontrol motor pompa GSM ramah petani yang bisa
hidupkan dan matikan sistem irigasi dari jarak jauh dari mana saja di dunia melalui SMS ponsel dan kembalikan Anda dengan pesan pengakuan. Ide tersebut atas permintaan Bapak PG Ragavandir.

Desain

Pertanian adalah salah satu industri terbesar di India yang menyajikan makanan untuk lebih dari satu miliar orang setiap tahun. Memproduksi makanan dalam jumlah besar bukanlah tugas yang mudah, irigasi adalah salah satu faktornya.



Sebagian besar ladang pertanian para petani terletak jauh dari tempat tinggal mereka, hanya menyalakan pompa air membutuhkan biaya besar untuk transportasi mereka per tahun.

India dikenal dengan keterampilan TI dan program luar angkasa dan mencapai lebih murah daripada biaya film 'Gravity', ini menandakan potensi besar di antara Insinyur dan Ilmuwan. Namun, ketrampilan tidak merata di berbagai bidang pertanian merupakan salah satu bidang di mana perkembangan teknologi lambat.



Pengontrol motor pompa GSM berbasis SMS ini mengambil langkah kecil pembangunan pertanian , ini mungkin bukan proyek revolusioner, tetapi dapat membawa kegembiraan di antara para petani.

Mari selami bagian teknis dari proyek ini.

Proyek ini dirancang dengan komponen perangkat keras minimal sehingga seorang pemula dapat melakukannya dengan mudah.
Sirkuit terdiri dari catu daya, yang memberi daya pada seluruh pengaturan.

Arduino adalah otak dari proyek yang mengambil keputusan dan modem GSM yang mengirim dan menerima teks SMS dan berkomunikasi dengan pengguna dan relai yang mengontrol motor.

Bagaimana itu bekerja

Rangkaian Pengendali Motor Pompa GSM menggunakan Arduino

Catatan: Harap gunakan setidaknya resistor 10K di dasar transistor BC548, 330 Ohm terlalu rendah.

Itu trafo turun 230VAC ke 12VAC dan penyearah jembatan mengubah AC menjadi arus DC dan arus melewati kapasitor elektrolitik untuk memperlancar catu daya.

A tetap Pengatur tegangan 12V memberikan daya ke Arduino, modem GSM dan relay. Itu Modem GSM terhubung ke arduino di pin # 0 dan pin # 1, yang masing-masing RX dan TX.

RX GSM terhubung ke TX arduino dan TX GSM terhubung ke RX arduino. Jika Anda bingung, lihat saja diagram di bawah ini, miskoneksi tidak akan mengirim atau menerima SMS.

ARDUINO TX ---------------------- Modem RX GSM
RX ---------------------- TX

Koneksi ground ke ground juga dibuat antara arduino dan modem GSM.

Cobalah untuk mendapatkan konektor power jack laki-laki untuk GSM dan Arduino, jika tidak hanya solder kabel langsung dari catu daya ke arduino dan GSM, yang dapat meningkatkan kekacauan dalam proyek.

Transistor menggerakkan relai dan dioda melindungi rangkaian dari lonjakan tegangan tinggi saat menghidupkan / mematikan relai.

Itu Lampu indikator menunjukkan status relai. Jika LED menyala, relai diaktifkan dan jika LED mati, relai dinonaktifkan.

Masukkan SIM yang valid pada modem GSM dan coba manfaatkan penawaran yang disediakan oleh penyedia jaringan untuk SMS seperti pemotongan tarif, yang akan mengurangi biaya SMS.

Kode Program:

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

CATATAN 1: Saat menyusun program, muncul peringatan, yang dapat Anda abaikan. Program ini diverifikasi dan diuji.

CATATAN 2: Harap hapus koneksi TX dan RX dari arduino saat mengupload kode.

CATATAN 3: Ganti 'xxxxxxxxxxxxx' dengan nomor telepon penerima di 4 tempat dalam program ini.

CATATAN 4: Harap beli modem GSM tanpa tombol daya di modul jika listrik mati, modem tidak akan masuk ke jaringan seluler kecuali Anda menekan tombol secara manual, jadi hindari jenis modem GSM seperti itu. Modem GSM satu tanpa tombol power akan langsung masuk ke jaringan seluler setelah daya terputus.

Prototipe Sirkuit Pengontrol Motor Pompa GSM Penulis:

Cara menggunakan penyiapan di atas:

• Kirim / motor on / SMS dari ponsel Anda untuk mengaktifkan relai.

• Kirim / motor mati / SMS untuk menonaktifkan relai.

• Kirim / tes / SMS untuk menguji respon dari sirkuit.

Pastikan Anda memulai perintah dengan '/' dan diakhiri dengan '/' jika tidak, perintah tidak akan diterima sebagai permintaan yang valid.

• / motor on / akan ON relai dan kembali dengan SMS pengakuan 'Motor Activated.'

• / motor off / akan mematikan relai dan kembali dengan pemberitahuan SMS “Motor Deactivated.”

• Jika Anda mengirim / menguji / itu akan kembali dengan SMS pengakuan 'Sistem Bekerja Dengan Baik.'

• Pesan di atas menandakan bahwa setup Anda berfungsi dengan baik.

• Jika tidak ada pemberitahuan yang dikembalikan kepada Anda, Anda dapat mengasumsikan bahwa tidak ada tindakan yang dilakukan sebelumnya pada motor dan Anda dapat memecahkan masalah tersebut.

• Setelah menyalakan pengaturan ON tunggu 1 menit sistem akan mengirimkan SMS pengakuan 'Sistem siap menerima perintah'. setelah Anda menerima SMS ini, proyek Anda siap untuk ditayangkan.

Perintah di atas adalah bukti yang sangat mudah dan tidak pernah memicu motor secara salah, pengaturan tidak akan menanggapi SMS apa pun selain pujian yang ditentukan di atas.

Memperbaiki Konsep di atas

Rangkaian aplikasi pompa GSM di atas ini menarik banyak pembaca dan kami telah menerima banyak pertanyaan dan saran. Salah satu pembaca setia situs web ini, Tuan Gandhi, menyarankan perbaikan yang baik untuk desain sebelumnya.

Pengakuan SMS Saat Motor Sebenarnya HIDUP

Peningkatan ini semua tentang pengakuan kembali, di mana pengguna akan menerima respon SMS di ponselnya dari GSM sistem pengontrol pompa saat pengguna mengirimkan komentar SMS yang valid.

Desain yang ada mengirimkan SMS pengakuan kepada pengguna yang tidak bergantung pada status relai yang sebenarnya, yaitu ON / OFF.

Perubahan desain baru yang disarankan oleh Bapak Gandhi memeriksa status relai apakah relai secara fisik beralih statusnya atau tidak.

Perubahan sesuai air GSM baru ini desain pengontrol pompa dapat diimplementasikan ke desain sebelumnya tanpa banyak kerumitan dengan menambahkan sistem umpan balik seperti yang ditunjukkan pada skema dan mengunggah kode baru.

Diagram Sirkuit:

Ketika kami mengirim perintah SMS “/ MOTOR ON /” pin # 9 menjadi tinggi dan memicu relai ON. Jika relai menghubungkan pin common dan N / O, pompa mulai dan juga ON trafo yang akan memberi +5 pada output.

Sinyal + 5V diumpankan ke pin # 7 yang akan mengkonfirmasi dan kembali dengan pemberitahuan 'Motor diaktifkan'.

Ketika kami mengirim '/ MOTOR OFF /' pin # 9 berubah menjadi RENDAH dan relai memutuskan pin common dan N / O, ini akan mematikan pompa serta trafo yang terhubung. Output pada pin # 7 menjadi RENDAH dan kembali dengan pemberitahuan 'Motor dinonaktifkan'.

Jika tidak ada pengakuan SMS diterima di ponsel Anda , kami dapat mengonfirmasi bahwa tidak ada tindakan yang diambil dan pompa berada pada status permintaan terakhir, Anda dapat pergi ke situs dan memecahkan masalah atau tidak ada pemberitahuan yang diterima karena pemadaman listrik.

Kode Program:

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

Implementasi di atas tidak diuji secara praktis, tetapi penulis yakin persen persen bahwa ide di atas akan berhasil. Jika pembaca menemukan masalah dengan perbaikan di atas dapat mengungkapkan melalui bagian komentar.

Daftar Bagian

1) Transformator turun 12-0V
2) Dioda IN4007 x5
3) LM7812 x1
4) Relai 12V x1
5) BC548 Transistor x1
6) Kapasitor Elektrolit 1000uF x1
7) Modul GSM: model SIM 800 atau SIM 900
8) Resistor 330 Ohm x2
9) LED MERAH / HIJAU x1
10) Arduino Uno atau Arduino nano atau Arduino Mega
11) Jack laki-laki DC x2

Klip video:

Terintegrasi dengan Motor 3 Fase

Saya telah menerima banyak permintaan untuk mengupgrade tahap relay untuk desain di atas sehingga menjadi kompatibel untuk mengoperasikan motor 3 fasa dengan menggunakan perintah telepon seluler GSM.

Oleh karena itu saya memutuskan untuk merancang sirkuit yang dibutuhkan semoga dapat menghidupkan dan mematikan motor 3 fase yang memiliki mekanisme kontaktor start dan stop yang khas.

Gambar berikut menunjukkan cara mengkonfigurasi desain menggunakan rangkaian IC 4017.

Ponsel remote kontroler motor GSM 3 fase

CATATAN: Nilai 100uF / 10K dan 220uF dan 47K mungkin memerlukan beberapa penyesuaian untuk memastikan jumlah penundaan yang benar untuk masing-masing transistor dan tahap relai.




Sepasang: Sirkuit Keamanan Indikator Posisi Penyusup Berikutnya: Sirkuit Pengontrol Intensitas Lampu Surya Terkendali Jarak Jauh