TA : Perancangan dan Pembuatan Alat Pengidentifikasi Karakteristik Motor DC.

(1)

PENGIDENTIFIKASI KARAKTERISTIK MOTOR DC

Oleh :

Nama : ARDIAN FITRIANTO NIM : 98.41020.9070

Program : S1 (Strata Satu) Jurusan : Sistem Komputer

SEKOLAH TINGGI

MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER SURABAYA


(2)

vii

Halaman

ABSTRAKSI iv

KATA PENGANTAR v

DAFTAR ISI vii

DAFTAR TABEL ix

DAFTAR GAMBAR x

DAFTAR SINGKATAN xi

DAFTAR LAMPIRAN xii

BAB I PENDAHULUAN 1

1.1 Latar Belakang Masalah 1

1.2 Perumusan Masalah 2

1.3 Pembatasan Masalah 2

1.4 Tujuan 3

1.5 Kontribusi 3

1.6 Sistematika Penulisan 4

BAB II LANDASAN TEORI 6

2.1 Motor DC 6

2.1.1 Prinsip kerja Motor DC 8

2.1.2 Kecepatan Motor DC 10

2.1.3 Karakteristik Motor DC 11

2.2 Fungsi Alih 14

2.2.1 Step input (tanggapan tangga atau unit step) 15

2.2.2 PRBS input 16

2.3 PPI 8255 17

2.4 DAC 0808 21

2.5 ADC 0804 24

2.6 Tachogenerator 25

2.7 Rangkaian Penyearah dan Rangkaian Pelemah 27

2.8 Driver Motor DC 29

2.9 Borland Turbo C++ 30

2.10 MATLAB 31

BAB III METODE PENELITIAN 32

3.1 Perancangan Aplikasi Identifikasi Karakteristik Motor

DC 33

3.1.1 Perencanaan dan pembuatan program 34

3.1.2 Inisialisasi pada program 35

3.2 Perancangan Perangkat Lunak Untuk Identifikasi

Sistem Secara Statis 37

3.2.1 Prosedur ambil data 37

3.2.2 Prosedur rata – rata data 38

3.2.3 Prosedur mid untuk mencari suatu nilai dalam

file 40


(3)

viii

3.3 Perancangan Perangkat Lunak Untuk Identifikasi

Sistem Secara Dinamis 45

3.3.1 Prosedur pembangkitan deret PRBS 46 3.4 Perancangan Dan Pembuatan Perangkat Keras 47

3.4.1 PPI 49

3.4.2 DAC 51

3.4.3 ADC 52

3.4.4 Driver Motor DC 54

3.4.5 Rangkaian penyearah dan rangkaian pelemah 55

BAB IV PENGUJIAN DAN EVALUASI SISTEM 57

4.1 Prosedur Pengujian Perangkat Keras 57

4.1.1 PPI 57

4.1.2 DAC 59

4.1.3 ADC 61

4.1.4 Driver Motor DC 62

4.1.5 Rangkaian Penyearah 63

4.1.6 Rangkaian Pelemah 64

4.1.7 Tachogenerator 65

4.2 Pengujian perangkat lunak 66

4.2.1 Identifikasi secara statis 66

A Ambil data 67

B Rata – rata data 68

C Analisa data 69

4.2.2 Identifikasi secara dinamis 70 4.3 Hasil pengujian pada alat yang terintegrasi 71

BAB V PENUTUP 82

5.1 Kesimpulan 82

5.2 Saran 82

DAFTAR PUSTAKA 83


(4)

1

PENDAHULUAN

1.1 Latar Belakang Masalah

Untuk dapat meraih suatu tujuan yang dikehendaki, akhir – akhir ini dunia industri diperhadapkan pada suatu persaingan (kompetisi). Kompetisi dapat meliputi kemampuan menggunakan alat – alat yang lebih handal, efisien, akurat, murah dan pengaruhnya terhadap peningkatan produksi. Alat – alat industri yang dipakai sekarang ini masih banyak menggunakan Motor AC dan DC sebagai penggerak utama dalam aktivitasnya, Motor DC saat ini banyak digunakan terutama untuk sistem penggerak dengan daya yang tidak terlalu besar pada industri.

Motor DC merupakan perangkat analog yang komponen utamanya terdiri atas magnet dan kumparan dimana pada waktu arus listrik ini mengalir dapat menyebabkan terjadinya induksi dalam kumparan dengan magnet dalam Motor tersebut sehingga batang poros dapat berputar. Motor juga sebagai transducer yang mengubah energi listrik menjadi energi mekanik. Tergantung pada konfigurasi antara beban dan poros Motor, beban akan bergerak secara rotasi maupun translasi, atau mungkin bentuk gerakan yang tak beraturan. Tanpa memadang tipe gerakan, torsi dan kecepatan yang terjadi pada beban dapat dikonversikan menjadi kerja dan daya mekanik (Bahan Pelatihan Nasional, 2002).

Motor DC mempunyai kinerja operasi yang halus (smooth), hal tersebutlah yang menjadikannya pilihan untuk digunakan dalam dunia industri.


(5)

Untuk penggunaaan yang umum, Motor DC diklasifikasikan berdasarkan eksitasi medannya dan ada yang dieksitasi secara seri, shunt, dan terpisah.

Untuk menghindari kerusakan dan kemudahan dalam desain sistem kontrol pada plant, Motor DC, diusulkan dalam tugas akhir ini suatu metode identifikasi sistem atau plant. Persamaan model dari sistem atau plant merupakan hasil yang didapat dari proses identifikasi. Persamaan tersebut dapat dipakai selanjutnya untuk desain controller yang dikehendaki atau sebagai informasi awal yang terpercaya tentang sistem yang hendak di desain controller-nya.

Dalam Tugas akhir ini akan dibahas penggunaan pemrograman komputer yang menerapkan algoritma dan metode identifikasi dengan menggunakan bahasa pemrograman Turbo C++, sehingga didapatkan suatu persamaan yang menggambarkan perilaku dinamis (persamaan model) dari Motor DC yang dimaksud.

1.2

Perumusan Masalah

Permasalahan dalam tugas akhir ini adalah bagaimana merancang suatu peralatan yang dapat mengidentifikasi persamaan dinamika Motor DC tertentu, untuk dapat mengembangkan desain controller-nya. Permasalahan selanjutnya adalah menentukan kelebihan dan kekurangan dari peralatan hasil rancangan tersebut.

1.3

Pembatasan Masalah

Batasan masalah yang dibahas dalam tugas akhir ini adalah :

1. Plant yang akan diidentifikasi adalah Motor DC 12V yang terpasang pada Alat. Dalam tugas akhir ini akan digunakan 3 Motor ( 2 Motor yang sama,


(6)

berasal dari satu pabrik dan 1 Motor yang berbeda dengan kedua Motor tersebut).

2. Sebuah program kontrol yang akan dibuat diharapkan menerapkan konsep yang sedekat mungkin dengan real time, dengan bahasa pemrograman Borland Turbo C++ V3.0.

3. Identifikasi sistem dilakukan secara statis dan dinamis, untuk yang statis hasil fungsi alihnya langsung didapat dari program dan divisualisasikan di layar monitor. Untuk yang dinamis software dirancang hanya untuk mengambil data, pengolahannya dilakukan dengan MATLAB untuk mendapatkan fungsi alihnya.

4. Sensor yang digunakan di sisi output Motor DC adalah Tachogenerator. 5. Identifikasi yang dilakukan tidak sampai menemukan error, untuk validasi

hanya sebatas membandingkan data rata – rata hasil ekperimen dengan data hasil simulasi dengan MATLAB.

1.4 Tujuan

Tujuan pembuatan Tugas Akhir ini adalah merancang dan membuat suatu alat yang dapat mengidentifikasi persamaan model dinamika dari sebuah Motor DC.

1.5 Kontribusi

Penggunaan Motor DC sebagai obyek penelitian dalam tugas akhir sudah sering dilakukan, ada banyak segi yang dapat diteliti, mulai dari kontrol posisi, kecepatan dan percepatan sampai kontrol Motor DC dengan fuzzy dan lain sebagainya.


(7)

Dalam tugas akhir ini obyek penelitiannya adalah kecepatan dari motor DC. Kecepatan disini direpresentasikan dengan persamaan dinamika Motor DC. Persamaan dinamika Motor DC biasanya dapat diperoleh dengan menggunakan sistem manual yakni dengan melakukan perhitungan – perhitungan yang memakan banyak waktu. Untuk menemukan persamaan Motor DC secara manual semua parameter yang diperlukan harus telah terukur.

Dalam tugas akhir ini ditawarkan suatu sistem yang dapat menghasilkan suatu persamaan karakteristik Motor DC yang sudah terkomputerisasi (bukan manual). Selain menghemat waktu proses, identifikasi sistem dengan bantuan program komputer tidak dapat diragukan lagi dalam ketepatan perhitungannya.

Selain hal diatas tugas akhir ini dibuat dengan harapan untuk mengembangkan penelitian bidang pemodelan sistem dinamis, berkontribusi demi mendorong pengembangan penerapan ilmu kontrol Motor DC

1.6 Sistematika Penulisan

Buku ini disusun secara sistematis dalam lima Bab yang masing-masing terdiri dari beberapa Sub Bab. Secara ringkas materi tersebut diuraikan sebagai berikut:

Bab I : Pendahuluan

Berisi latar belakang pembuatan tugas akhir, perumusan masalah, pembatasan masalah, tujuan tugas akhir, kontribusi, dan sistematika penulisan.

Bab 11 : Landasan Teori

Dalam bab ini diuraikan dasar teori Motor DC, dari komponen pembentuk sampai persamaan dinamikanya, PPI 8255, ADC, DAC,


(8)

fungsi alih, Tachogenerator serta bahasa pemrograman Borland Turbo C++.

Bab III : Metode Penelitian

Disini akan dibahas mengenai perancangan dan pembuatan proses sistem kendali Motor DC yang meliputi pembuatan algoritma, sistem kerja tiap rangkaian, alur kerja dari tiap komponen.

Bab IV : Pengujian Dan Evaluasi Sistem

Merupakan pengujian terhadap perangkat lunak dan perangkat keras serta pengujian yang hasilnya dapat dijelaskan dalam bentuk angka atau gambar. Kemudian analisa yang bisa diambil dari hasil penelitian.

Bab V : Penutup

Berupa kesimpulan dari keseluruhan proses penyelesaian tugas akhir ini, mulai perancangan dan pembuatan alat serta saran-saran guna perbaikan di masa – masa yang akan datang.


(9)

6

LANDASAN TEORI

Dalam bab ini diuraikan teori yang meliputi hardware dan software pembentuk alat yang dirancang. Hardware yang dimaksud adalah Motor DC, PPI8255, DAC0808, ADC0804, Tachogenerator, Rangkaian Penyearah, Rangkaian Pelemah serta Driver Motor DC. Software yang akan dipakai dan dijelaskan disini adalah Borland Turbo C++ V3.0 dan MATLAB. Selain itu juga diuraikan teori - teori yang berkenaan dengan identifikasi sistem yang dirancang dan dibuat. Selanjutnya akan dijelaskan secara rinci dibawah ini.

2.1 Motor DC

Motor DC (Direct Current) adalah sebuah mesin yang mengubah energi listrik menjadi energi mekanis, dengan menggunakan sumber tegangan arus searah atau DC. Motor bekerja karena ada gaya yang bekerja pada konduktor yang dilewatkan medan arus dan medan magnet yang ditimbulkan oleh angker dinamo (Bahan Pelatihan Nasional, 2002). Angker dinamo adalah sebutan untuk komponen yang berputar di antara medan magnet.

Bentuk Motor DC paling sederhana memiliki kumparan satu lilitan kawat yang bisa berputar bebas di antara kutub – kutub magnet permanen seperti Gambar 2.1 dibawah. Catu tegangan DC dari baterai menuju ke lilitan dengan melalui sikat yang menyentuh komutator, dua segmen yang terhubung dengan dua ujung lilitan. Kumparan satu lilitan kawat pada gambar di bawah disebut angker dinamo


