Risal dan Mukhlisulfatih, Man-Machine Interface (MMI) untuk Sistem Servo Posisi Motor DC MAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC Risal dan Mukhlisulfatih Latief Program Pascasarjana Teknik Elektro UNHAS Abstrak MMI adalah kebutuhan standar dan merupakan bagian utama dari sistem-sistem teknologi kendali proses di dunia industri manufaktur. MMI berfungsi sebagai penghubung antara manusia dan mesinmesin yang menjalankan proses produksi yang kompleks. Dalam project course ini akan dibangun MMI-Server yang digunakan sebagai controller , juga sekaligus untuk monitoring dan akuisisi data sistem servo posisi motor DC. Perangkat yang digunakan adalah; Personal Computer (client dan MMI-Server), modul One Chip 8 Bit Microprocessor Control Trainer (MCS-51), modul DC Servo Trainer (ED-4400B), sebagai modul perangkat keras. Komunikasi antara computer client dan MMIserver dilakukan dengan cara wireless (TCP/IP), sedangkan komunikasi antara MMI-server dengan modul MCS-51 melalui kabel RS-232. Bahasa pemrograman yang digunakan adalah, Delphi dan Assembly. Kata kunci: MMI, Servo posisi, Motor DC MMI telah dipergunakan secara luas dalam kegiatan perindustrian, karena merupakan bagian dari sistem kendali automatis dalam rangka proses produksi. Disamping berperan sebagai penghubung antara manusia dan mesinmesin produksi, MMI juga difungsikan sebagai monitoring system dan data acquisition (akuisisi data). Berkenaan dengan itu maka, dalam project course ini akan dibangun MMI-Server yang akan digunakan sebagai controller dan sekaligus untuk monitoring dan akuisisi data sistem servo posisi motor DC. Agar rancang bangun sistem ini dapatlah berjalan maksimal, maka diperlukan pemahaman yang baik akan mekanisme sistem servo posisi motor DC maupun peralatan, komponen serta perangkat teknologi informasi dan komunikasi yang akan digunakan untuk membangun MMI-server. PC berupa notebook, merupakan terminal input data posisi dari servo motor yang diinginkan oleh user (client). Data ini akan diteruskan melalui TCP/IP ke MMIserver (PC desktop), yang berfungsi sebagai pengendali, yang kemudian diolah dan dikirim ke unit microcontroller MCS-51. Pada unit MCS-51 data digital tersebut diteruskan ke DAC 0809, yang kemudian dikonversi ke dalam besaran analog (tegangan), dimana besaran nilai tegangan ini akan menentukan operasional dari servo motor, apakah berputar dengan arah searah jarum jam (CW), berlawanan arah jarum jam (CCW) atau motor akan STOP. Pada saat servo motor berputar, maka posisi motor akan dipindai oleh potensiometer (sensor posisi). Potensiometer akan mengkonversi gerakan mekanik dari rotor motor ke dalam besaran tegangan analog sesuai dengan posisi putaran motor. Tegangan analog ini akan diteruskan ke ADC 0808 untuk diubah menjadi data digital yang kemudian akan dikirim kembali ke MMI-server. Data ini kemudian akan diolah oleh MMI-server, dimana hasil perbandingan ini akan menjadi acuan untuk mengendalikan servo motor DC, apakah masih terus diputar karena posisi yang diinginkan belum tercapai, atau dihentikan karena posisi yang diinginkan sudah tercapai. Bila posisi yang diinginkan telah tercapai, maka motor akan dihentikan dan posisi motor terakhir (current position) akan dikirimkan ke client. Dalam konsep akuisisi data, konversi satu besaran ke besaran lainnya, penguatan, peredaman dan modifikasi sinyal, kedalam format yang cocok bagi peralatan berikutnya disebut sebagai pengkondisian sinyal. Dalam rancang bangun MMI ini, pengkondisian sinyal MEDIA ELEKTRIK, Volume 4 Nomor 1, Juni 2009 merupakan bagian penting. Karena performansi yang tidak sempurna dari peralatan dan komponen yang digunakan, maka besar kemungkinan akan muncul kesalahan (error) terhadap penunjukan posisi dari servo motor. Untuk itu diperlukan upaya untuk mengurangi tingkat error tersebut. Dimana salah satu cara yang lasim digunakan untuk mengurangi error, yang berkenaan dengan konsep akuisisi data, adalah dengan cara melakukan kalibrasi. Peralatan maupun komponen-komponen dasar untuk membangun MMI untuk sistem servo posisi motor DC, telah disediakan di LSKI di Laboratorium Sistem Kendali dan Instrumentasi Teknik Elektro (LSKI) UNHAS dan dari penjelasan diatas, maka dapat dirumuskan : - Bagaimana merancang bangun MMI untuk sistem servo posisi motor DC dengan menggunakan fasilitas serta peralatan yang ada pada LSKI UNHAS. - Bagaimana menghasilkan penunjukan posisi motor yang akurat. - Bagaimana membuat program MMI pada Server, Client dan Microcontroller SK-8051 Tujuan Project Course yaitu: - Merancang bangun MMI untuk sistem servo posisi motor DC yang sekaligus juga berfungsi sebagai monitoring dan akuisisi data, dengan menggunakan fasilitas serta peralatan yang ada pada LSKI UNHAS. - Membuat kalibrasi sistem guna mengurangi tingkat kesalahan penunjukan posisi servo motor. - Membuat program MMI pada Server, Client dan Microcontroller SK-8051 Modul trainer SK-8051 merupakan trainer pengendali dengan satu chip microprocessor 8 bit (ONE-CHIP 8 BIT MICROPROCESSOR CONTROL TRAINER ) yang dibangun dari microcontroller AT 89C51 (Atmel) yang sesuai dengan standar industri. (standard industry MCS-51™ instruction set and pinout). Trainer ini dapat difungsikan sebagai antarmuka dengan trainer-trainer pengendali lainnya, seperti pengendalian motor, sensor, dan sebagainya. Fitur-fitur yang disediakan pada modul trainer ini adalah : - berbagai eksperimen I/O - pengendalian motor dan sensor - eksperimen ADC dan DAC - eksperimen DOT matrix & aplikasi LCD Gambar 1. Trainer SK-8051 Gambar 2. Lay out trainer SK-8051 Berikut ini adalah spesifikasi, asesori I/O dan bagian-bagian dari modul trainer SK-8051 : - External ROM 27C256 (32 KB), external RAM 62256 (32 KB) - Keypad model Built-In (25 Key) dan Program monitor serial RS-232C - AT89C51 12 volt. Programing/Read/Erase/Blank Chek - LCD dengan 16 character x 2 baris - Program dapat di eksekusi pada eksternal RAM - A/D converter 0809 (8 bit X 8 Channel) - D/A converter 0808 (8 bit X 1 Channel) - PPI 8255 - 3 Warna dot matriks - Speaker Interface - 12 Volt DC,1 A bipolar untuk menggerakkan 16 antilogaritma - 8 bit FND set yang mengindikasikan 16 antilogaritma - Dilengkapi dengan 16 bit counter/timer 8253 - Fungsi satu langkah, internal/eksternal memory dump, modifikasi data - Terminal percobaan eksternal untuk pin port dan Led display - 8 bit port input: inverted buffer, tombol tekan 8 buah - 8 bit port output : inverted lacth, led 8 buah - Ground - Power Supply : 110 - 220 V AC input DC pada ± 12 V/+ 5V Risal dan Mukhlisulfatih, Man-Machine Interface (MMI) untuk Sistem Servo Posisi Motor DC AT89S51 merupakan produk ATMEL, memiliki fitur sebagai berikut : - Kompatibel dengan MCS-51 - 4 kb memory program yang dapat ditulis hingga 1000 kali - 0 kecepatan clock-33 MHz - 128 byte memori RAM internal - 32 jalur input-output (4 buah port pararel I/O) - 2 timer/counter 16 bit - 2 data pointer - 6 interupt (2 timer, 2 counter, 1 serial, 1 reset) - ISP (In System Programable) Flash memory - Port serial full-duplex Microcontroller AT89S51 memiliki pin berjumlah 40 dan umumnya dikemas dalam DIP (Dual Inline Package) masing-masing pin microcontroller AT89S51 mempunyai kegunaan sebagai berikut : Gambar 3. Konfigurasi pin IC AT89S51 a. Port 1 Merupakan salah satu port yang berfungsi sebagai general purpose I/O dengan lebar 8 bit. Sedangkan untuk fungsi lainnya, port 1 tidak memiliki. b. RST Pin ini berfungsi sebagai input untuk melakukan reset terhadap mikro, dan jika RST nilai high selama minimal cycle, maka nilai internal register akan kembali seperti awal mulai bekerja Terjadinya reset akan berpengaruh pada nilai dari masing-masing SFR c. Port 3 Merupakan port yang terdiri dari 8 bit masukan dan keluaran. Disamping berfungsi sebagai masukan dan keluaran, port 3 juga mempunyai fungsi khusus yang lain. d. XTAL 1dan XTAL 2 Merupakan pin inputan untuk kristal oscilator e. GND Pada kaki berfungsi sebagai pertanahan (ground) f. Port 2 Merupakan salah satu port yang berfungsi sebagai general purpose I/O dengan lebar 8 bit. Fungsi lainnya adalah sebagai high byte address bus (pada penggunaan memori eksternal) g. PSEN PSEN (Program Storage Enable) adalah pulsa pengaktif untuk membaca program memori dari luar h. ALE Berfungsi untuk demultiplexer pada saat port 0 bekerja sebagai multiplexed address/data bus (pengaksesan memory eksternal). Pada paruh pertama memory cycle, pin ALE mengeluarkan signal latch yang menahan alamat ke eksternal register. Pada paruh kedua memory cycle, port 0 akan digunakan sebagai data bus. Jadi fungsi utama dari ALE adalah untuk memberikan signal ke IC latch (bisa 74HCT573) agar menahan/menyimpan address dari port 0 yang akan menuju memory eksternal (address 0-7), dan selanjutnya memory eksternal akan mengeluarkan data yang melalui port 0 juga. i. EA EA adalah eksternal akses harus dihubungkan dengan ground jika menggunakan program luar. Jika menggunakan program memori internal maka EA dihubungkan dengan VCC. Dalam keadaan ini microcontroller bekerja secara single chip j. Port 0 Merupakan salah satu port yang berfungsi sebagai general purpose I/O (dapat digunakan sebagai masukan dan keluaran) dengan lebar 8 bit. Fungsi lainnya adalah sebagai multiplexed address/data bus (pada saat mengakses memori eksternal) k. VCC Pada kaki ini berfungsi sebagai tempat sumber tegangan yang sebesar +5 volt. Untuk besar tegangannya harus diusahakan sebesar kurang lebih 5V (4,8v) agar microcontroller dapat bekerja. Apabila kurang dari itu maka microcontroller tidak akan dapat bekerja (diprogram). MEDIA ELEKTRIK, Volume 4 Nomor 1, Juni 2009 SFR (Special Function Register) adalah suatu alamat pada memori RAM internal yang memiliki fungsi khusus. Berikut akan dijelaskan secara singkat SFR yang dimiliki AT89S51 : 1. Accumulator ACC digunakan sebagai register utama dalam proses aritmetik dan penyimpanan data sementara. Dalam instruksi pemrograman akumulator dituliskan sebagai A 2. Register B Register B digunakan selama operasi perkalian dan pembagian. Untuk instruksi lain dapat diperlakukan sebagai scratch-pad 3. Stack pointer Register SP merupakan register penunjuk alamat dari stack. Pada operasi PUSH dan POP serta call dan return maka nilainya akan berubah sesuai dengan alamat stack saat itu. 4. Data pointer merupakan register 16 bit yang digunakan sebagai penyimpanan alamat data. Terdiri dari DPH sebagai penyimpan high byte dan DPL sebagai penyimpan high byte dan DPL sebagai penyimpan low byte. 5. Port 0, port 1, port 2, port 3 Merupakan latches yang digunakan untuk menyimpan data yang akan ditulis dari/ke masing-masing port 6. Serial Data Buffer Terdiri dari dua register yang terpisah. Yaitu register penyangga pengirim dan penyangga penerima. Pada saat data disalin ke SBUF maka data sesungguhnya dikirim ke penyangga pengirim sedangkan pada saat data disalin dari SBUF maka sebenarnya data tersebut berasal dari penyangga penerima. 7. Control register Register-register IP, IE, TMOD, SCON, TCON dan PCON berisi bit-bit control dan status untuk sistem interupsi, timer, counter dan port serial. Addressing adalah suatu teknik untuk mengakses memori. Addressing pada microcontroller 8051 dibagi menjadi tiga bagian utama, yaitu Immediate Addressing, Direct Addressing, dan Indirect Addressing. Immediate Addressing Pada immediate addressing, nilai yang akan disimpan pada memori langsung ditulis pada code memory. Direct Addressing Direct Addressing diberi nama seperti itu karena nilai yang akan disimpan dalam suatu memori diperoleh secara langsung dengan mengambil dari lokasi memori lainnya. Indirect Addressing Indirect Addressing merupakan salah satu Addressing yang sangat penting. Addressing tipe ini memberikan suatu fleksibilitas yang tinggi dalam penulisan program. Trainer Servo DC tipe ED-440B buatan ED CO.Ltd merupakan suatu paket modul yang didesain berdasarkan sistem kendalian loop tertutup servo motor dc, yang terdiri dari beberapa modul, dan dapat dirangkai untuk keperluan praktikum. Paket modul servo motor ED-440B terdiri atas : Tabel 1. Daftar Alat dan Komponen MMI No 1 Kode U-151 2 3 4 5 6 U-152 U-153 U-154 U-155 U-156 7 U-157 8 U-158 9 U-159 10 U-161 11 12 U-162 U-163 Modul Dual attenuator (0, 9/10.. 1/10 attenuation) Summing amplifier Pre-amplifier Motor driver amplifier Tacho Amp unit DC power supply (± 15 V 0,2 A and Motor Power) Potensiometer (Reference) (1 kΩ or 10 kΩ 5 W) Potensiometer (Motor Coupling) (1 kΩ or 10 kΩ 5 W) Tachometer (FS 4000 RPM) Servo motor : - Motor 12 V, 4,5 W - Tacho Generator : Approx. 3 Vp-p/ 4000 RPM Function Generator Magnet Brake Berikut ini akan dijelaskan beberapa modul yang berkaitan dengan project course. DC power supply (U-156) merupakan sumber tegangan DC ± 15 V, untuk operasional modul-modul lainnya dan juga sebagai motor power. Servo motor (U-161) merupakan motor DC dengan rating tegangan operasional ± 12 V. dengan demikian motor dapat berputar CW (searah jarum jam) bila diberi tegangan dengan polaritas positif, dan CCW (berlawanan arah jarum jam) bila diberi tegangan dengan polaritas negatif. Risal dan Mukhlisulfatih, Man-Machine Interface (MMI) untuk Sistem Servo Posisi Motor DC posisi tegangan dari potensiometer U-158 ditunjukkan pada gambar 9. Gambar 4. Modul DC Power Supply U-156 GEAR KARAKTERISTIK POSISI - TEGANGAN POTENTIOMETER (U-158) U-161 350.0° 330.0° 310.0° 290.0° 270.0° 250.0° 230.0° 210.0° 190.0° 176.0° 160.0° 140.0° 120.0° 40.0° 0.0° Dual attenuator merupakan rangkaian peredam sinyal, yang pada sistem ini digunakan sebagai pelemah sinyal tegangan yang masuk pada servo driver. 20.0° Gambar 5. Modul servo motor U-161 20 15 10 5 0 -5 -10 -15 -20 80.0° MOTOR Gambar 8. Modul potensiometer U-158 100.0° TACHO + 60.0° - Gambar 9. Chart posisi tegangan potensiometer Dari gambar tersebut terlihat bahwa chart posisi tegangan dari potensiometer U-158, pada beberapa nilai tidak membentuk hubungan yang linear. Gambar 6. Modul dual attenuator U-151 Motor driver (U-154) merupakan driver tegangan motor yang berfungsi sebagai penguat sekaligus pengaman servo motor terhadap beban lebih (over load) dan tegangan lebih. Gambar7. Modul motor driver U-154 Potensiometer U-158 merupakan transduser elektromekanik yang mengubah energi mekanik menjadi energi listrik melalui gerak mekanis rotasi. Dalam aplikasi, potensiometer ini digunakan sebagai sensor posisi. Potensiometer U-158 menghasilkan output tegangan dari -15 sd +15 volt DC untuk posisi servo motor 0° sd 360°. Karakteristik PERANCANGAN MMI UNTUK SISTEM SERVO POSISI MOTOR DC Konfigurasi hardware MMI yang dibangun ditunjukkan pada gambar 10. Penjelasan dari blog diagram MMI untuk sistem servo posisi. a. Computer client merupakan terminal entry data dan monitoring posisi servo motor b. Entry data posisi akan diteruskan ke MMI server melalui media TCP/IP. Data posisi yang berupa besaran derajat ini akan dikonversi ke data digital (decimal) melalui suatu formulasi yang dihasilkan dari proses kalibrasi sistem. Data desimal hasil konversi tersebut akan menjadi acuan dari server untuk mengendalikan posisi servo motor. c. Pada MMI server data tersebut akan dibandingkan dengan data yang diterima dari microcontroller. Bila data tersebut tidak sama maka MMI server akan mengirim data ke microcontroller SK-8051 melalui port serial RS 232, kemudian diolah pada IC 89C51 dan diteruskan pada DAC 0808 sehingga akan dihasilkan tegangan untuk mengoperasikan motor. MEDIA ELEKTRIK, Volume 4 Nomor 1, Juni 2009 q Gambar 10. Blok diagram MMI untuk sistem servo posisi d. Pada Dual attenuator tegangan dari DAC akan diredam sesuai dengan pilihan kecepatan motor. Disamping itu Dual attenuator digunakan untuk mengamati respon sistem servo posisi untuk berbagai kecepatan motor e. Servo driver digunakan sebagai pengaman servo motor DC terhadap gangguan beban lebih (over load dan tegangan lebih). f. Pada saat motor berputar, maka potensiometer sebagai sensor posisi akan memindai posisi motor. Posisi motor akan dikonversikan kedalam besaran tegangan analog dan kemudian diteruskan ke pembagi tegangan guna diselaraskan dari range -15 sd +15 volt ke range 0 sd 5 volt secara proporsional guna operasional ADC 0809. Besaran tegangan ini akan dikonversi kedalam data digital yang akan diteruskan pada IC 89C51 dan kemudian dilanjutkan ke MMI server melalui RS 232. g. Dalam konsep akuisisi data, proses konversi besaran fisis dan penyesuaian tegangan ke dalam format yang dapat dimengerti oleh peralatan berikutnya, dikenal sebagai proses pengkondisian sinyal (signal conditional). h. Data digital dari microcontroller (data terima) akan dibandingkan dengan data entri posisi. Bila kedua data tersebut adalah sama atau : error = data entri posisi - data terima = 0, maka MMI server akan mengirimkan data ke microcontroller untuk menghentikan motor (membuat tegangan analog output pada DAC 0808 = 0 volt). Bila error ≠ 0, maka motor akan berputar terus (MMI server tidak mengeksekusi perintah stop). i. Proses monitoring data terima pada MMI server dilakukan secara real time (diatur melalui mode timer). Pada saat motor berhenti maka posisi terakhir motor akan dimunculkan pada tampilan MMI client, sehingga pengguna dapat memonitor posisi terakhir (current position) dari servo motor. Dari konfigurasi hardware sistem (gambar 10) terlihat bahwa diperlukan pembagi tegangan yang berfungsi untuk konversi rating tegangan keluaran dari potensiometer -15 sd +15 volt ke rating tegangan 0 sd 5 volt untuk keperluan operasional ADC pada modul SK8051. Diasumsikan bahwa konversi tersebut membentuk suatu hubungan linear, sehingga dapat diformulasikan sbb : Gambar 11. Grafik konversi rating tegangan -15 sd 15 volt ke 0 sd 5 volt = + (1) Persamaan (1) tersebut merupakan dasar dalam membuat pembagi tegangan -15 sd +15 volt ke 0 sd 5 volt seperti ditunjukkan pada gambar 12. Op-amp yang digunakan pada pembagi tegangan adalah TL084. Dimana konfigurasi pin out TL084 ditunjukkan pada gambar 13. Risal dan Mukhlisulfatih, Man-Machine Interface (MMI) untuk Sistem Servo Posisi Motor DC 12 13 Motor Driver AMP (U-154) DC Power Supply (U-156) Kabel RS232 Kabel conector Wireless Access Point 2,4 Ghz Notebook (PC Client) Kabel UTP Conector RG 45 14 Voltage divider 6 7 8 9 10 Gambar 12. Pembagi tegangan -15 sd 15 volt ke 0 sd 5 volt Gambar 13. Konfigurasi pin out TL084 Layout (PCB) rangkaian pembagi tegangan sbb : Gambar 14. Layout rangkaian pembagi tegangan Dari blok diagram sistem pada gambar 10, maka berikut ini adalah daftar peralatan dan komponen yang diperlukan guna membangun MMI untuk sistem posisi servo motor : Tabel 2. Daftar Alat dan Komponen MMI No Peralatan 1 PC MMI Server 2 Trainer (MCS-51) DC Motor Servo 3 (U-161) Potensiometer U4 158 5 Dual Attenuator Jml 1 bh 1 set Ket. LSKI LSKI 1 bh LSKI 1 bh LSKI 1 bh LSKI 11 1 bh LSKI 1 bh LSKI 1 bh 1 set 1 unit LSKI LSKI 2 bh Mhsw Mhsw 3 mtr Mhsw 2 bh Mhsw 1 unit Berdasarkan penjelasan blok diagram sistem, maka berikut ini adalah algoritma pemrogramannmya : 1. Start 2. Input IP Address server 3. Input nama client dan password untuk koneksi ke server 4. Input/Pilih mode putaran yang diinginkan 5. Input nilai / entry position (derajat) 6. Jika Input < 0 atau Input > 360 , kembali ke langkah 4. 7. Client Kirim nilai input ke server 8. Konversi nilai derajat ke desimal (melalui kalibrasi). 9. Server mengirim nilai untuk memutar motor ke microcontroller 10. Ambil nilai output / keluaran dari microprocessor dan simpan ke variabel Mterima 11. Bandingkan nilai Mterima dari microprocessor dengan input nilai entry position (terima) 12. Jika nilai terima = Mterima, maka send / kirim nilai 138 (stop motor) ke microcontroller 13. Konversi nilai Mterima dari desimal ke derajat (melalui kalibrasi). 14. Server mengirim nilai derajat ke client 15. Jika ada data, kembali ke langkah 1 16. End Flowchart pemrograman ditunjukkan pada gambar 15. Pemrograman microcontroller MCS-51 dimaksudkan untuk mengatur lalu lintas data yang diterima maupun data yang akan dikirim melalui port serial RS-232 serta data yang dikirim dan diterima dari DAC 0809 dan ADC 0809. MEDIA ELEKTRIK, Volume 4 Nomor 1, Juni 2009 § § § § § § § § § § Password yang digunakan sebagai identifikasi terhadap Nama Client yang meminta akses. Tombol connect digunakan untuk melakukan koneksi ke Server Cycle Mode digunakan untuk pemilihan putaran motor yang mempunyai pilihan : - CW (clock wise) = searah jarum jam - CCW (counter clock wise) = berlawanan jarum jam - Auto = putar otomatis Entry position digunakan menginput posisi yang diinginkan dalam satuan derajat Current position digunakan untuk menerima nilai balik dari server dalam derajat Start digunakan untuk memulai program Stop digunakan untuk menghentikan / stop motor Client status merupakan informasi apakah sudah connect dengan server atau offline Memo digunakan sebagai informasi : - Client yang terhubung ke server - Entry posisi (dalam desimal) yang diminta tiap-tiap client dan mode putaran - Posisi akhir motor Close digunakan untuk mengakhiri program Gambar 15. Flowchart pemrograman Delphi Tampilan antar muka MMI-Client terdiri dari beberapa item, sbb : § Ip address yang digunakan untuk menginput alamat IP Server § Nama Client yang digunakan sebagai indentifikasi client Gambar 16. Flowchart pemrograman microcontroller SK-8051 Risal dan Mukhlisulfatih, Man-Machine Interface (MMI) untuk Sistem Servo Posisi Motor DC Tampilan antar muka MMI-Server (gambar 19) terdiri dari beberapa item, yaitu : § Config digunakan untuk memilih jenis port komunikasi yang akan digunakan § Client monitor digunakan untuk melihat client yang terkoneksi ke server. § Servo position digunakan untuk melihat nilai konversi dari motor proses dalam derajat. § Client request digunakan untuk menerima nilai desimal dari client sesuai dengan posisi yang diinginkan. § Management user digunakan untuk § Close digunakan untuk mengakhiri / menutup program. Gambar 17. Tampilan GUI client 1 PENGUJIAN DAN ANALISIS 1. Konfigurasi/Rangkaian MMI Untuk Servo Posisi Motor DC Konfigurasi MMI untuk servo posisi motor DC disusun dari alat dan komponen (sesuai tabel 2)ditunjukkan pada gambar 20. 2. Pengambilan data untuk menghentikan motor Mode putar CW dan CCW serta Kecepatan putar. Gambar 18. Tampilan GUI client 2 Pengambilan data dilakukan dengan mengamati data digital (desimal) yang dikirim ke microcontroller dan mengukur tegangan output yang dikeluarkan dari DAC 0808 dengan menggunakan voltmeter digital. sedangkan untuk kecepatan motor diukur dengan menggunakan Tachometer (FS 4000 RPM) Dari data yang ada (hal lampiran) maka dapat dilihat karakteristik data digital (desimal) – tegangan DAC 0808, sebagai berikut : Chart Data Digital (Desimal) - Teg Output DAC 0808 15 10 5 0 -5 -10 Gambar 19. Tampilan GUI MMI server 250 200 150 143 141 139 137 135 133 131 120 80 40 0 -15 Gambar 21. Karakteristik decimal- tegangan DAC MEDIA ELEKTRIK, Volume 4 Nomor 1, Juni 2009 Gambar 20. Konfigurasi/ Rangkaian MMI untuk sistem servo posisi 2.1 Menghentikan motor pada 138 : tegangan analog yang dihasilkan adalah = 0,231 volt, motor STOP. Jadi, untuk memberhentikan motor, maka data desimal yang digunakan adalah 138 . 2.2 Mode putar CW dan CCW Pada , 136 : tegangan analog yang dihasilkan adalah = -0,86 volt, motor berputar berlawanan arah jarum jam (CCW). Jadi, untuk memutar motor dengan mode CCW, maka data desimal yang dikirim adalah 136 . Pada, 140 : tegangan analog yang dihasilkan adalah = 1,346 volt, motor berputar searah jarum jam (CW). Jadi, untuk memutar motor dengan mode CW, maka data desimal yang dikirim adalah 140 . 2.3 Kecepatan Putar Penentuan data digital (desimal) untuk mode putar CW dan CCW berorientasi pada kecepatan motor. Dengan kecepatan ≥ 300 rpm atau motor diberi tegangan sebesar ± 0,9 volt, maka data umpan balik dari motor (berupa data digital hasil konversi tegangan dari potensiometer U-158), tidak dapat dibaca secara sekuensial yang berurut oleh MMI server. Untuk keperluan pengaturan kecepatan motor, maka digunakan modul Dual attenuator U-151. Sehingga, disamping digunakan untuk memilih kecepatan motor , maka Dual attenuator dapat digunakan untuk mengamati respon sistem servo posisi untuk berbagai kecepatan motor. Risal dan Mukhlisulfatih, Man-Machine Interface (MMI) untuk Sistem Servo Posisi Motor DC 3. Kalibrasi sistem Dari gambar 9 terlihat bahwa chart konversi posisi – tegangan dari Potensiometer U-158, pada beberapa nilai tidak membentuk hubungan yang linear. Dengan demikian maka berlaku hal yang sama untuk konversi tegangan – data digital pada ADC 0809 (SK-8051). Untuk itu maka perlu dilakukan kalibrasi dalam rangka perbaikan akurasi penunjukan posisi servo motor. 3.1. Kalibrasi Entri Posisi ke Data Digital (Desimal) Kalibrasi dilakukan dengan mengambil data penunjukan posisi servo motor (pada potensiometer U-158 dalam derajat) serta konversi bilangan desimal yang dihasilkan oleh ADC 0809 (pada tampilan MMI server – monitor motor proses). Dari data yang diambil (terlampir), maka dapatlah dibuat chart dari konversi posisi – desimal, sbb : Chart POSISI-DATA DIGITAL(DESIMAL) Potensiometer U-158 & ADC 0809 300 VII VIII IX X XI XII XIII XIV XV XVI XVII XVIII 70 ≤ ≤ 79 80 ≤ ≤ 169 170 ≤ ≤ 179 180 ≤ ≤ 259 260 ≤ ≤ 269 270 ≤ ≤ 279 280 ≤ ≤ 289 310 ≤ ≤ 329 330 ≤ ≤ 339 340 ≤ ≤ 349 350 ≤ ≤ 359 0 dan 360 = 0,8 − 3,00 = 0,7 + 5,00 = 0,6 + 22,0 = 0,7 + 4,00 = 0,6 + 30,0 = 0,8 − 24,0 = 0,7 + 4,00 = 0,8 − 28,0 = 0,7 + 5,00 = 0,8 − 29,0 = 0,6 + 41,0 = 255 Data digital desimal pada bagian II sd XVII dihasilkan melalui metode interpolasi linear sbb : − ( − )+ = (1) − Sebagai contoh, berikut ini adalah persamaan kalibrasi untuk konversi entry posisi – data digital (desimal) dari bagian ke-VIII (180° sd 259°). 250 Dari data untuk kondisi diatas adalah : 200 150 100 50 0 = 130 = 186 360.0° 350.0° 330.0° 310.0° 290.0° 270.0° 250.0° 230.0° 210.0° 190.0° 170.0° 150.0° 130.0° 90.0° 110.0° 70.0° 50.0° 30.0° 10.0° 0.0° Dimasukan kedalam pers (1), sehingga didapat : Gambar 22. Chart konversi posisi – desimal (Konversi data digital ADC0809) Terlihat jelas bahwa beberapa nilai dari konversi posisi - data desimal tidak linear. Oleh karenanya perlu dilakukan kalibrasi Dari data pengujian serta chart posisi – desimal maka daerah kalibrasi sistem dibagi atas beberapa bagian sebagai berikut : Tabel 3. Bagian-bagian kalibrasi entry position ke data digital (desimal). Bagian I II III IV V VI = 180 = 260 Posisi (derajat) (x) 1≤ 4≤ 10 ≤ 20 ≤ 40 ≤ 50 ≤ ≤3 ≤9 ≤ 19 ≤ 39 ≤ 49 ≤ 69 Data Digital (Desimal)(y) =7 = 0,33 + 5,67 = 0,8 = 0,7 = 0,8 = 0,7 + 1,00 + 3,00 − 1,00 + 4,00 186 − 130 ( − 180) + 130 260 − 180 56 56 = − . 180 + 130 80 80 = = 0,7 + 5,00 Dengan, (2) = entry posisi (derajat) – pada tampilan GUI MMI client. = desimal yang dibandingkan Dari kalibrasi sistem maka dapatlah digambarkan chart posisi – desimal, seperti ditunjukkan pada gambar 23. Bagian-bagian kalibrasi inilah yang akan dimasukkan sebagai kondisi-kondisi dalam pemrograman. Sebagai contoh, bila entry posisi servo motor oleh client adalah 250°, maka data desimal yang akan dibandingkan dengan data dari microcontroller SK-8051 (ADC 0809) adalah : Masukkan x = 250 pada pers (2) MEDIA ELEKTRIK, Volume 4 Nomor 1, Juni 2009 = 56 56 . 250 − . 180 + 130 = 180 80 80 XII XIII XIV XV XVI XVII Chart Posisi-Desimal (Konversi Digital) Potensiometer U-158 - & ADC 0809 300 200 ≤ ≤ 227 228 ≤ ≤ 235 236 ≤ ≤ 242 243 ≤ ≤ 250 250 ≤ ≤ 254 y = 255 250 200 150 100 50 355.0° 340.0° 320.0° 300.0° 280.0° 260.0° 240.0° 220.0° 200.0° 180.0° 160.0° 140.0° 120.0° 80.0° 100.0° 60.0° 40.0° 5.0° 20.0° 0.0° 0 Gambar 23. Chart posisi – desimal hasil kalibrasi Bandingkan dengan, konversi derajat ke desimal tanpa dikalibrasi ; 250 = . 255 = 177,08 ≈ 177 360 dan bandingkan dengan hasil pengambilan data dari microcontroller SK-8051 (ADC 0809) ; = 180 Posisi derajat servo positiion (server) bagian I sd XVI dihasilkan melalui kebalikan dari persamaan kalibrasi pada tabel 3. Sebagai contoh, berikut ini adalah persamaan kalibrasi untuk konversi data digital (desimal) umpan balik dari motor ke posisi derajat (servo position di server) bagian ke-IX (130 sd 185 ) karena, data 130 sd 185 adalah berkenaan dari Bagian VIII pada tabel 3, maka pers kalibrasi yang digunakan adalah ; 56 56 − . 180 + 130 80 80 80 80 = + 180 − 130 56 56 atau, = Dengan, Pada saat posisi yang diinginkan telah dicapai, maka nilai posisi (derajat) pada server juga didapat dengan konversi desimal-derajat menggunakan persamaan sebagai berikut : Tabel 4. Bagian-bagian Kalibrasi data digital (desimal) dari motor ke servo posisi (server) I II III IV V VI VII VIII IX X XI − 5,71 + 35,0 − 7,14 + 36,25 + 36,25 360 = 1,43 − 5,71 3.2. Kalibrasi Data Digital (Desimal) Umpan Balik Motor Ke Servo Position (server) Bagian = 1,43 = 1,25 = 1,43 = 1,25 = 1,25 =0 DataDigital (Desimal) (y) 7≤ ≤8 9 ≤ ≤ 16 17 ≤ ≤ 30 31 ≤ ≤ 38 39 ≤ ≤ 52 53 ≤ ≤ 60 61 ≤ ≤ 123 124 ≤ ≤ 129 130 ≤ ≤ 185 186 ≤ ≤ 191 192 ≤ ≤ 199 Posisi (Derajat) (x) = 3 − 17 = 1,25 − 1.25 = 1,43 = 1,25 = 1,43 = 1,25 = 1,43 = 1,67 = 1,43 = 1,67 = 1,25 − 4,29 + 1,25 − 5,71 + 3,75 − 7,14 − 36,67 − 5,71 − 50,0 + 30,0 (3) = Servo position ( server) atau current position (client) = desimal dari motor (monitor motor proses pada server) Sebagai contoh, bila data digital dari ADC pada monitor motor proses adalah 180 , maka konversi ke derajat dengan menggunakan pers. 3 (servo position atau current position), adalah sbb : ∴ = 180 = 1,43.180 − 5,71 = 251,42 ≈ 251° Bandingkan dengan, konversi desimal ke derajat tanpa dikalibrasi ; 180 . 360 = 254,11 ≈ 254° 255 4. Pengujian 4.1. Prosedur Menjalankan MMI = Prosedur menjalankan MMI untuk sistem servo posisi motor DC adalah sebagai berikut : 1. Menyusun rangkaian MMI sebagaimana yang ditunjukan pada gambar 20. 2. Download program mikrokontroler pada modul trainer SK-8051 melalui port serial. Risal dan Mukhlisulfatih, Man-Machine Interface (MMI) untuk Sistem Servo Posisi Motor DC 3. Aktifkan tampilan antarmuka MMI server dan MMI client. 4. Masukan nama user dan password yang sesuai dengan manajemen user di server. 5. Menjalankan MMI untuk sistem servo posisi motor DC. 4.2. MMI Client Pengujian dilakukan dengan mengimplementasikan semua fungsi dari itemitem yang ada pada tampilan antarmuka MMI – client. Hasil pengujian dirangkum pada tabel berikut : Tabel 5. Pengujian Tampilan GUI MMI client HASIL PENGUJIAN NO 1 2 3 ITEM IMPLEMENTASI IP Address Nama client Tombol connect Input alamat IP server Identifikasi nama client Melakukan koneksi ke server CW (searah jarum jam) CCW (berlawanan arah jarum jam) 4 Cycle mode Auto ( automatis sesuai dengan jangkauan yang terdekat) 5 Entry position Input posisi yang diinginkan (derajat) Penunjukan posisi pada saat motor 6 Current position dihentikan (Stop) 7 Tombol Start Memulai pencarian posisi 8 Tombol Stop Menghentikan motor Status client apakah sudah atau 9 Client status belum terhubung dengan server 10 Memo Informasi client yang melakukan proses koneksi dengan motor Menutup window GUI (mengakhiri 11 Close program) MMI client þ þ þ þ þ Tidak Berfungsi o o o o o þ o þ o þ o þ þ o o þ o þ o þ o Berfungsi 4.4. Akses Server Oleh Beberapa Client secara bersamaan Pada saat client Login mengakses MMI server secara bersamaan, maka MMI server menerima sesuai dengan User yang terdaftar. Pengontrolan Servo posisi tidak dapat dilakukan Client secara bersamaan tetapi secara bergantian. 4.5. Pengujian servo posisi Pengujian dilakukan dengan meng-entry beberapa posisi yang diinginkan dan mendata posisi motor yang terbaca pada potensiometer U-158 dan servo posisition (server) atau current position (client). Hasil pengujian dapat dilihat pada lampiran. 5. Tingkat Kesalahan (Error) Tingkat kesalahan dari sistem dilakukan dengan membandingkan data entri posisi dengan hasil penunjukan posisi pada potensiometer U-158 motor serta posisi pada server position untuk beberapa nilai dan menghitung nilai rata-rata penyimpangan menurut formulasi berikut ini, ̅= ∑ (4) ℎ 5.1. Error pada mode Cycle CW Dari data hasil pengujian (lampiran), maka tingkat kesalahan rata-rata adalah : 4.3. MMI Server Pengujian dilakukan dengan mengimplementasikan semua fungsi dari itemitem yang ada pada tampilan antarmuka MMI – server. Hasil pengujian dirangkum pada tabel berikut : Tabel 6. Pengujian Tampilan GUI MMI server 1. Antara entry position dengan penunjukan posisi riil motor = 36 = 0,878° 41 2. Antara entry position dengan penunjukan pada servo position atau current position HASIL PENGUJIAN NO ITEM 1 2 Open/Close Config 3 Tombol LED 4 Manajemen user 5 Servo Position 6 Client 7 Motor Proses 8 Client request 9 Close IMPLEMENTASI Membuka/Menutup port memilih jenis port komunikasi yang akan digunakan Indikator status server Berubah menjadi merah saat server telah on. Mengecek, menambah, menghapus user yang terkoneksi ke server Informasi Posisi motor (konversi desimal -derajat dari motor proses) Monitoring antrian client yang terkoneksi ke server Monitoring nilai posisi motor dalam desimal (real time) Informasi posisi yang dinginkan oleh client (desimal) Menutup window GUI (mengakhiri program) MMI server Berfungsi Tidak Berfungsi þ o þ o þ o þ o þ o þ o þ o þ o þ o = 61 = 1,488° 41 5.2. Error pada mode Cycle CCW Dari data hasil pengujian (lampiran), maka tingkat kesalahan rata-rata adalah : 1. Antara entry position dengan penunjukan posisi riil motor 51 = 1,244° 41 2. Antara entry position dengan penunjukan pada servo position atau current position. = MEDIA ELEKTRIK, Volume 4 Nomor 1, Juni 2009 47 = = 1,146° 41 SIMPULAN DAN SARAN Berdasarkan hasil pengamatan dan analisis, maka dapat disimpulkan sebagai berikut: 1. Dengan tambahan perangkat pembagi tegangan, maka dengan fasilitas dan peralatan yang tersedia pada LSKI UNHAS, dapatlah dibangun suatu MMI yang berfungsi sebagai sistem servo posisi motor DC, sistem monitoring dan akuisisi data (data acquisition). 2. Model MMI yang dibangun adalah tanpa kendalian dengan kecepatan putar rendah. Dimana data masukan dibandingkan dengan data umpan balik dari motor. Bila kedua data tersebut tidak sama maka motor akan terus diputar. Bila kedua data sama, maka motor akan dihentikan. 3. MMI ini dirancang agar dapat mengakomodasi lebih dari satu client yang terkoneksi melalui jaringan komputer. Bila MMI diakses secara bersamaan oleh beberapa client, maka MMI hanya akan mengeksekusi perintah client yang terlebih dahulu diterima server. 4. Pembagi tegangan merupakan bagian dalam proses pengkondisian sinyal yang berfungsi untuk mengkonversi rating keluaran tegangan −15 + 15 dari potensiometer U-158 (sensor posisi), menjadi rating 0 5 , sebagai masukan pada ADC 0809, dalam rangka konversi data analog ke digital. 5. Untuk mengurangi tingkat kesalahan penunjukan posisi, maka dilakukan kalibrasi baik untuk konversi posisi (derajat) ke data desimal maupun dari data desimal ke posisi (derajat). 6. Kesalahan (error) disebabkan oleh : ketidak sempurnaan alat yang digunakan (terutama karakteristik yang tidak linear dari potensiometer U-158, kecepatan motor dan delay time pada saat menghentikan motor . Berdasarkan kesimpulan di atas, disarankan: 1. Mengembangkan sistem MMI untuk servo posisi motor DC dengan kecepatan tinggi. 2. Mengembangkan sistem MMI untuk servo posisi motor DC dengan unit pengendali. 3. Kalibrasi peralatan perlu dilakukan sebelum digunakan. 4. Memperbaiki tampilan antarmuka MMI sehingga lebih menarik DAFTAR PUSTAKA Benyamin, C., Kuo, 1998. Teknik Kontrol Otomatis, Edisi Indonesia, Simon & Schuster (Asia) Pte Ltd. ED Co. Ltd., ED-4400B DC SERVO TRAINER Instruction Manual Johnson, Curtis D., 1977. Process Control Instrumentation Technology, John Wiley & Sons: New York. Martina, Inge, Ir., 2002. Pemrograman Internet Dengan Delphi, PT. Elex Media Komputindo: Jakarta Ogata, Katsuhiko, 1996. Teknik Kontrol Automatik, Jilid 1, Edisi Kedua, PT Penerbit Erlangga. SK LAB, ONE-CHIP MICROPROCESSOR TRAINER. 8 BIT CONTROL Rachmad Setiawan, 2008. Teknik Akuisisi Data, Graha Ilmu: Yogyakarta. Tim Lab. Mikroprosessor BLPT Surabaya, 2007. Pemrograman Mikrokontroller AT 89S51 Dengan C / C++ dan Assembler, Penerbit CV. ANDI OFFSET: Yogyakarta.