Rabu, 26 Oktober 2011

Pengendalian Jarak Jauh Menggunakan Telepon Seluler


Sekarang telah banyak alat pengendali lampu listrik jarak jauh menggunakan remote dengan media infra merah maupun gelombang, namun masih jarang yang dapat mengendalikan peralatan lampu listrik jika berada di tempat yang jauh dengan memanfaatkan fasilitas provider GSM. Maka perancangan pengendalian lampu listrik jarak jauh ini mencoba menggunakan fasilitas SMS pada telepon seluler, yang diharapkan dapat mengendalikan dan memantau peralatan lampu listrik dari jarak jauh dari daerah manapun asal masih terjangkau sinyal operator GSM.
  • Diagram Kotak Perangkat Keras
Sistem kendali lampu dengan media SMS ini, dirancang berdasarkan berbasis mikrokontroler AT89S51. Gambar menunjukkan blok diagram dari alat ini.
Blok diagram sistem
Pada Gambar ditunjukkan diagram kotak sistem secara keseluruhan. HP Siemens M35 digunakan sebagai Gateway SMS. HP dengan mikrokontroler terhubung dengan menggunakan kabel data yang memanfaatkan komunikasi serial RS232. Jenis komunikasi yang digunakan adalah model UART.
Mikrokontroler mempunyai peran sebagai basis sistem. Mikrokontroler akan membaca dan berkomunikasi dengan HP, kemudian mengendalikan lampu dengan bantuan driver relai, serta membaca sensor yang telah dilewatkan sebuah komparator.
Driver dipasang bertujuan untuk mengendalikan lampu yang bekerja pada tegangan AC/220V. Hal ini mutlak diperlukan karena mikrokontroler hanya bekerja pada level tegangan TTL dan CMOS, sehingga tidak mampu secara langsung mengendalikan lampu.
Sensor yang berupa fototransistor digunakan untuk mengubah kondisi cahaya ke dalam besaran listrik. Agar sensor yang bersifat analog mampu dibaca oleh mikrokontroler yang bersifat digital sehingga perlu dipasang sebuah komparator. Komparator ini bertugas untuk membandingkan kondisi sensor yang masuk ke pin (+) op-amp dengan tegangan referensi pada pin (-) op-amp ketika gelap atau terang dan mengubahnya menjadi logika digital pada pin output-nya. Sedangkan gerbang not 74LS14 yang mempunyai kemampuan trigger pulsa masukan dan pada data sheet keluaran dari IC ini sudah standar TTL sehingga dapat langsung dihubungkan dengan mikrokontroler. Gerbang not 74LS14 juga digunakan untuk membalik keadaan tegangan input sehingga pada saat input high maka keluarannya akan bernilai low.
  • Komunikasi mikrokontroler dan HP
Untuk berkomunikasi antara mikrokontroler dan HP diperlukan fasilitas komunikasi serial dengan model UART dengan kecepatan 19200bps untuk jenis HP Siemens M35. Kecepatan ini akan bervariasi tergantung dari jenis HP yang digunakan. Level tegangan yang digunakan adalah RS232. Sementara itu mikrokontroler hanya menyediakan fasilitas komunikasi serial UART dengan pin TX, dan Rx dengan level tegangan RS232. Untuk itu diperlukan sebuah sistem adapter yang mampu mengubah level tegangan TTL ke level RS232.
Pada HP Siemens M35 terdapat konektor untuk berkomunikasi dengan piranti luar. Biasanya konektor ini mampu diakses dengan kabel data serial. Umumnya kabel data sudah dilengkapi dengan konverter RS232 untuk itu mikrokontroler memerlukan piranti tambahan yaitu modul konverter dari TTL ke RS232. Pada Gambar disajikan skema rangkaian komunikasi serial RS232.