(10)

Gambar 2.1 Motor DC sederhana

Komponen – komponen Motor DC sederhana antara lain adalah :

1. Angker dinamo terdiri dari beberapa lilitan kawat yang menghasilkan medan magnet jika dialiri arus. Angker dinamo dapat berputar dengan bebas pada porosnya yang disangga oleh bantalan poros pada kedua ujungnya.

2. Komutator terpasang pada ujung batang atau poros angker dinamo. Komutator terbuat dari dua semen tembaga yang dihubungkan dengan konduktor angker dinamo. Kedua segmen komutator diisolasi satu sama lain maupun terhadap poros. Komutator merubah arah aliran arus menuju angker agar angker dinamo dapat selalu berputar.

3. Sikat biasanya terbuat dari campuran tembaga karbon dan ditempelkan pada komutator dengan didorong oleh pegas. Sikat mengalirkan arus dari catu daya DC pada angker dinamo yang berputar.


(11)

2.1.1 Prinsip kerja Motor DC

Jika arus lewat pada suatu konduktor, timbul medan magnet di sekitar konduktor. Arah medan magnet ditentukan oleh arah aliran arus pada konduktor. Aturan Genggaman Tangan Kanan bisa dipakai untuk menentukan arah garis fluks di sekitar konduktor. Genggam konduktor dengan tangan kanan dengan jempol mengarah pada arah aliran arus, maka jari-jari anda akan menunjukkan arah garis fluks (Bahan Pelatihan Nasional, 2002).

Gambar 2.2. Medan magnet mengelilingi konduktor dan diantara kutub.

Medan magnet hanya terjadi di sekitar sebuah konduktor jika ada arus mengalir pada konduktor tersebut. Jika konduktor berbentuk U (angker dinamo) diletakkan di antara kutub Utara dan Selatan yang kuat medan magnet konduktor akan berinteraksi dengan medan magnet kutub. Lihat gambar di bawah ini :


(12)

Lingkaran bertanda A dan B merupakan ujung konduktor yang dilengkungkan (looped conductor). Arus mengalir masuk melalui ujung A dan keluar melalui ujung B. Medan konduktor A yang searah jarum jam akan menambah medan pada kutub dan menimbulkan medan yang kuat di bawah konduktor. Konduktor akan berusaha bergerak ke atas untuk keluar dari medan kuat ini. Medan konduktor B yang berlawanan arah jarum jam akan menambah medan pada kutub dan menimbulkan medan yang kuat di atas konduktor. Konduktor akan berusaha untuk bergerak turun agar keluar dari medan yang kuat tersebut. Gaya - gaya tersebut akan membuat angker dinamo berputar searah jarum jam.

Tegangan catu daya DC dihubungkan pada angker dinamo melalui sikat yang menempel pada komutator. Secara otomatis komutator membalik hubungan antara angker dinamo dan catu daya DC sehingga konduktor berputar pada arah yang tepat terhadap medan magnet, maka angker dinamo akan selalu berputar.

Komutator berputar bersamaan dengan angker dinamo. Jika angker dinamo berputar setengah putaran tiap segmen komutator terputus kontaknya dengan satu sikat dan berganti terhubung dengan sikat yang lain. Oleh karena itu bagian angker dinamo yang paling dekat dengan kutub Selatan akan selalu terdesak ke atas sedangkan yang paling dekat dengan kutub Utara selalu terdorong ke arah bawah. Aksi ini membuat angker dinamo tetap berputar. Jika jumlah lilitan konduktor dan segmen komutator makin banyak maka akan dihasilkan putaran yang lebih kuat.


(13)

2.1.2 Kecepatan Motor DC

Kecepatan Motor dipengaruhi oleh kekuatan fluks medan magnet, arus angker dinamo dan jumlah konduktor, serta nilai EMF balik yang ditimbulkan. (Bahan Pelatihan Nasional, 2002). Gambar 2.4 menunjukkan magnet permanen Motor DC. Pengontrolan torsi atau kecepatan dilakukan dengan merubah tegangan catu daya angker dinamo.

Torsi tergantung pada jumlah dan ukuran konduktor pada kedua kumparan maupun pada angker dinamo. Konduktor berat dan besar memiliki resistansi listrik sangat rendah memungkinkan arus yang besar mengalir dalam Motor dan menghasilkan torsi awal yang besar (Motor starter).

Gambar 2.4. Motor magnet permanen.

Arah putaran angker dinamo tergantung pada posisi kutub medan magnet serta arah arus yang mengalir melewati angker dinamo. Pada Motor DC dengan kumparan magnet permanen, perubahan polaritas pada angker dinamo (arah aliran arus) akan mengubah arah putaran angker dinamo. Kecepatan dan torsi Motor


(14)

juga bergantung pada susunan lilitan. Macam lilitan antara lain seri, melangsir dan komposit (gabungan), tiap lilitan mempunyai karakteristik berbeda.

2.1.3 Karakteristik Motor DC

Actuator yang umum di gunakan dalam sistem kontrol adalah Motor DC, karena secara langsung menyediakan gerak putar dan juga dapat menghasilkan gerak transisi (Control Tutorial For MATLAB, 1997), selain itu putaran yang dihasilkan juga halus. Rangkaian elektriknya dapat di gambarkan seperti di bawah ini :

Gambar 2.5. Rangkaian elektrik dari Motor DC

Untuk contoh, dapat diasumsikan nilai-nilai berikut untuk parameter fisik, nilai – nilai ini diperoleh dari percobaan yang diadakan di Carnegie Mellon's Undergraduate Controls Lab (Regents of the University of Michiganian , 1996).

1. Momen inertia dari Motor (J) = 0,01 Kg.m2/detik2

2. Dampingratio dari sistem mekanik = 0,1 Nm.detik

3. Konstanta elektromotoris ( K = Ke = Kt) = 0,01 Nm/Amp


(15)

5. Induktansi (L) = 0,5 H

6. Input (V) = sumber tegangan DC (Volt)

7. Output (Θ) = kecepatan putaran motor (rpm)

Torsi Motor T, di hubungkan dengan arus jangkar i, konstanta Kt, EMF balik e, di hubungkan dengan percepatan putaran, akan menghasilkan suatu persamaan :

i K

Tt (2.1)

.

  Ke

e (2.2)

Dalam satuan SI, Kt (konstanta armature) sama dengan Ke (konstanta Motor), dari gambar 2.5 didapat persamaan yang berdasarkan pada Hukum ke -3 Newton, yaitu setiap gaya yang diadakan pada suatu benda, menimbulkan gaya lain yang sama besarnya dengan gaya tadi, namun berlawanan arah (Darmawan, 1988 : 34) dan Hukum Kirchhoff untuk rangkaian, yaitu dalam lintasan (loop) yang tertutup, jumlah aljabar beda potensial adalah nol. Dengan catatan bila potensial naik, beda potensial dihitung positif dan bila potensial turun dihitung negatif (Darmawan, 1988 : 208) sebagai berikut :

JbKi

  

(2.3)

  

Ri V K

dt di

L (2.4)

Dari rumus diatas, dengan transformasi Laplace dalam domain s dapat ditulis sebagai berikut :

) ( ) ( )

(Js b s KI s


(16)

) ( )

( )

