• Tidak ada hasil yang ditemukan

Web Based Motor Control

N/A
N/A
Protected

Academic year: 2021

Membagikan "Web Based Motor Control"

Copied!
15
0
0

Teks penuh

(1)

Laporan Akhir UTS Project

(05 Oktober 2002)

Web Based Motor Control

Disusun oleh :

Wira Sanjaya ( 23400050 ) Anthony Muliadi ( 23400069 )

Ari Gunawan ( 23400121 ) Stefanus Feno ( 23400165 )

(2)

1. Pendahuluan

Pengontrolan peralatan elektronik dengan WEB, telah banyak dikembangkan oleh sebagian orang yang tertarik dalam aplikasi pemograman yang berbasis WEB dan elektronika tentunya. Pengontrolan melalui WEB mempunyai banyak keuntungan, dimana dapat mengatasi jarak dan waktu, karena kita dapat mengontrol dimana saja dan kapan saja. Untuk dapat mengkontrolnya, kita membutuhkan suatu bahasa pemograman yang mendukung aplikasi yang berbasis WEB, seperti html, jsp, visual basic, php, asp, cgi dan sebagainya.

Pada kesempatan ini kami berkerja dalam suatu team, mencoba merealisasi pengontrolan yang berbasis pada WEB yang juga merupakan tugas dalam mata kuliah Project Jurusan Teknik Elektronika Universitas Kristen Petra Surabaya. Pengontrolan motor H-bridge kami lakukan dengan hubungan antar koneksi client dan server dalam suatu jaringan internet, dimana client dapat mengontrol motor H-Bridge yang terhubung pada server. Disini kami menghubungkan motor H-Bridge pada parallel port yang kemudian dijalankan (execute) dengan program Turbo C dan diakses dengan PHP untuk aplikasi pada WEB serta server yang digunakan adalah apache.

Pelaksanaan dalam merealisasikan pengontrollan yang berbasis WEB, team kami dibagi menjadi 2 bagian (dalam mencari data, referensi dan informasi), 2 orang untuk Hardware dan 2 orang untuk Software. Pembuatan Hardware dan Software kami lakukan dengan bersama-sama

2. Spesifikasi Sistem

A. Web Enable

Pengontrolan motor H - Bridge, menggunakan hubungan interkoneksi client - server melalui Web Browser. Untuk mengakses file HTML dan PHP kami menggunakan Internet Explorer 5.0 dan Server Apache, yang kemudian mengexecute file EXE untuk menjalankan motor H - Bridge yang terhubung pada parallel port (LPT1).

B. Output Port

Untuk parallel port yang digunakan adalah LPT1 dengan address 378h. Untuk menggerakkan motor, data dioutputkan ke parallel port dengan nilai tertentu yang diinginkan dalam bentuk desimal.

C. Command

Perintah yang digunakan untuk mengexecute file EXE melalui Web, kami menggunakan PHP 4.1.1 dan perintah untuk mengeluarkan data ke parallel port pada file EXE dibuat dengan bahasa pemograman Turbo C. Perintah - perintah tersebut akan dijelaskan secara terinci pada bagian Software.

D. Rangkaian

Pada proses awal, kami melakukan pengujian terhadap program dengan menghubungkan parallel port ke Hardware LED pada masing - masing pinnya (D0 - D7), yang kemudian untuk tahap selanjutnya direalisasikan dengan rangkaian motor H - Bridge yang akan dijelaskan pada bagian Hardware.

(3)

E. Operating System

Server Apache yang digunakan dalam aplikasi ini adalah dalam Windows Operating System khususnya Windows 98.

3. Hardware

A. Rangkaian H-Bridge

Karakteristik transistor yang digunakan BD 140 Ic maks 405 mA - 2 A

hfe 25 – 50

(4)

Rangkaian H-Bridge untuk Satu Arah Putaran

Vsaturasi pada transistor = 0.2 Volt, Vmotor = 3 Volt, Vcc = 5 Volt dan Imotor = 200 mA (tanpa beban), maka diperoleh harga Rk.