Komunikasi RS232
Untuk memenuhi standar komunikasi RS232 diperlukan IC konverter MAX232. IC ini diproduksi oleh Maxim dallas semiconductor. Pada IC ini sudah dilengkapi dengan sistem adapter RS232 sehingga tinggal menghubungkan pin T1IN dengan pin TXD dari mikrokontroler pada P3.1, dan menghubungkan pin R1IN dengan pin RXD dari mikrokontroler pada P3.0.
Pada bagian HP sebelum masuk ke terminal harus dikonversi dulu ke l
evel tegangan yang mampu diakses oleh Hand Phone. Umumnya pengkonversian ini sudah otomatis dilakukan oleh kabel data dari Hand Phone tersebut. Model koneksi kabel data untuk HP Siemens M35 di gambarkan pada Gambar
Model kabel data Hand Phone Siemens M35
Pada Gambar disajikan model koneksi kabel data yang kompatibel dengan PC. Pada Gambar disajikan koneksi pada HP Siemens M35. Pada konektor ini terdapat 2 pin sebagai jalur komunikasi. Pada koneksi Hand Phone Siemens M35, pin-pin yang ada harus dihubungkan sesuai dengan fungsi terminal masing-masing. Adapun fungsi masing-masing terminal disajikan pada tabel
Gambar Terminal port pada HP Siemens M35
Tabel Fungsi terminal HP Siemens M35
No
Nama
Fungsi
In/Out
1
GND
Ground
2
SELF SERVICE
Recognition / Battery Charger
In/Out
3
LOAD
Charging Voltage
In
4
BATTERY
Battery
Out
5
DATA OUT
Data Send
Out
6
DATA IN
Data Receive
In
7
Z_CLK
Recognition / Control Accesoris
8
Z_DATA
Recognition / Control Accesoris
9
MICG
Ground for Microphone
In
10
MIC
Microphone input
11
AUD
Loudspeaker output
Out
12
AUDG
Ground for Loudspeaker
Sensor dan Komparator
Pada sistem aplikasi SMS untuk kendali lampu ini bersifat close loop. Untuk itu perlu dipasang sensor cahaya untuk memantau cahaya yang dihasilkan oleh lampu. Selain itu juga sensor cahaya juga akan memberikan interupsi atau sinyal pemberitahuan ke mikrokontroler.
Sensor ini menggunakan komponen utama fototransistor. Fototransistor adalah komponen peka cahaya yang bekerja sebagaimana transistor bekerja. Keluaran fototransistor dikuatkan oleh penguat pembanding atau yang biasa disebut sebagai komparator. Keluaran komparator dimasukkan ke sebuah masukan schmitt trigger sebelum diakses ke mikrokontroler. Maksud dari pemasangan schmitt trigger adalah, agar level tegangan keluarannya sesuai dengan level tegangan TTL. Gambar disajikan gambar sensor cahaya.
Gambar Sensor Cahaya
Cara kerja dari rangkaian ini adalah jika terkena cahaya maka fototransistor akan tertutup atau bertahanan kecil. Sehingga pada kaki komparator input non inverting akan bernilai rendah atau lebih rendah dari tegangan input inverting. Sehingga tegangan keluaran komparator akan rendah. Kemudian tegangan ini akan dibalik menjadi logika tinggi oleh inverting schmitt trigger 74LS14 sehingga akan menjadi logika 1. Jika tidak terkena cahaya maka nilai tahanan fototransistor akan tinggi, atau transistor hubung buka. Sehingga nilai input inverting akan lebih tinggi dari input non inverting. Hal ini akan menyebabkan keluaran komparator tinggi dan kemudian dibalik oleh schmitt trigger 74LS14 menjadi rendah.
Jadi pada saat terkena cahaya, ouput sensor akan tinggi, dan jika tidak terkena cahaya output sensor akan rendah. Potensiometer R2 berfungsi untuk mengatur besar tegangan pembanding atau tegangan referensi.
Driver Relai dan Beban
Mikrokontroler mampu mengeluarkan tegangan 0V dan 5V. Namun dalam kenyataannya tegangan ini tidak bisa digunakan secara langsung untuk menggerakkan beban. Hal ini disebabkan karena arus yang mampu dilewatkan oleh kaki-kaki mikrokontroler sangat kecil. Untuk itu perlu dipasang piranti yang mampu menguatkan arus, sehingga dapat digunakan untuk menggerakkan beban. Piranti ini biasa disebut dengan driver.
Rangkaian driver biasanya terdiri dari transistor-transistor daya. Tapi untuk beban berupa tegangan AC 220V perlu dipasang piranti saklar elektronis yaitu relai. Ironisnya mikrokontroler tidak mampu menggerakkan relai secara langsung, untuk itu perlu dipasang transistor. Pada Gambar disajikan driver untuk lampu AC 220V dengan kendali mikrokontroler.
Gambar Driver lampu
Pada rangkaian driver Gambar 3.7, digunakan transistor FCS9012 untuk menggerakkan transistor TIP 31. Hal ini dilakukan karena arus dari mikrokontroler terlalu kecil. Sementara itu transistor TIP 31 digunakan untuk menggerakkan relai. Cara kerja dari rangkaian ini adalah, jika diberikan logika low atau 0V dari port mikrokontroler, maka T1 PNP akan bekerja atau terhubung maka pada basis T2 NPN akan berlogika high, sehingga T2 NPN akan bekerja atau terhubung. Maka jika T2 terhubung relai akan mendapatkan suplai tegangan 12 Vdc. Setelah relai ON, maka pada titik NO (Normaly open) akan menutup dan akan terhubung dengan phase 220 VAC dan akan ada arus yang mengalir ke lampu 1 sehingga lampu 1 menyala.
Sebaliknya jika port mikrokontroler mengeluarkan logika high (1), keadaan ini akan membuat T1 PNP tidak akan bekerja dikarenakan transistor PNP aktif low, sehingga tidak ada arus yang mengalir ke pin basis T2 NPN dan tidak membuat relai bekerja. Dengan ini keluaran pada relai akan terhubung ke NC (Normally Close), sehingga lampu 1 tidak akan menyala karena tidak terhubung dengan tegangan phase 220 VAC. Resistor 1 dan resistor 2 ini adalah untuk pembatas arus basis transistor, besanya nilai resistor ini dapat dicari dengan cara matematis dengan cara melihat nilai HFE tiap-tiap transistor dari data sheet.
Gambar Rangkaian Keseluruhan
Perancangan Perangkat Lunak
Perangkat lunak yang dibangun menggunakan bahasa asembler, didasarkan pada flow chart yang telah disusun pada Gambar. Beberapa potongan program yang digunakan untuk menangani sistem adalah sebagai berikut.
Untuk memberikan mode stand-by ke HP maka harus dikirim perintah AT+CNMI=1,1. Perintah ini dikirim ke HP dengan transfer data serial, potongan program berikut mengilustrasikan pengiriman data tersebut.
;———————
; AKTIVASI MODE STANBY
;———————
MODE_STANBY:

MOV DPTR,#PESAN ;KIRIM PERINTAH ‘AT+CNMI=1,1′
LAGI2:
CLR A ;RESET ACC
MOVC A,@A+DPTR ;AMBIL KARAKTER DARI TABEL
CLR TI ;AKTIVASI KIRIM SERIAL
MOV SBUF,A ;KELUARKAN DATA DARI ACC KE BUFFER
JNB TI,$ ;KIRIM SERIAL
INC DPTR ;NAIKKAN PENUNJUK TABEL
CJNE A,#00,LAGI2 ;TUNGGU SEMUA KARAKTER SELESAI
RET
;—————————————
PESAN:
DB ‘AT+CNMI=1,1′,13,10
DB 0
Jika ada SMS yang masuk, maka sistem akan membaca isi SMS dengan memberikan perintah AT+CMGR=1. Potongan program berikut digunakan untuk membaca isi SMS pada alamat 1.
;——————–
;SUB RUTIN BACA SMS
;——————–
BACA_SMS:
MOV DPTR,#SMSREAD ;BACA SMS
ACALL KIRIM_DATA ;KIRIM PERINTAH ‘AT+CMGR=1′
RET
Isi sms akan diproses apakah sesuai dengan kata kunci atau tidak, jika sesuai dengan kata kunci maka perintah akan dieksekusi. Jika terjadi error maka sistem akan memberikan SMS balasan ke user. Untuk membandingkan data SMS yang masuk dengan kata kunci maka digunakan potongan program berikut.
BANDING:
MOV DPTR,#L1ON ;AMBIL CODE PDU ‘DTE 1 ON’
MOV R0,#16 ;BANDNGKAN 12X
ACALL BANDING_KATA
JB 20H,DATA_BEDA2 ;JIKA BEDA LOMPAT KE LABEL
MOV 21H,#01 ;FLAG UNTUK ‘DTE 1 ON’
CLR LAMPU1
JMP SSS
DATA_BEDA2:
MOV DPTR,#L2ON ;BANDINGKAN APAKAH DATA
MOV R0,#16 ;’DTE 2 ON’?
ACALL BANDING_KATA
JB 20H,DATA_BEDA3
MOV 21H,#02 ;FLAG UNTUK ‘DTE 2 ON’
CLR LAMPU2
JMP SSS
;——————————–
L1ON: DB ’08446A1114033D9D’
L2ON: DB ’08446A1124033D9D’
L1OFF: DB ’09446A1114033D8D46′
L2OFF: DB ’09446A1124033D8D46′
Perancangan Kode SMS
Untuk memberikan perintah ke sistem, tidak semua SMS mampu dikenali oleh sistem. Hanya SMS tertentu yang sudah disesuaikan yang mampu dikenali oleh sistem. Berbagai rancangan kode-kode SMS disajikan pada Tabel berikut ini.
Rancangan Kode SMS
No
Isi SMS
Status
Kegunaan
1
DTE 1 ON
Valid
Menyalakan lampu 1
2
DTE 2 ON
Valid
Menyalakan lampu 2
3
DTE 1 OFF
Valid
Memadamkan lampu 1
4
DTE 2 OFF
Valid
Memadamkan lampu 2
5
CEK STATUS
Valid
Melihat status lampu 1 & 2
6
Lampu 1 on
Invalid
Pesan error (UNKNOW COMMAND)
7
Lampu 2 on
Invalid
Pesan error (UNKNOW COMMAND)
Pada Tabel diatas menunjukkan perintah-perintah yang bisa dikenali. Mikrokontroler membaca isi SMS dan mikrokontroler hanya mengenali isi SMS yang menggunakan karakter huruf besar atau yang sesuai dengan kata kunci yang sesuai valid (pada program). Jika menggunakan karakter biasa mikrokontroler menganggap sebagai SMS ilegal.
Hasil perancangan sistem Pengendalian Peralatan Lampu Listrik Jarak Jauh Menggunakan Telepon Seluler ini dapat dilihat pada Gambar
Gambar Rangkaian alat keseluruhan