(LsR I sVKss (2.6)

Karena dua persamaan tersebut sama – sama mempunyai nilai I(s), maka kedua persamaan tersebut dapat di gabung dan menghasilkan fungsi alih dari open loop system, dimana putaran baling - baling Motor sebagai output dan tegangan sebagai input :

V K s b Js s R Ls s

Ks( )(  )( (  )( )) (2.7)

2

) )(

(Js b Ls R K K

V    

(2.8)

Dengan MATLAB sesuai fungsi alih di atas dapat di peroleh gambar grafik step response open loop system seperti Gambar 2.6 dibawah. Dari persamaan fungsi alihnya dapat diperoleh persamaan state space-nya dengan menggunakan kecepatan putaran dan arus listrik sebagai state variable dan tegangan sebagai input, output-nya nanti dalam bentuk kecepatan putaran :

V L i L R L K j K j b i dt d                                           1 0 

(2.9)

           i


(17)

Gambar 2.6. Step response untuk open loop system

Grafik diatas merupakan perwujudan dari fungsi alih yang didapat dari persamaan Motor DC umum.

2.2 Fungsi Alih

Dalam teori kontrol, fungsi yang disebut ¨Fungsi Alih¨ seringkali digunakan untuk mencirikan hubungan masukan – keluaran dari sistem linier parameter konstan. Konsep fungsi alih hanya digunakan pada sistem linier parameter konstan, walaupun dapat diperluas untuk suatu sistem kontrol nonlinier. “Fungsi alih didefinisikan secara jelas sebagai perbandingan dari Transformasi Laplace keluaran (fungsi tanggapan) dan Transformasi Laplace masukan (fungsi penggerak)” (Astrom dan Wittenmark, 1997), dengan anggapan bahwa semua syarat awal adalah nol.

x b x b x

b x b y a y a y

a y

a m m

m m

n n

n n

 

 

  

 

 

 .

1 )

1 ( 1 ) ( 0 .

1 )

1 ( 1 ) (

0 ... ... (n ≥ m) (2.11)

Tinjau sistem linier parameter konstan yang didefinisikan persamaan diferensial (2.12), dimana y adalah keluaran sistem dan x adalah masukannya.


(18)

Fungsi alih dari sistem ini diperoleh dengan mencari Transformasi Laplace dari kedua ruas persamaan , dengan menganggap bahwa semua syarat adalah nol

Fungsi alih =

n n n

n

m m m

m

a s a s

a s a

b s b s

b s b s X

s Y s G

   

   

 

 

 

1 1

1 0

1 1

1 0

... ... )

( ) ( )

( (2.12)

Fungsi alih adalah suatu ekspresi yang merelasikan keluaran dan masukan suatu sistem linier parameter konstan dalam bentuk parameter sistem dan merupakan sifat dari sistem itu sendiri, tidak bergantung pada fungsi masukan atau penggerak. Fungsi alih mencakup satuan – satuan yang diperlukan untuk merelasikan masukan dengan keluaran.

Dengan menggunakan konsep ini, kita dapat menyatakan dinamika sistem dengan beberapa persamaan aljabar dalam domain s. Pangkat tertinggi dari s pada penyebut fungsi alih sama dengan orde suku turunan tertinggi dari keluaran. Jika pangkat tertinggi dari s tersebut adalah n, maka sistem tersebut disebut sistem orde ke n.

Hal lain yang berhubungan dengan fungsi alih adalah jenis masukan yang akan diberikan kepada suatu sistem yang menjadi objek. Ada 2 cara yang dapat digunakan, dengan memberikan masukan berupa Unit Step dan masukan PRBS (Pseudo Random Binary Sequence).

2.2.1 Step input (tanggapan tangga atau unit step)

Suatu aspek keluaran y(t) yang disebabkan oleh masukan x(t) disebut sebagai tanggapan dari sistem. Meskipun banyak sekali jenis masukan yang dapat diberikan kepada sistem, tetapi untuk keperluan evaluasi dan analisa sistem, masukan berikut adalah sangat penting, yakni :


(19)

B1 B2 B3 B4 B5

+ 2. Masukan impulse (impulseinput) 3. Masukan sinusoidal (sinosoidalinput)

Point 1 dan 2 sering dipakai untuk menyelidiki tanggapan peralihan dan karenanya menjadi sangat penting. Tanggapan sistem merupakan alat bantu untuk mendefinisi sifat dari sistem, sebagai pertimbangan penentu apakah sifat dari sistem tersebut diinginkan atau tidak diinginkan dalam konteks tertentu yang diketahui.

2.2.2 PRBS

PRBS dibangkitkan oleh shift register dengan feedback yang diimplementasikan pada hardware dan software. Panjang maksimum deret adalah 2N-1 dimana N adalah jumlah sel pada shift register.

Gambar 2.7 dibawah menggambarkan pembangkitan PRBS dengan panjang deret 31 = 25 -1, didapat dengan menggunakan sebuah shift register 5 bit.

(penjumlahan (XOR) modulo 2)

Gambar 2.7. Pembangkitan PRBS panjang 25-1

Perhatikan bahwa sekurang - kurangnya satu sel dari N sel shift register seharusnya mempunyai nilai logika tidak sama dengan nol (satu secara umum membuat semua nilai awal dari N sel sama dengan nilai logika 1/XOR).

Perhatikan bahwa satu karakteristik elemen yang sangat penting dari PRBS adalah durasi maksimum dari impuls PRBS adalah sama dengan N (jumlah


(20)

8255 34 33 32 31 30 29 28 27 5 36 9 8 35 6 4 3 2 1 40 39 38 37 18 19 20 21 22 23 24 25 14 15 16 17 13 12 11 10 26 7 D0 D1 D2 D3 D4 D5 D6 D7 RD WR A0 A1 RESET CS PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 Vcc GND

sel). Sifat ini harus dipertimbangkan ketika memilih sebuah PRBS untuk identifikasi sistem.

2.3 PPI 8255

PPI (Programmable Peripheral Interface) 8255 merupakan salah satu interface yang umum digunakan dalam sistem kontrol, sebagai penghubung komputer dengan peripheral di luarnya. Keunggulan PPI 8255 antara lain adalah :

1. 24 Bit Programmable I/O

2. Kompatibel dengan semua TTL (Transistor - Transistor Logic) 3. Kompatibel dengan semua prosessor INTEL

4. Tersedia dalam 40 pin DIP

PPI 8255 didesain untuk peralatan I/O yang dapat diprogram dengan menggunakan mikroprosesor INTEL. IC (Integrated Circuit) ini mempunyai 24 pin I/O yang dapat diprogram secara terpisah dalam 2 kelompok yang masing-masing terdiri dari 12 bit dan digunakan dalam 3 mode operasi yang utama.


(21)

Diskripsi fungsional PPI 8255 dari INTEL adalah chip parallel yang sederhana. Keuntungan utamanya adalah interface yang sederhana dari 8 bit bidirectional. PPI mengandung Register Control dan tiga port terpisah yang dapat dialamati, disebut Port A, Port B dan Port C.

Diakses tidaknya PPI ini ditentukan dari sinyal pada pin CS(chip select) dan arah akses sesuai dengan sinyal RD dan WR. Pin A0 dan A1 menentukan register mana yang dialamati.

Fungsi dan kegunaan dari masing - masing pin tersebut adalah sebagai berikut :

1. Pin 27 sampai 34 sebagai D0 sampai D7 adalah bus data yang dihubungkan dengan D0 sampai D7 pada slotISA.

2. Pin 35 sebagai Reset adalah pin kontrol untuk inisialisasi PPI 8255, dihubungkan dengan jalur Reset pada slotISA.

3. Pin 5 sebagai Read adalah pin kontrol untuk menandakan operasi baca oleh komputer ke PPI 8255.

4. Pin 36 sebagai Write adalah pin kontrol untuk menandakan operasi tulis dari komputer ke PPI 8255.

5. Pin 6 sebagai Chips Select adalah pin kontrol untuk menandakan bahwa PPI 8255 sedang ditunjuk untuk menerima atau mengirim data.

6. Pin 8 sampai 9 sebagi Port Select adalah pin alamat untuk memilih register yang akan digunakan pada saat pemrograman IC PPI 8255, dihubungkan pada sebagian jalur alamat dari slot ISA.

7. Pin 1 sampai 4 sebagaiPA3 sampai PA0 adalah 4 bit jalur data dari 8 bit jalur Port A sebagai I/O yang akan dihubungkan ke peralatan luar.


(22)

8. Pin 37 sampai 40 sebagai PA7 sampai PA4 adalah 4 bit jalur data dari 8 bit jalur Port A sebagai I/O yang akan dihubungkan ke peralatan luar.

9. Pin 18 sampai 25 sebagai PB0 sampai PB7 adalah 8 bit jalur data I/O Port B. 10. Pin 10 sampai 17 sebagai PC0 sampai PC7 adalah 8 bit jalur data I/O Port C. 11. Pin 7 berfungsi sebagai GND (Ground)

12. Pin 26 berfungsi sebagai Vcc (+5V ).

Dari Keterangan diatas, maka sebuah IC PPI8255 mempunyai 3 X 8 bit jalur I/O yang dapat digunakan sebagai input, output, atau kontrol (misalnya untuk sinyal Strobe, Interrupt) ke atau dari peralatan luar

Komponen IC ini termasuk dalam golongan IC LSI (Large Scale Integrated) atau IC yang mempunyai ukuran besar. IC ini dikemas dalam bentuk DIL (dual in line) dengan memiliki jumlah pin sebanyak 40 buah dan mempunyai jalur input output sebanyak 24 jalur, yang dirancang untuk fungsi I/O pada pemakaian mikrokomputer. Dimana masing-masing pin telah mempunyai fungsi sendiri-sendiri.

Dasar-dasar operasi yang ada pada PPI 8255 berguna untuk menentukan bentuk operasi dari PPI 8255 yang ada pada masing-masing port, baik Port A, Port B, Port C ataupun Control Word yang dimiliki PPI 8255.

Dasar operasi yang disediakan oleh PPI 8255 merupakan bagian dari prinsip kerja dari masing-masing port, yang nantinya menentukan apakah port yang digunakan nantinya berfungsi sebagai input ataupun output, dan untuk port terakhir untuk menentukan Control Word yang digunakan oleh PPI 8255.


(23)

Tabel 2.1 Operasi dasar dari PPI 8255

A1 A2 RD WR CS Operasi Input (READ) 0 0 0 1 0 READ : Port A ke data bus 0 1 0 1 0 READ : Port B ke data bus 1 0 0 1 0 READ : Port C ke data bus A1 A0 RD WR CS Operasi output (WRITE)

0 0 1 0 0 WRITE: data bus ke Port A 0 1 1 0 0 WRITE: data bus ke Port B 1 0 1 0 0 WRITE: data bus ke Port C

1 1 1 0 0 WRITE : data bus ke Control Word Register (INISIALISASI)

X X X X 1 Data bus 8255 berada dalam kondisi tristate atau PPI tidak difungsikan. 1 1 0 1 0 Kondisi yang tidak mungkin karena CW

hanya bisa untuk WRITE.

X X 1 1 0 Data bus 8255 berada dalam kondisi tristate atau PPI tidak difungsikan.

Mode kerja dari PPI 8255 dioperasikan dalam tiga mode, yaitu:

1. Mode 0 : BasicInput/Output

Mode ini disebut juga mode simple I/O operation. Pada mode 0 port berfungsi sebagai input atau output tanpa strobe. Bila Port A dan B bekerja dalam mode 0, maka Port C dapat bekerja sebagai port 8 bit dan juga dapat bekerja sebagai port 4 bit secara terpisah. Bila digunakan sebagai output, Port C secara terpisah dapat di Set dan Reset dengan mengirim sinyal Control Word tertentu ke alamat Register Control.

2. Mode 1 : StrobedInput/Output

Jika diinginkan Port A dan Port B bekerja sebagai input dan output strobe, maka port harus di inisialisasi pada mode 1. Pada mode ini beberapa pin dari Port C difungsikan sebagai jalur strobe. PC0, PC1, PC2 difungsikan sebagai strobe untuk Port B. Jika Port A diinisialisasi sebagai portoutputhandshake, maka PC3,


(24)

PC6, PC7 berfungsi sebagai sinyal handshake. PC4, PC5 dapat digunakan sebagai jalur input atau output.

3. Mode 2 : Bidirectional Bus

Hanya Port A yang dapat diinisialisasi pada mode 2. Port A dapat digunakan sebagai pemindahan data 2 arah. PC3 sampai PC7 digunakan sebagai jalur strobe untuk Port A dan PC0 - PC2 dapat digunakan sebagai input atau output bila Port B digunakan dalam mode 0. Bila Port B dalam mode 1, maka PC0 - PC2 digunakan sebagai Strobe untuk Port B.

2.4 DAC 0808

DAC (Digital To Analog Converter) berfungsi sebagai media untuk mengkonversikan sinyal digital ke sinyal analog. Sinyal digital disini bisa dari PPI ataupun Mikrokontroler, sedang sinyal analog nantinya akan diproses lebih lanjut oleh Motor ataupun plant lainnnya. DAC 0808 merupakan jenis DAC yang sering digunakan oleh umum dikarenakan dari segi harga tidak terlalu mahal, dan juga memiliki tingkat ketelitian yang bagus.


(25)

DAC ini bersifat monotonik dan juga merupakan DAC tangga R-2R 8-bit yang dilengkapi dengan sumber arus acuan dan delapan buah Transistor saklar untuk mengarahkan arus biner. Suatu tegangan dan hambatan eksternal dipergunakan untuk mengatur arus acuan pada nilai yang biasanya bernilai 2mA. DAC ini memiliki waktu pemantapan (time settling) 150ns dan ketelitian relatif ±1/2 LSB.

DAC 0808 bersifat monotonik artinya DAC ini menghasilkan suatu output arus yang meningkat untuk setiap masukan digital yang berturut – turut, dan hal inilah yg menjadikannya layak untuk dipakai. Dan ciri lain dari monotonik adalah kesalahan harus lebih kecil daripada ±1/2 LSB pada setiap output-nya, karena dalam keadaan terburuk, sebuah kesalahan +1/2 LSB yang disusul oleh sebuah kesalahan -1/2 LSB akan menghasilkan tingkat kritis yg hampir kehilangan monotonisitas.

Gambar 2.10 Setiap anak tangga sama dengan penambahan satu LSB

DAC memiliki 16 pin atau kaki, sebagai berikut :

1. NC : No Connect, Pin ini tidak memiliki fungsi. Jadi tidak dihubungkan. 2. GND : Ground, sebagai kutub negatif.


(26)

4. IOUT : Saluran balik dari tanah (ground return). Pin ini dihubungkan dengan Op-Amp.

5. D7-D0 : Input data dari sinyal digital 8 bit. 6. Vcc : Dihubungkan dengan catu daya +5V.

7. Vref(+) : dihubungkan dengan catu daya positif melalui R yang memungkinkan anda untuk menetapkan arus acuan (I ref) pada harga 2mA.

8. Vref(-) : dihubungkan ke ground melalui R.

9. Kompensasi frekwensi : sebuah Kapasitor yang di hubungkan dengan Pin 16 dan Pin 3 berfungsi untuk memberikan frekuensi yang cocok untuk DAC ini.

Gambar 2.11. DAC 0808

Waktu pemantapan diartikan sebagai waktu yg dibutuhkan untuk stabilisasi keluaran konverter dalam batas ½ LSB dari nilai akhirnya. Jangka waktu ini tergantung pada kapasitas liar (stray capacitance), waktu tunda saturasi dan lain – lain. Waktu pemantapan ini sangat penting karena harganya


(27)

menentukan batas kecepatan dalam mengubah berbagai input-an digital, biasanya harganya sekitar nano detik sampai mikro detik.

2.5 ADC 0804

ADC (Analog To Digital Converter ) fungsinya sebagai media untuk mengkonversikan sinyal analog dari alat, plant, ataupun sensor untuk dirubah menjadi sinyal digital sehingga dapat dibaca oleh mikrokontroler ataupun langsung oleh PPI untuk diolah lebih lanjut oleh komputer.

Gambar 2.12. ADC 0804

Fungsi kaki – kaki pada ADC0804 :

1. CS : Sinyal untuk mengaktifkan komponen 2. RD : Sinyal kontrol untuk mengambil data 3. WR : Sinyal kontrol untuk memulai awal konversi 4. CLK – IN : Untuk mengatur besarnya clock internal.

5. INT : Status untuk mengetahui bahwa konversi sudah selesai. 6.Vin (-) : Input-an analog negatif.


(28)

7. Vin (+) : Input-an analog positif. 8. A – GND : Analog ground.

9. Vref/2 : Setengah tegangan referensi untuk skala penuh . 10. D-GND : Dihubungkan ke ground.

11. – 18. LSB - MSB : Data 8 bit.

19. CKL – R : Untuk mengatur besarnya clock internal. 20. VCC : Tegangan catu daya

Komponen ini menggunakan pendekatan (Succesive approximation) berturut – turut untuk mengkonversi input-an analog dalam jangka waktu tertentu menjadi data digital 8 bit. ADC 0804 mempunyai pembangkit pulsa internal dengan sedikit tambahan komponen eksternal, membutuhkan tegangan sebesar +5V, dan mempunyai waktu konversi optimum sekitar 100 mikro detik.

Tegangan input maksimum yang dapat dikonversikan bergantung pada seberapa besar tegangan pada pin Vref/2 dengan tegangan absolut maksimum sebesar 18V. Apabila pin Vref/2 diberi tegangan sebesar 5V yang berarti data digital FF pada output bersesuaian dengan data analog input sebesar 5V, maka resolusi dari ADC ini adalah 20 mV. Resolusi dalam hal ini adalah perubahan tegangan untuk kenaikan tiap bitnya adalah 20mV, didapat dari rumus :

255 Vref

resolusi (2.13)

2.6 Tachogenerator

Tachogenerator adalah suatu alat yang bisa merubah energi gerak (mekanis) menjadi energi listrik. Tachogenerator biasanya sudah terhubung pada bagian atas Motor DC, hal ini memudahkan pengguna karena tidak harus


(29)

menggunakan alat yang banyak untuk mengetahui output Motor DC tersebut, tetapi output dari Tachogenerator tersebut masih merupakan tegangan AC, sehingga diperlukan Rangkaian Penyearah untuk mendapatkan tegangan DC.

Gambar 2.13 Bagian – bagian dari Tachogenerator.

Gambar 2.14. Karakteristik dari (a) Motor DC dan (b) Tachogenerator

T a c hoge ne ra t or

1. End cap 2. Bearing 3. Housing 4. Magnet

5. Assembly housing 6. Coil

7. Commutator 8. Brush cover

DC M ic rom ot or

9.Brushes 10. Commutator 11.Coil

12.Shaft

13.Housing/Magnet 14.Bearing 15.Retaining Ring 16.Terminal


(30)

Menurut Servo Fundamentals Trainer untuk Tachogenerator yang umum digunakan untuk menghasilkan sebuah tegangan sebesar 2.5V diperlukan kurang lebih 1000 putaran / menit.

2.7 Rangkaian Penyearah Dan Rangkaian Pelemah

Rangkaian penyearah berfungsi untuk merubah tegangan AC menjadi tegangan DC. Rangkaian ini memiliki 2 kelompok :

1. Penyearah Setengah Gelombang.

Pada bentuk yang paling sederhana, penyearah setengah gelombang dapat dibuat dengan menghubungkan sebuah Dioda secara seri dengan catu daya AC dan tahanan beban. Disini Dioda hanya mengalirkan arus selama setengah gelombang catu AC.

Kelemahan dari penyearah jenis ini pada tegangan beban, walaupun satu arah, tapi akan berubah – ubah dengan variasi yang tak dapat diabaikan, dan selain itu tegangan beban berharga nol pada setengah perioda. output tegangan DC dari rangkaian penyearah diharapkan serata mungkin, dan di haruskan tegangan beban tidak nol pada saat setengah gelombang sumber AC. Untuk menghilangkan nilai nol tersebut bisa digunakan sebuah Kapasitor yang di pasang secara paralel dengan beban, sehingga aliran arus akan memberi muatan pada Kapasitor, dan tegangan pada Kapasitor akan bertambah. Selama Dioda tak mengalirkan arus, Kapasitor akan melepaskan muatan melalui Resistor beban dan mencegah tegangan beban turun menjadi nol, sehingga di dapat tegangan DC yang mendekati garis lurus.


(31)

2. Penyearah Gelombang Penuh.

Untuk golongan ini sumber AC akan memanfaatkan kedua setengah gelombang, positif maupun negatif. Setengah gelombang negatif akan terbalik, sehingga di dapat gelombang satu arah. Disini di butuhkan 2 Dioda serta Kapasitor. Keuntungan yang didapat adalah lebih efisien, hanya sedikit menimbulkan magnetisasi DC, dan tegangan kerutnya mempunyai frekuensi dua kali frekuensi catu. Metode lainnya dengan menggunakan Rangkaian Jembatan (Diode Bridge), disini dibutuhkan 4 Dioda, Resistor dan Kapasitor. Gambar 2.15 dibawah menunjukkan proses perubahan tegangan AC ke tegangan DC dengan metode penyearah gelombang penuh sehingga setengah gelombang negatif akan terbalik, sehingga di dapat gelombang satu arah. Kapasitor sebagai media penyimpan tegangan sementara waktu gelombang positif naik, sedangkan waktu gelombang turun Kapasitor melepaskan tegangan yang disimpannya sehingga gelombang tidak turun sepenuhnya. Sehingga bentuk gelombang akan menyerupai garis lurus dengan riak kecil.

  

 


(32)

Rangkaian Pelemah berfungsi untuk melemahkan tegangan sesuai dengan yang kita kehendaki, rangkaiannya dapat menggunakan 2 buah Op-Amp (Operasional Amplifier) serta beberapa R. Untuk rangkaian ini digunakan Op-Amp tipe LF351 atau UA 741.

Gambar 2.16. Op-Amp LF351

Fungsi Pin – Pin Op-Amp LF351 : 1. Balance, tidak digunakan atau No Connect. 2. Input -, sebagai input-an negatif Op-Amp. 3. Input +, sebagai input-an positif Op-Amp. 4. Vee, dihubungkan dengan tegangan -12V DC. 5. Balance, tidak digunakan atau No Connect. 6. Output, sebagai hasil output dari Op-Amp. 7. Vcc, dihubungkan dengan tegangan +12 DC. 8. NC, tidak dihubungkan (No Connect).

2.8 Driver Motor DC

Driver Motor DC digunakan untuk memperkuat arus hasil output dari DAC. DAC memiliki output arus hanya beberapa milli Ampere, sedangkan kebutuhan Motor DC terkadang lebih dari 3 Ampere, sehingga apabila tidak


(33)

menggunakan Driver Motor DC, DAC yang digunakan bisa rusak dikarenakan beban arus yang diperlukan untuk Motor DC tidak dapat dipenuhi.

Disini digunakan TIP3055 yang dapat menguatkan arus menjadi mencapai 15 Ampere, sehingga dapat mencukupi beban arus yang dibutuhkan oleh Motor dan juga melindungi DAC dari kerusakan arus balik dari Motor.

Gambar 2.17 TIP 3055

2.9 Borland Turbo C++

C++ diciptakan satu dekade setelah C oleh Bjarne Stroustrup, Laboratorium Bell, AT&T, pada tahun 1983. Bahasa ini bersifat kompatibel dengan bahasa pendahulunya C. Pada mulanya C++ disebut sebagai “ a better C ” kemudian oleh Rick Mascitti pada musim panas 1983 diganti sebagai C++, adapaun tanda ++ berasal dari nama operator penaikan pada bahasa C.

Keistimewaan C++ adalah mendukung untuk pemrograman berorientasi obyek. Tujuan utama pembuatan C++ adalah untuk meningkatkan produktifitas pemrogram dalam membuat aplikasi. Kekompleksitasan bahasa pemrograman C++, terutama pada program yang besar yang terdiri dari 10.000 baris atau lebih.

Borland Turbo C++ merupakan bahasa pemrograman yang sering digunakan untuk belajar bahasa pemrograman secara dasar. C++ selanjutnya


(34)

menjadi dasar dari pemrograman tingkat tinggi yang banyak sekali bermunculan, seperti Java, Perl, Python, dan lain sebagainya. Bahasa C++ dari Borland ini mendukung untuk mode secara grafik, walaupun untuk mode grafik masih belum maksimal seperti pemrograman tingkat tinggi sekarang.

Borland C++ juga mendukung operasi I/O yang dapat digunakan dalam dunia kontrol, untuk penggunaannya juga sangatlah mudah. Alat I/O yang didukung C++ dan sering digunakan adalah PPI dan PCL. Untuk operasi database sederhana C++ sangatlah handal untuk digunakan, dan disinilah peran pemrograman berorientasi obyek berfungsi.

2.10 MATLAB

MATLAB (Matrix Laboratory) merupakan sebuah software yang canggih untuk komputasi teknik. Didalamnya terdapat kemampuan penghitungan, visualisasi, dan pemrograman dalam suatu lingkungan yang mudah untuk digunakan karena permasalahan dan pemecahannya dinyatakan dalam notasi matematika biasa. Secara umum kegunaan MATLAB untuk :

1. Matematika dan komputasi. 2. Pengembangan algoritma.

3. Pemodelan, simulasi dan pembuatan prototype. 4. Analisa data, eksplorasi dan visualisasi.

5. Pembuatan aplikasi, termasuk pembuatan antarmuka grafis.

Dari semua kemampuan MATLAB di atas maka software ini sangatlah bagus untuk digunakan dalam sistem kontrol. MATLAB juga dapat beroperasi pada sistem operasi Unix, Linux ataupun Windows.


(35)

32

METODE PENELITIAN

Metode penelitian yang digunakan untuk tugas akhir ini dimulai dengan studi kepustakaan, kemudian dilanjutkan dengan perancangan perangkat lunak, perancangan perangkat keras sampai akhirnya pembuatan alat.

Dengan studi kepustakaan akan didapat data dan informasi yang memadai secara teori maupun praktek. Secara teori semua data yang dibutuhkan dapat dilihat dari buku, datasheet, ataupun dari internet. Sedangkan secara praktek data yang dibutuhkan dapat dilihat dari buku laporan tugas akhir mahasiswa yang sudah lulus, modul praktikum yang berkenaan dengan tugas akhir ini, ataupun dari help program yang akan digunakan. Kedua hal ini diperlukan untuk diintegrasikan membentuk sistem yang diusulkan untuk dibangun, seperti pada gambar 3.1 dibawah.

Perancangan perangkat lunak dilakukan setelah memperoleh informasi yang dibutuhkan untuk membangun suatu program controller yang berkenaan dengan tugas akhir yang dibuat. Program yang dibuat untuk tugas akhir ini dibangun dengan menggunakan bahasa pemrograman Borland Turbo C++ 3.0 yang akan membahas perencanaan dan pembuatan perangkat lunak untuk identifikasi karakteristik pada Motor DC. Program lain yang digunakan adalah MATLAB V6.5.

Perancangan perangkat keras dilakukan setelah memperoleh data-data teoritis dan praktis diseputar komponen – komponen elektronika yang akan digunakan. Komponen- komponen yang dipergunakan antara lain PPI 8255, DAC


(36)

0808, ADC 0804, TIP 3055, Resistor, Kapasitor, Dioda, Potensio multitune, lampu LED, dan lain sebagainya.

Setelah perancangan perangkat keras, maka dilanjutkan dengan pembuatan perangkat keras sehingga menjadi sebuah modul yang siap pakai, tapi sebelumnya harus melewati pengujian dengan program sederhana, Multimeter, Osiloskop, Rangkaian I/O ataupun RPMmeter pada bagian yang berkaitan dengan sistem kerja perangkat keras yang dibuat.

Gambar 3.1 Blok diagram alat pengidentifikasi karakteristik Motor DC 3.1 Perancangan Aplikasi Identifikasi Karakteristik Motor DC

Didalam pembuatan program aplikasi, desain tampilan yang user friendly adalah merupakan suatu hal yang sangat penting, selain dari tujuan utama pembuatan program tersebut. Tujuan utama program ini adalah mendapatkan suatu fungsi alih dalam domain s yang mewakili karakteristik dari Motor DC. Program ini menggunakan 2 pilihan metode identifikasi sistem, yaitu secara statis dan secara dinamis.

Identifikasi sistem secara statis bekerja sebagai berikut, langkah pertama adalah memberikan tegangan unit step untuk Motor sesuai input-an dari user dengan nilai minimal 5V dan maksimal 12V, kemudian mengambil data dari output Motor DC sebanyak 4 kali, setiap 1 kali pengambilan dilakukan sampling


(37)

data sebanyak 30 kali, dari keempat data tersebut di rata – rata kemudian akan di analisa sehingga didapatkan nilai fungsi alihnya dalam domain s.

Identifikasi sistem yang dinamis bekerja dengan memberikan masukan tegangan input yang berubah – ubah sesuai dengan deret PRBS (Pseudo Random Binary Sequence) yang dibangkitkan dari proses shift register dengan feedback. Disini digunakan deret PRBS dengan panjang deret 31 sel, dengan masukan 5 sel. Kemudian keluaran dari Motor DC disimpan ke sebuah file, dari file ini nantinya akan diteruskan dengan menggunakan program MATLAB untuk bisa dianalisa sehingga akan menghasilkan fungsi alih sistem atau plant.

3.1.1 Perencanaan dan pembuatan program

Karena Borland Turbo C++ 3.0 berbasis pada DOS, maka ukuran program yang akan dihasilkan kecil dan komputer yg di butuhkan juga tidak memerlukan spesifikasi yang tinggi. Pemrograman Turbo C++ ini mendukung mode grafik yang akan menghasilkan suatu tampilan yang lebih bagus di bandingkan dengan mode teks. Program yang dibuat menggunakan dua mode yg ada. Mode teks digunakan untuk menampilkan nilai – nilai yg langsung di dapat dari pengukuran maupun nilai – nilai hasil analisis, sedangkan mode grafik di gunakan untuk tampilan program, menu, grafik, menuliskan fungsi alih, dan sebagainya. Program ini menggunakan pengoperasian file sebagai media penyimpanan data. Sehingga data yg di dapat, dapat di analisa secara manual dan dapat di ketahui ke absahan hasil akhirnya, yaitu fungsi alih dalam domain s. File yang dihasilkan dapat di akses langsung dengan Microsoft Excel sehingga dapat diketahui grafiknya sesuai atau tidak dengan hasil pengukuran.


(38)

Program lain yang digunakan adalah program MATLAB, program ini umum digunakan di dalam analisis dan desain sistem kontrol, karena kemudahan penggunaannya dan mempunyai banyak fungsi yang mendukung. Meski termasuk program kompleks yang disederhanakan seperti pembuatan grafik dari suatu model matematika, pembuatan fungsi dari data – data, dan lain sebagainya. Program ini berjalan dibawah sistem operasi keluarga Windows, Unix, Linux, dll. Untuk tugas akhir ini digunakan Windows 98, sehingga komputer yang digunakan tidak memerlukan spesifikasi hardware yang tinggi.

Program Borland C++ 3.0 mendukung untuk pengoperasian hardware di luar komputer, tapi tentunya harus menggunakan suatu media penghubung, dalam Tugas Akhir ini dipakai PPI sebagai media penghubung antara komputer dan hardware di luar komputer atau plant.

3.1.2 Inisialisasi pada program

Komponen – komponen yang membangun program ini haruslah di inisialisasi pada bagian awal program, inisialisasi yang diperlukan adalah inisialisasi port PPI, inisialisai grafik untuk penggunaan mode grafik dari komputer serta inisialisasi file untuk output dari alat ini.

Untuk dapat digunakan, PPI tersebut terlebih dahulu di inisialisasi dengan memberikan alamat I/O (Input / Output) yang tidak dipakai oleh komputer. Biasanya digunakan alamat 0300H – 0303H atau 03E0H – 03E3H. Alamat ini juga di gunakan di PPI dengan mengatur DIP Switch yang disediakan sehingga sama dengan alamat yang kosong yang digunakan untuk program ini.

Inisialisasi portport PPI di C++ sangatlah mudah, untuk alat ini digunakan alamat 03E0H – 03E3H, inisialisasinya seperti berikut


(39)

#define porta 0x3E0 : Port A menggunakan alamat 03E0h #define portb 0x3E1 : Port B menggunakan alamat 03E1h #define portc 0x3E2 : Port C menggunakan alamat 03E2h

#define Cw 0x3e3 : CW (control word) menggunakan alamat 03e3h Outportb (Cw,0x89) : mengeset Port A sebagai output PPI, Port B

sebagai output PPI, port C sebagai input PPI, mode operasi 0.

Karena program ini beroperasi dalam mode grafik juga, maka harus diadakan inisialisasi terhadap grafik dari komputer yang digunakan. Adapun inisialisasinya sebagai berikut :

/* request auto detection */

int gdriver = DETECT, gmode, errorcode;

/* initialize graphics and local variables */ initgraph(&gdriver, &gmode, "c:\\tc\\bgi"); /* read result of initialization */

errorcode = graphresult(); /* an error occurred */ if (errorcode != grOk) {

printf("Graphics error: %s\n", grapherrormsg(errorcode)); printf("Press any key to halt:");

getch(); exit(1); }

Pertama pembuatan variabel gdriver, gmode, errorcode dengan tipe integer, kemudian pendeteksi otomatis ke grafik komputer apakah VGA, EGA, CGA, atau yang lain, untuk komputer sekarang ini biasanya terdeteksi VGA dengan kelas high yang mempunyai ruang resolusi 480 kolom x 640 baris.

Inisialisasi yang lain adalah inisialisasi terhadap fileoutput dari program. Disini berguna untuk memeriksa apakah file output tersebut sudah ada, kalau belum ada maka akan dibuat, jika sudah ada maka isi dari file tersebut akan dihapus semuanya. Inisialisasinya sebagai berikut :

/* Inisialisasi file */

if ((MotorDC=fopen("C:\\Tc\\Data\\Motor.csv","w")) == NULL) { printf("KESALAHAN : File Tidak Dapat di buka !!\7\n"); exit(1);

}

Pengecekan file dilakukan dengan option w diatas, option lain yang ada adalah r, yaitu operasi yang dilakukan hanyalah sebatas membaca isi dari file


(40)

tersebut, untuk mengisi file tersebut dapat digunakan option a seperti pada prosedur untuk entry data ke file.

3.2 Perancangan Perangkat Lunak Untuk Identifikasi Sistem Secara Statis Identifikasi sistem secara statis mempunyai alur kerja yang lebih rumit daripada identifikasi sistem secara dinamis. Untuk identifikasi stastis dilakukan 4 kali pengambilan data, dalam 1 kali pengambilan data diambil 30 kali sampling data dengan periode sampling = 0.2 detik. Dari ke empat kali percobaan tadi diambil rata – rata untuk dijadikan data ke 5 sebagai data yang mewakili dari identifikasi statis yang didasarkan pada ke empat data tersebut.

Flowchart untuk program identifikasi secara statis bisa dilihat pada gambar 3.2 dibawah. Beberapa prosedur penting untuk identifikasi statis adalah prosedur ambil data, prosedur pengambilan rata – rata dari keempat hasil pengambilan data, prosedur mid yang berguna untuk mencari suatu nilai dalam sebuat file dan yang terpenting adalah prosedur analisa data terhadap data yang diambil dan data hasil rata – rata.

3.2.1 Prosedur ambil data

Pengambilan data dilakukan sebanyak 30 kali dalam 1 kali eksperimen. Pengambilan data diambil dari output Motor DC melalui Port C PPI yang beralamat 3E2H, di program ini hanya data yang mempunyai nomor urut genap saja yang di tampilkan di layar, dikarenakan keterbatasan ruang layout program, tapi semua nilai yang diambil tadi ditampilkan dalam bentuk grafik kartesian ke semuanya secara real time, sehingga dapat dilihat proses pengambilan datanya. Untuk prosedurnya sebagai berikut :


(41)

Vout = (inportb(PortC)/255.0)*12.0; q=(i%2);

if (p==q) {

gotoxy(7,(i*2)-(((i-2)*3)/2)); printf("%0.3f\n",Vout); }

if (i==1)

line(a-30 ,b+40 ,a-20 ,(b-Vout*16)+40); else

line(a+(-40+y) ,(b-z*16)+40 ,a+(-30+y) ,(b-Vout*16)+40);

untuk proses inportb(portC) hasil yang didapat masih berupa data desimal, jadi harus dikonversi ke tegangan dahulu supaya sesuai dengan apa yang di inginkan, untuk itu harus dibagi dengan 255 lalu dikalikan dengan 12V, karena tegangan maksimal dari Motor 12V.

3.2.2 Prosedur rata – rata data

Prosedur ini berguna untuk mencari nilai rata - rata dari ke empat data yang diperoleh. Data ini yang nantinya dijadikan patokan sebagai hasil dari identifikasi secara statis, adapun prosedurnya seperti berikut :

for (int i=0;i< 30;i++) {

mid(string1, string5, urut1, 5); urut1 = urut1 + 6;

tes01 = atof(string1);

mid(string2, string5, urut2, 5); urut2 = urut2 + 6;

tes02 = atof(string2);

mid(string3, string5, urut3, 5); urut3 = urut3 + 6;

tes03 = atof(string3);

mid(string4, string5, urut4, 5); urut4 = urut4 + 6;

tes04 = atof(string4);

tes05 = ((tes01+tes02+tes03+tes04)/4.0); fprintf(MotorKU,"%0.3f;",tes05);

fprintf(MotorDC,"%0.3f;",tes05); }

Disini proses yang terjadi adalah pengambilan data lewat prosedur mid dari data ke 1 sampai 4 untuk data nomor urut 1 sampai 30, dalam satu kali proses dilakukan pengambilan data dari database yang ditulis di sebuah file menurut nomor urut data kemudian dijumlahkan lalu dibagi 4, kemudian hasilnya disimpan lagi ke database yang sama.


(42)

Gambar 3.2 Flowchart untuk identifikasi statis START

INPUT VIN

AMBIL DATA

∑DATA = 4 & ∑ ITERASI = 40

CARI RATA - RATA

ANALISA DATA KE 1 DELAY

DATA KE = 1 DATA KE

Y

T

DATA KE = 2

DATA KE = 4

DATA KE = 5 DATA KE

= 3 T

T

T

T

ANALISA DATA KE 2

ANALISA DATA KE 3

ANALISA DATA KE 4

ANALISA DATA KE 5

TAMPIL DATA KE 1

TAMPIL DATA KE 2

TAMPIL DATA KE 3

TAMPIL DATA KE 4

TAMPIL DATA KE 5

END T

Y Y Y Y Y


(43)

3.2.3 Prosedur mid untuk mencari suatu nilai dalam file

Prosedur ini sangat penting dikarenakan sangat dibutuhkan untuk membaca teks dari suatu file yang terletak secara terstruktur seperti database sederhana, disini dibutuhkan nomor urut teks tersebut, kemudian panjang teksnya. Prosedurnya tidak begitu panjang, tetapi inilah salah satu kunci yang sangat penting dalam perangkat lunak di tugas akhir ini, prosedurnya seperti berikut ini :

void mid (char *s1, char *s2, int m, int p) {

int i,j,n;

for (n=0;s2[n];n++); if ((m>=0) && (m<=n-1)) {

for (i=m,j=0;(j<p&&s2[i]);i++,j++) s1[j] = s2[i];

s1[p] = '\0'; }

else

s1[0] = '\0'; }

Prosesnya adalah sebagai berikut, pertama kali dicari panjang isi file tersebut, kemudian ditentukan urutan teks yang mau di ambil serta panjang teks tersebut. Demikian seterusnya proses pencarian dan pengambilan teks yang di kehendaki dalam proses pengulangan sampai selesai.

3.2.4 Prosedur analisa data

Prosedur ini merupakan prosedur yang paling penting, dan mempunyai proses yang sangat panjang, karena disinilah semua nilai – nilai yang membangun suatu fungsi alih dicari. Urutan proses yang terjadi secara garis besar sebagai berikut :

1. Temukan Time Delay System.

Disini dicari nilai L (time delay system), yaitu waktu yang dibutuhkan oleh plant tersebut untuk bereaksi dari nol. Algoritmanya seperti berikut :

for (int i=0;i< 30;i++) {


(44)

z1 = z1 + 6;

Vout = atof(string1);

if ((Vout > 0) && (iL == 0))

iL = i;

)

L = iL * 0.20;

Pertama data sebanyak 30 tersebut dibaca melewati prosedur mid kemudian tiap data tersebut saling dibandingkan. Data yang memenuhi syarat adalah bernilai lebih dari nol dan nilai iL masih nol. Data inilah yang merupakan data pertama yang lebih dari nol, kemudian iL diisi dengan nilai i yang merupakan urutan data tersebut kemudian dikalikan dengan ts (time sampling) dan itulah L yang dicari.

2. Temukan Time Konstan dari Sistem

T = waktu untuk mencapai tegangan sebesar [63,2 % * Respon Stabil]

Respon stabil disini berarti respon dari Motor DC untuk mencapai nilai output tegangan yang stabil. Pertama kali dicari nilai respon stabil tersebut, adapun urutan program nya sebagai berikut :

for (int i=0;i< 30;i++) {

mid(string1, string2, z1, 5); z1 = z1 + 6;

Vout = atof(string1);

temp = Vout;

if ((Vout > 0) && (iL == 0))

iL = i;

/* Cari Jumlah Tiap Vout yg di hasilkan */ if (i == 1)

{ V01 = temp; i1 = 1; } else

if (temp == V01)

i1++;

else

if (i2 == 0) { V02 = temp;

i2++;

}

else

if (temp == V02)

i2++;

else if (i3 == 0)

{ V03 = temp;

i3++;

}

else


(45)

i3++; else ... if (i1>i2) { Goodi = i1; VTemp= V01;} if (i2>Goodi) { Goodi = i2; VTemp= V02;} if (i3>Goodi) { Goodi = i3; VTemp= V03;} if (i4>Goodi) { Goodi = i4; VTemp= V04;} ...

Inti dari penggalan program diatas adalah membuat variabel – variabel yang di isi dengan tiap nilai yang ada di data kemudian di cari nilai tegangan output atau data yang paling sering muncul, yang dapat di anggap sebagai nilai stabil tegangan yang disebut respon stabil.

Kemudian langkah selanjutnya adalah mengalikan respon stabil dengan 63,2% sehingga di peroleh tegangan untuk time konstan, langkah selanjutnya adalah mencari letak time konstan tersebut di detik ke berapa, adapun caranya seperti berikut :

temp = 0.632 * VTemp;

fgets(string2, sizeof(string2), MotorKU); for (int ii=1;ii<= 30;ii++)

{ mid(string1, string2, z2, 5); z2 = z2 + 6;

Vout = atof(string1);

if (temp >= Vout) { i4TLow = ii; V4TLow = Vout; }

else if (V4TUp == 0) { V4TUp = Vout;

i4TUp = i4TLow + 1; }

if ((VTemp == Vout)&&(i4RS == 0)) i4RS = ii; if (ii == 30) V4End = Vout;

}

UP = V4TUp - temp; LOW = temp - V4TUp; ALL = UP+LOW;

Nemo = LOW/ALL;

i4T = i4TLow + Nemo; float T4T = i4T*0.22; float T4Ts = i4RS*0.22;

3. Temukan Time Settling dari Sistem

Ts = waktu yang dibutuhkan untuk mencapai nilai respon stabil pertama kali Disini dicari waktu dimana Vout (tegangan output) pertama kali mencapai nilai respon stabil, untuk caranya bisa dilihat program pada nomor 2 (digabung dengan program untuk mencari nilai time konstan) :


(46)

if ((VTemp == Vout)&&(i4RS == 0)) i4RS = ii; float T4Ts = i4RS*0.20;

4. Temukan Konstanta Penguatan (K)

Disini dipakai rumus : K = (Output akhir – Output awal) / Amplitudo dari Input Unit Step. Untuk bagian ini tidaklah sulit dan bisa digabung di program no 2, caranya sebagi berikut :

if (ii == 30) V4End = Vout; if (ii == 1) V4Start = Vout; Gain = (VTemp-V4Start)/Vin;

5. Temukan Ratio antara Time Delay dengan Time Settling

Rumus yang digunakan sebgai berikut : L/Ts. Disini tidaklah sulit karena nilai L dan Ts sudah didapat dan langsung dapat dipakai, penggalan programnya seperti berikut :

LDivTs = L / T4Ts

6. Lihat Tabel STREJC untuk menentukan letak Ratio yang didapat dari Langkah 5: sebagai jawaban dari pertanyaan ’Lebih dekat ke nilai manakah nilai Ratio ?’ (dibandingkan dengan kolom Tu/Ta)

Tabel 3.1 Tabel STREJC(  0)

N Ta/T Tu/T Tu/Ta

1 2 3 4 5

1 2.718 3.695 4.463 5.119

0 0.282 0.805 1.425 2.100

0 0.104 0.218 0.319 0.410


(47)

Tabel diatas di dapat dari www.eudil.fr/eudil/belk/pra1.htm. Dari Langkah ini didapat nilai-nilai: N = Orde Sistem, [Ta/T], [Tu/T], dan [Tu/Ta]. Langkah untuk mencari nilai yang mendekati dengan yang ada di tabel ini membutuhkan urutan program yang panjang, nilai ratio (langkah 5) di bandingkan dengan nilai pada kolom Tu/Ta yang mendekati dari Tabel STREJC tersebut. Adapun programnya sebagai berikut :

Key = LDivTs;

LowGate = 0; UpGate = 0; if (Key >= 0)

LowGate = 0; else

{ if (UpGate < Key) UpGate = 0; else

if (UpGate > 0) UpGate = 0; }

...

Left = UpGate - Key; Right = Key - LowGate; if (Left < Right) NewKey = UpGate;

else

NewKey = LowGate;

if (NewKey == No1)

{ Ta4T = 2.718; Tu4T = 0.282; Tu4Ta = 0.104; Orde = 2; } if (NewKey == No2)

{ Ta4T = 3.695; Tu4T = 0.805; Tu4Ta = 0.218; Orde = 3; }; if (NewKey == No3)

{ Ta4T = 4.463; Tu4T = 1.425; Tu4Ta = 0.319; Orde = 4; }; if (NewKey == No4)

{ Ta4T = 5.119; Tu4T = 2.100; Tu4Ta = 0.410; Orde = 5; }; if (NewKey == No5)

{ Ta4T = 1; Tu4T = 0; Tu4Ta = 0; Orde = 1; };

7. Temukan nilai Time Konstan yang Baru

Disini mempunyai rumus sebagai berikut Tbaru = Time Settling / [Ta/T], nilai - nilai yang dibutuhkan untuk langkah ini sudah didapat tinggal menghitungnya, potongan programnya adalah sebagai berikut :

NewT = T4Ts/Ta4T;

8. Temukan nilai Time Delay yang Baru

Disini mempunyai rumus sebagai berikut Lbaru = Time Settling x [Tu/T], nilai yang dibutuhkan sudah ada tinggal dimasukkan dalam perhitungan, algoritmanya sebagai berikut :


(48)

9. Temukan nilai Lamda

Disini mempunyai rumus sebagai berikut Lamda = Time Delay Time Delay Baru. Potongan programnya sebagai berikut :

Lamda = L - NewL;

10.Pilih Struktur Model yang sesuai sesuai orde yang di dapat.

sL n e

Ts K s

G

 

) 1 ( )

( (3.1)

Disinilah langkah dari analisa data berakhir, semua komponen yang membangun suatu persamaan fungsi alih sudah didapat tinggal menempelkan pada bentuk persamaan yang ada, disini bentuk persamaan ditentukan oleh orde hasil perhitungan dari tabel Strejc.

3.2.5 Prosedur untuk menampilkan data yang diinginkan

Disinilah akhir dari program untuk identifikasi sistem secara statis, dimana user dapat melihat hasil dari keempat percobaan dan hasil dari rata – rata secara grafik dan beserta semua nilai dari hasil analisa dan juga hasil akhir berupa persamaan fungsi alih dalam domain s. Hasil dari tiap percobaan serta hasil rata - rata juga dapat dilihat langsung melewati file bertipe csv yang langsung dapat diakses dengan Microsoft Excel, hal ini sebagai pembanding untuk hasil penyajian secara grafik di program dengan yang ada di Microsoft Excel.

3.3 Perancangan Perangkat Lunak Untuk Identifikasi Secara Dinamis Identifikasi sistem secara dinamis disini bersifat sebagai pembanding untuk hasil dari perhitungan identifikasi secara statis, dan juga proses yang di lakukan program ini tidak sampai analisis data untuk menemukan persamaan


(49)

START

INPUT BIT PEMBANGKIT

BIT PEMBANGKIT = 5

Y PRBS

T

VIN PRBS 0 VIN PRBS 1 AMBIL DATA

END

fungsi alihnya. Disini hanya sebatas mengambil data sebanyak 105, sedangkan deret minimal PRBS untuk nilai N = 5 adalah 31. Proses selanjutnya akan dilanjutkan menggunakan program MATLAB yang berfungsi untuk menganalisa sehingga mendapatkan persamaan fungsi alih yang dikehendaki..

Flowchart untuk identifikasi secara dinamis digambarkan dibawah ini :

Gambar 3.3 Flowchart untuk identifikasi secara dinamis

3.3.1 Prosedur pembangkitan PRBS

Disini pembangkitan deret PRBS menggunakan nilai N = 5, programnya sebagai berikut :

// Menggeser & menambahkan Bit ke1 = bit3+bit5 for (int j=1;j<=iterasi;j++)

{ buffer = A[3] + A[5];

if ((buffer == 2)||(buffer == 0)) buffer = 0;

else


(50)

for (int k=1;k<i;k++)

{

A[1+(i-k)] = A [(i-k)];

}

i++;

A[1] = buffer; }

for (i=1;i<=5;i++) { A[i+26]=B[i]; }

Dari deret yang berhasil dibangkitkan diatas maka tinggal memakainya untuk masukan Motor DC dengan memberi nilai tegangan input Robust bernilai 0 sebesar tegangan input untuk Motor DC dapat bergerak untuk bit yang bernilai 0 dan tegangan input Robust bernilai 1, sebesar tegangan input untuk Motor DC bergerak secara bagus untuk bit yang bernilai 1. kemudian di ambil data tegangan output-nya untuk disimpan ke sebuah file.

File yang di dapat tersebut diolah dengan program MATLAB untuk dianalisa sampai diketemukan fungsi alihnya. Programnya dalam MATLAB sebagai berikut :

IN=input('inputkan harga n :'); inp=dinamis(1:105,2);

outp=dinamis(1:105,3); nn=[IN 1 1];

z=[outp inp]; th=arx(z,nn);

[numd,dend]=th2tf(th); sys=tf(numd,dend,0.2);

[num,den]=d2cm(numd,dend,0.2,'zoh'); sys=tf(num,den)

3.4 Perancangan Dan Pembuatan Perangkat Keras

Perangkat keras yang dipakai untuk tugas akhir ini sudah umum digunakan dalam praktikum dan perkuliahan. Peralatan yang dipakai meliputi PPI, DAC, ADC, Driver Motor DC, Rangkaian penyearah dan Rangkaian pelemah.

Disini akan diuraikan secara jelas tentang rangkaian perangkat keras, yang digunakan untuk alat yang dibuat dalam tugas akhir ini. Disertakan juga gambar rangkaian dari tiap rangkaian serta foto dari modul rangkaian yang telah dibuat.


(51)

48

Gambar 3.4 Rangkaian perangkat keras 10K PC2 20K 10µF +5V PB2 -12V PC4 PB1 -12V PC5 PB0 1 3 2 + -LF351 3 2 6 7 1 4 5 +5V PB4 PB4 330 PC6 PB6 + -U11A LF353 3 2 1 8 4 6K Q1 TIP3055 PC1 10K U6 ADC 0804 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 4 5 1 2 3 +IN -IN GN D VREF/2 GN D DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 CLKR VC C /VR EF CLKIN INTR CS RD WR PC4 10K PC0 PC1 PB1 24K 6K P1 DB25 To PPI

13 25 12 24 11 23 10 229 218 207 196 185 174 163 152 141 +5V - + 1 2 3 4 PB7 PB3 + - LF351 3 2 6 7 1 4 5 PB0 PC7 PC6 PC3 J1 Output Tachogenerator 1 2 PC2 PC7 150 pF +12V PC0 PB3 DAC0808 9 8 7 6 5 14 15 2 16 13 3 A6 A5 A4 A3 A2 A1 VR+ VR-IOUT COMP V+ V-+12V 10µF PB2 D1 J2

Input Motor DC

1 2 PB5 10K 0.1µF J5 CON4 1 2 3 4 2.5K +5V PC3 PC5


(52)

3.4.1 PPI

PPI di konfigurasikan dengan memberikan nilai CW sebesar 89H, yang artinya Port C difungsikan untuk ambil data dari luar PPI, Port B dan Port A untuk kirim data keluar dari PPI, serta beroperasi pada mode 0. PPI bekerja pada alamat 3E0H untuk Port A, 3E1H untuk Port B, 3E2H untuk Port C serta 3E3H untuk Control Word. IC PPI yang digunakan adalah produksi dari NEC JAPAN.

Tabel 3.2 Konfigurasi Control Word PPI 8255

D7 D6 D5 D4 D3 D2 D1 D0

1 0 0 0 1 0 0 1

8H 9H

Dari tabel diatas dapat dijelaskan sebagai berikut : D7 : Untuk mengaktifkan PPI.

D6 – D5 : Untuk memilih mode yang digunakan 0 – 2. D4 : Port A untuk mengirimkan data.

D3 : Port C upper mengambil data.

D2 : Untuk memilih mode yang digunakan 0 - 1 D1 : Port B untuk mengirimkan data.

D0 : Port C lower mengambil data.

Selain setting alamat pada perangkat lunak, setting alamat juga diberlakukan pada perangkat keras PPI yang tertanam pada slot ISA komputer, karena untuk mencocokkan alamat address bus di komputer dengan alamat PPI, untuk setting alamat PPI produksi dari EL-TECH digunakan DIP Switch 8 saklar Aktif Low yang mewakili alamat 3E0H, konfigurasinya sebagai berikut :


(53)

U15 MM74HC688 1 19 20 3 5 7 9 12 14 16 18 2 4 6 8 11 13 15 17 OE P=Q VCC Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 P0 P1 P2 P3 P4 P5 P6 P7 A2 RD PB3 PC1 A0 A5 PA6 PB7 PA4 C1 0.1µF PC0 +5V PC1 VCC PC2 PB0 A4 D6 PA0 PB7 PA2 PA4 PB3 PB5 D4 PB5 A1 D7 PB2 A6 PB0 PA7 To Address Bus ISA To Slot ISA PC7 PC5 D5 PA2 PA3 PA6 A7 D1 PB4 PA0 PC0 D3 U13 8255 34 33 32 31 30 29 28 27 5 36 9 8 35 6 4 3 2 1 40 39 38 37 18 19 20 21 22 23 24 25 14 15 16 17 13 12 11 10 26 7 D0 D1 D2 D3 D4 D5 D6 D7 RD WR A0 A1 RESET CS PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 VC C G N D PA5 PC5 PC6 PC2 C R4 RESISTOR SIP 9

1 2 3 4 5 6 7 8 9 PA7 D2 PC3 PA1 SW1 SW DIP-8 1 2 3 4 5 6 7 8 16 15 14 13 12 11 10 9 D0 PB6 A1 PA3 P3 DB25 To PPI

13 25 12 24 11 23 10 22 9 21 8 20 7 19 6 18 5 17 4 16 3 15 2 14 1 PB6 PA5 A3 PC4 PC3 PA1 PB2 PB1 PB1 RESET PC7 PC6 PB4 PC4 A0 0 WR To Data Bus ISA Tabel 3.3 Konfigurasi address bus PPI

A01 A02 A03 A04 A05 A06 A07 A08 A09 A10 A11 A12

X X 0 0 0 1 1 1 1 1 X x

0 E 3

Gambar 3.5 Konfigurasi DIP Switch PPI untuk 3E0H

PPI disini berfungsi sebagai perantara untuk mengirimkan data dari komputer untuk input Motor DC melalui Port B dan menerima data dari Tachogenerator melewati Port C. Rangkaian PPI yang digunakan sudah terangkai dari pembuatnya dan diproduksi oleh EL-TECH.


(54)

3.4.2 DAC

Dalam tugas akhir ini DAC 0808 berfungsi sebagai media untuk merubah sinyal digital dari PPI menjadi sinyal analog yang akan diteruskan oleh Driver Motor DC, sinyal tersebut merupakan tegangan yang besarnya antara 5 V sampai 12V, yang akan digunakan sebagai tegangan input Motor DC.

DAC 0808 yang digunakan diproduksi oleh National Semiconductor, yang mempunyai perubahan arus tiap ± 1 LSB. Untuk rangkaiannya dapat dilihat pada Gambar 3.4.

Dari Gambar 3.4 dapat dijelaskan sebagai berikut, kaki nomor 1 no connect tidak dihubungkan, kaki nomor 2 sebagai ground serta juga sebagai kaki output kutup negatif, antara kaki nomor 3 dan kaki nomor 16 diberikan Kapasitor kemudian dihubungkan dengan Vee -12V untuk mendapatkan clock yang dibutuhkan oleh DAC, kaki nomor 4 sebagai output dari DAC dihubungkan dengan Op-Amp untuk merubah arus menjadi tegangan, kaki nomor 5 sampai nomor 12 berfungsi sebagai input data digital DAC yang dihubungkan ke PPI 8255 melewati connector DB25, kaki nomor 13 merupakan Vcc yang dihubungkan dengan tegangan 5V, kaki nomor 14 sebagai Vref dihubungkan dengan tegangan +12V melewati sebuah R yang diperhitungkan untuk mendapatkan Iref sebesar 2mA.

Untuk rangkaian DAC 0808 sangatlah peka terhadap Vcc dan Vee, untuk itu diusahakan memberikan Vcc yang berimbang, seperti jika Vcc 11,98V maka Vee haruslah -11,98V dengan toleransi tidak boleh lebih atau kurang 1 Volt.


(55)

Gambar 3.7 Modul Rangkaian DAC 3.4.3 ADC

ADC yang digunakan adalah ADC 0804 dari National Semiconductor yang memiliki pendekatan berturut – turut ( Succesive Aproximation ) untuk mengkonversi masukan analog dari 0V sampai 5V menjadi data digital 8 bit.. Pada rangkaian ini ADC di set free running, artinya pengoperasian tidak memerlukan sinyal kontrol seperti start converting (SC) ataupun end of converting (EOC). Kaki Vref diberi tegangan 5V sama dengan sumber 5V sehingga akan memiliki total error ± 1LSB, dengan resolusi sebesar

2551 x 5V = 19,53125 mV yang menyebabkan perubahan 1 bit pada keluaran ADC. Dikarenakan keluaran dari ADC adalah biner 8 bit dengan desimal 0 – 255 maka konversi dari keluaran ADC ke tegangan adalah :

Vout = desimal x 255 Vref

(3.1)

ADC ini memiliki internal clock yang harus diaktifkan dengan menghubungkan sebuah tahanan eksternal (R) antara pin CLK OUT dan CLK IN


(56)

serta sebuah Kapasitor eksternal (C) antara CLK IN dan ground digital. Maka frekuensi clock yang digunakan adalah :

f =

xRxC 1 . 1

1 (3.2)

Untuk memperoleh clock sebesar 600KHz. ditentukan dulu C yang di pakai, disini digunakan C dengan nilai 150pF maka sesuai rumus diatas nilai R yang dibutuhkan adalah 10KΩ:

R =

pF KHzx x600 150 1

. 1

1 (3.3)

Cara kerja ADC 0804 untuk satu kali proses konversi sebaga berikut, CS (chip select) terlebih dahulu harus diaktifkan, CS selalu aktif dengan menghubungkannya pada ground. Start of Convertion dilakukan dengan memberi logika High – Low – High pada pin WR dan RD harus tetap High. INTR secara langsung menuju ke logika High jika sebelumnya berlogika Low. Begitu data telah siap pada output lacth, INTR menuju ke logika Low, ini menjadi pertanda bahwa data telah siap.


(57)

Pengambilan data dilakukan pertama kali dengan mengaktifkan CS yang kemudian diikuti dengan memberi logika High – Low pada pin RD (Read). Tunggu sinyal INTR sampai High. Jika INTR sudah High, maka data telah siap pada pin – pin output digital dan data siap diambil. Setelah data diambil, sinyal RD diberi logika High, data kembali ke high impedance.

3.4.4 Driver Motor DC

Rangkaian Driver untuk Motor DC dalam tugas akhir ini sangatlah sederhana, karena hanya digunakan untuk memperkuat arus tegangan input untuk Motor DC, dengan mengabaikan arah putaran Motor, pengaturan kecepatan Motor, ataupun posisi putaran Motor. Untuk itu digunakan rangkaian sederhana dengan menggunakan sebuah TIP 3055 NPN Silicon Power Transistor, sebuah Resistor serta sebuah Dioda.

Dari Gambar 3.4 diatas, dapat dijelaskan prinsip kerja dari driver motor yang digunakan, pertama arus yang masuk ke basis akan diperoleh setelah melewati tahanan 330Ω, kemudian arus tersebut akan dikuatkan sebanyak 70 kali untuk maksimalnya, dan untuk minimalnya dikuatkan sebanyak 20 kali.


(58)

3.4.5 Rangkaian penyearah dan rangkaian pelemah

Rangkaian Penyearah dibutuhkan untuk merubah tegangan AC dari output Tachogenerator ke tegangan DC untuk dapat di proses oleh ADC, sedangkan rangkaian pelemah digunakan untuk melemahkan tegangan DC sebelum masuk ke ADC.

Rangkaian penyearah menggunakan rangkaian Dioda Jembatan yang komponennya adalah 4 buah Dioda dan ditambah sebuah Resistor 20KΩ serta sebuah Kapasitor 10μF.

Rangkaian Pelemah disini dibutuhkan karena Motor yang digunakan adalah Motor DC 12 Volt yang memungkinkan output-nya sebesar 12 Volt, untuk itu digunakanlah Rangkaian Pelemah sehingga data yang masuk ke ADC nantinya dapat dilemahkan hingga nilai maksimal datanya adalah 5 Volt.

Rangkaian pelemah menggunakan 2 buah Op-Amp LF351 atau UA741 yang terkonfigurasi sama, tapi berbeda dalam R yang digunakannya. Disini digunakan rangkaian penguat inverting, penguatan disini nantinya dibalik menjadi pelemahan, tapi pelemahan tersebut masih bernilai negatif, untuk itu digunakan 1 buah lagi Om-Amp dengan penguatan 1 kali sehingga nilai yang didapat bernilai positif.

Untuk mendapatkan pelemahan dari 12 V menjadi 5V digunakan rumus dari penguatan inverting ini yaitu:

Vin R R Vout

12 

 (3.4)

Dalam rangkaian pelemah ini R2 bernilai 10KΩ, untuk mendapatkan pelemahan dari 12V menjadi 5V, sesuai rumus diatas maka R1 yang dibutuhkan adalah 24KΩ :


(59)

2

1 R

Vout Vin

R  (3.5)

Setelah selesai masuk rangkaian pertama yang nilai keluarannya masih bernilai negatif kemudian haruslah dilemahkan lagi sebesar 1 kali sehingga nilai keluaran dari rangkaian pelemah ini bernilai positif.


(60)

57

PENGUJIAN DAN EVALUASI SISTEM

Berikut ini akan dijelaskan tentang pengujian perangkat keras dan perangkat lunak dari alat yang dirancang, serta integrasi keduanya. Tujuan dari pengujian disini adalah untuk mengetahui apakah setiap perangkat sistem telah berfungsi dengan baik.

4.1. Prosedur Pengujian Perangkat Keras

Pengujian terhadap perangkat keras meliputi pengujian pada PPI, DAC,

ADC, Driver Motor DC, Tachogenerator, Rangkaian Penyearah dan Rangkaian

Pelemah. Pengujian perangkat keras mengacu pada perancangan perangkat keras seperti yang telah dijelaskan pada Bab III.

4.1.1 PPI

Pengujian PPI 8255 berkenaan dengan input - output ketiga port yang

ada. Untuk mengujinya dibutuhkan program sederhana. Berikut adalah program

untuk menguji kelayakan setiap port dalam Turbo C++ :

#include <stdio.h> #include <dos.h> #include <conio.h> #include <iostream.h> #define PortA 0x3e0 #define PortB 0x3e1 #define PortC 0x3e2 #define Cw 0x3e3 int main(void) {

outportb (Cw,0x80); // ke tiga port PPI diset untuk Output semua do

{

outportb (PortA,0x01); // lampu ke- 8 menyala

delay(500);

outportb (PortA,0x02); // lampu ke- 7 menyala

delay(500);

outportb (PortA,0x04); // lampu ke- 6 menyala

delay(500);


(61)

delay(500);

outportb (PortA,0x10); // lampu ke- 4 menyala

delay(500);

outportb (PortA,0x20); // lampu ke- 3 menyala

delay(500);

outportb (PortA,0x40); // lampu ke- 2 menyala

delay(500);

outportb (PortA,0x80); // lampu ke- 1 menyala

delay(500);

outportb (PortA,0xFF); // semua lampu menyala

delay(500);

outportb (PortA,0x00); // semua lampu padam /* Port B */

outportb (PortB,0x01); // lampu ke- 8 menyala

delay(500);

outportb (PortB,0x02); // lampu ke- 7 menyala

delay(500);

outportb (PortB,0x04); // lampu ke- 6 menyala

delay(500);

outportb (PortB,0x08); // lampu ke- 5 menyala

delay(500);

outportb (PortB,0x10); // lampu ke- 4 menyala

delay(500);

outportb (PortB,0x20); // lampu ke- 3 menyala

delay(500);

outportb (PortB,0x40); // lampu ke- 2 menyala

delay(500);

outportb (PortB,0x80); // lampu ke- 1 menyala

delay(500);

outportb (PortB,0xFF); // semua lampu menyala

delay(500);

outportb (PortB,0x00); // semua lampu padam /* Port C */

outportb (PortC,0x01); // lampu ke- 8 menyala

delay(500);

outportb (PortC,0x02); // lampu ke- 7 menyala

delay(500);

outportb (PortC,0x04); // lampu ke- 6 menyala

delay(500);

outportb (PortC,0x08); // lampu ke- 5 menyala

delay(500);

outportb (PortC,0x10); // lampu ke- 4 menyala

delay(500);

outportb (PortC,0x20); // lampu ke- 3 menyala

delay(500);

outportb (PortC,0x40); // lampu ke- 2 menyala

delay(500);

outportb (PortC,0x80); // lampu ke- 1 menyala

delay(500);

outportb (PortC,0xFF); // semua lampu menyala

delay(500);

outportb (PortC,0x00); // semua lampu padam } while (!kbhit());

outportb (PortA,0x00); outportb (PortB,0x00); outportb (PortC,0x00); return 0;

}

Setelah program dibuat maka langkah selanjutnya adalah

menghubungkan ketiga Port PPI dengan Rangkaian I/O melalui kabel data.

Selanjutnya, program dijalankan dan hasil pengujian dapat dilihat pada Tabel 4.1.

Ouput yang diinginkan adalah lampu akan menyala secara berurutan dari lampu


(62)

dan berganti ke Port B dan Port C dengan urutan yang sama sampai lampu padam

semua apabila ada penekanan tombol pada keyboard.

Tabel 4.1 Hasil pengujian modul PPI

Port Nilai Heksa pada

outport(port,heksa) 1 2 3 Lampu LED 4 5 6 7 8

A FF H 1 1 1 1 1 1 1 0

B FF H 1 1 1 1 1 1 1 1

C FF H 1 1 1 1 1 1 1 1

Keterangan : 1 = Lampu LED nyala. 0 = Lampu LED padam.

Analisa hasil pengujian pada ketiga port PPI yang ada, sebagai berikut,

sesuai pada Tabel 4.1 diatas bahwa pada Port A pada lampu LED ke delapan

padam yang seharusnya menyala, dari hasil tersebut maka Port A pada PPI yang

digunakan pada tugas akhir ini tidaklah layak untuk digunakan, kemudian untuk

Port B dan Port C layak digunakan karena output-nya sesuai.

4.1.2 DAC

Pengujian pada DAC menggunakan Rangkaian I/O dan Multimeter, Rangkain I/O digunakan sebagai tegangan masukan dalam bentuk digital untuk

DAC, sedangkan penunjukan besaran tegangan pada multimeter sebagai output

dari DAC (sinyal analog). Sebelumnya dipastikan tegangan input Vcc sebesar

+5V, tegangan Vref 12V, tegangan Vee -12V, dan juga ground. Karena input

DAC ada 8 bit dan Vref yang digunakan adalah sebesar 12V, maka perubahan untuk setiap bit nya adalah


(1)

(2)

80

Tabel 4.13 Hasil output dari Motor DC 1 dan simulasi pada Motor DC 1 pada tegangan input 9V, untuk menemukan norm error.

No Output

Selisih2 No

Output

Selisih2 Motor DC Simulasi Motor DC Simulasi

1 0 0 0 16 3.673 3.5099 0.0266

2 0.348 0 0.1211 17 3.656 3.5380 0.0139

3 3.608 0.3939 10.3304 18 3.648 3.5829 0.0042 4 3.689 1.0739 6.8387 19 3.656 3.5903 0.0043 5 3.697 1.7074 4.6884 20 3.665 3.5956 0.0048 6 3.664 2.215 2.0996 21 3.673 3.5994 0.0054 7 3.681 2.5987 1.1714 22 3.624 3.6021 0.0005 8 3.648 2.8809 0.5884 23 3.664 3.6041 0.0036 9 3.640 3.0857 0.3072 24 3.689 3.6055 0.0070 10 3.648 3.2335 0.1718 25 3.664 3.6065 0.0033 11 3.640 3.3397 0.0902 26 3.648 3.6072 0.0017 12 3.665 3.4160 0.0620 27 3.648 3.6077 0.0016 13 3.648 3.4707 0.0314 28 3.665 3.6081 0.0032 14 3.705 3.5099 0.0381 29 3.615 3.6083 0.0001 15 3.656 3.5380 0.0139 30 3.665 3.6085 0.0032

Total1 26.5526 Total2 0.0792

Dari Tabel 4.13 dapat di cari norm error-nya dengan cara, Total = Total1 + Total2 = 26.5526+0.0792 = 26.6318. Kemudian dari Total yang didapat


(3)

81

dicari akar kuadratnya, 26.6318 = 5.1606. Dari norm error yang didapat, dapat disimpulkan bahwa fungsi alihnya layak untuk digunakan.

Jika nilai norm error ≤ 10 maka fungsi alih yang di dapat layak untuk digunakan. Makin besar norm error makin jauh perbedaaan antara output hasil simulasi dengan hasil identifikasi.

Ditinjau dari besarnya norm error, dari Tabel 4.12 dapat disimpulkan bahwa Fungsi alih yang mewakili karakteristik Motor DC adalah

) 200 . 0 ( 1 ) 1 600 . 0 (    s e s K

dan ( 0.400) 1 ) 1 800 . 0 (    s e s K

. Sedangkan dari Tabel 4.7

sampai Tabel 4.11, bahwa ± 50% dari hasil keseluruhan pelaksanaan identifikasi

yang telah dilakukan mengacu pada fungsi alih ( 0.200) 1 ) 1 600 . 0 (    s e s K dan ) 400 . 0 ( 1 ) 1 800 . 0 (    s e s K .


(4)

82

BAB V PENUTUP

Berdasarkan pada pengujian dan evaluasi sistem data yang meliputi, perangkat lunak maupun perangkat keras yang digunakan telah didapatkan suatu hasil bahwa alat dapat berfungsi dan bekerja dengan baik.

5.1 Kesimpulan

Kesimpulan yang diperoleh adalah :

a. Telah dirancang dan dibuat sebuah alat pengidentifikasi karakteristik Motor DC, dan telah diujikan untuk mengidentifikasi tiga buah Motor DC. b. Untuk identifikasi secara statis hasilnya dapat langsung di peroleh pada

program alat tersebut.

c. Alat dirancang hanya untuk mencari karakteristik Motor DC dan tidak disertai nilai error yang dihasilkan.

5.2 Saran

Beberapa saran yang bisa diberikan dari penyelesaian tugas akhir ini antara lain adalah :

a. Hasil identifikasi secara dinamis seharusnya dapat ditampilkan langsung pada program alat.

b. Alat seharusnya dilengkapi untuk dapat mencari error dari hasil

identifikasi.

c. Penggunaan delay untuk time sampling yang mengacu pada timer internal


(5)

83

DAFTAR PUSTAKA

Smith, N.E. 1994. Borland C++ Panduan Praktis Berilustrasi. Jakarta: PT Elex

Media Komputindo.

Kadir, A. 1995. Menggunakan TurboC++ dan Borland C++. Yogyakarta : Andi

Offset.

Jogiyanto, 1993. Konsep Dasar Pemrograman Bahasa C. Yogyakarta : Andi

Offset.

Jamsa, K. 1996. 1001 Tip C/C++. Yogyakarta : Andi Offset

Darmawan, B. 1988. Teori dan Soal – soal Fisika. Jakarta : Penerbit Erlangga.

Astrom, K.J. & Wittenmark, B. 1997. Computer Controled system theory and design. New Jersey : Prentice Hall International Editions.

Tirtamiharja, S. 1996. Elektronika digital. Yogyakarta : Andi Offset

Woollard, B. 1988. Elektronika Praktis. Jakarta : PT Pradnya Paramita.

Sedra, A.S. 1990. Rangkaian mikroelektronik. Jakarta : Penerbit Erlangga.

Malvino, A.P. 1994. Elektronika Komputer Digital. Jakarta : Penerbit Erlangga.

Green, D.C. 1987. Pedoman Elektronika 2. Jakarta : PT. Elex Media Komputindo.

Buku informasi Bahan Pelatihan Nasional, 2002, url :

http://www.kota-makassar.net/otomotif/logam/automotif/learning&assessment material/electrical /50-003/50-003-3/50-003-3-k.doc, diakses 20 Januari 2004.

Methode D'identification De Strejc, (online), url : http://www.eudil.fr/


(6)

84

Control Tutorial For MATLAB, (online), url: http://www.mame.mu.oz.au/~meg/

ctrl301/matlab/ctm, diakses 20 Juni 2004.

Euclidean space, (online), url : http://www.en.wikipedia.org/wiki/