Ic = (hfe x Ib)+ Iceo (Iceo dapat diabaikan), maka diperoleh harga Ib, R1 dan R2. B. Inverting

Inverting menggunakan XNOR untuk mengatasi input kembar pada switching

A B Output

0 0 1

0 1 0

1 0 0

(5)

Table kebenaran XNOR

Rangkaian H-Bridge didisain aktif pada kondisi Low (transistor bersifat saturasi), sehingga jika input pada switching berharga 1 maka motor tidak akan jalan. Bila terjadi input yang kembar pada switching, maka output yang terhubung pada switching akan selalu berharga 1 (motor tidak akan jalan, transistor bersifat cut off)

C. Parallel port Pin pada parallel port

Arus source (Ioh) 2.6 mA dan arus sink (Iol) 24 mA.

Data yang dikeluarkan akan dihubungkan dengan 74LS374 octal latch yang berfungsi mempertahankan data pada saat data dikirim ke parallel port dan bila ada data baru yang dikirimkan ke parallel port, maka data tersebut akan langsung menginterupt rangkaian untuk data yang baru, karena program execute akan menjalankan data lama sampai selesai, bila ada data baru maka data pertama tetap dijalankan dan tidak dapat diinterupt oleh data baru.

(6)

Output Address yang digunakan untuk mengeluarkan data adalah 0x378 (nilai dalam heksadesimal). Parallel port yang digunakan adalah LPT1.

4. Software

A. Flow Diagram

(7)

C. PHP

PHP adalah suatu bahasa pemograman open source pada aplikasi WEB, dimana script ini bersifat server-side yang ditambahkan ke dalam tag-tag HTML. Skript ini membuat suatu halaman WEB tidak lagi bersifat statis tetapi juga bersifat dinamis. PHP juga mempunyai keuntungan yaitu dapat mendukung aplikasi CGI, walaupun tanpa menggunakan program CGI, sehingga client dapat mengexecute program exe yang digunakan untuk menjalankan motor H-Bridge pada server. Script PHP juga dapat berinteraksi dengan bahasa pemograman, seperti Turbo C, Delphi, perl dan lainnya. Contoh program untuk memanggil file move.php :

<?

header("location : ..\cgi-bin\move.php"); /*menuju ke file move.php ?>

Kemudian untuk mengexecute file exe menggunkan perntah exec. Contoh program sederhana untuk menjalankan file exe.

<?

exec("..\cgi-bin\move.exe"); /*perintah exec untuk memanggil file move.exe ?>

maka file php secara otomatis menjalankan file move.exe sampai waktu tertentu,

tergantung delay yang diberikan pada file move.exe. Disini PHP yang digunakan adalah PHP ver 4.1.1 dan Internet Explore 5.0

D. Turbo C

C++ adalah bahasa pemograman yang berada diantara bahasa tingkat rendah (bahasa pemograman yang berbasis pada mesin, seperti Assembly) dan bahasa pemograman tingkat tinggi (bahasa pemograman yang berorientasi pada user atau manusia, seperti Pascal). Bahasa pemograman tingkat tinggi mempunyai kompatibilitas yang tinggi antar platform, karena itu kita dapat membuat suatu program yang berorientasi pada mesin. Kami menggunakan bahasa pemograman C++ dalam pembuatan program execute untuk menjalankan motor H-Bridge yang terhubung pada parallel port Hal ini antara lain disebabkan karena beberapa kelebihan yang disebutkan diatas.

(8)

Data Port (0x378)

Tipe data include yang digunakan adalah dos.h. Untuk mengeluarkan data keparallel port menggunakan perintah outport(alamat_port,data); dimana alamat_port yang digunakan adalah standar address pada parallel port (dalam heksadesimal) dan data yang dikeluarkan dalam bentuk desimal.

Untuk mengeluarkan data output pada bahasa C/C++ digunakan file header dos.h sedangkan fungsi yang digunakan outportb(portaddress,data); Portaddress adalah alamat port yang digunakan yang dapat dilihat pada tabel diatas untuk masing-masing port (data, control) dan data adalah data yang ingin kita tuliskan ke port tersebut.

Struktur Umum Penulisan Program : #include<dos.h>

void main() {

outport(portaddress,data); }

Contoh Deklarasi Program Akses Parallel Port Untuk Satu Pin : /* Program Untuk Menyalakan Pin 2 Pada Parallel Port */ #include<dos.h>

