Laporan Praktikum Hasanuddin Sirait. Servo

download Laporan Praktikum Hasanuddin Sirait. Servo

of 79

description

Motor Servo

Transcript of Laporan Praktikum Hasanuddin Sirait. Servo

  • BAB I

    P E N D A H U L U A N

    1.1 Pendahuluan

    Man-Machine Interface (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.

    1.2 Tujuan

    o Mengetahui cara kerja Servo Motor DC type ED-4400 serta dapat

    merangkainya membentuk sistem pengontrolan kecepatan motor loop

    tertutup.

    PROSES INDUSTRI (INDUSTRIAL PROCESSES)

    Pengendalian (Control)

    Pemantauan (Monitoring and Data

    Acquisition)

    MMI

  • Tugas MicroControl MMI Server

    1

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    o Mengetahui cara kerja modul mikroprosesor trainer SK-8051 dan dapat

    menggunakannya sebagai antarmuka dengan PC dalam sistem

    pengontrolan kecepatan motor

    o Mengetahui aplikasi bahasa pemrograman Borland Delphi dalam

    penggunaannya sebagai software MMI

    o Mampu membuat aplikasi PC Client-Server dengan software MMI untuk

    pengontrolan kecepatan motor.

    o Mampu membuat sistem pengendalian MMI Motor Servo DC

    1.3 Batasan masalah

    o Pengontrolan yang dilakukan dalam praktikum ini hanya pada

    pengontrolan kecepatan motor bukan pengontrolan posisi motor

  • Tugas MicroControl MMI Server

    2

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    BAB II

    TINJAUAN PUSTAKA

    2.1 Mikroprosesor Trainer SK-8051

    Dalam perencanaan suatu sistem rangkaian elektronik, langkah teknis yang

    dilakukan pertama dalah menggambarkan seluruh sistem dalam blok diagram.

    Dari blok diagram, dapat diketahui bagaimana prinsip kerja umum dan hubungan

    antara sub blok yang satu dengan yang lain dalam bentuk sistem kerja yang

    terpadu. Blok diagram merupakan media penerjemahan pertama tentang

    bagaimana mempelajari kelakuan sistem.

    Rangkaian kontrol elektronik dengan memberikan penekanan pada kata

    kontrol mempunyai arti yang lebih aplikatif, bahwa rangkaian itu digunakan

    sebagai alat untuk sistem pengontrol. Fenomena sistem control dalam pengertian

    keteknikan bermakna statu sistem yang mempunyai piranti penerima data-data

    dari sistem yang dikontrol, sedangkan piranti output berfungsi sebagai pemberi

    aksi lepada sistem yang dikontrol.

    Sebuah mikrokomputer dalah sebuah perangkat yang sangat kompleks dan

    serba guna. Dimana sistem yang digunakan dalah sebuah mikroprosesor sebagai

    eemen utama yang mempunyai kemampuan sebagai CPU (Central Processing

    Unit).

    Mikroprosesor bersifat dapat diprogram (Programable) sehingga dapat

    menggunakan perangkat keras (hardware) yang sama atau hampir sama dapat

  • Tugas MicroControl MMI Server

    3

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    diperoleh dan dibuat beberapa fungsi yang berbeda hanya dengan mengganti atau

    merubah programnya.

    SK-8051 merupakan suatu modul yang dapat digunakan untuk mempelajari

    sistem mikroprosesor yang dilengkapi dengan beberapa peripheral tambahan.

    Bagian-bagian dari modul SK-8051 adalah :

    1. LCD dengan 16 character x 2 baris 2. Eksternal ROM-32KByte, eksternal RAM-32KByte

    3. Keypad model Built-in dan program monitor serial RS-232C 4. Program dapat dieksekusi pada eksternal RAM 5. PPI 8255 6. 3 Warna dot matriks 7. Speaker interface 8. 8 Channel Analog/Digital Converter

    9. 12 Volt DC, 1A bipolar untuk mengerakkan motor 10. 8 bit FND set yang mengindikasikan 16 antilogaritma 11. 16 bit counter/timer 8253 12. Pin-pin chek counter timer dan A/D Converter 13. Fungsi satu langkah internal/eksternal memory dump, modifikasi data 14. AT89C51 12 V. Programming/Blank Chek 15. Terminal percobaal eksternal untuk P1 dan led display 16. 8 bit Port input inverted buffer, tombol tekan 8 buah 17. 8 bit port output : inverted match 8 buah 18. Select Pin (eks/in) untuk mengantikan fungsi fungsi int/eks ROM 19. Select Pin (ROM/RAM) 20. Ground 21. Power Supl : 110~220V AC input DC 12V/ +5V

  • Tugas MicroControl MMI Server

    4

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    Gambar 2.1 Tata letak komponen dalam modul SK-8051

    Tabel 2.1 Peta alamat SK-8051

    ALAMAT DESKRIPSI KETERANGAN 0000 7FFF 8000 FEFF FF00 FFFF

    ROM RAM I/O

    PROGRAM MEMORY PROGRAM MEMORY + DATA MEMORY I/O

    Tabel 2.2 Peta alamat I/O SK-8051

    ALAMAT DEFENISI KETERANGAN FF00 FF01

    LCD_CMD LCD_DATA LCD

    FF10 KEYPAD INPUT BUFFER 8 BIT UNTUK KEYPAD FF20 FF21 FF22 FF23

    EXT_A EXT_B EXT_C

    EXT_CMD 8255 UNTUK EKSTERNAL

    FF24 DAC OUTPUT LATCH 8 BIT UNTUK D/A CONVERTER FF28 BUTTON INPUT BUFFER PEMBALIK 8 BIT FF2C FND INPUT LATCH 8 BIT UNTUK FND

  • Tugas MicroControl MMI Server

    5

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    FF30 FF31 FF32 FF33

    DOT_A DOT_B DOT_C

    DOT_CMD

    8255 UNTUK DOT MATRIKS

    FF34 FF35 FF36 FF37

    WR_A WR_B WR_C

    WR_CMD

    AT89C51 PROGRAMMER 8255

    FF38 L538 INPUT LATCH PEMBALIK 8 BIT UNTUK LED

    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 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

  • Tugas MicroControl MMI Server

    6

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    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

    ADD (Add Memori) Operand A Accumulator Alamat data 0

  • Tugas MicroControl MMI Server

    7

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    ADDC (Add Carry Plus Memory To Accumulator) Operand A Accumulator Alamat data 0

  • Tugas MicroControl MMI Server

    8

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    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

  • Tugas MicroControl MMI Server

    9

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    CALL (Generic Call) Operand Alamat kode Format Call alamat kode Keterangan instruksi ini akan ditranslasikan ke ACALL atau LCALL

    CJNE (Compare Indirect Address to Immediate Data) Jump if Nol Equal Operand Rr Register 0

  • Tugas MicroControl MMI Server

    10

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    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

  • Tugas MicroControl MMI Server

    11

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    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

  • Tugas MicroControl MMI Server

    12

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    DEC (Decrement Memory) Operand Alamat data 0

  • Tugas MicroControl MMI Server

    13

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    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

    INC (Increnent Register) Operand Rr Register 0

  • Tugas MicroControl MMI Server

    14

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    JBC (Jump And Clear if Bit is Set) Operand Alamat bit 0

  • Tugas MicroControl MMI Server

    15

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    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.

    LCALL (Long Call) Operand Alamat kode 0

  • Tugas MicroControl MMI Server

    16

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    MOV (Move Immediate Data to Indirect Address) Operand Rr Register 0

  • Tugas MicroControl MMI Server

    17

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    MOV (Move Register to Accumulator) Operand A Akkumulator Rr Register 0

  • Tugas MicroControl MMI Server

    18

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    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 Operasi ((DPTR))

  • Tugas MicroControl MMI Server

    19

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    Contoh MOVX A, @DPTR

    MOVX (Move External Memory Addressed by Register to Accumulator) Operand A Akumulator Rr Register 0

  • Tugas MicroControl MMI Server

    20

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    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

  • Tugas MicroControl MMI Server

    21

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    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

  • Tugas MicroControl MMI Server

    22

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    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

    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)

  • Tugas MicroControl MMI Server

    23

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    Contoh SETB 41.5

    SUBB (Subtract Indirect Address from Accumulator with Borrow) Operand A Akumulator Rr Register 0

  • Tugas MicroControl MMI Server

    24

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    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

  • Tugas MicroControl MMI Server

    25

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    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

    XRL (Logical XOR Immediate rata to Accumulator) Operand A Akumulator data -256

  • Tugas MicroControl MMI Server

    26

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    Gambar 2.2. Konfigurasi Penyemat AT89C51

    Port 1 merupakan port I/O yang dapat digunakan per bit. Port 3 merupakan

    port kontrol sinyal yang memiliki konfigurasi sebagai berikut :

    Tabel 2.3 Konfigurasi Port AT89C51 Port Signal Fungsi P3.0 RXD Receive data for serial port P3.1 TXD Transmit data for serial port P3.2 INT0 External interrupt 0 P3.3 INT1 External interrupt 1 P3.4 T0 Timer/ Counter 0 external input P3.5 T1 Timer/ Counter 1 external input P3.6 WR External data memori write strobe P3.7 RD External data memori read strobe

    Organisasi memori

    Memori pada mikrokontroller keluarga MCS-51 dibagi menjadi dua bagian,

    yaitu : program memori dan data memori. Pada program memori dan data memori

    terpisah secara logika, dengan membedakan sinyal yang mengaktifkannya. Untuk

    mengakses program memori digunakan sinyal PSEN, sedangkan untuk data

    memori digunakan sinyal RD dan WR. Hal ini menyebabkan processsor keluarga

  • Tugas MicroControl MMI Server

    27

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    MCS-51 mampu mengakses 64 Kbyte eksternal program memori dan eksternal

    data memori.

    1. Program memori.

    Mikrokontroler AT89C51 mempunyai 4 Kbyte internal program memori.

    Untuk memakai internal program memori, maka pin EA harus diberi level

    logic high, untuk mengakses eksternal program memori maka bit EA diberi

    logic low.

    2. Data memori

    Mikrokontroler AT89C51 mempunyai dua bagian data memori yaitu internal

    data memori dan eksternal data memori. Eksternal data mempunyai fungsi

    yang hampir sama dengan program memori, namun pada eksternal memori

    dapat dilakukan proses pembacaan dan penulisan data.

    Secara umum mikrokontroler keluarga MCS-51 membagi internal data

    memori menjadi tiga blok, yaitu:

    - Lower 128 byte RAM

    - Upper 128 byte RAM

    - Special Function Register (SFK)

    Tetapi pada mikrokontroler 8031/ 8051/ 8751 upper 128 byte RAM tidak

    tersedia, daerah memori tersebut hanya ada pada mikrokontroler 8052.

    2.1.2 ADC (Analog to Digital Converter)

    Analog to Digital Converter (ADC) adalah sebuah piranti elektronik yang

    banyak digunakan oleh perangkat-perangkat digital berupa komputer dan

    mikroprosesor Kebutuhan akan ADC saat ini sangat penting karena untuk

  • Tugas MicroControl MMI Server

    28

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    mengolah isyarat analog oleh perangkat digital tidak akan bisa diproses. Jadi ADC

    menjadi jembatan antara perangkat analog dan perangkat digital. Setelah data

    diproses oleh komputer atau perangkat digital yang lain, data digital yang

    dihasilkan dapat diubah menjadi data analog kembali dengan menggunakan

    perangkat Digital to Analog Converter.

    Contoh ADC 8 bit yang mampu menerima 8 input dan banyak digunakan

    ialah ADC 0808. ADC ini mampu diprogram umtuk memulai konversi melalui

    pin SC (Start Conversion), mampu juga berjalan dengan mode free running,

    artinya akan mengkonversi terus menerus sinyal input yang masuk dengan cara

    menghubungkan pin EOC (End of Conversion) ke SC. Gambar 2.3 adalah

    diagram penyemat ADC 0808

    Gambar 2.3. Dagram penyemat ADC 0808

    IC ADC 0808 merupakan IC yang terdiri dari 28 buah pin. Multiplekser

    yang terdiri dari 8 saluran dapat mengakses secara langsung beberapa dari 8 sinyal

    analog. Masing-masing pin mempunyai fungsi yang berbeda-beda. Dari

    In3 In4 In5 In6 SC

    EOC D3 OE

    Clock Vcc

    Vref (+) Gnd

    D1

    In2 In1 In0 ADD A ADD B ADD C ALE D7 D6 D5 D4 D0 D2

    A D C

    0 8 0 9

  • Tugas MicroControl MMI Server

    29

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    perbedaan ini ada beberapa pin yang termasuk dalam kategori yang sama.

    Misalnya, untuk data hasil pengubahan terdiri dari 8, pemilihan alamat saluran

    terdiri dari 3 pin dalam kategori yang sama.

    Tabel 2.4 Deskripsi pin-pin ADC 0808

    No pin Simbol I/O Deskripsi 1-5

    26-28 In7 In3 In0 In2

    I I

    Input analog pin, salah satu dari pin dapat dipilih, tergantung pada pengaturan data pin ADD A, ADD B ADD C.

    21-18 17 14 8

    15

    D7 D4 D0 D1 D3 D2

    O O O O O

    Pin output ini adalah hasil dari pengubahan. Hasilnya adalah 8 bit data paralel.

    10 Clock I Masukan detak 23 24 25

    ADD A ADD B ADD C

    I I I

    Pin input untuk pemilihan saluran masukan analog.

    6 Star Conversion I Pin untuk memulai konversi 22 ALE I Address Latch Enable, penguncian alamat 7 EOC I Pin untuk sinyal akhir conversi 9 OE I Output Enable, agar output dapat dibaca

    12 Vref(+) - Tegangan referensi + 16 Vref(-) - Tegangan referensi - 11 VCC - Pin catu daya 13 GND - Pin ground

    Karena input ADC 0808 sebanyak 8 buah ter-multipleks, maka untuk

    memilih kanal input diatur melalui pin-pin ADD A, ADD B, dan ADD C. Tabel

    2.5 berikut adalah tabel pemilihan kanal input ADC 0808

    Tabel 2.5 Pemilihan kanal input ADC 0808

    Kanal Input ADD A ADD B ADD C 0 1 2 3 4

    L L L L H

    L L H H L

    L H L H L

  • Tugas MicroControl MMI Server

    30

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    5 6 7

    H H H

    L H H

    H L H

    2.2 Digital To Analog Converter

    Digital to Analog Converter adalah piranti elektronik yang berfungsi untuk

    mengkonversi data digital menjadi data analog. Salah satu jenis DAC yang umum

    adalah DAC 0808, yaitu merupakan digital to analog converter R-2R 8 bit yang

    dilengkapi dengan sumber arus acuan dan 8 buah transistor saklar untuk

    mengarahkan arus biner yang lazim berlaku yaitu 2mA. DAC0808 menpunyai

    waktu pemantapan 150 nS dan ketelitian relatif LSB. Gambar 2.4 seperti

    yang ditunjukkan di bawah ini adalah konfigurasi penyemat dari DAC 0808.

    Gambar 2.4 Konfigurasi penyemat dari DAC 0808.

    Penyemat 1 tidak dipakai (NC, No Connection) Penyemat 2 adalah saluran

    ground. Penyemat 3 (Vee) harus dipasang pada catu tegangan -15V. Penyemat 4

    adalah saluran balik dari tanah (ground return) bagi arus yang keluar dari

    rangkaian tangga, penyemat ini biasa dihubungkan dengan sebuah Operational

    Amplifier (Op-Amp). Penyemat 5 sampai 12 merupakan saluran bagi 8 bit data

    masukan. Penyemat 13 harus dipasang pada catu tegangan +5V. Penyemat 14

    dihubungkan dengan catu tegangan positif melalui sebuah hambatan R14, dan

    1 16 2 15 3 14 4 13 5 12 6 11 7 10 8 9

    NC kompensasi Gnd V reff- Vee Vreff+ Iout Vcc D7 D0 D6 D1 D5 D2 D4 D3

    DAC 0 8 0 8

  • Tugas MicroControl MMI Server

    31

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    penyemat 15 ditanahkan melalui subuah hambatan. Antara penyemat 16 dan

    penyemat 13 dipasang sebuah kapasitor yang berfungsi untuk memberi

    kompensasi frekuensi bagi piranti ini.

    2.3 Pemrograman Port Serial

    2.3.1 Tata Cara Komunikasi Data Serial

    Dalam komunikasi data secara serial dikenal dua cara yaitu asinkron dan

    sinkron. Pada komunikasi data serial sinkron clock dikirimkan bersama-sama

    dengan data serial, sedangkan komunikasi data serial asinkron clock tidak

    dikirimkan bersama data serial tapi dibangkitkan secara sendiri-sendiri baik pada

    sisi pengirim (transmitter) maupun pada sisi penerima (receiver). Pada IBM-PC

    compatible port serialnya termasuk jenis asinkron. Komunikasi data serial ini

    dikerjakan oleh UART (Universal Asinkron Receiver/Transmiiter). IC UART

    dibuat khusus untuk mangubah data paralel menjadi data serial dan menerima data

    serial yang kemudian diubah kembali menjadi data paralel. IC UART 8250 dari

    intel merupakan salah satunya. Selain berbentuk IC mandiri, berbagai macam

    mikrokontroller ada yang dilengkapi UART, misalnya keluarga mikrokontroller

    MCS51.

    Pada UART, kecepatan pengiriman data (baud rate) dan fase clock pada sisi

    transmitter dan sisi receiver harus sinkron. Untuk itu diperlukan sinkronisasi

    antara transmitter dan receiver. Hal ini dilakukan oleh bit start dan bit stop.

    Ketika saluran transmisi dalam keadaan idle, output UART dalam keadaan logika

    1. Ketika transmitter ingin mengirim data, output UART diset lebih ke logika 0

    untuk waktu satu bit. Sinyal ini pada receiver dikenali sebagai sebagai sinyal

  • Tugas MicroControl MMI Server

    32

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    start yang digunakan untuk mensinkronkan fase clocknya sehingga sinkron

    dengan fase clock transmitter. Selanjutnya data akan dikirimkan secara serial dari

    bit paling rendah sampai bit tertinggi. Selanjutnya, akan dikirim sinyal stop

    sebagai akhir dari pengiriman data serial. Cara pemberian kode data yang

    disalurkan tidak ditetapkan secara pasti. Gambar 2.5 berikut ini adalah contoh

    pengiriman huruf A dalam format ASCII (41 heksa / 1000001 biner) tanpa bit

    paritas.

    Gambar 2.5. Pengiriman huruf A tanpa paritas

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

    tertentu. Baud rate yang umum dipakai hdala 110, 135, 150, 300, 600, 1200,

    2400, dan 9600 (bit/detik). Dalam komunikasi data serial, baud rate dari kedua

    alat yang berhubungan harus diatur pada kecepatan yang sama. Selanjutnya harus

    ditentukan panjang data, paritas (genap, ganjil, atau tanpa paritas), dan jumlah bit

    stop (1,1, atau 2 bit).

    2.3.2 Karakteristik Sinyal Port Serial

    Standar sinyal komunikasi serial yang banyak digunakan hdala estndar

    RS232 yang dikembangkan oleh Electronic Industry Association and the

    Telecommunications Industry Association (EIA/TIA) yang pertama kali

    dipublikasikan pada tahun 1962. Ini jauh sebelum IC TTL populer sehingga sinyal

    ini tidak ada hubungannya sama sekali dengan dengan level tegangan IC TTL.

    5V

    0 V START STOP

  • Tugas MicroControl MMI Server

    33

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    Estndar ini hanya menyangkut komunikasi data antara komputer (Data Terminal

    Equipment DTE) dengan alat-alat pelengkap komputer (Data Circuit-

    Terminating Equipment-DCE). Estndar RS232 inilah yang biasa digunakan pada

    port serial IBM-PC kompatibel.

    Stndar sinyal serial RS232 memiliki ketentuan level tegangan sebagai

    berikut :

    1. Logika 1 disebut Mark terletak antara -3 Volt hingga -25 Volt.

    2. Logika 0 disebut space terletak antara +3 Volt hingg +25 Volt.

    3. Daerah tegangan antara -3 Volthingga +3 Volt adalah invalid level, yaitu

    daerah tegangan yang tidak memiliki level logika pasti sehingga harus

    dihindari. Demikian juga, level tegangan lebih negatif dari -25 Volt atau lebih

    positif dari +25 Volt juga harus dihindari karena tegangan tersebut dapat

    merusak line driver pada saluran RS232.

    Gambar 2.6 berikut ini dalah contoh level tegangan RS232 pada

    pengiriman huruf A dalam format ASCII tanpa bit paritas.

    Gambar 2.6. Level tegangan RS232 pada pengiriman huruf A tanpa bit paritas

    2.3.3 Flow Control

    Jika kecepatan tranfer data dari DTE ke DCE (misalnya komputer ke

    modem) lebih cepat daripada transfer data dari DCE ke DCE (misalnya modem ke

    +25V

    0 V

    -25V START

    1 0 0 0 0 0 1 0 STOP

  • Tugas MicroControl MMI Server

    34

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    modem), cepat atau lambat kelilangan data akan terjadi karena buffer pada DCE

    akan mengalami over flor. Untuk itu diperlukan flor control untuk mengatasi hal

    tersebut.

    Dikenal dua macam flow control, yaitu secara software dan secara hardware.

    Flow control secara software atau sering disebut Xon/Xoff flor control

    menggunakan karkter Xon (tipikalnya karkter ASCII 17) dan karkter Xoff

    (tipikalnya karkter ASCII 19) untuk melakukan kontrol. DCE akan mengirimkan

    Xoff ke komputer untuk memberitahukan komputer agar menghentikan

    pengiriman data jira buffer pada DCE telah penuh. Jika buffer telah kembali siap

    menerima data, DCE akan mengirimkan karkter Xon ke komputer dan komputer

    akan mengirimkan data selanjutnya sampai data terkirim semua atau komputer

    menerima carcter Xoff lagi. Keuntungan flow control secara software ini dalah

    hanya diperlukan kabel sedikit karena carcter control dikirimkan lewat saluran

    Tx/Rx. Akan tetapi kecepatan pengiriman data menjadi lambat.

    Flow control secara hardware atau sering disebut RTS/CTS flow control

    menggunakan dua kabel untuk melakukan pengontrolan. Komputer akan menset

    saluran Request To Send jikan akan mengirimkan data ke DCE. Jika buffer di

    DCE siap menerima data, maka DCE akan membalas dengan menset saluran

    Clear To Send dan komputer akan mulai mengirimkan data. Jika buffer telah

    penuh, maka saluran akan direset dan komputer akan menghentikan pengiriman

    data sampai saluran ini diset kembali.

  • Tugas MicroControl MMI Server

    35

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    2.3.4 Konfigurasi Port Serial

    Gambar 2.7 adalah gambar konektor port serial DB9 pada bagian belakang

    CPU dan tabel 2.6 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.

    Gambar 2.7. Konektor serial DB9

    Tabel 2.6. Konfigurasi pin dan nama sinyal konektor serial DB9

    Nomor Pin

    Nama Sinyal Direction Keterangan

    1 2 3 4 5 6 7 8 9

    DCD RxD TxD DTR GND DSR RST CTS RI

    in in

    out out -

    in out in in

    Data Carrier Detect/Received Line Signal Detect Receive Data Transmit Data Data Terminal Ready Ground Data Set Ready Request To Send Clear To Send Ring Indicador

    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.

  • Tugas MicroControl MMI Server

    36

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    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.

  • Tugas MicroControl MMI Server

    37

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    Tabel 2.7 Nama register dan alamatnya

    Nama Register COM1 COM2 TX Buffer RX Buffer Baud Rate Divisor Match LSB Baud Rate Divisor Match MSB Interrupt Enable Register Interrupt Identification Register Line Control Register Modem Control Register Line Status Register Modem Status Register

    3F8h 3F8h 3F8h 3F9h 3F9h 3FAh 3FBh 3FCh 3FDh 3FEh

    2F8h 2F8h 2F8h 2F9h 2F9h 2FAh 2FBh 2FCh 2FDh 2FEh

    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

    dalah empat byte yang dapat dipilih dari 0001h sampai FFFFh. Tabel 2.8

    berikut ini dalah tabel angka pembagi clock pada IC UART.

    Tabel 2.8 Angka pembagi clock pada IC UART

    Baud Rate (bit/detik) Angka Pembagi 300 600 1200 1800 2400 4800 9600

    0180h 0C00h 0060h 0040h 0030h 0018h 000Ch

  • Tugas MicroControl MMI Server

    38

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    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.

    Tabel 2.9. Rincian bit pada Interrupt Enabled Register.

    Nomor bit Keterangan 0 1 2

    3

    4,5,6, dan 7

    1 : Interupsi akan diaktifkan jika menerima data 1 : Interupsi akan diaktifkan jika register Tx kosong 1 : Interupsi akan diaktifkan jika ada perubahan keadaan pada Line Status Register 1 : Interupsi akan diaktifkan jika ada perubahan keadaan pada Modem Status Register Diisi 0

    6. Interrupt Identification Register, digunakan untuk menentukan urutan

    prioritas interupsi. Tabel 2.10 berikut ini dalah rincian bit Interrupt

    Identification Register.

    Tabel 2.10 Rincian bit Interrupt Identification Register.

    Nomor bit Keterangan

    0 0 : Interupsi menunggu 1 : No interrupt pending

    1 dan 2 00 : Prioritas tertinggi oleh Line Status Register 01 : Prioritas tertinggi oleh register Rx jika menerima data 10 : Prioritas tertinggi oleh register Tx telah kosong 11 : Prioritas tertinggi oleh Modem Status Register

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

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

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

  • Tugas MicroControl MMI Server

    39

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    dapat diubah atau tidak. Tabel 2.11 berikut ini dalah tabel rincian bit pada

    Line Control Register.

    Tabel 2.11 Rincian bit pada Line Control Register.

    Nomor bit Keterangan

    0 dan 1

    Jumlah bit data 00 : Jumlah bit data dalah 5 01 : Jumlah bit data dalah 6 10 : Jumlah bit data dalah 7 11 : Jumlah bit data dalah 8

    2

    Bit Stop 0 : Jumlah bit stop adalah 1 1 : Jumlah bit stop adala 1,5 untuk 5 bit data dan 2 untuk 6

    hingga 8 bit data

    3 Bit Parity 0 : Tanpa Parity 1 : Dengan Parity

    4 0 : Parity ganjil 1 : Parity genap 5 1 : Bit Parity ikut dikirimkan (stick parity) 6 0 : Set break control tidak diaktifkan 1 : Set break control diaktifkan

    7 0 : Baud rate divisor tidak dapat diakses 1 : Baud rate divisor dapat diakses

    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.

    Tabel 2.12 Rincian bit pada Modem Control Register

    Nomor bit Keterangan

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

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

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

  • Tugas MicroControl MMI Server

    40

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

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

    4 0 : Loop back internal diaktifkan 1 : Loop back internal tidak diaktifkan 5, 6, 7 Diisi 0

    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.

    Tabel 2.13 Rincian bit Line Status Register.

    Nomor bit Keterangan 0 1 2 3 4 5 6 7

    1 : Menyatakan adanya data yang masuk pada buffer Rx 1 : Data yang masuk mengalami overrun 1 : Terjadi kesalahan pada bit parity 1 : Terjadi kesalahan framing 1 : Terjadi Break Interupsi 1 : Menyatakan Rx telah kosong 1 : Menyatakan bahwa Trasmitter Shift Register telah kosong Diisi 0

    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.

    Tabel 2.14 Rincian bit Modem Status Register.

    Nomor bit Keterangan

    0 1 : Menyatakan adanya perubahan keadaan di saluran Clear To Send.

    1 1 : Menyatakan adanya perubahan keadaan di saluran Data Set Ready

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

    4 1 : Menyatakan saluran Clear To Send (CTS) sudah dalam keadaan aktif 5 1 : Menyatakan saluran Data Set Ready (DSR) sudah dalam keadaan aktif 6 1 : Menyatakan bahwa saluran Ring Indicator sudah dalam

  • Tugas MicroControl MMI Server

    41

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    keadaan aktif

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

    2.3.5 Alasan Penggunaan Port Serial

    Dibandingkan dengan menggunakan port paralel, penggunaan port serial

    terkesan lebih rumit. Berikut ini keuntungan-keuntungan penggunaan port serial

    dibandingkan dengan port paralel :

    1. Pada komunikasi dengan kabel yang panjang, masalah cable loss tidak

    akan menjadi masalah besar dari pada kabel paralel. Port serial

    mentransmisikan 1 pada level tegangan -3V sampai -25V dan 0 pada

    level tegangan +3V sampai dengan +25V, sedangkan port paralel

    mentransmisikan 0 pada level tegangan 0V dan 1 pada level tegangan

    +5V.

    2. Dibutuhkan jumlah kabel yang lebih sedikit, bisa hanya menggunakan tiga

    kabel, yaitu saluran Transmit Data, saluran Receive Data, dan saluran

    Ground (konfigurasi Null Modem).

    3. Saat ini penggunaan mikrokontroller semakin populer. Kebanyakan

    mikrokontroller sudah dilengkapi dengan SCI (Serial Communication

    Interface) yang sudah digunakan untuk komunikasi dengan port serial

    komputer.

    2.3.6 Pengaksesan Port Serial Pada Borland Delphi

    Borland Delphi menyediakan komponen khusus untuk mengakses port serial

    komputer yaitu komponen TComport. TComport menyediakan fasilitas-fasilitas

  • Tugas MicroControl MMI Server

    42

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    untuk mengirim dan menerima data melalui port serial. Properti-properti

    komponen TComport 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.3.7 Borland Delphi

    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.3.8 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.

  • Tugas MicroControl MMI Server

    43

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    Gambar 2.8. Lembar kerja Borland Delphi

    2.3.9 Mengenal IDE Delphi

    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-

  • Tugas MicroControl MMI Server

    44

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    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.

    Gambar 2.9 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.

  • Tugas MicroControl MMI Server

    45

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    Gambar 2.10 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

    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.11 Lembar kerja Code Editor

  • Tugas MicroControl MMI Server

    46

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    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.12 Lembar kerja Object Inspector

    Code Explorer

    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

  • Tugas MicroControl MMI Server

    47

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    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.

    2.4 Operational Amplifier

    Operasional Amplifier (Op-Amp) adalah piranti elektronik yang bisa

    digunakan sebagai penguat arus ataupun penguat tegangan dengan sedikit

    tambahan komponen ekstern.

    2.4.1 Penguat Non Inverting

    Penguat Non Inverting mempunyai isyarat keluaran yang tidak terbalik dari

    masukannya. Gambar 2.13 berikut dalah konfigurasi dasar dari penguat Non

    Inverting.

    Gambar 2.13 Konfigurasi dasar Penguat Non Inverting

    Besarnya Vout ditentukan oleh componen ekstenal R1 dan R2 dengan persamaan :

    xVinRRVout

    +=

    211

    2.4.2 Penguat Inverting

    Penguat Inverting mempunyai isyarat keluaran yang terbalik dari

    masukannya. Gambar 2.14 berikut dalah konfigurasi dasar dari penguat

    Inverting.

    R1 R2

    VoVin +

    -

  • Tugas MicroControl MMI Server

    48

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    Gambar 2.14 Konfigurasi dasar Penguat Non Inverting

    Besarnya Vout ditentukan oleh componen ekstenal R1 dan R2 dengan persamaan :

    xVinRRVout

    21

    =

    2.4.3 Penguat Penjumlah

    Penguat Penjumlah dalah penguat yang mempunyai beberapa masukan dan

    satu keluaaran. Konfigurasi penguat penjumlah terlihat seperti pada gambar 2.15

    berikut.

    Gambar 2.15. Konfigurasi Dasar Penguat Penjumlah

    Besarnya Vout ditentukan oleh komponen ekstenal R1, R2, R3, ..Rn dengan

    persamaan :

    +++= xVn

    RnR

    xVRR

    xVRRVout 1..........2

    311

    21

    R1

    R2

    VoVin -

    +

    R1

    R2

    VoV1

    -

    +

    Vn

    R3

    Rn

    V2

  • Tugas MicroControl MMI Server

    49

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    2.5 Servo Motor DC

    Servo Motor DC type ED-4400 adalah servo system yang mempunyai

    berberapa modul. Tabel 2.15 dan Gambar 2.16 adalah tabel deskripsi fungsi dan

    gambar skema rangkaian dari tiap modul tersebut.

    Tabel 2.15. Deskripsi fungsi tiap modul ED-4400 servo system

    Modul Deskripsi U-151 U-152 U-153 U-154 U-155 U-156 U-157 U-158 U-159 U-161

    U-162 U-163

    Dual Attenuator (0, 9/10 ....1/10 attenuations) Summing Amplifier (gain : 0 dB, EXT, NET) Pre-amplifier (gain : 20 dB) Motor driver amplifier (10 watts) Tacho Amp Unit DC power suplly ( 15V 0.2 and motor power) Potensiometer (reference) (1K or 10K 5W) Potensiometer (Motor Coupling) (1K or 10K 5W) Tachometer (FS 4000 RPM) Servo motor :

    - Motor : 12V, 4.5W - Tacho Generator : Aprox 3Vp-p / 4000RPM

    Function Generator (0.1 1Hz, 1Hz-10Hz and Ramp output) Magnet Brake :

    - Air gap : 4mm, 10 step variable - Input Power : AC 220V, 50 60Hz

    Gambar 2.16. Modul Sistem Servo Motor ED-4400

    -15V COM +15V

    -+ -

    U-153

    -

    +

    -15V COM +15V

    U-154

    G - G

    +

    -15V COM +15V

    U-155

    T - O M - + P G

    U-159

    IN G ~ - +

    Tacho Motor GEAR

    U-161

    To Motor Drive Amp -15V COM +5V

    -O/L +O/L -O/L +O/L

    SERVO DC POWER SUPPLY

    - DC AMPERE + U-156 ON

    OFF

  • Tugas MicroControl MMI Server

    50

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    BAB III

    PERANCANGAN DAN ANALISIS

    Man-Machine Interface untuk Sistem Servo Motor DC terdiri dari dua

    bagian yaitu perangkat keras dan perangkat lunak. Perangkat kerasnya terdiri dari

    satu set sistem servo motor DC, Microprocessor Trainer SK-8051, rangkaian

    Digital to Analog Converter, rangkaian penyesuai level tegangan, dan beberapa

    PC yang berfungsi sebagai server MMI dan Client MMI sedangkan perangkat

    lunaknya yaitu software Microprocessor Trainer SK-8051, software server dan

    Client MMI yang dibuat dalam bahasa pemrograman Borland Delphi Enterprise

    Edition. Gambar 3.1 berikut ini adalah blok diagram Man-Machine Interface

    untuk Sistem Servo Motor DC.

    Gambar 3.1. Blok Diagram Man-Machine Interface untuk Sistem Servo Motor

    SISTEM SERVO MOTOR DC

    PENYESUAI LEVEL TEGANGAN

    PENYESUAI LEVEL TEGANGAN

    SERVER MMI (PC)

    CLIENT MMI (PC)

    CLIENT MMI (PC)

    Jaringan komputer

    RS232

    DIGITAL TO ANALOG

    CONVERTER

    MICROPROCESSOR TRAINER SK - 8051

  • Tugas MicroControl MMI Server

    51

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    Berikut ini penjelasan, rancangan, dan analisis dari masing-masing blok pada

    gambar 3.1 di atas.

    3.1 Perangkat Keras

    A. Modul Mikroprosesor Trainer SK-8051

    Modul Mikroprosesor Trainer SK-8051 adalah modul dengan 1 set

    rangkaian yang di dalamnya sudah terdapat beberapa komponen pendukung yang

    membentuk One Board Computer System Training Kit dengan MPU 8051

    system. Namun tidak semua komponen tersebut dipakai dalam praktikum MMI

    Server untuk Servo Motor DC ini. Komponen yang digunakan dalam Modul SK-

    8051 hanya Mikrocontroller AT89C51 dan ADC0808. ADC0808 digunakan

    untuk mengkonversi isyarat analog keluaran Servo Motor DC menjadi data digital

    yang selanjutnya oleh mikrocontroller 89C51 mengirimkan data tersebut ke

    komputer server. ADC0808 seperti dijelaskan pada bab 2 adalah ADC dengan 8

    kanal input termultipleks. Pada praktikum ini digunakan kanal 2 karena kanal

    lainnya telah digunakan untuk fungsi internal dalam modul SK-8051. Pada Modul

    SK-8051 terdapat keluaran 8 bit yang terhubung langsung dengan port1 (P1)

    mikrokontroller. Keluaran 8 bit ini digunakan untuk input DAC0808 yang dibuat

    khusus untuk mengendalikan servo motor DC dalam modul ED-4400 servo

    system. Untuk berkomunikasi dengan Komputer Server Modul SK-8051

    dilengkapi dengan fasilitas komunikasi serial RS232.

    B. Rangkaian Digital To Analog Converter

    Rangkaian Digital To Analog Converter berfungsi untuk mengkonversi data

    digital keluaran Mikrocontoller menjadi tegangan analog yang akan diinputkan ke

  • Tugas MicroControl MMI Server

    52

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    rangkaian servo motor DC. Dalam rancangan ini digunakan DAC0808. Gambar

    3.2 adalah gambar rangkaian DAC0808 sebagai berikut :

    Gambar 3.2. Gambar Rangkaian DAC 0808

    Dengan tegangan +15V dan hambatan 3Kohm pada penyemat 14,

    didapatkan arus referensi sebesar 5mA. Pada rangkaian OP-Amp 741 diberi

    hambatan 1Kohm, sehingga tegangan keluaran DAC sebesar +5V.

    Keluaran P1 dari mikrokontroller AT89C51 yang tersedia pada modul SK-

    8051 dihubungkan dengan masukan D0 D7 DAC 0808. Keluaran rangkaian

    DAC0808 pada gambar 3.2 di atas berlevel tegangan 0V sampai +5V. Sedangkan

    masukan servo motor menurut pengukuran yang telah dilakukan berlevel

    tegangan -1,1V sampai +1,1V untuk kecepatan 0 sampai 4000 rpm dengan

    polaritas negatif dan positif. Oleh karena itu, keluaran rangkaian DAC0808 tidak

    bisa dihubungkan secara langsung dengan masukan rangkaian servo motor DC.

    Untuk itu diperlukan rangkaian penggeser level dan penyesuai tegangan keluaran

    DAC0808.

    5 13 14 6 15 7 2 8 9 10 4 11 11 12 3

    DAC 0808

    Port P1 AT89C51 (SK-8051)

    +15V 3K

    1K 3K

    Vout (0V-+5V) -

    741

    + 1uF

    D7 D6 D5 D4 D3 D2 D1 D0

  • Tugas MicroControl MMI Server

    53

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    C. Rangkaian Penggeser Level dan Penyesuai Tegangan Keluaran DAC0808

    Rangkaian Penggeser Level dan Penyesuai Tegangan Keluaran DAC0808

    dibuat dengan menggunakan Op-Amp dengan memperhatikan kondisi keluaran

    DAC0808 dan masukan Rangkaian Servo Motor DC. Tugas utama rangkaian ini

    adalah menggeser setengah level tegangan positif dari 0V sampai +5V ke level

    tegangan negatif sekaligus menyesuaikan level tegangan tersebut agar masuk

    dalam range -1,1V sampai +1,1V yang diinginkan oleh masukan rangkaian servo

    motor DC. Untuk merealisasikannya dibuat grafik linier keluaran DAC (sebagai

    masukan rangkaian) dan masukan rangkaian servo motor DC (sebagai keluaran

    rangkaian) seperti gambar 3.3 berikut ini :

    Gambar 3.3. Grafik Masukan dan Keluaran Rangkaian Penggeser dan Penyesuai level Tegangan DAC0808

    Persamaan matematis dari grafik tersebut adalah :

    1,152,2

    = VinVout ................................. pers. 3.1

    Dari persamaan tersebut dibuat rangkaian dengan menggunakan Op-Amp

    seperti terlihat dalam gambar 3.4 berikut.

    +1,1V

    0V

    -1,1V

    +2,5 +5V

    Vout

    Vin

  • Tugas MicroControl MMI Server

    54

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    Gambar 3.4. Rangkaian Penggeser Level dan penyesuai Tegangan DAC0808

    Keluaran rangkaian tersebut membalik (inverting). Untuk mengembalikan

    ke kondisi semula, keluarannya diinputkan ke rangkaian inverting dengan

    penguatan 1, sehingga rangkaian lengkap penggeser level dan penyesuai tegangan

    keluaran DAC adalah seperti terlihat dalam gambar 3.5 berikut ini.

    Gambar 3.5. Rangkaian Lengkap Penggeser Level dan penyesuai Tegangan DAC

    D. Sistem Servo Motor DC

    Sistem Servo Motor DC type ED4400 seperti yang dijelaskan pada bab II

    mempunyai beberapa modul. Pada percobaan ini, tidak semua modul tersebut

    digunakan. Hal ini disesuaikan dengan kebutuhan pengendalian kecepatan putaran

    motor. Modul-modul yang digunakan adalah : U-153 (Pre-amplifier), U-154

    (Motor Driver Amplifier), U-156 (DC Power Supply), U-155 (Tacho Amplifier

    unit), U-161 (Servo Motor), dan U-159 (Tacho Meter). Gambar 3.6 adalah

    gambar rangkaian sistem servo motor yang digunakan untuk percobaan ini

    2,2K

    5K

    VouVin -

    + +15V

    30K

    2,2K

    5K

    Vin -

    + +15V

    1K

    1K

    Vo-

    +

    30K

  • Tugas MicroControl MMI Server

    55

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    Gambar 3.6. Rangkaian sistem servo motor DC

    Keluaran rangkaian Servo Motor DC di atas menurut pengukuran yang telah

    dilakukan berlevel tegangan -10,6V sampai +10,6V dengan polaritas putar kiri

    dan putar kanan. Sedangkan masukan ADC0808 pada modul SK-8051 berlevel

    tegangan 0V sampai +5V. Oleh karena itu, keluaran rangkaian Servo Motor DC

    ini tidak bisa dihubungkan secara langsung dengan masukan ADC0808. Untuk itu

    diperlukan rangkaian penggeser dan penyesuai level tegangan keluaran Servo

    Motor DC.

    E. Rangkaian Penggeser Level dan Penyesuai Tegangan Keluaran Servo

    Motor DC

    Rangkaian Penggeser Level dan Penyesuai Tegangan Keluaran Servo Motor

    DC dibuat dengan menggunakan Op-Amp dengan memperhatikan kondisi

    keluaran Servo Motor DC dan masukan rangkaian ADC0808 pada modul SK-

    U-159

    IN G

    To Motor Drive Amp -15V COM +15V

    -O/L +O/L -O/L +O/L

    SERVO DC POWER SUPPLY

    - DC AMPERE + U-156 ON

    OFF

    -15V COM +15V

    -+ -

    U-153

    -

    +

    -15V COM +15V

    U-154

    G - G

    +

    ~ - +

    Tacho Motor GEAR

    U-161

    Ke Rangkaian Penggesel Level dan Penyesuai Tegangan Servo Motor DC

    DariRangkaian Penggesel Level dan Penyesuai Tegangan DAC0808

    -15V COM +15V

    U-155

    T - O M - + P G

  • Tugas MicroControl MMI Server

    56

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    8051. Tugas utama rangkaian ini adalah menggeser setengah level tegangan

    negatif keluaran servo motor DC dari -10,6V sampai +10,6V ke level tegangan

    positif sekaligus menyesuaikan level tegangan tersebut agar masuk dalam range

    0V sampai +5V seperti yang diinginkan oleh masukan rangkaian ADC0808.

    Untuk merealisasikannya dibuat grafik linier keluaran Servo Motor DC (sebagai

    masukan rangkaian) dan masukan rangkaian ADC0808 (sebagai keluaran

    rangkaian) seperti gambar 3.7 berikut ini :

    Gambar 3.7. Grafik Masukan dan Keluaran Rangkaian Penggeser Level dan

    Penyesuai Tegangan Servo Motor DC

    Persamaan matematis dari grafik tersebut adalah :

    5,22,21

    5+= VinVout ......................................... per. 3.2

    Dari persamaan tersebut dibuat rangkaian dengan menggunakan Op-Amp

    seperti terlihat dalam gambar 3.8 berikut.

    Gambar 3.8. Rangkaian Penggeser Level dan penyesuai Tegangan DAC

    +5V

    2,5V

    -10,6V 0V +10,6V

    Vout

    Vin

    5K

    50K

    Vout Vin -

    + +15V

    30K

  • Tugas MicroControl MMI Server

    57

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    Keluaran rangkaian tersebut membalik (inverting). Untuk mengembalikan

    ke kondisi semula, keluarannya diinputkan ke rangkaian inverting dengan

    penguatan 1, sehingga rangkaian lengkap penggeser level dan penyesuai tegangan

    keluaran Servo Motor DC adalah seperti terlihat dalam gambar 3.9 berikut ini.

    Gambar 3.9. Rangkaian Lengkap Penggeser Level dan penyesuai Tegangan Servo

    Motor DC

    F. Server/Client MMI

    MMI merupakan sistem interface yang digunakan oleh pengguna (operator)

    dalam melakukan monitoring dan pengendalian sistem. MMI dapat berupa Sistem

    komputer yang terdiri komputer server, komputer-komputer klien yang saling

    terkoneksi dalam suatu jaringan.

    Dalam praktikum ini dibangun sistem MMI berupa :

    - 1 buah komputer server

    - 2 buah laptop sebagai klien

    - Perangkat jaringan (sistem wireless) : 1 buah Access Point & 1 buah USB

    Wireless Client untuk komputer server & 2 buah builtin wireless client

    pada laptop klien

    - Perangkat Lunak Server MMI dan Client MMI

    5K

    50K

    Vin -

    + +15V

    1K

    1K

    Vout -

    +

    30K

  • Tugas MicroControl MMI Server

    58

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    Gambar 3.10. Konfigurasi MMI pada Percobaan Praktikum

    Langkah-langkah dilakukan adalah sebagai berikut :

    - Melakukan setup wireless pada komputer server dan laptop klien dan access

    point

    - Melakukan konfigurasi protokol TCP/IP dengan penentuan alamat IP bagi

    masing-masing komputer dan perangkat jaringan.

    - Melakukan tes koneksi jaringan

    - Uji coba fungsi software MMI server dan klien.

    Setting Protocol TCP/IP

  • Tugas MicroControl MMI Server

    59

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    Setting WLAN IP komputer server Setting WLAN IP komputer client1

    Setting WLAN IP komputer client2 Setting WLAN IP Access Point

  • Tugas MicroControl MMI Server

    60

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    3.2 Perangkat Lunak

    Agar dapat dapat bekerja menjadi sebuah Man-Machine Interface untuk

    Sistem Servo Motor DC, perangkat keras seperti yang dijelaskan di atas harus

    didukung oleh perangkat lunak (software). Dalam hal ini ada tiga bagian

    perangkat lunak yang dibuat yaitu perangkat lunak pada mikrokontroller (modul

    SK-8051), perangkat lunak pada MMI-Server, dan perangkat lunak pada Client.

    Ketiga perangkat lunak tersebut mempunyai cara kerja yang berbeda.

    3.2.1 Mikrokontroller (Modul SK-8051)

    Untuk dapat menerima dan mengirim data ke server, mikrokontroller pada

    modul SK-8051 harus diprogram terlebih dahulu. Data yang dikirim/diterima dari

    server berupa data biner 8 bit dalam format serial melalui port serial RS232.

    Program yang dibuat akan mengikuti alur seperti dalam flowchart berikut :

    Gambar 3.11. Flowchart Program mikrokontroller

    Start

    Inisialisasi port serial Uc

    Data siap diterima ?

    Y

    T

    Data =Buffer Port1 = Data

    Baca Data ADC

    Data siap dikirim ?

    Y

    T

    SBuff = Data

    Selesai

  • Tugas MicroControl MMI Server

    61

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    Berikut ini linsting program untuk mikrokontroller SK-8051

    ORG 8000H MOV SP,#40H SJMP START L563 EQU 0FF38H CTC_0 EQU 0FF40H CTC_1 EQU 0FF41H CTC_2 EQU 0FF42H CTC_CWR EQU 0FF43H ADC_0 EQU 0FF48H ADC_1 EQU 0FF49H ADC_2 EQU 0FF4AH

    START: ACALL INIT UTAMA: ACALL RX ACALL KONV ACALL TX SJMP UTAMA

    INIT: MOV TMOD,#20H ; timer 1 mode 2(8-bit,isi-ulang) MOV TH1,#0FDH ; 9600 baud rate MOV SCON,#50H ; Mode serial: 8-bit UART SETB TR1 ; Jalankan Timer 1 RET

    RX: JNB RI,$ ; tunggu data dari serial MOV A,SBUF ; pindahkan data serial ke ACC MOV P1,A ; data ACC ke Port1 CLR RI ; clear flag RI RET

    TX: MOV SBUF,A ; memindahkan isi akumulator ke buffer JNB TI,$ ; tunggu sampai data terkirim semua

    CLR TI ; hapus TI RET

    KONV: MOV DPTR,#CTC_CWR MOV A,#01110110B MOVX @DPTR,A MOV DPTR,#CTC_1

    MOV A,#10 MOVX @DPTR,A MOV A,#0 MOVX @DPTR,A CALL T_adc MOV DPTR,#ADC_1 MOVX @DPTR,A MOV B,#100 DJNZ B,$

  • Tugas MicroControl MMI Server

    62

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    MOVX A,@DPTR MOV DPTR,#L563 MOVX @DPTR,A

    RET

    T_adc: PUSH 1EH PUSH 1FH MOV 1EH,#100

    T_a1: MOV 1FH,#0 DJNZ 1FH,$ DJNZ 1EH,T_a1 POP 1FH POP 1EH RET

    END

    3.2.2 MMI-Server

    Man-Machine Interface Server adalah software yang dirancang untuk

    mengatur koneksi Client dan memberikan layanan tranfer data dari client ke

    server untuk mengatur kecepatan servo motor.

    Gambar tampilan program

    Gambar 3.12. Tampilan Software MMI-Server

  • Tugas MicroControl MMI Server

    63

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    Linsting Program

    unit UnitMMI;

    interface

    uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ScktComp, jpeg, Buttons, CPort;

    const WM_REFRESHCLIENT = WM_USER + 100;

    type TFormServer = class(TForm) Timer1: TTimer; ServerMMI_1: TServerSocket; ServerMMI_2: TServerSocket; Label1: TLabel; Label3: TLabel; Label4: TLabel; Label6: TLabel; Label7: TLabel; Label10: TLabel; Label11: TLabel; Label13: TLabel; Label14: TLabel; Label15: TLabel; Label16: TLabel; CB1: TCheckBox; CB2: TCheckBox; Bevel1: TBevel; Panel1: TPanel; Panel2: TPanel; Bevel2: TBevel; Label2: TLabel; Image1: TImage; SettingPort: TSpeedButton; OpenPort: TSpeedButton; Port: TComPort; TutupProgram: TSpeedButton; Bevel3: TBevel; Label5: TLabel; procedure WMNCHitTest(var msg : TWMNCHitTest); message WM_NCHitTest; procedure ServerMMI_1ClientConnect(Sender: TObject; Socket: TCustomWinSocket);

  • Tugas MicroControl MMI Server

    64

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    procedure ServerMMI_1ClientRead(Sender: TObject; Socket: TCustomWinSocket); procedure ServerMMI_1ClientDisconnect(Sender: TObject; Socket: TCustomWinSocket); procedure CB1Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure ServerMMI_2ClientConnect(Sender: TObject; Socket: TCustomWinSocket); procedure ServerMMI_2ClientDisconnect(Sender: TObject; Socket: TCustomWinSocket); procedure ServerMMI_2ClientRead(Sender: TObject; Socket: TCustomWinSocket); procedure CB2Click(Sender: TObject); procedure SettingPortClick(Sender: TObject); procedure OpenPortClick(Sender: TObject); procedure TutupProgramClick(Sender: TObject); private { Private declarations } public { Public declarations } end;

    var FormServer: TFormServer; data_terima, data_kirim : byte; selisih : integer;

    implementation

    procedure TFormServer.WMNCHitTest(var msg : TWMNCHitTest); begin inherited; if (msg.Result = htClient ) then if (msg.YPos < Top + 20)then msg.Result:=htCaption; end;

    {$R *.dfm}

    procedure TFormServer.SettingPortClick(Sender: TObject); begin Port.ShowSetupDialog; end;

    procedure TFormServer.OpenPortClick(Sender: TObject); begin if Port.Connected then Port.Close

  • Tugas MicroControl MMI Server

    65

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    else Port.Open; end;

    procedure TFormServer.Timer1Timer(Sender: TObject); var a : byte; begin a:=data_kirim+selisih; Port.Write(a,1); Port.Read(data_terima,1); selisih:=data_kirim-data_terima; end;

    procedure TFormServer.ServerMMI_1ClientConnect(Sender: TObject; Socket: TCustomWinSocket); begin Label15.caption:='Connected : '+Socket.RemoteHost+'('+Socket.RemoteAddress+')'; PostMessage(Handle,WM_REFRESHCLIENT,0,0); CB1.Checked:=false; CB1.Enabled:=true; end;

    procedure TFormServer.ServerMMI_1ClientDisconnect(Sender: TObject; Socket: TCustomWinSocket); begin Label10.Caption:='-'; Label11.Caption:='-'; Label5.Caption:='-'; Label15.caption:='Disconnected : '+Socket.RemoteHost+'('+Socket.RemoteAddress+')'; PostMessage(Handle,WM_REFRESHCLIENT,0,0); CB1.Checked:=false; CB1.Enabled:=false; end;

    procedure TFormServer.ServerMMI_1ClientRead(Sender: TObject; Socket: TCustomWinSocket); var DataClient1:string[5]; Pol :string[1]; Kec :string[4]; begin DataClient1:=Socket.ReceiveText; pol:=copy(DataClient1,1,1); Kec:=copy(DataClient1,2,4); if pol='0' then begin

  • Tugas MicroControl MMI Server

    66

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    Label10.Caption:='Putar Kanan'; Label11.Caption:=kec+' rpm'; data_kirim:=round(128*StrToInt(kec)/4000) + 127; Label5.Caption:=IntToStr(data_kirim)+' desimal'; end else if pol='1' then begin Label10.Caption:='Putar Kiri'; Label11.Caption:=kec+' rpm'; data_kirim:=round(127-127*StrToInt(kec)/4000); Label5.Caption:=IntToStr(data_kirim)+' desimal'; end end;

    procedure TFormServer.CB1Click(Sender: TObject); begin selisih:=0; if CB1.Checked=true then begin ServerMMI_1.Socket.Connections[0].SendText('YA'); CB2.Checked:=false; Timer1.Enabled:=true; end; if CB1.Checked=false then begin ServerMMI_1.Socket.Connections[0].SendText('TIDAK'); Label10.Caption:='-'; Label11.Caption:='-'; Label5.Caption:='-'; if CB2.Checked=false then timer1.Enabled:=false; end; end;

    procedure TFormServer.ServerMMI_2ClientConnect(Sender: TObject; Socket: TCustomWinSocket); begin Label16.caption:='Connected : '+Socket.RemoteHost+'('+Socket.RemoteAddress+')'; PostMessage(Handle,WM_REFRESHCLIENT,0,0); CB2.Checked:=false; CB2.Enabled:=true; end;

    procedure TFormServer.ServerMMI_2ClientDisconnect(Sender: TObject; Socket: TCustomWinSocket); begin

  • Tugas MicroControl MMI Server

    67

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    Label10.Caption:='-'; Label11.Caption:='-'; Label5.Caption:='-'; Label16.caption:='Disconnected : '+Socket.RemoteHost+'('+Socket.RemoteAddress+')'; PostMessage(Handle,WM_REFRESHCLIENT,0,0); CB2.Checked:=false; CB2.Enabled:=false; end;

    procedure TFormServer.ServerMMI_2ClientRead(Sender: TObject; Socket: TCustomWinSocket); var DataClient2:string[5]; Pol :string[1]; Kec :string[4]; begin DataClient2:=Socket.ReceiveText; pol:=copy(DataClient2,1,1); Kec:=copy(DataClient2,2,4); if pol='0' then begin Label10.Caption:='Putar Kanan'; Label11.Caption:=kec+' rpm'; data_kirim:=round(128*StrToInt(kec)/4000) + 127; Label5.Caption:=IntToStr(data_kirim)+' desimal'; end else if pol='1' then begin Label10.Caption:='Putar Kiri'; Label11.Caption:=kec+' rpm'; data_kirim:=round(127-127*StrToInt(kec)/4000); Label5.Caption:=IntToStr(data_kirim)+' desimal'; end; end;

    procedure TFormServer.CB2Click(Sender: TObject); begin selisih:=0; if CB2.Checked=true then begin ServerMMI_2.Socket.Connections[0].SendText('YA'); CB1.Checked:=false; Timer1.Enabled:=true; end; if CB2.Checked=false then begin

  • Tugas MicroControl MMI Server

    68

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    ServerMMI_2.Socket.Connections[0].SendText('TIDAK'); Label10.Caption:='-'; Label11.Caption:='-'; Label5.Caption:='-'; if CB1.Checked=false then timer1.Enabled:=false; end; end;

    procedure TFormServer.TutupProgramClick(Sender: TObject); var stop : byte; begin stop:=127; port.Write(stop,1); Close; end;

    end.

    3.2.3 Client 2

    Gambar tampilan program

    Gambar 3.13. Tampilan Software MMI-Client1

  • Tugas MicroControl MMI Server

    69

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    Linsting Program

    unit UnitClientMMI_1; interface

    uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ScktComp, Buttons, jpeg, Mask;

    type TFormClient = class(TForm) ClientMMI: TClientSocket; Label2: TLabel; Image1: TImage; Panel1: TPanel; Label3: TLabel; Label7: TLabel; Polaritas: TLabel; Label4: TLabel; Label8: TLabel; Label5: TLabel; Label6: TLabel; SB: TScrollBar; Label1: TLabel; Label9: TLabel; InIP: TEdit; Koneksi: TCheckBox; Label10: TLabel; SpeedButton1: TSpeedButton; OK: TSpeedButton; procedure WMNCHitTest(var msg : TWMNCHitTest); message WM_NCHitTest; procedure PolaritasClick(Sender: TObject); procedure KoneksiClick(Sender: TObject); procedure ClientMMIRead(Sender: TObject; Socket: TCustomWinSocket); procedure InIPChange(Sender: TObject); procedure SBChange(Sender: TObject); procedure SpeedButton1Click(Sender: TObject); procedure OKClick(Sender: TObject); private { Private declarations } public { Public declarations } end;

    var

  • Tugas MicroControl MMI Server

    70

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    FormClient: TFormClient; data_terima, data_kirim : byte; pol:string[1]; kec:string[4];

    implementation

    procedure TFormClient.WMNCHitTest(var msg : TWMNCHitTest); begin inherited; if (msg.Result = htClient ) then if (msg.YPos < Top + 20)then msg.Result:=htCaption; end;

    {$R *.dfm}

    procedure TFormClient.PolaritasClick(Sender: TObject); begin if polaritas.Caption='Putar Kanan' then Polaritas.Caption:='Putar Kiri' else Polaritas.Caption:='Putar Kanan'; SBChange(sender); OKClick(Sender); end;

    procedure TFormClient.KoneksiClick(Sender: TObject); begin if not ClientMMI.Active then begin ClientMMI.Address:=InIP.Text; end; ClientMMI.Active:=Koneksi.Checked; if koneksi.Checked=false then begin Panel1.Enabled:=false; Label2.Visible:=false; end; end;

    procedure TFormClient.ClientMMIRead(Sender: TObject; Socket: TCustomWinSocket); var status:string[5]; begin status:=ClientMMI.Socket.ReceiveText; if status='YA' then begin Label2.Visible:=true;

  • Tugas MicroControl MMI Server

    71

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    Label2.Caption:='Status : Client diperbolehkan mengirim data'; Panel1.Enabled:=true; SBChange(sender); end; if status='TIDAK' then begin Label2.Caption:='Status : Client tidak diperbolehkan mengirim data'; Panel1.Enabled:=false; end; end;

    procedure TFormClient.InIPChange(Sender: TObject); begin if InIP.Text='' then Koneksi.Enabled:=false else Koneksi.Enabled:=true; end;

    procedure TFormClient.SBChange(Sender: TObject);

    begin Label1.Caption:=IntToStr(SB.Position); kec:=Label1.Caption; if Polaritas.Caption='Putar Kanan' then pol:='0' else if Polaritas.Caption='Putar Kiri' then pol:='1'; end;

    procedure TFormClient.SpeedButton1Click(Sender: TObject); begin Close; end;

    procedure TFormClient.OKClick(Sender: TObject); begin ClientMMI.Socket.SendText(pol+kec); end;

    end.

  • Tugas MicroControl MMI Server

    72

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    3.2.4 Client 2

    Gambar tampilan program

    Gambar 3.14. Tampilan Software MMI-Client2

    Linsting Program

    unit UnitClientMMI_2;

    interface

    uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ScktComp, Buttons, jpeg, Mask;

    type TFormClient = class(TForm) ClientMMI: TClientSocket; Label2: TLabel; Image1: TImage; Panel1: TPanel; Label3: TLabel; Label7: TLabel; Polaritas: TLabel; Label4: TLabel; Label8: TLabel;

  • Tugas MicroControl MMI Server

    73

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    Label5: TLabel; Label6: TLabel; SB: TScrollBar; Label1: TLabel; Label9: TLabel; InIP: TEdit; Koneksi: TCheckBox; Label10: TLabel; SpeedButton1: TSpeedButton; OK: TSpeedButton; procedure WMNCHitTest(var msg : TWMNCHitTest); message WM_NCHitTest; procedure PolaritasClick(Sender: TObject); procedure KoneksiClick(Sender: TObject); procedure ClientMMIRead(Sender: TObject; Socket: TCustomWinSocket); procedure InIPChange(Sender: TObject); procedure SBChange(Sender: TObject); procedure SpeedButton1Click(Sender: TObject); procedure OKClick(Sender: TObject); private { Private declarations } public { Public declarations } end;

    var FormClient: TFormClient; data_terima, data_kirim : byte; pol:string[1]; kec:string[4];

    implementation

    procedure TFormClient.WMNCHitTest(var msg : TWMNCHitTest); begin inherited; if (msg.Result = htClient ) then if (msg.YPos < Top + 20)then msg.Result:=htCaption; end;

    {$R *.dfm}

    procedure TFormClient.PolaritasClick(Sender: TObject); begin if polaritas.Caption='Putar Kanan' then Polaritas.Caption:='Putar Kiri' else Polaritas.Caption:='Putar Kanan';

  • Tugas MicroControl MMI Server

    74

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    SBChange(sender); OKClick(Sender); end; procedure TFormClient.KoneksiClick(Sender: TObject); begin if not ClientMMI.Active then begin ClientMMI.Address:=InIP.Text; end; ClientMMI.Active:=Koneksi.Checked; if koneksi.Checked=false then begin Panel1.Enabled:=false; Label2.Visible:=false; end; end;

    procedure TFormClient.ClientMMIRead(Sender: TObject; Socket: TCustomWinSocket); var status:string[5]; begin status:=ClientMMI.Socket.ReceiveText; if status='YA' then begin Label2.Visible:=true; Label2.Caption:='Status : Client diperbolehkan mengirim data'; Panel1.Enabled:=true; SBChange(sender); end; if status='TIDAK' then begin Label2.Caption:='Status : Client tidak diperbolehkan mengirim data'; Panel1.Enabled:=false; end; end;

    procedure TFormClient.InIPChange(Sender: TObject); begin if InIP.Text='' then Koneksi.Enabled:=false else Koneksi.Enabled:=true; end;

    procedure TFormClient.SBChange(Sender: TObject); begin Label1.Caption:=IntToStr(SB.Position); kec:=Label1.Caption; if Polaritas.Caption='Putar Kanan' then pol:='0' else

  • Tugas MicroControl MMI Server

    75

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    if Polaritas.Caption='Putar Kiri' then pol:='1'; end;

    procedure TFormClient.SpeedButton1Click(Sender: TObject); begin Close; end;

    procedure TFormClient.OKClick(Sender: TObject); begin ClientMMI.Socket.SendText(pol+kec); end;

    end.

  • Tugas MicroControl MMI Server

    76

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    BAB IV

    KESIMPULAN DAN SARAN

    A. Kesimpulan

    Tegangan input dari sistem servo motor ED 4400 adalah 0V sampai

    1,1V untuk polaritas positif dan 0V sampai -1,1V untuk polaritas negatif

    yang sebanding dengan kecepatan putaran motor sebesar 0 rpm sampai

    4000 rpm.

    Tegangan output servo motor adalah sebesar 0V sampai 10,6V untuk

    polaritas positif dan 0V sampai -10,6V untuk polaritas negatif yang

    sebanding dengan kecepatan putaran motor sebesar 0 rpm sampai 4000

    rpm.

    Tegangan keluaran DAC 0808 yang dibuat adalah sebesar 0V sampai

    +5V. Agar dapat diinputkan ke sistem servo motor digunakan rangkaian

    penggeser level dan penyesuai tegangan.

    Data biner yang dikirim ke modul SK-8051 untuk menggerakkan motor

    dengan polaritas positif adalah 01111111b (127) sampai 11111111b

    (255) yang merepresentasikan kecepatan putaran motor dari 0 rpm

    sampai 4000 rpm putar kanan, sedangkan data biner yang dikirim untuk

    mengerakkan motor dengan polaritas negatif adalah 01111111b (127)

    sampai 00000000b (0) yang merepresentasikan kecepatan putaran motor

    dari 0 rpm sampai 4000 rpm putar kiri.

  • Tugas MicroControl MMI Server

    77

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    B. Saran

    Untuk praktikum MMI berikutnya, supaya dilanjutkan dengan

    pengaturan posisi motor.

  • Tugas MicroControl MMI Server

    78

    Laporan Praktek Sistem Control Motor Servo / Hasanuddin Sirait

    DAFTAR PUSTAKA

    Paulus A. Nalwan, 2003, Teknik Antar Muka dan Pemrograman, Elex Media Computindo, Jakarta

    Retna prasetyo, 2004, Interfacing Port Paralel & Port Serial Komputer dengan VB, Yogyakarta

    Rahmat Setyawan, 2006, Mikrokontroller MCS-51, Graha Ilmu, Yogyakarta

    Tim Lab Mikroprosessor, 2006, Pemrograman Mikrokontroller AT 89S51 deng an /C++ dan Assembler, Andi, Yogyakarta

    Users Manual One Chip 8 Bit Microprocessor Control Trainer, SkLab

    Hasmini dkk, 2007, Penuntun Praktikum Sistem Kendali Digital, Unhas, Makassar

    Userss Manual Servo Motor System ED-4400