Top Banner
Laporan Praktikum Kelompok II MAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC I. PENDAHULUAN 1.1 Latar Belakang Komputerisasi secara umum dapat didefinisikan sebagai semua aktifitas yang menggunakan komputer dan mengembangkan komputer baik berupa perangkat keras komputer maupun perangkat lunak komputer. Kegiatan-kegiatan komputing termasuk merancang dan membuat hardware dan sistem software yang bertujuan untuk memproses, menyusun dan mengatur berbagai jenis informasi, membuat komputer cerdas, membuat dan menggunakan media komunikasi, mencari dan menemukan informasi untuk tujuan tertentu. Banyak hal yang berhubungan dengan komputerisasi merupakan bidang informatika. Teknologi industri saat ini tidak terlepas dari peran utama teknik kendali elektronika untuk mengendalikan motor-motor yang tergabung dalam mesin-mesin industri. Teknologi kendali automatik ini diperlukan dalam operasi-operasi di industri untuk mengendalikan aliran proses produksi, pengontrolan dan monitoring. Pemanfaatan teknologi informasi dalam dunia industri bertujuan untuk meningkatkan akurasi, mempertinggi laju
101

MMI Motor Servo DC Unhas 2011

Jun 28, 2015

Download

Documents

Mencari Ilham
Welcome message from author
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.
Transcript
Page 1: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

I. PENDAHULUAN

1.1 Latar Belakang

Komputerisasi secara umum dapat didefinisikan sebagai semua aktifitas yang

menggunakan komputer dan mengembangkan komputer baik berupa perangkat keras

komputer maupun perangkat lunak komputer. Kegiatan-kegiatan komputing termasuk

merancang dan membuat hardware dan sistem software yang bertujuan untuk

memproses, menyusun dan mengatur berbagai jenis informasi, membuat komputer

cerdas, membuat dan menggunakan media komunikasi, mencari dan menemukan

informasi untuk tujuan tertentu. Banyak hal yang berhubungan dengan komputerisasi

merupakan bidang informatika.

Teknologi industri saat ini tidak terlepas dari peran utama teknik kendali

elektronika untuk mengendalikan motor-motor yang tergabung dalam mesin-mesin

industri. Teknologi kendali automatik ini diperlukan dalam operasi-operasi di industri

untuk mengendalikan aliran proses produksi, pengontrolan dan monitoring.

Pemanfaatan teknologi informasi dalam dunia industri bertujuan untuk

meningkatkan akurasi, mempertinggi laju produksi, mempertinggi kualitas produksi,

mengurangi biaya produksi dan meniadakan pekerjaan-pekerjaan rutin yang harus

dilakukan oleh manusia.

MMI adalah kebutuhan standar di dunia industri manufaktur. Perangkat teknologi

informasi dan komunikasi yang membangun MMI berfungsi sebagai penghubung

antara manusia dan mesin-mesin yang menjalankan proses industri yang kompleks.

MMI adalah bagian utama dari sistem-sistem teknologi kendali proses (Process Control

Technology) di dunia industri manufaktur

Page 2: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Untuk mengenal secara praktis dalam skala kecil mengenai pemanfaatan

teknologi informasi dalam dunia industry, pada mata kuliah praktikum ini akan

dilaksanakan proyek “Man-Machine Interface”. Fokus utama proyek ini adalah

pengendalian posisi motor servo DC dengan memanfaatkan suatu perangkat

microcontroller MCS-51 yang terhubung dalam sebuah jaringan TCP/IP.

1.2 Rumusan Masalah

1. Bagaimana membuat program Server sebagai “Man-Machine Interface” untuk

mengendalikan Posisi Motor Servo DC dengan menggunakan Microkontroler

MCS 51.

2. Bagaimana membuat program client untuk mengirim data posisi yang dinginkan

menggunakan jaringan ke Server untuk mengendalikan Posisi Motor Servo DC.

1.3 Tujuan

1. Mampu membuat program Server sebagai “Man-Machine Interface” untuk

mengendalikan Posisi Motor Servo DC dengan menggunakan Microkontroler

MCS 51.

2. Mampu membuat program client untuk mengirim data posisi yang dinginkan

menggunakan jaringan ke Server untuk mengendalikan Posisi Motor Servo DC.

Page 3: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

II. TINJAUAN PUSTAKA

II.1 Microcontroller MCS-51

Dasar dari Microcontroller MCS-51 adalah mikrokontroler 89S51 yang mempunyai

spesifikasi sebagai berikut :

- 4K Bytes Flash Programmable and Erasable Read Only Memory (Flash

PEROM) yang dapat ditulis dan dihapus 1000 kali.

- Kompatibel dengan standar industry MCS-51

- 1 buah jalur serial Input/Output

- 2 buah counter/timer 16-bit

- 128 x 8-bit internal RAM

- 32 jalur Input/Output

- 256 set Instruksi

- 5 sumber pembangkit interupsi

Page 4: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

II.1.1 Arsitektur MCS-51

Diagram blok mikrokontroler 89S51 ditunjukkan pada gambar dibawah ini

Gambar 2.1 Arsitektur MCS -51

Page 5: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

II.1.2 Pin MCS-51

Pin IC 89S51 yang terdiri atas 40 pin, 32 pin difungsikan sebagai jalur I/O, 24

jalur mempunyai 2 fungsi (26 jalur pada 8032/8052). Masing-masing dapat

dioperasikan sebagai port I/O atau jalur kontrol atau dipakai sebagai bus data dalam

pengaksesan memori eksternal.

Gambar 2.2 Konfigurasi IC Mikrokontroller 89S51

II.1.3 Fungsi Port

- Port 0

Merupakan dual-purpose port (port yang memiliki dua fungsi). Pada desain yang

minimum (sederhana) digunakan sebagai port I/O (Input/Output). Pada desain

yang lebih kompleks yaitu pada perancangan dengan memori eksternal port 0

digunakan untuk data dan alamat (address) yang di-multiplex. Port 0 terdapat pada

pin 32-39.

Page 6: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

- Port 1

Merupakan port yang hanya berfungsi sebagai port I/O, kecuali pada IC 8032/8052

yang menggunakan P1.0 dan P1.1 sebagai input eksternal untuk timer ketiga (T3).

Port 1 terdapat pada pin 1-8.

- Port 2

Merupakan dual-purpose port. Pada desain minimum digunakan sebagai port I/O.

Pada desain yang lebih kompleks digunakan sebagai high byte dari address. Port

2 terdapat pada pin 21-28.

- Port 3

Merupakan dual-purpose port. Selain sebagai port I/O juga mempunyai fungsi

khusus yang ditunjukkan pada tabel 2.1.

BIT NAMEBIT

ADDRESSALTERNATE FUNCTION

P3.0 RXD B0h Receive data for serial portP3.1 TXD B1h Transmit data for serial portP3.2 INT0 B2h External interrupt 0P3.3 INT1 B3h External interrupt 1P3.4 T0 B4h Timer/ Counter 0 external inputP3.5 T1 B5h Timer/ Counter 1 external inputP3.6 WR B6h External data memory write strobeP3.7 RD B7h External data memory read strobe

Tabel 2.1 Fungsi alternative port 3

- PSEN (Program Store Anable)

(pin 29) berfungsi sebagai sinyal kontrol untuk memungkinkan microcontroller

membaca program (code) dari memori eksternal. PSEN akan selalu bernilai

logika “0” pada pembacaan program memori internal.

- ALE (Address Latch Enable)

(pin 30) digunakan untuk demultiplek bus alamat dan bus data (juga bagi

8085, 8088, 8086). Sinyal ALE membangkitkan pulsa sebesar 1/6 frekuensi

Page 7: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

oscillator dan dapat dipakai sebagai clock yang dapat dipergunakan secara

umum. Jika clock 8051 menggunakan x’tal 12 MHz, maka sinyal oscillator

ALE sebesar 2 MHz

- EA (External Access)

Jika EA diberi nilai berlogika “1” maka mikrokontroler menjalankan program

memori internal saja. Jika EA diberi masukan berlogika “0” maka

mikrokontroler hanya akan menjalankan program memori eksternal.

- RST (Reset)

Pulsa transisi dari tinggi selama 2 siklus ke rendah akan me-reset

microcontroller

- Oscillator (pin 18 dan 19)

Mikrokontroler MCS-51 telah memiliki on-chip oscillator yang dapat bekerja

jika di-drive menggunakan kristal. Tambahan kapasitor diperlukan untuk

menstabilkan sistem. Nilai kristal yang biasa digunakan adalah 12 MHz.

- Power

Dioperasikan pada tegangan +5V, Vcc pada pin 40 dan Vss (ground) pada pin

20

II.2 Instruksi-instruksi keluarga MCS-51

Instruksi yang dimiliki oleh keluarga mikrokontroler MCS-51 yang digunakan dalam

modul mikroprosesor trainer SK-8051 pada dasarnya digolongkan menjadi

instruksi operasi aritmatika

operasi logika

transfer data

operasi manipulasi boolean

Page 8: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

perintah percabangan.

Aturan penulisan bahasa assembly-nya tidak jauh berbeda dengan bahasa assembly untuk

IBM PC. Masing-masing instruksi dapat dijelaskan sebagai berikut :

ADD (Add Immediate Data)

Operand A Accumulator

Data - 256 <= data <= + 255

Format ADD A, #data

Operasi (A) ← (A) + data

Keterangan: instruksi ini menambah 8 bit data langsung ke dalam isi akumulator dan

menyimpan hasilnya pada akumulator

ADD (Add Indirect Address)

Operand A Akkumulator

Rr Register 0 <= r <= 1

Format ADD A, @Rr

Operasi (A) ← (A) + ((Rr))

Keterangan: instruksi ini menambah isi data memori yang lokasinya ditunjukkan oleh

nilai register r ke isi akumulator dan menyimpan hasilnya dalam

akumulator

Contoh: ADD A, Rl

ADD (Add Register)

Operand A Accumulator

Rr Register 0 – 7

Format ADD A, Rr

Operasi (A) ← (A) + (Rr)

Keterangan instruksi ini menambah isi register r dengan isi akumulator dan

menyimpan hasilnya dalam akumulator

Contoh ADD A, R6

Page 9: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

ADD (Add Memori)

Operand A Accumulator

Alamatdata 0<=Alamat data<=256

Format ADD A, Alamat data

Keterangan instruksi ini menambah isi alamat data ke isi akumulator dan menyimpan

hasilnya dalam akumulator

Contoh ADD A, 30H

ADDC (Add Carry Plus Immediate Data To Accumulator)

Operand A Accumulator

data -256 <= data <= +255

Format ADDC A, # data

Operasi: (A) ← (A) + (C) + data

Keterangan instruksi ini menambah isi carry flag (0 atau 1) ke dalam isi akumulator.

Data langsung 8 bit ditambahkan ke akumulator.

Contoh ADDC A, #OAFH

ADDC (Add Carry Plus Indirect Address To Accumulator)

Operand A Accumulator

data Register 0 <= r <= 1

Format ADDC A, @Rr

Operasi (A) ← (A) + (C) + ((Rr))

Keterangan instruksi ini menambah isi carry flag (0 atau 1) dengan isi akumulator.

Isi data memori pada lokasi yang ditunjukkan oleh register Rr

ditambahkan dan hasilnya disimpan dalam akumulator.

Contoh ADDC A,@R1

ADDC (Add Carry Plus Register To Accumulator)

Operand A Accumulator

data Register 0 <= r <= 7

Format ADDC A, Rr

Operasi (A) ← (A) + (C) + (Rr)