#include<conio.h> void main()

{

outport(0x378,1); /* Digunakan Data 1 hexadec Sesuai Dengan Tabel Diatas */ }

Bila program diatas dijalankan maka yang tampak dilayar komputer hanyalah suatu kedipan pada layar monitor tetapi dalam hal ini program sudah berjalan dan ketika kami simulasikan pada Program Parallel Monitor dan Led, tampak Led no 1 yang semula padam setelah program ini dijalankan menyala.

Untuk mengirimkan lebih dari 1 data dapat digunakan fungsi penjumlahan. Misalnya untuk menyalakan semua led (data 2 sampai dengan data 9) maka kita berikan :

(9)

data= data0 +data1 +data2 +data3 +data4 +data5 +data6 +data7 data= 1+ 2+ 4+ 8+ 16+ 32+ 64+ 128 = 255

*/Contoh Program Yang Dipakai Untuk Menghidupkan Semua Led*/ #include<dos.h>

void main() {

outport(0x378,255); }

Dari simulasi-simulasi yang dilakukan ternyata diperoleh bahwa nyala led kadang tidak bisa terlihat karena begitu cepat padam dan begitu cepat pula nyala. Maka untuk itu digunakan suatu instruksi yang disebut delay. Delay digunakan untuk menunda pengeluaran data dalam jangka waktu tertentu, atau untuk mengatur jeda antar pengiriman data dan pengambilan data. Misalnya jika diinginkan mengirimkan data untuk menyalakan pin 0, pin 1, pin 2, pin 3, pin 4, pin 5, pin 6, pin 7 dari port data secara bergantian setiap 1 detik, pin 1 menyala selama 1 detik, pin 2 menyala selama 1 detik, dan seterusnya dapat digunakan delay. Fungsi delay ini akan menahan eksekusi suatu perintah dalam jangka waktu yang ditentukan.

Cara penggunaan delay

File header yang digunakan : dos.h

Fungsi yang digunakan : delay(x); x merupakan satuan dalam milidetik, delay(100) artinya tunggu 100 milidetik.

Contoh :

Program akan menyalakan pin 0, pin 1, pin 2, pin 3, pin 4, pin 5, pin 6, pin 7 port data berurutan dan masing masing pin akan menyala selama 1 detik.

/* Program Running Led */ #include<dos.h>

void main() {

/* nyalakan pin 0 dan tunggu 1 detik */ outportb(0x378, 1);

delay(1000);

/* nyalakan pin 0 dan tunggu 1 detik */ outportb(0x378, 2);

delay(1000);

/* nyalakan pin 0 dan tunggu 1 detik */ outportb(0x378, 4);

delay(1000);

/* nyalakan pin 0 dan tunggu 1 detik */ outportb(0x378, 8);

delay(1000);

/* nyalakan pin 0 dan tunggu 1 detik */ outportb(0x378, 16);

(10)

/* nyalakan pin 0 dan tunggu 1 detik */ outportb(0x378, 128);

delay(1000); }

Untuk program execute tidak mutlak harus menggunakan bahasa pemrograman C++. Program exe dapat dibuat dengan bahasa pemograman yang lain dan dapat dikenali oleh server yang digunakan, disini kami menggunakan server apache untuk menjalankan script PHP, dimana PHP mengexecute program exe yang dibuat dengan bahasa pemograman Turbo C++. E. Aplikasi Software Program index.htm <html> <head> <title>home</title> </head> <body bgcolor="#006666">

<form action=proses.php method=post>

