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 ) Jurusan Teknik Elektro Fakultas Teknologi Industri Universitas Kristen Petra Surabaya 2002
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
1. PendahuluanPengontrolan 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 yangdiinginkan 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
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 akanselalu 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
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 membuatsuatu 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.
Adapun data port yang dipakai untuk pengaksesan parallel port (0x378) adalah sebagai
Tipe data include yang digunakan adalah dos.h. Untuk mengeluarkan data keparallel portmenggunakan 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 suatukedipan 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 :
*/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 */
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