Page 10: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Keterangan instruksi ini menambah isi carry flag dengan isi akumulator. Isi

register r ditambahkan dan hasilnya disimpan dalam akumulator

Contoh ADDC A,R7

ADDC (Add Carry Plus Memory To Accumulator)

Operand A Accumulator

Alamat data 0 <= Alamat data <= 255

Format ADDC A, Alamat data

Operasi (A) ← (A) + (C) + (Alamat data)

Keterangan instruksi ini menambah isi carry flag dengan isi akumulator. Isi dari

alamat data tertentu ditambahkan pula dan hasilnya disimpan dalam

akumulator

Contoh ADDC A,30H

AJMP (Absolute Jump Within 2K byte Page)

Operand Alamat kode

For rmat AJMP alamat kode

Operasi (PC) ← (PC) + 2

(PC) 0 -10 ← page address

Keterangan instruksi ini meletakkan bagian bawah 11 bit dari pencacah program

dengan 1 bit alamat yang dikodekan.

ANL (Logical AND Immediate Data to Accumulator)

Operand A Accumulator

data -256 <= data <= +255

Format ANL A, #data

Operasi (A) ← (A) AND data

Keterangan instruksi ini meng-AND kan data 8 bit secara langsung dengan isi

akumulator

Contoh ANL A, #00001000B

ANL (Logical AND Indirect Address to Accumulator)

Operand A Accumulator

Page 11: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Data Register 0<= r<=1

Format ANL A, @Rr

Operasi (A) ← (A) AND ((Rr))

Keterangan instruksi ini meng-AND kan isi memori yang lokasinya ditunjukkan oleh isi

register r dengan isi akumulator

Contoh ANL A,@RO

ANL (Logical AND Register to Accumulator)

Operand A Accumulator

data 0 <= Rr <= 7

Format ANL A, Rr

Operasi (A) ← (A) AND (Rr)

Keterangan instruksi ini meng-AND kan isi register r dengan isi akumulator

ANL (Logical AND Memory to Accumulator)

Operand A Accumulator

Alamat data 0 <= Alamat data <= 255

Format ANL A, Alamat data

Operasi (A) ← (A) AND (Alamat data)

Keterangan instruksi ini meng-ANL kan isi alamat data dengan isi akumulator

Contoh ANL A, 35H

ANL (Logical AND Bit to Carry Flag)

Operand C Carry flag

Alamat bit 0 <= alamat bit <= 255

Format ANL C, Alamat bit

Operasi (C) ← (C) AND (Alamat bit)

Keterangan instruksi ini meng-AND kan isi alamat bit tertentu dengan isi carry flag.

Jika keduanya 1 maka hasilnya 1, selain itu hasilnya 0. Hasilnya

ditempatkan pada carry flag.

Contoh ANL C, 37.3

Page 12: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

ANL (Logical AND Complement of Bit to Carry Flag)

Operand C Carry flag

Alamat bit 0 <= alamat bit <= 255

Format ANL C, /alamat bit

Operasi (C) ← (C) AND NOT (alamat bit)

Keterangan instruksi ini meng-AND kan hasil komplemen isi alamat bit tertentu dengan

isi carry f1ag. Hasilnya ditempatkan pada carry flag. Isi alamat bit

semula tidak berubah.

Contoh ANL A,/40.5

ATL (Logical AND Immediate Data to Memory)

Operand Alamat data 0 <= alamat data <= 255

Data -256 <= data <= +255

Format ANL Alamat data, #data

Operasi (Alamat data) ← (Alamat data) AND data

Keterangan instruksi ini meng-AND kan data 8 bit secara langsung dengan isi alamat

data tertentu. Hasilnya akan disimpan dalam memori data pada alamat

tersebut.

Contoh ANL 571-1,#01H

ANL (Logical AND Accumulator to Memory)

Operand Alamat data 0 <= Alamat data <= 255

A Accumulator

Format ANL Alamat data, A

Operasi (Alamat data) ← (Alamat data) AND A

Keterangan instruksi ini meng- AND kan isi akumulator dengan isi alamat data

tertentu. Hasilnya disimpan dalam memori data pada alamat yang

bersangkutan.

Contoh ANL l0H,A

CALL (Generic Call)

Operand Alamat kode

Format Call alamat kode

Page 13: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Keterangan instruksi ini akan ditranslasikan ke ACALL atau LCALL

CJNE (Compare Indirect Address to Immediate Data) Jump if Nol Equal

Operand Rr Register 0<= r <= 1

Data -256 <= data <= +255

Alamat kode

Format CJNE @,Rr, #data, alamat kode