<p align="center"><font size="+2"> <b><font color="#000099" face="Comic Sans MS" size="+3">WELCOME</font></b></font>

<p align="center"><b><font face="Comic Sans MS" color="#FFFFFF">ENTER THE RIGHT

PASSWORD TO VISIT</font> </b>

<p align="center"><b><font face="Courier New" size="+2" color="#FFFF00">WEB BASED H-BRIDGE MOTOR CONTROL</font></b>

<p align="center"><b><font color="#000066">PASSWORD</font></b><font color="#99FF99">

:</font>

<input type=password max length=20 size+20 name=password> <br>

<br>

<input type=submit value="send" name="submit"> <br>

<p align="center">&nbsp;

<p align="center"><font size="4" color="#FFFFFF">By </font>

<p align="center"><font size="4" color="#FFFFFF">The Team Of Petra</font><br> <br>

<p>&nbsp;</p></form> </body>

(11)

Tampilan Web Pada index.htm Program index2.htm <html> <head> <title>control</title> <script language="JavaScript"> <!--

function MM_reloadPage(init) { //reloads the window if Nav4 resized

if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {

document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}

else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload(); } MM_reloadPage(true); // --> </script> </head> <body bgcolor="#0099CC">

<div id="Layer1" style="position:absolute; left:163px; top:508px; width:103px; height:51px; z-index:1">

(12)

<div id="Layer2" style="position:absolute; left:738px; top:498px; width:112px; height:37px; z-index:2">

<form name="form3" method="get" action="kanan.php"> <div align="center">

<input type="submit" name="right" value="RIGHT"> </div>

</form> </div>

<p align="center"><b><font size="+5" face="Geneva, Arial, Helvetica, san-serif" color="#FFFFFF">Y</font><font size="6" face="OCR A Extended" color="#000000">OU

ARE NOW IN </font></b></p>

<p align="center"><font color="#000000"><b><font size="6" face="OCR A Extended">THE

CONTROL AREA </font></b></font> </p>

<form name="form1" method="get" action="maju.php"> <div align="center">

<p>

<input type="submit" name="up" value="UP"> </p>

</div> </form>

<p align="center">&nbsp;</p>

<p align="center"><img src="picture/Z3-Haven.JPG" width="454" height="340"></p> <p align="center">&nbsp;</p>

<form name="form4" method="get" action="mundur.php"> <div align="center">

<input type="submit" name="down" value="DOWN"> </div> </form> <p align="center">&nbsp;</p> <p align="center">&nbsp;</p> <p align="center">&nbsp;</p> </body> </html>

(13)

Tampilan Web Pada index2.htm

Program maju.php <?