Pengendalian Jarak Jauh Menggunakan Telepon Seluler (Lanjutan 1)

Koneksi HP
Pengujian terhadap konektivitas HP dilakukan dengan menggunakan soft ware hyper terminal dari windows. Yang perlu diperhatikan adalah setting baud rate yang digunakan. HP Siemens C35 / M35 memiliki baud rate 19200 bps. Berikut ini adalah gambar software hyper terminal ketika mikrokontroler direset :
Gambar Mikrokontroler direset
Perintah pertama yang diberikan adalah AT+CMGD =1 yang artinya menghapus lokasi inbox sms no 1 pada handphone. Setelah itu mikrokontroler mengirimkan kode AT+CNMI=1,1 yang artinya mengirimkan mode stand-by ke HP agar dapat menerima SMS.
Setelah ada SMS yang masuk, maka perintah yang kedua adalah ‘AT+CMGR=1’ perintah ini digunakan untuk membaca inbox HP pada lokasi memory no 1. Kemudian perintah yang ketiga adalah ‘AT+CMGS=30’ yang artinya mengirim SMS balasan ke nomor pengirim yang pada Gambar terlihat nomor pengirim adalah 0D91261808624919F8.
Gambar Mikrokontroler membaca dan mengirim SMS balasan
Data ini merupakan data PDU yang terdiri dari beberapa header. Header-header tersebut adalah:
· 0D = No pengirim/penerima berjumlah 13 angka.
· 91261808624919F8 = No HP penerima, dan bila diartikan nomornya adalah 6281802694918.
· = Bentuk SMS yang terima dalam format SMS biasa.
· = Skema encoding yang dipakai 7 bit
· 09CC18E8E904096153 = Isi balasan SMS, bila diartikan menjadi ‘L1 ON BOS’
Perintah yang ke-empat setelah tanda panah adalah ‘AT+CMGD=1’ perintah ini digunakan untuk menghapus inbox pada lokasi pertama. Jika perintah ini berhasil, maka respon HP adalah ‘OK’.
Tanggapan Sistem
Pengujian tanggapan sistem alat dilakukan dengan memasang HP M35 dan rangkaian secara keseluruhan. Pengujian dilakukan dengan memberikan perintah yang dikirim dengan SMS melalui nomor XL 081802694918. Adapun perintah-perintahnya sebagai berikut:
a. DTE 1 ON = Perintah ini digunakan untuk menyalakan lampu 1
Tabel 4.3 Hasil percobaan SMS menghidupkan lampu 1
No
Kata Kunci
Pengirim
SMS Balasan
Keadaan Lampu 1
Keterangan
1
DTE 1 ON
L1 OK BOS
Menyala
Sesuai Setting
2
DTE 1 ON
L1 OK BOS
Menyala
Sesuai Setting
3
DTE 1 ON
L1 OK BOS
Menyala
Sesuai Setting
4
DTE 1 ON
L1 OK BOS
Menyala
Sesuai Setting
5
DTE 1 ON
L1 OK BOS
Menyala
Sesuai Setting
b. DTE 2 ON = Perintah ini digunakan untuk menyalakan lampu 2
Tabel 4.4 Hasil percobaan SMS menghidupkan lampu 2
No
Kata Kunci
Pengirim
SMS Balasan
Keadaan Lampu 2
Keterangan
1
DTE 2 ON
L2 OK BOS
Menyala
Sesuai Setting
2
DTE 2 ON
L2 OK BOS
Menyala
Sesuai Setting
3
DTE 2 ON
L2 OK BOS
Menyala
Sesuai Setting
4
DTE 2 ON
L2 OK BOS
Menyala
Sesuai Setting
5
DTE 2 ON
L2 OK BOS
Menyala
Sesuai Setting
c. DTE 1 OFF = Perintah ini digunakan untuk memadamkan lampu 1
Tabel 4.5 Hasil percobaan SMS memadamkan lampu 1
No
Kata Kunci
Pengirim
SMS Balasan
Keadaan Lampu 1
Keterangan
1
DTE 1 OFF
L1 OFF BOS
Padam
Sesuai Setting
2
DTE 1 OFF
L1 OFF BOS
Padam
Sesuai Setting
3
DTE 1 OFF
L1 OFF BOS
Padam
Sesuai Setting
4
DTE 1 OFF
L1 OFF BOS
Padam
Sesuai Setting
5
DTE 1 OFF
L1 OFF BOS
Padam
Sesuai Setting
d. DTE 2 OFF = Perintah ini digunakan untuk memadamkan lampu 2
Tabel 4.6 Hasil percobaan SMS memadamkan lampu 2
No
Kata Kunci
Pengirim
SMS Balasan
Keadaan Lampu 2
Keterangan
1
DTE 2 OFF
L2 OFF BOS
Padam
Sesuai Setting
2
DTE 2 OFF
L2 OFF BOS
Padam
Sesuai Setting
3
DTE 2 OFF
L2 OFF BOS
Padam
Sesuai Setting
4
DTE 2 OFF
L2 OFF BOS
Padam
Sesuai Setting
5
DTE 2 OFF
L2 OFF BOS
Padam
Sesuai Setting
e. CEK STATUS = Untuk mengecek keadaan lampu 1 dan lampu 2 yang sangat tergantung pembacaan sensor cahaya yang dipasang di dekat lampu.
Tabel Hasil percobaan SMS Cek Status
No
Kata Kunci
Pengirim
Keadaan Lampu
SMS Balasan
Ket
1
2
1
CEK STATUS
Padam
Padam
L1 OFF, L2 OFF
Sesuai Setting
2
CEK STATUS
Menyala
Padam
L1 ON, L2 OFF
Sesuai Setting
3
CEK STATUS
Padam
Menyala
L1 OFF, L2 ON
Sesuai Setting
4
CEK STATUS
Menyala
Menyala
L1 ON, L2 ON
Sesuai Setting
Setelah pengujian-pengujian terhadap kata kunci dari setiap keadaan yaitu DTE 1 ON, DTE 2 ON, DTE 1 OFF, DTE 2 OFF, dan CEK STATUS. Dari pengujian pada tiap-tiap kata kunci kode SMS, maka diperoleh hasil respon SMS alat semuanya sesuai setting, berarti persentase keberhasilan alat ini dalam mengeksekusi perintah dan membalas SMS ke pengirim adalah 100 %.

Tidak ada komentar:

Posting Komentar