MMI, Servo - Teknik Elektro UNM

advertisement
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.
Download