exec("..\cgi-bin\maju.exe"); /*mengexecute file maju.exe

header ("location : index2.htm"); /*kembali ke index2.htm setelah diexecute ?>

Program mundur.php <?

exec("..\cgi-bin\mundur.exe"); /*mengexecute file mundur.exe

header ("location : index2.htm"); /*kembali ke index2 setelah diexecute ?>

Program kanan.php <?

exec("..\cgi-bin\kanan.exe"); /*mengexecute file kanan.exe

header ("location : index2.htm"); /*kembali ke index2 setelah diexecute ?>

Program kiri.php <?

exec("..\cgi-bin\kiri.exe"); /*mengexecute file kiri.exe

header ("location : index2.htm"); /*kembali ke index2 setelah diexecute ?>

(14)

delay(500);

for(i=0;i<=200;i++) /*proses looping {

outport(0x378,250); /*mengeluarkan data ke parallel port delay(5000); } } Program mundur.c # include<dos.h> void main() { int i;

outport(0x378,0); /*mengeset harga awal 0 delay(500);

for(i=0;i<=200;i++) /*proses looping {

outport(0x378,245); /*mengeluarkan data ke parallel port delay(5000); } } Program kanan.c # include<dos.h> void main() { int i;

outport(0x378,0); /*mengeset harga awal 0 delay(500);

for(i=0;i<=200;i++) /*proses looping {

outport(0x378,254); /*mengeluarkan data ke parallel port delay(5000); } } Program kiri.c # include<dos.h> void main() { int i;

outport(0x378,0); /*mengeset harga awal 0 delay(500);

for(i=0;i<=200;i++) /*proses looping {

outport(0x378,251); /*mengeluarkan data ke parallel port delay(5000);

} }

(15)

5. Kesimpulan

1. Pengontrolan melalui Web bersifat server side, yang berarti semua proses dilakukan di server yang kemudian dapat diakses oleh client melalui Web Browser.

2. Pengontrolan melalui Web dapat menggunakan PHP untuk mengganti penggunaan CGI.

3. Program Execute yang digunakan dapat dibuat dengan beberapa bahasa pemograman, terutama yang dapat dikenali oleh web server.

4. Program execute berfungsi mengeluarkan data ke parallel port yang kemudian menggerakkan motor H-Bridge.

Permasalahan

1. Data yang dikeluarkan ke parallel port tidak dapat diinterupt jika ada data baru yang masuk ke parallel port, sehingga harus menunggu program exe dijalankan sampai selesai, baru kemudian data yang baru dapat dijalankan.

2. Adanya interval waktu tertentu pada saat adanya pergantian data baru yang dikirim dari client ke server, karena pengaruh kecepatan dalam pengiriman data pada suatu server.

3. Web Server yang digunakan harus tidak berbasiskan UNIX karena web server yang berbasiskan UNIX tidak dapat mengenali file Execute, sehingga pada saat diupload harus menggunakan web server yang tidak berbasiskan UNIX.

Target sampai dengan UTS

1. Menyelesaikan Software yang disimulasikan dengan Hardware LED yang dapat diakses melalui internet.

2. Dapat disimulasikan untuk menyalakan dan mematikan LED. Hasil yang telah dicapai

1. Dapat memahami dan mengerti sistem kerja dari Hardware dan Software yang kami lakukan secara keseluruhan.

2. Program execute dapat dijalankan pada Hardware, untuk sementara ini menggunakan LED.

3. Dapat dijalankan pada komputer client yang terhubung dalam suatu jaringan komputer menggunakan server apache.

4. Rangkaian H-Bridge, tetapi belum sempurna. Rencana kerja setelah UTS

1. Menyelesaikan Rangkaian H-Bridge yang belum sempurna, karena arus yang menuju ke motor sangat kecil.

2. Menambahkan Inverting pada H-Bridge untuk mengatasi input kembar pada switching dan Octal Latch untuk menginterupt data.

Gambar

Table kebenaran XNOR

Referensi

Dokumen terkait

Bahagian Proses / Penjelasan Contoh Penulisan digunakan Kuantiti bahan yang akan digunakan Harga seunit bahan yang diperlukan Harga keseluruhan bagi bahan yang dipohon

Seperti aplikasi web pada umumnya, aplikasi yang dibangun dengan menggunakan framework ASP.NET Core juga memerlukan web server untuk agar bisa diakses dari web

Dalam hal pembangunan nasional yang akan dilakukan oleh pemerintah untuk meningkatkan perekonomian negara, peran pajak pusat lebih penting dibandingkan dengan pajak

Pendidikan Islam merupakan media untuk mempengaruhi orang lain ke arah kebaikan agar dapat hidup lebih baik sesuai ajaran Islam dan mentaati semua yang

Jika umur hilal negatif (ijtimak terjadi setelah maghrib), maka Julian Date pada jam 12 waktu lokal dapat ditambah dengan 1 yang menandakan bahwa perhitungan waktu

Pengguna, biasanya melalui aplikasi pengguna seperti peramban web, meminta layanan atas berkas ataupun halaman web yang terdapat pada sebuah server web, kemudian server

Dari dua pengertian diatas dapat disimpulkan bahwa undang-undang informasi dan transaksi elektronik adalah ketentuan yang berlaku untuk setiap orang yang melakukan