Operasi (PC') ← (PC) + 3

Jika ((Rr)) <> data, maka (PC) ← (PC) + offset relatif

Jika ((Rr)) < data, maka (C) ← 1, lainnya (C) ← 0

Keterangan instruksi ini akan membandingkan data langsung dengan lokasi

memori yang dialamati oleh register r. Apabila tidak sama, eksekusi

akan menuju ke alamat kode. Bila sama, instruksi selanjutnya yang

akan dijalankan. Jika data langsung lebih besar dari isi alamat data

tertentu, carry flag akan diset menjadi 1.

Contoh CJNE @R1, #01H, 0009H

CJNE (Compare Immediate Data to Accumulator) Jump if Not Equal

Operand A Accumulator

data -256 <=data<= +255

Alamat kode

Format CJNE A, #data, Alamat kode

Operasi (PC) ← (PC) + 3

Jika (A) <> data, maka (PC) ← (PC) + offset relative

Jika. (A) < data, maka (C) ← 1

lainnya (C) ← 0

Keterangan instruksi ini akan membandingkan data langsung dengan isi

akumulator. Apabila tidak sama, eksekusi akan menuju ke alamat

kode. Bila sama, instruksi selanjutnya yang akan dijalankan. Jika data

langsung lebih besar dari isi alamat data tertentu, carry flag akan di set

menjadi 1.

Page 14: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

CJNE (Compare Memory to Accumulator) Jump if Not Equal

Operand A Akumulator

Alamat data 0 <= Alamat data <= 255

Alamat kode

Format CJNE A, Alamat data, alamat kode

Operasi (PC) ← (PC) + 3

Jika (A) <> Alamat data, make (PC) ← (PC) + offset relatif

Jika (A) < Aiamat data, make (C) ←1,

lainnya (C) ← 0

Keterangan instruksi ini akan membandingkan isi lokasi memori tertentu dengan isi

akumulator. Apabila tidak lama, eksekusi akan menuju ke alamat

kode. Bila lama, instruksi selanjutnya yang akan dijalankan. Jika

data langsung lebih besar dari isi akumulator, carry flag akan di - set

menjadi 1.

CJNE (Compare Immediate Data to Register) Jump if Not Equal

Operand Rr Register 0<= r <= 7

Data -255 <= data <= +255

Alamat kode

Format CJNE Rr, #data, Alamat kode

Operasi (PC) ← (PC) + 3

Jika (Rr) <> data, make (PC) ← (PC) + offset relatif

Jika (Rr) < data, make (C) ← 1

lainnya (C) ← 0

Keterangan instruksi ini akan mernbandingkan data langsung dengan isi register r.

Apabila tidak sama, eksekusi akan menuju ke alamat kode. Bila sama,

instruksi selanjutnya yang akan dijalankan. jika data langsung lebih besar

dari isi register, carry flag akan diset meiljadi 1.

CLR (Clear Accumulator)

Operand A Akumulator

Format CLR A

Operasi (A) ← 0

Page 15: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Keterangann instruksi ini akan me-reset akuniulator menjadi 00H

Contoh CLR A

CLR (C1ear Carry Flag)

Operand C

Format CLR C

Operasi (A) ← 0

Keterangan instruksi ini akan me-reset carry flag menjadi 00H

Contoh CLR C

CLR (Clear Bit)

Operand Alamat bit 0 <= Alamat bit <= 255

Format CLR Alamat bit

Operasi (Alamat bit) ← 0

Keterangan instruksi ini akan mereset alamat bit menjadi 00H

Contoh CLR 40.5

CPL (Complement Accumulator)

Operand A Akumulator

Format CPL A

Operasi (A) ← NOT (A)

Keterangan instruksi ini akan mengkomplemen isi akumulator

Contoh CPL A

CPL (Complement Carry Flag)

Operand CPL C

Forma CPL C

Operasi (C) ← NOT ©

Keterangan instruksi ini akan mengkomplemen isi carry flag

Contoh CPL C

CPL (Complmen Bit)

Operand Alamat bit 0 <= Alamat bit <_ 255

Page 16: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Format CPL, Alamat bit

Operasi (Alamat bit) ← NOT (Alamat bit)

Keterangan instruksi ini akan mengkomplemen isi suatu alamat bit.

Contoh CPL 33.7

DA (Decimal Adjust Accumulator)

Operand A Akumulator

Format DA A

Keterangan instruksi ini mengatur isi akumulator ke padanan BCD-nya, setelah

penambahan dua angka BCD. Jika auxiliary carry flag 1 atau isi nibble

bawah (bit 0-3) dari akumulator lebih tinggi dari 9, isi akumulator akan

ditambah 6. Jika carry flag diset sebelum atau sesudah penambahan

atau isi nibble atas (bit 4-7) lebih tinggi dari 9, isi akumulator akan

ditambah 60H.

DEC (Decrement Indirect Address)

Operand Rr Register 0 <= r <= 1

Format DEC @Rr

Operasi ((Rr)) ← ((IZr)) -1

Keterangan instruksi ini akan mengurangi isi lokasi memori yang ditunjukkan oleh

register r dengan 1. Hasilnya disimpan dalam lokasi tersebut.

DEC (Decrement Accumulator)

Operand A Akumulator

format DEC A

Operasi (A) ← (A) -1

Keterangan instruksi ini akan mengurangi isi akumulator dengan 1. Hasilnya disimpan

dalam akumulator

Contoh DEC A

DEC (Decrement Register)

Operand Rr Register 0 <= r <= 7

Format DEC Rr

Page 17: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Operasi (Rr) ← (Rr) -1

Keterangan instruksi ini akan mengurangi isi register r dengan 1. Hasilnya disimpan

dalam register r

Contoh DEC R7

DEC (Decrement Memory)

Operand Alamat data 0 <= Alamat data <= 255

Format DEC Alamat data

Operasi (Alamat data) ← (Alamat data) - 1

Keterangan Instruksi ini akan mengurangi isi akumulator dengan 1. Hasilnya disimpan

dalam akumulator.

DIV (Divide Accumulator by B)

Operand AB Pasangan register

Format DIV AB

Operasi (AB) ← (A)/(B)

Keterangan instruksi ini membagi isi akumulator dengan isi register B. Kedua operand

adalah bilangan integer tak bertanda. Akumulator berisi hasil bagi,

register B berisi sisa pembagian

Contoh MOV B, #5H

DIV AB

DJNZ (Decrement Register And Jump If Not Zero)

Operand Rr Register 0 <= r <= 7 Alamat kode

Format DJNZ Rr, Alamat kode

Operasi (PC) ← (PC) + 2

(Rr) ← (Rr) -1

Jika (Rr) <> 0, maka. (PC) ← (PC) + offset r:latif

Keterangan instruksi ini mengurangi register r dengan 1 dan menempatkan

hasilnya pada register tertentu. Jika hasilnya sudah 0, instruksi selanjutnya

yang akan dieksekusi. jika belum 0, eksekusi akan menuju ke alamat kode.

Page 18: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

DJNZ (Decrement Memory And Jump If Not Zero)

Operand Alamat data 0 <= Alamat data <= 255

Alamat kode

Format DJNZ Alamat data, Alamat kode

Operasi (PC} ← (PC) + 3

(Alamat data) ← (Alamat data) - 1

Jika (Alamat data) <> 0, maka (PC) ← (PC) + offset relatif

Keterangan instruksi ini mengurangi. alamat data dengan 1 dan menempatkan hasilnya

pada alamat tersebut. Jika hasilnya sudah 0, instruksi selanjutnya yang

akan dieksekusi. Jika belum 0, eksekusi akan menuju ke alamat kode.

INC (Increment Indirect Address)

Operand Rr Register 0 <= r <= 1

Format INC @Rr

Opcras: ((R-r)) <-((Rr)) •+ 1

Keterangan instruksi ini akan menambah isi lokasi memori yang ditunjukkan oleh

register r dengan 1. Hasilnya disimpan dalam lokasi tersebut.

INC (Increment Accumulator)

Operand A Accmulator

Format INC A

Operasi (A) ← (A) + 1 ,

Keterangan instruksi ini akan menambahkan isi akumulator dengan 1. Hasilnya

disimpan dalam akumulator.

Contoh INC A

INC (Increment Data Pointer)

Operand DPTR Data Pointer

Format INC DPTR

Operasi (DPTR) ← (DPTR) + 1

Keterangan instruksi ini akan menambah isi data pointer dengan 1. Hasilnya

disimpan pada data pointer.

Contoh INC DPTR

Page 19: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

INC (Increnent Register)

Operand Rr Register 0 <= r <= 7

Format INC Rr

Operasi (Rr) ← (Rr) + 1

Keterangan instruksi ini akan menambah isi register r dengan 1. Hasilnya disimpan

dalam register tersebut.

Contoh INC R7

INC (Increment Memory)

Operand Alamat data 0 <= Alamat data <= 255

Format INC Alamat data

Operasi (Alamat data) ← (Alamat data) + 1

Keterangan instruksi ini akan menambah isi alamat data dengan 1. Hasilnya disimpan

dalam alamat tersebut.

Contoh INC 37H

JB (Jump if Bit is Set)

Operand Alamat bit 0 <= Alamat bid <= 255

Alamat kode

Format JB Alamat bit, alamat kode

Operasi (PC) ← (PC) + 3

Jika (Alamat bit) = 1, maka (PC) ← (PC) + offset relatif

Keterangan instruksi ini akan menguji, suatu alamat bit. Jika berisi 1, eksekusi akan

menuju alamat kode. Jika tidak, instruksi selanjutnya akan dieksekusi.

Pencacah program akan dinaikkan pada instruksi selanjutnya. Jika

pengujian berhasil, offset relatif akan ditambahkan ke pencacah program

yang telah dinaikkan dan instruksi pada alamat ini akan dieksekusi.

JBC (Jump And Clear if Bit is Set)

Operand Alamat bit 0 <= Alamat bit <= 255

Alamat kode

Format JBC Alamat bit, alamat kode

Operasi (PC) ← (PC) + 3

Page 20: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Jika (Alamat bit) = 1, maka (alamat bit) ← 0

(PC) ← (PC) + offset relatif

Keterangan instruksi ini akan menguji suatu alamat bit. Jika berisi 1, bit tersebut akan

diubah menjadi 0 dan eksekusi akan menuju ke alamat kode. Jika

berisi 0, instruksi selanjutnya yang akan dieksekusi.

JC (Jump if Carry is Set)

Operand Alamat kode

Format JCC Alamat kode

Operasi (PC) ← (PC) + 2

Jika (PC) = 1, maka (PC) ← (PC) + offset relative

Keterangan instruksi ini akan menguji isi carry flag. Jika berisi 1, eksekusi akan

menuju ke alamat kode. Jika berisi 0, instruksi selanjutnyaakan

dieksekusi

JMP (Generic Jump)

Operand Alamat kode 0 <= Alamat kode <= 65535

Format JMP Alamat kode

Keterangan instruksi ini akan diubah menjadi SJMP, AJMP atau LJMP

JMP (Jump to Sum of Accumulator and Data Pointer)

Operand A Akumulator

DPTR Data Pointer

Format JMP @A+ DPTR

Operasi (PC) ← (A) + (DPTR) •

Keteragan instruksi ini akan menambah isi akumulator dengan isi data pointer dan

meloncat ke alamat kode sesuai hasil penjumlahan

Contoh JMP @A + DPTR

JNB (Jump if Bit is Not Set)

Operand Alamat bit

Alamat kode

Format JNB Alamat bit, alamat kode

Page 21: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Operasi (PC) ← (PC) + 3

Jika (alamat bit) = 0, maka (PC) ← (PC) + offset relative

Keterangan instruksi ini akan menguji suatu alarnat bit. Jika isinya 0, eksekusi akan

menuju ke alamat kode. Jika isinya 1, instruksi selanjutnya yang akan

dieksekusi.

JNC (Jump if Carry is Not Set)

Operand Alamat kode

format JNC Alamat kode

Operasi (PC) ← (PC) + 2

Jika (C) = 0, maka (PC) ← (PC) + offset relatif

Keterangan instruksi ini akan menguji isi carry flag. Jika isinya 0, eksekusi akan

menuju ke alamat kode. Jika isinya 1, instruksi selanjutnya yang akan

dieksekusi.

JNZ (Jump if Accumulator is Not Zero)

Operand Alamat kode

Format JNZ Alamat kode

Operasi (PC) ← (PC) + 2

Jika (A) <> 0, maka (PC) ← (PC) + offset relative

Keterangan instruksi ini. akan menguji isi akumulator. Jika tidak sama dengan 0,

eksekusi akan menuju ke alamat kode. Jika sama dengan 0, instruksi

selanjutnya yang akan dieksekusi.

JZ (Jump if Accumulator is Zero)

Operand Alamat kode

Format JZ Alamat kode

Operasi (PC) ← (PC) + 2

Jika (A) = 0, maka (PC) ← (PC) + offset relatif

Keterangan instruksi ini akan menguji isi akumulator. Jika sama dengan 0, eksekusi

akan menuju ke alamat kode. Jika tidak sama dengan 0, instruksi

selanjutnya yang akan dieksekusi.

Page 22: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

LCALL (Long Call)

Operand Alamat kode 0<= Alamat kode <= 65535

Format LCALL Alamat kode

Operasi (PC) ← (PC) + 3

(SP) <= (SP) + 1

((SP)) ← (PC Low)

(SP) <= (SP) + 1

((SP)) ← (PC high)

(PC) <= Alamat kode

Keterangan instruksi ini akan menyimpan pencacah program pada stack dan

eksekusi akan menuju ke alamat kode

LJMP (Long J amp)

Operand Alamat kode 0 <= Alamat kode <= 65535

Format LJMP Alamat kode

Operasi (PC) ← Alamat kode

Keterangan instruksi ini akan menuju alamat kode

MOV (Move Immediate Data to Indirect Address)

Operand Rr Register 0 <= r <= 1

Data - 256 <= data <= + 255

Format MOV @Rr, #data

Operasi ((Rr)) ← data

Keterangan instruksi ini akan memindahkan data 8 bit secara langsung ke lokasi

memori yang ditunjukkan oleh isi register r

Contoh MOV @R1, #01H

MOV (Move Accumulator to Indirect Address)

Operand Fr Register 0 <= r <= 1

A Accmulator

Format MOV @Rr, A

Operasi ((Rr)) ← (A)

Page 23: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Keterangan instruksi ini menambah isi akumulator ke lokasi memori yang ditunjukkan

oleh isi register r.

Contoh MOV @R0, A.

MOV (Move 1liemorv to indirect Address)

Operand Rr Register 0 <= r <= 1

Alamat data 0 <= Alamai data <= 255

Format MOV @Rr, alamat data

Operasi ((Rr)) ← (alamat data)

Keterangan instruksi ini memindahkan isi suatu alamat data ke lokasi memori yang

ditunjukkan oleh isi register r.

Contoh MOV @R1, 77H

MOV (Move Immediate Data to Accumulator)

Operand A Accumulator

Data -256 <= data <= +255

Format MOV A, #data

Operasi (A) ← data

Keterangan instruksi ini memindahkan data 8 bit secara langsung ke akumulator

Contoh MOV A, #02H

MOV (Move Indirect Address to Accumulator)

Operand A Akcmulator

Rr Register 0 <= r <= 1

Format MOV A, @Rr

Operasi (A) ← ((Rr))

Keterangan instruksi ini memindahkan isi data memori yang lokasinya ditunjukkan

oleh register r ke akumulator

Contoh MOV A, @RO

MOV (Move Register to Accumulator)

Operand A Akkumulator

Rr Register 0<= r <= 7 .

Page 24: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Format MOV A, Rr

Operasi (A) ← (Rr)

Keterangan instruksi ini memindahkan isi register r ke akumulator

Conloh MOV A, #02H

MOV (Move Memory to Accumulator)

Operand A Akkumulator

Alamat data 0<= Alamat data <= 255

Format MOV A, alamat data

Operasi (A) ← (Alamat data)

Keterangan instruksi ini memindahkan isi memori data pada suatu alamat ke

akumulator

Contoh MOV A, P3 pindahkan isi port 3 ke akumulator

MOV (Move Bit to Carry Flag)

Operand C Carry Flag

Alamat bit 0<= Alamat bit <= 255

Format MOV C, alamat bit

Operasi (C) ← (alamat bit)

Keterangan instruksi ini memindahkan isi suatu alamat bit ke carry flag

Contoh MOV C, P1.0

MOV (Move Immediate Data to Data Pointer)

Operand Data Pointer

Data 0 <= data <= 65535

Format MOV DPTR, #data

Operasi (DPTR) ← data

Keterangan instruksi ini memindahkan data 16 bit secara langsung ke data pointer

(DPTR)

Contoh MOV DPTR, #0B 19H

Page 25: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

MOV (Move Memory to Memory)

Operand Alamatl 0 <=Alamat1 <= 255

Alamat2 0 <= Alamat2 ,<= 255

Format MOV alamat1, alamat2

Operasi (Alamat 1) ← (Alamat 2)

Keterangan instruksi ini memindahkan isi memori alamat data sumber (alamat 2)

ke alamat data tujuan (alamat1)

Contoh MOV 13H, 12H

MOVC (Move Code Memory Offset from Data Pointer to Accumulator)

Operand A Akumulator

DPTR Data Pointer

Format MOVC A, @A + DPTR

Operasi (A) ← ((A) + (DPTR))

Keterangan instruksi ini menjumlahkan isi data pointer dengan ini akumulator. Hasil

penjumlahan merupakan alamat kode memory dan isinya akan

dipindahkan ke akumulator.

Contoh MOVC, @A+DPTR

MOVC (Move Code Memory Offset from Program Counter to Accumulator)

Operand A Akumulator

PC Program Counter

Format MOVC A, @A + PC

Operasi (PC) ← (PC) + 1

(A) ← ((A)+(PC))

Keterangan instruksi ini menjumlahkan isi pencacah program yang telah dinaikkan

dengan isi akumulator. Hasil penjumlahan tersebut digunakan sebagai

alamat kode memori dan isinya dipindahkan ke akumulator.

Contoh MOVC, @A+PC

MOVX (Move Accumulator to External Memory addressed by Data Pointer)

Operand DPTR Data Pointer

A Akumulator

Format MOVX, @DPTR, A

Page 26: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Operasi ((DPTR)) <- (A)

Keterangan Instruksi ini akan memindahkan isi akumulator ke memori data eksternal (off chip)

yang alamatnya ditunjukkan oleh data pointer.

Contoh MOVX @ DPTR, A

MOVX (Move Accumulator to External Memory addressed by Register)

Operand Rr Register 0 < = r < = 1

A Akumulator

Format MOVX, @Rr, A

Operasi ((Rr)) <- (A)

Keterangan Instruksi ini akan memindahkan isi akumulator ke memori data eksternal yang

alamatnya ditunjukkan oleh register r dan SFR P2. P2 menampung byte atas

alamat dan register r menampung byte bawah.

Contoh MOV P2, #00H

MOVX @R0, A

MOVX (Move External Memory Addressed by Data Pointer to Accumulator)

Operand A Akumulator

DPTR Data Pointer

Format MOVX A, @DPTR

Operasi (A) ← ((DPTR))

Keterangan instruksi ini akan memindahkan isi memori data eksternal yang

alamatnya ditunjukkan oleh data pointer ke akumulator.

Contoh MOVX A, @DPTR

MOVX (Move External Memory Addressed by Register to Accumulator)

Operand A Akumulator

Rr Register 0 <= r <= 1

Format MOVX A, @Rr

Operasi (A) ← ((Rr))

Keterangan instruksi ini akan memindahkan isi memori data eksternal yang

alamatnya ditunjukkan oleh register r dan SFR P2 ke akumulator. P2

menampung byte atas alamat dan register r menampung byte bawah.

Page 27: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Contoh MOV P2, #55H

MOVX A, @R I

MUL (Multiply Accumulator by B)

Operand AB

Format MUL AB

Operasi (AB) ← (A) * (B)

Keterangan instruksi ini akan mengalikan isi akumulator dengan isi register pengali

(B). Byte bawah hasil perkalian dimasukan ke akumulator dan byte atas

dimasukkan ke register pengali.

Contoh MOV B, #10

MUL AB

NOP (No Operation)

Operand -

Format NOP

Operasi Tak ada operasi

Keterangan instruksi ini tidak melakukan apa pun selama satu siklus.

Contoh NOP

ORL (Logical OR Immediate Data to Accumulator)

Operand A Accumulator

Data -256<=data<=255

Format ORL A, #data

Operasi (A) ← (A) OR data

Keterangan instruksi ini meng-OR kan data 8 bit secara langsung dengan isi

akumulator

Contoh OR A,#00001000B

ORL (Logical OR Indirect Address to Accumulator)

Operand A Accumulator

Rr Register 0 <= r <= 1

Format ORL A, @Rr

Page 28: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Operasi (A) ← (A) OR ((Ri)),

Keterangan instruksi ini meng-OR kan isi memori yang lokasinya ditunjukkan oleh

isi register r dengan isi akumulator. Hasilnya disimpan di akumulator.

Contoh ORL A,@RO

ORL (Logical OR Register to Accumulator)

Operand A Accumulator

Alamat data 0 <= Alamat data <= 255

Format ORL A, Alamat data

Operasi (A) ← (A) OR (Alamat data)

Keterangan instruksi ini meng-OR kan isi alamat data dengan isi akumulator.

Hasilnya disimpan di akumulator

Contoh ORL A, 35

ORL (Logical OR Bit to Carry Flag)

Operand C Carry flag

Alamat bit 0 <= alamat bit <= 255

Format ORL C, Alamat bit

Operasi (C) ← (C) OR (Alamat bit)

Keterangan instruksi ini meng-OR kan isi alamat bit tertentu dengan isi carry

flag. Hasilnya ditempatkan pada carry flag.

Contoh ORL C, 46.2

ORL (Logical OR Complement of Bit to Carry Flag)

Operand C Carry flag

Alamat bit 0 <= alamat bit <= 255

Format ORL C, /alamat bit

Operasi (C) ← (C) OR NOT (alamat bit)

Keterangan instruksi ini meng-OR kan hasil komplemen isi alamat bit tertentu

dengan isi carry flag. Hasilnya ditempatkan pada carry flag. Isi alamat bit

semula tidak berubah.

Contoh ORL C,/25H.5

Page 29: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

ORL (Logical OR Immediate Data to Memory)

Operand Alamat data 0 <= alamat data <= 255

Data -256 <= data <= +255

Format ORL Alamat data, #data

Operasi (Alamat data) ← (Alamat data) OR data

Keterangan instruksi ini meng-OR kan data 8 bit secara langsung dengan isi alamat

data tertentu. Hasilnya akan disimpan dalam memori data pada alamat

tersebut.

Contoh ORL 57H,#01H

ORL (Logical OR Accumulator to Memory)

Operand Alamat data 0 <= Alamat data <= 255

A Akumulator

Format ORL Alamat data, A

Operasi (Alamat data) ← (Alamat data) OR A

Keterangan instruksi ini meng OR kan isi akumulator dengan isi alamat data

tertentu. Hasilnya disimpan dalam memori data pada alamat yang

bersangkutan

Contoh ORL 10H,A

POP (Pop Stack to Memory)

Operand Alamat data 0 <= Alamat data <= 255

Format POP Alamat dataI

Operasi (Alamat data) <- ((SP))

(SP) <- (SP) - 1

Keterangan instruksi ini menempatkan byte yang ditunjukkan oleh stack pointer

ke suatu alamat data, kemudian mengurangi sate isi stack pointer.

Contoh POP PSW

PUSH (Push Memory onto Stack)

Operand Alamat data 0 <= Alamat data <= 255

Format PUSH Alamat data

Operasi (SP) <- (SP) + I

Page 30: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

((SP)) <- (Alamat data)

Keterangan instruksi ini menaikkan stack pointer kemudian menyimpan isinya ke

suatu alamat data pada lokasi yang ditunjukkan oleh stack pointer.

Contoh PUSH 4DH

RET (Return from Subi outine) (Non Interrupt) Operand

Format RET

Operasi (PC high) <- ((SP))

(SP) <- (SP) - 1

(PC low) <- ((SP))

(SP) <- (SP) -1

Keterangan instruksi ini dipakai untuk kembali dari suatu subroutine ke alamat

terakhir seat subroutine dipanggil.

RETI (Return from Interrupt Routine) Operand

Format RETI

Operasi (PC high) <- ((SP))

(SP) <- (SP) - 1

(PC low) <- ((SP))

(SP) <- (SP) -1

Keterangan instruksi ini dipakai untuk kembali dari suatu routine pelayanan

interupsi.

RL (Rotate Accumulator Left)

Operand A Akumulator

Format RL A

Operasi

Keterangan instruksi ini memutar setiap bit dalam akumulator serta posisi ke kiri.

Bit paling besar (MSB) bergerak ke bit paling kecil (LSB).

Contoh RL A

Page 31: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

RLC (Rotate Accumulator And Carry Flag Left)

Operand A Akumulator

Format RLC A

Operasi

Keterangan instruksi ini memutar bit bit dalam akumulator satu posisi ke kiri. Bit

paling besar (MSB) bergerak ke dalam carry flag. Sedangkan isi

carry flag menuju ke LSB

Contoh RLC A

RR (Rotate Accumulator Right)

Operand A Akumulator

Format RR A

Operasi

Keterangan instruksi ini memutar setiap bit dalam akumulator serta posisi ke

kanan. Bit paling kecil (LSB) bergerak ke bit paling besarl (MSB).

Contoh RR A

RRC (Rotate Accumulator And Carry Flag Right)

Operand A Akumulator

Format RRC A

Operasi

Keterangan instruksi ini memutar bit bit dalam akumulator satu posisi ke kanan.

Bit paling kecil (LSB) bergerak ke dzlam carry flag. Sedangkan isi

carry flag menuju ke MSB

Contoh RRC A

SETB (Set Carry Flag)

Operand C Carry Flag

Format SETB C

Operasi (C) <-I

Contoh SETB C

SETB (Set Bit)

Operand Alamat bit 0 <= Alamat bit <= 255

Page 32: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Format SETB Alamat bit

Operasi (Alamat bit) <- 1

Keterangan Instruksi ini akan men-set isi suatu alamat bit menjadi 1

Contoh SETB 41.5

SUBB (Subtract Indirect Address from Accumulator with Borrow)

Operand A Akumulator

Rr Register 0 <= r <= 1

Operasi (A) <- (A) - (C) - ((Rr);

Keterangan instruksi ini akan mengurangkan isi akumulator dengan carry nag

dan isi lokasi memori yang ditunjukkan oleh isi register r. Hasilnya

disimpan dalam akumulator.

SUBB (Subtract Immediate Data from Accumulator with Borrow)

Operand A Akumulator

Data -256 <= data <= +255

Format SUBB A, #data

Operasi (A) <- (A) - (C) - data

Keterangan :instruksi ini akan mengurangkan isi carry flag dan data langsung dari

isi kumulator. Hasilnya disimpan dalam akumulator.

Contoh SUBB A, #OC1H

SUBB (Subtract Register firom Accumulator with Borrow)

Operand A Akumulator

Rr Register 0<= r <= 7

Format SUBB A, Rr

Operasi (A) <- (A) - (C) - (Rr)

Keterangan instruksi ini akan mengurangi isi akumulator dengan isi carry flag

dan isi register r. Hasilnya disimpan dalam akumulator.

Contoh SUBB A, R6

Page 33: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

SUBB (Subtract Memory from Accumulator with Borrow)

Operand A Akumulator

Alamat data 0 <= Alamat data <= 255

Format SUBB A, Alamat data

Operasi (A) <- (A) - (C) - (Alamat data)

Keterangan instruksi ini akan mengurangkan isi akumulator dengan isi carry flag

dan isi suatu alamat data. Hasilnya disimpan dalam akumulator.

Contoh SUBB A, 32H

SJMP (Short Jump)

Operand Alamat data

Format SJMP alamat kode

Operasi (PC) <- (PC) + 2

(PC) <- (PC) + offset relatif

Keterangan instruksi ini akan menyebabkan operasi melompat ke alamat kode.

SWAP (Excharge Nibbles in Accumulator)

Operand A Akumulator

Format SWAP A

Keterangan instruksi ini akan mempertukarkan nibble bawah dengan nibble atas

Contoh SWAP A

XCH (Exchange Indirect Address with Accumulator)

Operand A Akumulator

Rr Register 0 <= r <= 1

Format XCH A, @Rr

Operasi temp <- ((Rr))

((Rx)) <-(A)

(A) <- temp

Keterangan instruksi ini akan menukar isi lokasi memori yang ditunjukkan oleh isi

register r dengan isi akurnulator

Contoh XCH A, @RO

Page 34: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

XCH (Exchange Register with Accumulator)

Operand A Akumulator

Rr Register 0 <= r <= 7

Format XCH A, Rr

Operasi temp <- ((Rr))

((R-r)) <-(A)

(A) <- temp

Keterangan instruksi ini akan menukar isi register dengan isi akumulator

Contoh XCH A, R6

XCH (Exchange Memory with Accumulator )

Operand A Akumulator

Alamat data 0<:= Alamat data <= 255

Format XCH A, alamat data

Operasi temp <- (Alamat data)

(Alamat data) <-(A)

(A) <- temp

Keterangan instruksi ini akan menukar isi suatu alamat data dengan isi akumulator

Contoh XCH A, 37H

XCHD (Exchange Low Nibbles of Indirect Address with Accumulator)

Operand A Akumulator

Rr Register 0 <= r <= 1

Format XCHD A, @Rr

Operasi temp <- ((Rr)) 0 – 3

((Rr))0 – 3 <- (A)0 - 3

(A) 0 – 3 <- temp

Keterangan instruksi ini akan menukar isi nibble bawah dari lokasi memori yang

alamatnya ditunjukkan oleh isi register r dengan isi nibble bawah

akumulator.

Contoh XCHD A, @R0

Page 35: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

XRL (Logical XOR Immediate rata to Accumulator)

Operand A Akumulator

data -256 <= data <= +255

Format XRL A, #data

Operasi (A) <- (A) XOR data

Keterangan instruksi ini meng-XOR kan data 8 bit secara langsung dengan isi

akumulator

Contoh XOR A, #OFH

XRL (Logical XOR Indirect Address to Accumulator)

Operand A Akumulator

Rr Register 0 <= r <= I

Format XRL A, @Rr

Operasi (A) <- (A) XOR ((Rr))

Keterangan instruksi ini men-XOR kan isi memori yang lokasinya ditunjukkan oleh isi

register r dengan isi akumulator. Hasilnya disimpan di akumulator.

Contoh XRL A, @R0

XRL (Logical XOR Register to Accumulator)

Operand A Akumulator

Rr Register 0 <- IZr <- 7

Format XRL A, Rr

Operasi (A) <- (A) XRL (Rr)

Keterangan instruksi ini meng-XOR kan isi register r dengan isi akumulator. Hasilnya

disimpan di akumulator

Contoh XRL A, R4

II.3 Komunikasi serial

Komunikasi data serial ialah pengiriman data secara serial (data dikirimkan satu –

persatu secara berurutan). Komunikasi serial ada dua macam, yaitu komunikasi

sinkron dan asinkron.

Page 36: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Pada komunikasi sinkron hanya ada satu pihak (pengirim atau penerima) yang

menghasilkan clock dan mengirimkan clock tersebut bersama – sama dengan data.

Komunikasi data asinkron adalah komunikasi data dimana kedua pihak (pengirim dan

penerima) masing – masing menghasilkan clock namun hanya data yang

ditransmisikan. Komunikasi data serial ini dikerjakan oleh UART  (Universal

Asynchronous Receiver/Transmitter). Frekuensi clock harus sama dan harus terdapat

sinkronisasi.

Kecepatan transmisi (baud rate) dapat dipilih bebas dalam rentang waktu

tertentu. Baud rate yang umum dipakai adalah 110, 135, 300, 600, 2400, dan 9600

(bit/detik). Dalam komunikasi data serial, baud rate dari dua alat yang berhubungan

harus diatur pada kecepatan yang sama. Selanjutnya, harus ditetapkan panjang data

(6, 7, atau 8 bit), paritas (genap, ganjil atau tanpa paritas), dan jumlah bit ’stop’ (1,

11/2, atau 2 bit).

2.3.1 Konfigurasi port serial

Konektor port serial terdiri dari dua jenis, yaitu konektor 25 pin (DB25) dan 9 pin

(DB9) yang berpasangan. Keterangan mengenai fungsi saluran RS 232 pada konektor

DB-9 adalah sebagai berikut :

Received Line Signal Detect, dengan saluran ini DCE memberitahukan ke DTE

bahwa pada terminal masukan ada data masuk.

Received Data, digunakan DTE menerima data dari DCE.

Transmisi data, digunakan DTE mengirimkan data ke DCE.

Data terminal ready, pada saluran ini DTE memberitahukan kesiapan

terminalnya.

Page 37: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Ring Indikator, pada saluran ini DCE memberitahukan bahwa DTE boleh mulai

mengirm data.

Request to Send, dengan saluran ini DCE diminta mengirim data oleh DTE.

DCE ready, sinyal aktif pada saluran ini menunjukkan bahwa DCE sudah siap.

Gambar 2.3. konektor serial DB-9

Gambar 2.3 adalah gambar konektor port serial DB9 pada bagian belakang CPU

dan tabel 2.2 adalah konfigurasi pin dan nama sinyal konektor serial DB9. Pada

komputer IBM-PC kompatibel biasanya kita dapat menemukan dua connector port

serial DB9 yang biasa dinamai COM1 dan COM2.

NomorPin

NamaSinyal

Direction Keterangan

123456789

DCDRxDTxDDTRGNDDSRRSTCTSRI

inin

outout-in

outinin

Data Carrier Detect/Received Line Signal DetectReceive DataTransmit DataData Terminal ReadyGroundData Set ReadyRequest To SendClear To SendRing Indicador

Tabel 2.2. Konfigurasi pin dan nama sinyal konektor serial DB9

Page 38: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Keterangan mengenai fungsi saluran RS232 pada conector DB9 adalah sebagai

berikut :

1. Received Line Signal Detect, dengan saluran ini DCE memberitahukan ke DTE

bahwa pada terminal masukan ada data masuk.

2. Receive Data, digunakan DTE menerima data dari DCE.

3. Transmit Data, digunakan DTE mengirimkan data ke DCE.

4. Data Terminal Ready, pada saluran ini DTE memberitahukan kesiapan

terminalnya.

5. Signal Ground, saluran ground.

6. Ring Indicator, pada saluran ini DCE memberitahu ke DTE bahwa sebuah stasiun

menghendaki hubungan dengannya.

7. Clear To Send, dengan saluran ini DCE memberitahukan bahwa DTE boleh

mengirim data.

8. Request To Send, dengan saluran ini DCE diminta mengirim data oleh DTE

9. DCE Ready, sinyal aktif pada saluran ini menunjukkan bahwa DCE sudah siap.

Untuk dapat menggunakan port serial perlu diketahui alamatnya. Biasanya

tersedia dua port serial pada CPU, yaitu COM1 dan COM2. Base Address COM1

biasanya ádalah 1016 (3F8H) dan COM2 biasanya 760 (2F8H). Alamat tersebut ádalah

yang biasa digunakan tergantung dari komputer yang digunakan. Tepatnya bisa dilihat

pada peta memori tempat menyimpan alamat tersebut, yaitu memori 0000.0400h untuk

base address COM1 dan memori 0000.0402h untuk base address COM2.

Setelah mengetahui base addressnya maka dapat ditentukanalamat register-

register yang digunakan untuk komunikasi port serial ini. Tabel 2.7 berikut ini ádalah

tabel register-register tersebut beserta alamat-alamatnya.

Nama Register COM1 COM2

Page 39: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

TX BufferRX BufferBaud Rate Divisor Match LSBBaud Rate Divisor Match MSBInterrupt Enable RegisterInterrupt Identification RegisterLine Control RegisterModem Control RegisterLine Status RegisterModem Status Register

3F8h3F8h3F8h3F9h3F9h3FAh3FBh3FCh3FDh3Feh

2F8h2F8h2F8h2F9h2F9h2FAh2FBh2FCh2FDh2FEh

Tabel 2.3. Nama register dan alamatnya

Keterangan mengenai fungsi register tersebut adalah sebagai berikut :

1. Tx Buffer, digunakan untuk menampung dan menyimpan data yang akan dikirim ke

port serial.

2. Rx Buffer, digunakan untuk menampung dan menyimpan data dari DCE

3. Baud Rate Divisor Match LSB, digunakan untuk menampung byte robot rendah

untuk pembagi clock pada IC UART agar didapat baud rate yang tepat

4. Baud Rate Divisor Match MSB, digunakan untuk menampung byte bobot tinggi

untuk pembagi clock pada IC UART sehingga total angka pembagi adalah empat

byte yang dapat dipilih dari 0001h sampai FFFFh. Tabel 2.8 berikut ini ádalah tabel

angka pembagi clock pada IC UART.

Baud Rate (bit/detik) Angka Pembagi

300600

12001800240048009600

0180h0C00h0060h0040h0030h0018h000Ch

Tabel 2.4. Angka pembagi clock pada IC UART

Page 40: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Register Baud Rate Divisor Match bisa diisi jira bit 7 pada register Line Control

Register diisi logika 1.

5. Interrupt Enabled Register, digunakan untuk menset interupsi apa saja yang akan

dilayani komputer. Tabel 2.9 berikut ini ádalah tabel rincian bit pada Interrupt

Enabled register.

Nomor bit Keterangan

012

3

4,5,6, dan 7

1 : Interupsi akan diaktifkan jika menerima data1 : Interupsi akan diaktifkan jika register Tx kosong1 : Interupsi akan diaktifkan jika ada perubahan keadaan pada Line Status Register1 : Interupsi akan diaktifkan jika ada perubahan keadaan pada Modem Status RegisterDiisi 0

Tabel 2.5. Rincian bit pada Interrupt Enabled Register.

6. Interrupt Identification Register, digunakan untuk menentukan urutan prioritas

interupsi. Tabel 2.10 berikut ini ádalah rincian bit Interrupt Identification Register.

Nomor bit Keterangan

0 0 : Interupsi menunggu1 : No interrupt pending

1 dan 200 : Prioritas tertinggi oleh Line Status Register01 : Prioritas tertinggi oleh register Rx jika menerima data10 : Prioritas tertinggi oleh register Tx telah kosong11 : Prioritas tertinggi oleh Modem Status Register

3,4,5,6, dan 7 Diisi 0

Tabel 2.6. Rincian bit Interrupt Identification Register.

Page 41: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

7. Line Control Register, digunakan untuk menentukan jumlah bit data, jumlah bit

parity, jumlah bit stop, serta untuk menentukan apakah baud rate divisor dapat

diubah atau tidak. Tabel 2.11 berikut ini ádalah tabel rincian bit pada Line Control

Register.

Nomor bit Keterangan

0 dan 1

Jumlah bit data00 : Jumlah bit data ádalah 501 : Jumlah bit data ádalah 610 : Jumlah bit data ádalah 711 : Jumlah bit data ádalah 8

2

Bit Stop0 : Jumlah bit stop adalah 11 : Jumlah bit stop adala 1,5 untuk 5 bit data dan 2 untuk 6 hingga 8 bit data

3Bit Parity0 : Tanpa Parity1 : Dengan Parity

40 : Parity ganjil1 : Parity genap

5 1 : Bit Parity ikut dikirimkan (stick parity)

60 : Set break control tidak diaktifkan1 : Set break control diaktifkan

70 : Baud rate divisor tidak dapat diakses1 : Baud rate divisor dapat diakses

Tabel 2.7. Rincian bit pada Line Control Register.

Page 42: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

8. Modem Control Register, digunakan untuk mengatur saluran pengatur modem

terutama saluran DTR dan saluran RST. Tabel 2.12 berikut ini ádalah tabel rincian

bit pada modem Modem Control Register.

Nomor bit Keterangan

0Bit DTR0 : Saluran DTR diaktifkan (aktif 0)1 : Saluran DTR dibuat normal (tidak aktif)

1Bit RST0 : Saluran RST diaktifkan (aktif 0)1 : Saluran RST dibuat normal (tidak aktif)

2Bit OUT1, digunakan untuk penghubung ke perangkat lain, dapat dibuat logika high atau logika low. Secara normal tidak digunakan.

3Bit OUT2, digunakan untuk penghubung ke perangkat lain, dapat dibuat logika high atau logika low.

40 : Loop back internal diaktifkan1 : Loop back internal tidak diaktifkan

5, 6, 7 Diisi 0

Tabel 2.8. Rincian bit pada Modem Control Register

9. Line Status Register, digunakan untuk menampung bit-bit yang menyatakan

keadaan penerimaan atau pengiriman data dan status kesalahan operasi. Tabel

2.13 berikut ini ádalah tabel rincian bit pada Line Status Register.

Nomor bit

Keterangan

01234567

1 : Menyatakan adanya data yang masuk pada buffer Rx1 : Data yang masuk mengalami overrun1 : Terjadi kesalahan pada bit parity1 : Terjadi kesalahan framing1 : Terjadi Break Interupsi1 : Menyatakan Rx telah kosong1 : Menyatakan bahwa Trasmitter Shift Register telah kosongDiisi 0

Tabel 2.9. Rincian bit Line Status Register.

Page 43: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

10. Modem Status Register, digunakan untuk menampung bit-bit yang menyatakan

status dari saluran hubungan dengan modem. Tabel 2.14 berikut ini adalah tabel

rincian bit pada Modem Status Register.

Nomor bit Keterangan

01 : Menyatakan adanya perubahan keadaan di saluran Clear To Send.

11 : Menyatakan adanya perubahan keadaan di saluran Data Set Ready

31 : Menyatakan adanya perubahan keadaan di saluran Ring Indicator dari low ke high

41 : Menyatakan saluran Clear To Send (CTS) sudah dalam keadaan aktif

51 : Menyatakan saluran Data Set Ready (DSR) sudah dalam keadaan aktif

61 : Menyatakan bahwa saluran Ring Indicator sudah dalam keadaan aktif

71 : Menyatakan bahwa saluran Receiver Line Signal Detect (DCD) sudah dalam keadaan aktif

Tabel 2.10. Rincian bit Modem Status Register.

II.4 Analog to Digital Converter (ADC)

Analog to Digital Converter (ADC) adalah sebuah piranti yang dirancang untuk

mengubah sinyal-sinyal analog menjadi bentuk sinyal digital. Adapun jenis ADC yang

digunakan dalam rangkaian yang akan dibuat adalah IC ADC 0820. IC jenis ini bekerja

secara cermat dengan menambahkan sedikit komponen sesuai dengan spesifikasi

yang harus diberikan dan dapat mengkonversikan secara cepat suatu masukan

tegangan. Hal-hal yang juga perlu diperhatikan dalam penggunaan ADC ini adalah

tegangan maksimum yang dapat dikonversikan oleh ADC dari rangkaian pengkondisi

sinyal, resolusi, pewaktu eksternal ADC, tipe keluaran, ketepatan dan waktu

konversinya

Page 44: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Fitur & Spesifikasi Teknis ADC-08

1. Resolusi ADC 8-bit.

2. Tegangan kerja (VCC) = Tegangan referensi (Vref) = +5VDC.

3. Fungsi track-and-hold yang terintegrasi.

4. Tanpa clock eksternal.

5. Memiliki tiga operasi:

- RD (Read) Mode

- WR-RD (Write-Read) Mode

- WR-RD Stand Alone Operation

6. Waktu Konversi 2,5 ms pada Read Mode dan 1,5 ms pada Write-Read Mode

dan WR-RD Stand Alone Operation.

7. Range input 0 VDC hingga +5 V (dengan VCC = +5 VDC).

8. Selisih hasil pengukuran dan penghitungan maksimum 1 LSB (sekitar 20 mV

dengan menggunakan VCC = +5 VDC).

9. Tidak membutuhkan pengaturan zero atau full-scale adjust.

10. Antarmuka paralel dengan level tegangan CMOS atau TTL.

11. Dapat dihubungkan melalui pin I/O ataupun Intel System Bus (System Bus

hanya mendukung WR-RD Mode).

12. Dilengkapi rutin-rutin siap pakai dalam bahasa Assembly untuk DT-51™ Low

Cost Series dan DT-51™ Minimum System ver 3.0.

Page 45: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Cara Menghitung Output ADC

Rumus Output ADC NVinVref

×256

Dimana :

N : nilai register output ADC

Vin : tegangan input

Vref : tegangan referensi (=VCC)

Gambar 2.4. koneksi ADC-08

Page 46: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

II.5 H-Bridge

Embedded Module Series (EMS) 5 A H-Bridge merupakan driver H-

Bridge yang didisain untuk menghasilkan drive 2 arah dengan arus kontinyu

sampai dengan 5 A pada tegangan 5 Volt sampai 40 Volt. Modul ini

dilengkapi dengan rangkaian sensor arus beban yang dapat digunakan

sebagai umpan balik ke pengendali. Modul ini mampu men-drive beban-

beban induktif seperti misalnya relay, solenoida, motor DC, motor stepper,

dan berbagai macam beban lainnya.

Spesifikasi H-Bridge

- Terdiri dari 1 driver full H-Bridge beserta rangkaian current sense.

- Mampu melewatkan arus kontinyu 5 A.

- Range tegangan output untuk beban: 5 V sampai 40 V.

- Input kompatibel dengan level tegangan TTL dan CMOS.

- Jalur catu daya input (VCC) terpisah dari jalur catu daya untuk beban (V Mot).

- Output tri-state.

- Dilengkapi dengan dioda eksternal untuk pengaman beban induktif.

- Frekuensi PWM sampai dengan 10 KHz.

- Active Current Limiting.

- Proteksi hubungan singkat.

- Proteksi overtemperature.

- Undervoltage Shutdown.

Page 47: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Gambar 2.5. tata letak Komponen H-Bridge

Modul H-Bridge memiliki 1 set header (J2) dan 1 set terminal konektor

(J1). Pada bagian ini akan dijelaskan deskripsi dan fungsi dari masing-

masing header dan konektor tersebut.

Interface Header (J2) berfungsi sebagai input untuk antarmuka

dengan input-output digital serta output analog dari modul H-Bridge. Berikut

deskripsi dari masing-masing pin pada Interface Header :

Page 48: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

No PIN Nama I/O Fungsi

1 MIN1 I Pin input untuk menentukan output MOUT 12 MIN2 I Pin input untuk menentukan output MOUT 2

3 MSTAT1 O

Output digital yang melaporkan adanya kondisifault pada modul. Berlogika Low jika ada faultpada modul atau output

4 MEN IPin enable untuk output H-Bridge (MOUT 1 danMOUT 2)

5 MCS OOutput tegangan analog yang berbanding lurusdengan arus beban (Range output 0 – 2,5 Volt)

6 MSLP I

Pin input untuk mengatur kerja modul H-Bridge.Diberi logika High untuk Full Operation, diberilogika Low untuk Mode Sleep

7,9 VCC -Terhubung ke catu daya untuk input (5 Volt)

8,10 PGND - Titik referensi untuk catu daya input

Table 2.11. deskripsi Pin pada interface header H-Bridge

Arus (dalam Ampere) yang dilewatkan oleh H-Bridge dapat dihitung

dengan rumus :

I=Tegangan¿

180×375

Power & Motor Con (J1) berfungsi sebagai konektor untuk catu daya dan

beban. Berikut deskripsi dari masing-masing terminal pada Power dan

Motor Con:

Nama Fungsi

PGND Titik referensi untuk catu daya input

VCCTerhubung ke catu daya untuk input (5 Volt)

MGNDTitik referensi untuk catu daya output ke beban

Page 49: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

V MOTOR(V MOT)

Terhubung ke catu daya untuk output ke beban

MOUT 2 Output ke beban dari half H-Bridge keduaMOUT 1 Output ke beban dari half H-Bridge pertama

Table 2.12. deskripsi terminal Power dan Motor Con pada H-Bridge

Sebuah modul H-Bridge 5A dapat digunakan untuk mengatur kerja 1 buah motor

DC secara dua arah. Contoh koneksinya dapat dilihat pada gambar berikut ini:

Gambar 2.6. koneksi H-Bridge 5A

II.6 Motor Servo DC MS-150

Motor servo DC adalah sebuah motor dengan sistem closed feedback di mana

posisi dari motor akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam

motor servo DC. Motor ini terdiri dari sebuah motor, serangkaian gear, potensiometer

dan rangkaian kontrol. Potensiometer berfungsi untuk menentukan batas sudut dari

Page 50: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

putaran servo. Sedangkan sudut dari sumbu motor servo diatur berdasarkan lebar

pulsa yang dikirim melalui kaki sinyal dari kabel motor. Tampak pada gambar dengan

pulsa 1.5 mS pada periode selebar 2 mS maka sudut dari sumbu motor akan berada

pada posisi tengah. Semakin lebar pulsa OFF maka akan semakin besar gerakan

sumbu ke arah jarum jam dan semakin kecil pulsa OFF maka akan semakin besar

gerakan sumbu ke arah yang berlawanan dengan jarum jam.

Gambar 2.7. Motor DC

Motor servo banyak digunakan untuk aplikasi–aplikasi yang biasanya cukup

menggunakan torsi yang kecil, seperti untuk penggerak piringan disket. Motor servo

DC merupakan motor DC yang tidak memiliki komutator. Pada umumnya motor servo

DC hanya mempunyai kumparan pada statornya, sedangkan pada bagian rotornya

merupakan  magnet permanen. Dengan model motor seperti ini maka motor servo DC

dapat diatur posisinya pada posisi tertentu dan atau berputar ke arah yang diinginkan,

searah jarum jam atau sebaliknya. Kecepatan motor servo DC pada dasarnya

ditentukan oleh kecepatan pemberian data pada komutatornya. Semakin cepat data

yang diberikan maka motor servo DC akan semakin cepat pula berputarnya.

Page 51: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Walaupun begitu motor servo DC memiliki ketelitian yang sangat tinggi dan

mampu dikendalikan oleh tegangan digital karenanya motor servo DC banyak

digunakan pada aplikasi pengendalian. Pada umumnya motor servo DC hanya

mempunyai kumparan pada statornya sedangkan pada bagian rotornya merupakan

magnet permanen.

MS 150 sistem servo modular merupakan dasar pengaturan percobaan

laboratorium, yang menggunakan sistem tenaga modular. Ini terdiri dari tujuh

komponen yang terhubung bersama sebagai berikut:

1. Attenuator Unit (AU 1 SOB)

2. Servo Amplifier (SAI SOD)

3. Power Supply (PSI SOE)

4. DC Motor (DCMI SOF)

5. Loading Unit (LUI SOL)

6. Reduction Gear Tacho Unit (GT I SOX)

7. Base-Plate

2.7. Potensiometer

Potensiometer adalah transduser elektromekanik yang mengubah elektro

mekanik menjadi besaran listrik. Perubahan mekanik disini berkaitan dengan

pergeseran atau perputaran (linear/rotational displacement). Potensiometer putar dapat

ditemukan secara komersil dalam bentuk dalam satu putaran atau banyak putaran,

dengan gerak putaran yang terbatas ataupun tidak terbatas. Potensiometer disebut

juga variable resistor atau disingkat VR (variable resistor). Pada praktikum ini,

potensiometer digunakan sebagai sensor posisi motor servo DC.

Page 52: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Gambar 2.8. Potensiometer

2.7.1 Pengaksesan Port Serial Pada Borland Delphi

Borland Delphi menyediakan komponen khusus untuk mengakses port serial

komputer yaitu komponen MSComm. MSComm menyediakan fasilitas-fasilitas untuk

mengirim dan menerima data melalui port serial. Properti-properti komponen MSComm

yang sering digunakan antara lain:

Port : Menentukan port dari Com yang digunakan apakah COM1, COM2, COM3

dan seterusnya

BaudRate : Menentukan Nilai Baud Rate yang digunakan

DataBits : Jumlah Bit data yang digunakan

StopBits : Jumlah Bit Stop yang digunakan

Parity : Menentukan paritas yang digunakan

Connected : Jika bernilai true, maka koneksi ke COM aktif dan jika bernilai false

maka koneksi ke COM tidak aktif.

2.7.2 Borland Delphi

Page 53: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Borland Delphi merupakan suatu bahasa pemrograman yang memberikan

berbagai fasilitas pembuatan aplikasi visual. Untuk mengetahui pemrograman visual

terutama Borland Delphi, bagian ini membahas komponen-komponen pada Delphi,

bagaimana cara menjalankan program Borland Delphi dan Mengenal IDE Delphi.

2.7.3 Menjalankan Program Borland Delphi

Langkah pertama adalah:

1. Mengklik tombol Start yang terletak pada bagian Taskbar

2. Memilih menu Programs

3. Memilih Borland Delphi 7, kemudian klik Delphi 7

4. Sesaat kemudian akan muncul tampilan lembar kerja Borland Delphi seperti

yang terlihat pada gambar 2.8.

Gambar 2.9. Lembar kerja Borland Delphi

2.7.4 Mengenal IDE Delphi

Page 54: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

IDE (Integrated Development Environment) atau lingkungan pengembangan

terpadu pada program Delphi terbagi menjadi delapan bagian utama, yaitu: Main

Window, ToolBar, Component Palette, Form Designer, Code Editor, Object Inspector,

Code Explorer, dan Object TreeView .

Main Window

Jendela utama ini adalah bagian dari IDE yang mempunyai fungsi yang sama

dengan semua fungsi utama dari program aplikasi Windows lainnya. Jendela utama

Delphi terbagi menjadi tiga bagian, yaitu: Main Menu, Toolbar dan Componen Pallete

Tollbar

Delphi memiliki beberapa toolbar yang masing-masing memiliki perbedaan fungsi

dan setiap tombol pada bagian toolbar berfungsi sebagai pengganti suatu menu

perintah yang sering digunakan. Toolbar terletak pada bagian bawah baris menu. Pada

kondisi default Delphi memiliki enam bagain toolbar, antara lain: Standart, View,

Debug, Desktops, Custom dan Componen Palette. Tombol-tombol yang terletak pada

bagian toolbar dapat ditambah atau dikurangi sesuai kebutuhan.

Component Pallete

Component Palette berisi kumpulan ikon yang melambangkan komponen-

komponen yang terdapat pada VCL (Visual Component Library). Pada Componen

Palette Anda akan menemukan beberapa page control, seperti Standart, Additional,

Win32, System, Data Access dan lain-lain seperti tampak pada gambar 2.9.

Page 55: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Gambar 2.10. Component Palette

Ikon tombol Pointer terdapat di setiap page control. Tombol ini dipakai untuk menekan

atau memilih posisi. untuk memilih sebuah item dari sebuah page control, tombol

pointer ini akan berada dalam keadaan tidak aktif. Hal ini berarti Anda akan meletakkan

komponen pada form, cukup dengan mengklik pada form.

Form Designer

Merupakan suatu objek yang dapat dipakai sebagai tempat untuk merancang

program aplikasi. Form berbentuk sebuah meja kerja yang dapat diisi dengan

komponen-komponen yang diambil dari Component Palette. Pada saat memulai

Delphi, Delphi akan memberikan sebuah form kosong yang disebut form1, seperti

gambar 2.10 di bawah ini.

Gambar 2.11 Lembar kerja Form

Sebuah form mengandung unit yang berfungsi untuk mengendalikan form dan

dapat mengendalikan komponen-komponen yang terletak dalam form dengan

menggunakan Object Inspector dan Code Editor.

Code Editor

Page 56: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Code Editor merupakan tempat untuk menuliskan kode program. Pada bagian ini

dapat dituliskan pernyataan-pernyataan dalam Object Pascal. Satu diantara

keuntungan bagi pengguna Delphi adalah tidak perlu menuliskan kode-kode sumber,

karena Delphi telah menyediakan kerangka penulisan sebuah program seperti pada

gambar 2.11 di bawah ini.

Gambar 2.12. Lembar kerja Code Editor

Object Inspector

Digunakan untuk mengubah properti atau karakteristik dari sebuah komponen.

Object Inspector terdiri dari dua tab, yaitu Properties dan Events seperti gambar 2.12

di bawah ini.

Gambar 2.13. Lembar kerja Object Inspector

Code Explorer

Page 57: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Code Explorer merupakan lembar kerja baru yang terdapat di dalam Delphi7 yang

tidak ditemukan pada versi-versi sebelumnya. Code Explorer digunakan untuk

memudahkan pemakai berpindah antar file unit yang terdapat di dalam jendela Code

Editor. Untuk menutup Code Explorer, klik tanda silang yang terdapat di sudut kanan

atas, dan untuk membukanya kembali pilih menu View Code Explorer dari main menu

atau klik kanan dalam jendela Code Editor kemudian pilih View Explorer.

Object TreeView

Object TreeView menampilkan diagram pohon dari komponen-komponen yang

bersifat visual maupun nonvisual yang telah terdapat dalam form, data module, atau

frame. Object TreeView juga menampilkan hubungan logika antar komponen. Apabila

mengklik kanan salah satu item yang terdapat di dalam diagram pohon, dapat dilihat

konteks menu komponen versi sebelumnya. Untuk mengakses menu secara penuh,

klik kanan pada komponen yang sama dalam form, data module, atau frame.

III. METODOLOGI

Page 58: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

III.1 Alur Sistem Pengontrolan Motor Servo DC oleh beberapa Komputer

(Jaringan Komputer).

Sistem yang akan dibangun akan tampak seperti pada gambar berikut :

Gambar 3.1 Alur Sistem Pengontrolan Motor Servo DC oleh Multi User

Penjelasan Alur Sistem MMI pada pengontrolan motor servo DC dalam

sebuah jaringan komputer adalah sebagai berikut :

Microcontroller

Client

Client

Client

Server

Motor Servo DC

RS-232

ADC

Sensor Posisi

H-BRIDGE

Page 59: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Pada sebuah jaringan komputer yeng telah terhubung oleh sebuah komputer

server akan melakukan perintah melakukan perputaran motor servo DC (dalam derajat

tertentu misalnya 300). Data input dari suatu Client akan masuk ke dalam server lalu

server yang telah terhubung dengan microcontroller akan mengirimkan data tersebut

kepada microcontroller lalu microcontroller akan mengirimkan data perintah tersebut

kepada Motor Servo DC yang tentu saja akan melalui DAC (pengubah dari Digital ke

Analog) dan Driver (Penambah Tegangan untuk menggerakkan Motor Servo DC).

Motor Servo DC akan bergerak sesuai dengan jumlah derajat yang diinputkan.

Ketika terjadi gangguan pada Motor Servo DC yang menyebabkan terjadinya

perubahan derajat perputaran dalam hal ini terjadi peningkatan atau pengurangan

maka secara otomatis sensor akan mengirimkan perubahan tersebut pada

Microcontroller yang tentu saja melalui ADC (pengubah dari Analog ke Digital).

Perubahan data tersebut akan dilanjutkan ke Server lalu melalui server akan

dilanjutkan kepada Client dan secara otomatis Program pada Client akan memberikan

perintah baru dalam hal ini mengembalikan posisi derajat sesuai dengan inputan awal.

III.2 Alat dan Komponen pada sistem

Page 60: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Alat dan komponen yang digunakan dalam membangun dan mengaplikasi system

adalah:

- Sistem microcontroller 89C51 1 unit

- ADC 0820 1 buah

- H-bridge 5A 1 unit

- Sistem motor servo DC 1 unit

- PC/laptop beberapa unit

- RS-232 1 buah

- Kabel penghubung Secukupnya

III.3 Program Interface Sistem

Program interface yang dibangun sebagai penghubung antara manusia dan

mesin adalah meliputi 2 buah Program yaitu :

1. Program pada Client / User Pengontrol Motor Servo DC

Program yang akan dibangun pada Client merupakan sebuah program

inputan yang berisi perintah terhadap besarnya derajat perputaran Motor

Servo DC,

Pada Program Client akan dilengkapi system login dengan tujuan untuk

membatasi penggunaan terhadap orang – orang yang tidak berkepentingan

dan juga sebagai pengenal bagi Server dalam menerima perintah kepada

Motor Servo DC.

2. Program pada Server / Penghubung PC Client ke Microcontroller

Page 61: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Program pada Server merupakan sebuah program monitoring terhadap

jalannya proses dari Client ke Motor Servo DC, sehingga akan diketahui

Client mana yang telah melakukan koneksi ke Motor Servo DC serta berapa

derajat perintah yang dilakukan dan berbagai monitoring lainnya yang

berhubungan dengan hubungan antara PC Client dengan Motor Servo DC.

III.4 Rancangan Tahapan dalam mengaplikasikan Sistem yang dibangun

dapat dilihat pada gambar berikut :

Page 62: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Penjelasan Tahapan dalam mengaplikasikan Sistem MMI yang dibangun adalah

sebagai berikut :

Pembuatan Program Assembly untuk Modul Microcontroler 89C51

Pembuatan Program untuk MMI Client-Server menggunakan Borland Delphi

Uji coba Koneksi Client-Server

Pembuatan Laporan

Uji coba Modul Servo DC secara manual

Mempersiapkan alat dan bahan

Menghubungkan Server dan modul Microcontroler 89C51 menggunakan port serial RS 232

Uji coba MMI Client-Server pengendalian Motor Servo DC

Pengambilan data

Page 63: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

1. Menyiapkan seluruh Alat dan Komponen yang dibutuhkan dari system yang

dibangun.

2. Melakukan percobaan menjalankan modul motor servo DC secara manual

3. Membuat program Asembly untuk modul microcontroller 89C51.

4. Membuat program MMI Client-Server pengendalian posisi motor servo dc

menggunakan bahasa Borland Delphi berbasis TCP/IP.

5. Menghubungkan program MMI Client-Server pada PC yang telah dibuat dengan

microcontroller melalui serial RS-232.

6. Menjalankan program memonitoring dan mengendalikan posisi motor pada

sebuah komputer MMI-Client.

7. Melakukan Pengujian koneksi MMI Client-Server

8. Melakukan pengujian pengendalian motor servo DC menggunakan MMI Client-

Server berbasis TCP/IP

Mencoba melakukan gangguan posisi derajat perputaran pada Motor Servo DC

dengan tujuan untuk mengetahui sistem pengendali program pada Client yaitu dapat

mengembalikan ke posisi normal

IV. PEMBAHASAN

Page 64: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

IV.1 Program Assembly Mikrokontroler

Program pada mikrokontroler dimaksudkan untuk dapat membaca posisi terakhir

pada motor servo dc dan permintaan posisi dari MMI-Client. Dimana fungsi

Microcontroller sebagai lalu lintas data antara server dengan motor servo DC

Kemudian program dapat membandingkan kedua posisi tersebut. Adapun Flowchart

dalam membuat program assembly yaitu :

Gambar 4.1. Flowchart Microcontroler 89C51

Adapun listing program Asembly pada microkontroler 89S51 yaitu :

Start

Kirim Data SerialEn

d

‘A’ ???

Stop

Inisialisasi Serial Port

Terima Data Serial

Pembacaan Data ADC

T

YY

Putar kiri “B”

Putar kanan

Page 65: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

$MOD51

;Main Program;kelompok 2 kendali posisi motor servo DC;*********************************************************

Org 0000H

mov P0,#0 ;Control ADCsetb P0.3 ;set pin INTsetb P0.7 ;set pin WRmov P2,#0 ;Control Motorsetb P2.0 ;set pin Enable

Main_Prog:call Serial_Port_Init

Main_Prog_Loop:call Serial_Receivecall read_adccall Serial_Transmitsjmp Main_Prog_Loop

Serial_Port_Init:mov SCON, #50Hmov RCAP2H, #0FFHmov RCAP2L, #0F7H ; 0F7H utk 38400 bps, 0FAH utk 56800 bps mov T2CON, #34H ; utk set bit TCLK,RCLK dan TR2 pada reg TCONret

Serial_Receive:jnb RI, $mov A, SBUF ;data received simpan di Acjne A,#'A',putarkanansetb P2.2clr P2.3sjmp oke

putarkanan:cjne A,#'B',okeclr P2.2setb P2.3

oke:call delay ;lama putar motorclr P2.2clr P2.3clr RIret

read_adc:setb P0.6mov R4,100djnz R4,$clr P0.6mov A,P1ret

Page 66: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Serial_Transmit:

mov B, Aswap Aanl A, #00FHcall NibleToASCIIcall Transmit

xch A, Banl A, #00Fhcall NibleToASCIIcall Transmitret

NibleToASCII:add A,#036hjnb ACC.6, Skipadd A,#7

Skip:subb A,#6ret

Transmit:clr TImov SBUF, A ;kirimkan ke Bufferjnb TI, $ret

delay: mov R5,#100

D01: mov R6,#200djnz R6,$djnz R5,D01ret

end

4.2. Program MMI Client-Server

Program untuk MMI Client-Server ini dibuat dengan bahasa pemrograman Delphi.

MMI Client-Server merupakan program interface dalam melakukan pengendalian posisi

motor servo DC. Secara umum program ini mempunyai alur logika seperti diperlihatkan

pada gambar flowchart di bawah ini :

MMI server

- Flowchart control kecepatan motor servo DC pada Server

Page 67: MMI Motor Servo DC Unhas 2011

Start

SE := posisi kontrolsudut := posisi motor

pC := posisi kontrolpM := posisi motor

pS := |pC – pM|

pS > 15set

timer.interval := 200

settimer.interval := 100

End

[tidak][ya]

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Gambar 4.2. Flowchart alur program control kecepatan putaran motor servo DC

Flowchart diatas menunjukkan pengaturan kecepatan putaran motor servo DC,

dimana pada saat mengatur posisi derajat motor DC kecepatan motor DC akan lambat

ketika pS > 15, dimana :

pC= posisi control (setting)

pM= posisi Motor

pS = |pC-pM|

- Flowchart control posisi motor servo DC pada Server

Page 68: MMI Motor Servo DC Unhas 2011

Start

SE := posisi kontrolsudut := posisi motor

pC := posisi kontrolpM := posisi motor

pS := |pC – pM|

sudut>SE+1or

sudut<SE-1

End

[ya] [tidak]

[ya]

[tidak]

SE>sudut

pS≤180

STOP

pS≤180

putar kanan

putar kiri

[ya][tidak]

[ya]

[tidak]

putar kiri

putar kanan

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Gambar 4.3. Flowchart alur program kontrol posisi putaran motor servo DC

Adapun listing program MMI server menggunakan bahasa Delphi yaitu :

Page 69: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

procedure TFormServerMMI.Timer1Timer(Sender: TObject);Var S,D1: string;i1,code :integer;sudut : integer;pC, pM, pS : Real;

begin S:= MSComm.Input; D1:= copy (S,1,2); val('$'+D1,i1,Code); //sudut:= round(1.412*i1); sudut:= round(360*i1/255);

SE:=scrollbar1.Position; EditPosisi.Text:= IntToStr(SE);

edit10.Text :=inttostr(sudut)+' Derajat'; ScrollBar2.Position :=(sudut);

pC := SE; pM := sudut; pS := abs(pC-pM);

//Kontrol kecepatan if (pS > 15) then timer1.interval := 100 else timer1.interval := 200;

//Kontrol posisi if (sudut > SE+1)or(sudut < SE-1) then if (SE>sudut) then begin if (pS <= 180) then MSComm.Output:=chr(65) else MSComm.output := chr(66); end else begin if (pS <= 180) then MSComm.Output:=chr(66) else MSComm.output := chr(65); end; if (sudut <= SE+1)or(sudut >= SE-1) then MSComm.Output:=chr(64); sleep(100);end;

Tampilan MMI Server

Page 70: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Gambar 4.4. Tampilan interface MMI server

MMI Client

Flowchart MMI client kendali posisi motor servo DC

Gambar 4.5. Flowchart MMI client

Tampilan MMI Client :

Start

Kirim Data ke Server

Baca Data dari Server

End

Koneksi ke Server

Page 71: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Gambar 4.6. Tampilan interface MMI Client

4.3. Hasil Pengambilan Data

Page 72: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Pengambilan data meliputi keseluruhan pengukuran dan respon pada MMI-

Server, MMI-Client dan Potensiometer Motor Servo DC. Adapun data lengkap dapat

dilihat pada tabel 4.1 berikut.

Posisi Posisi Posisi PosisiHitunga

nTegangan

InputReques

tRespo

nRespo

n Respon Desimal ADC

Client Server ClientPotensiomet

er (volt)0         5 5 5 5 2 0.0347

10 10 10 10 4 0.078215 15 15 15 8 0.153420 20 20 20 12 0.223725 24 24 24 15 0.293930 29 29 29 19 0.372735 35 35 35 23 0.4440 40 40 40 27 0.51245 44 44 44 30 0.58750 50 50 50 34 0.65455 55 55 55 38 0.72360 59 59 59 41 0.79665 65 65 65 45 0.86770 69 69 69 48 0.93275 75 75 75 52 1.00780 80 80 80 56 1.07785 84 84 84 59 1.14190 90 90 90 63 1.2195 95 95 95 67 1.284

100 100 100 100 70 1.35

105 105 105 105 73 1.414110 110 110 110 77 1.486115 114 114 114 80 1.554120 120 120 120 84 1.62125 124 124 124 87 1.686130 130 130 130 91 1.754135 134 134 134 94 1.82140 140 140 140 98 1.889145 145 145 145 101 1.955150 150 150 150 105 2.025155 155 155 155 108 2.089160 160 160 160 112 2.155165 165 165 165 115 2.224170 170 170 170 119 2.294175 175 175 175 122 2.361180 180 180 180 126 2.427185 185 185 185 129 2.493190 190 190 190 132 2.56195 195 195 195 136 2.63200 200 200 200 139 2.694205 205 205 205 142 2.761210 210 210 210 146 2.829215 215 215 215 150 2.897220 220 220 220 153 2.961225 225 225 225 156 3.027230 230 230 230 160 3.1235 235 235 235 164 3.17240 240 240 240 167 3.241245 245 245 245 171 3.31250 249 249 249 174 3.376

Page 73: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

255 255 255 255 178 3.44260 260 260 260 181 3.51265 264 264 264 184 3.576270 269 269 269 188 3.644275 275 275 275 192 3.712280 279 279 279 195 3.785285 285 285 285 199 3.855290 289 289 289 202 3.922295 295 295 295 206 3.995300 300 300 300 210 4.06305 305 305 305 213 4.13310 310 310 310 217 4.21315 314 314 314 220 4.28320 320 320 320 224 4.35325 325 325 325 228 4.42330 330 330 330 232 4.49335 334 334 334 235 4.56340 339 339 339 239 4.64345 345 345 345 243 4.71350 350 350 350 247 4.78355 355 355 355 251 4.86360 356 356 356 252 4.88

Tabel 4.1. Data Hasil

Berdasarkan table 4.1. dapat dilihat pada gambar grafik berikut:

0 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320 340 3600

60

120

180

240

300

360Request Client terhadap Potensiometer dan Respon

Client

Request Client (derajat)

Potensiometer dan Respon Client ( ᵒ)

Gambar 4.1 Request Client terhadap Posisi Potensiometer dan Request Client

Page 74: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

Adapun error yang terjadi antara request client terhadap respon client adalah

mendekati 0%, dengan rumus sebagai berikut:

Error ( %)=[Posisi ResponClient (derajat )−Posisi RequestClient (derajat )

360derajat] x100 %

Berdasarkan table 2 pada posisi 360 derajat, maka:

Error ( %)=[ 365−360360 ] x100 %

Error ( %)=1%

PercobaanPosisi motor

(ᵒ)Setting posisi

motor (ᵒ)Arah putaran

motorError

1 180 200

CWPutaran motor

cepat kemudian lambat pS>15

0

2 200 50

CCWPutaran motor

cepat kemudian lambat pS>15

0

3 50 340

CCWPutaran motor

cepat kemudian lambat pS>15

0.2777

4 340 30

CWPutaran motor

cepat kemudian lambat pS>15

0.2777

Tabel 4.2. percobaan control posisi dan arah putaran motor

Dari tabel 4.2. di atas dapat terlihat :

1. Pada saat posisi motor 180ᵒ berputar menuju ke posisi 200ᵒ arah putaran motor

CW dengan kecepatan putaran berubah menjadi lambat ketika pS>15.

2. Pada saat posisi motor 200ᵒ berputar menuju ke posisi 50ᵒ arah putaran motor

CCW dengan kecepatan putaran berubah menjadi lambat ketika pS>15.

Page 75: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

3. Pada saat posisi motor 50ᵒ berputar menuju ke posisi 340ᵒ arah putaran motor

CCW dengan kecepatan putaran berubah menjadi lambat ketika pS>15.

4. Pada saat posisi motor 340ᵒ berputar menuju ke posisi 30ᵒ arah putaran motor

CW dengan kecepatan putaran berubah menjadi lambat ketika pS>15.

V. KESIMPULAN DAN SARAN

Page 76: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

V.1 Kesimpulan

1. Program MMI Client-Server dapat menjalankan dan menentukan posisi

motor servo DC sesuai setting posisi yang diinginkan.

2. Ketika diberi gangguan pada posisi motor servo DC maka sensor posisi

mengirim data ke server dan server mengirim data ke mikrokontroler

untuk mengembalikan posisi sesuai kondisi yang terakhir tanpa

mengatur setting posisi pada client.

3. Hasil pengukuran pada input dan output pada H-Bridge 5A

menunjukkan adanya perubahan tegangan yang linear atau relatif

konstan dengan perubahan sudut posisi motor

4. Nilai yang didapatkan dari hasil pengukuran tidak selalu presisi maka

dibuatkan database untuk menyimpan nilai derajat dan desimalnya

sehingga diperoleh rata-rata error antara request client dan respon

yang diterima client mendekati 0%.

V.2 Saran

Untuk mendapatkan posisi motor secara akurat maka ADC yang

digunakan harus diatas 8 bit sehingga posisi motor servo DC presisi.

Daftar Pustaka

Page 77: MMI Motor Servo DC Unhas 2011

Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC

1. ED Co.,Ltd. DC Servo Trainer (Instruction Manual)

2. Emsatech Education Division. 2002. Pelatihan Microcontroller MCS-51

PrograMMIng & Interfacing. Surabaya: Emsatech

3. Hasmini dkk, 2007, Penuntun Praktikum Sistem Kendali Digital, Unhas,

Makassar

4. NIIT, IT Education Division. 2002. JAVA, Student Handbook for Futurz

Program. India.

5. Ogata, Katsuhiko. 1998. Sistem Kontrol Automatik, Jilid 1. Jakarta:

Erlangga

6. Paulus A. Nalwan, 2003, Teknik Antar Muka dan Pemrograman, Elex

Media Computindo, Jakarta

7. Retna prasetyo, 2004, Interfacing Port Paralel & Port Serial Komputer

dengan VB, Yogyakarta

8. Rahmat Setyawan, 2006, Mikrokontroller MCS-51, Graha Ilmu,

Yogyakarta

9. Tim Lab Mikroprosessor, 2006, Pemrograman Mikrokontroller AT

89S51 deng an /C++ dan Assembler, Andi, Yogyakarta

10. User’s Manual One Chip 8 Bit Microprocessor Control Trainer,

SkLab

11. Users’s Manual Servo Motor System ED-4400