BAB 3 PERANCANGAN SISTEM 3.1
Perangkat Keras Pada penelitian ini, menggunakan beberapa perangkat keras. Secara sederhana, ditunjukan pada blok diagram dibawah ini.
Gambar 3.1 Blok Diagram Perangkat Keras
3.1.1
Komputer Komputer yang digunakan menggunakan operating sistem Windows XP. Komputer tersebut digunakan untuk membuat program dengan bantuan software AVR Studio 4 dan mem-burn program yang telah dibuat dengan aplikasi dari USBasp. Selain itu untuk melakukan tuning PID peneliti mengggunakan aplikasi Servo Tuning yang tersedia secara open-source pada website www.cnczone.com.
28
29
Untuk menjalankan motor servo DC pada mesin CNC, menggunakan komputer dengan operating sistem Linux Ubuntu dengan bantuan software EMC2.
3.1.2
Pengendali Motor DC Pengendali motor DC yang digunakan adalah sebagai berikut.
Gambar 3.2 Skematik Pengendali Motor Servo DC Driver motor tersebut di sediakan secara open-source pada forum komunikasi www.cnczone.com.
3.1.3
USBasp USBasp berfungsi untuk menghubungkan mikrokontroller yang terdapat pada modul driver motor servo DC. USBasp berfungsi untuk mem-burn
30
mikrokontroller yang terdapat pada modul pengendali motor servo DC via USB port.
Gambar 3.3 Skematik USBasp Sumber : http://www.fischl.de/usbasp/
3.1.4
Komunikasi Serial Komunikasi serial digunakan untuk mensetting PID pada program di dalam mikrokontroler.
31
Gambar 3.4 Skematik Komunikasi Serial 3.1.5
Paralel Komunikasi parallel digunakan untuk mengirim data dari komputer ke kontroler dan sebaliknya. Data yang dikirim komputer ke mikrokontroler merupakan perintah Dir dan Step untuk menggerakkan motor. Data yang diterima komputer dari mikrokontroler adalah posisi dari motor yang digerakkan untuk menggambarkan posisi motor pada program EMC2.
Gambar 3.5 Komunikasi Paralel pada Skematik Pengendali Motor Servo DC
32
3.1.6. Motor Servo DC Motor Servo DC yang digunakan pada mesin CNC bermerek TAMAGAWA SEIKI CO., LTD. Type TS1446N5 yang memiliki tegangan maksimum sebesar 43 Volt dan Arus sebesar 5,1 ampere. Motor tersebut memiliki resolusi sebanyak 200 clock/turns, artinya untuk berputar 1 putaran penuh dibutuhkan clock sebanyak 200 kali.
Gambar 3.6 Motor Servo DC
3.1.7
Schmitt Trigger Rangkaian Schmitt trigger digunakan untuk memperbaiki kualitas sinyal. Sinyal yang dihasilkan encoder pada motor servo memiliki tegangan yang sangat kecil, 0,49 V. Rangkaian ini menggunakan IC 74LS14.
33
Gambar 3.7 Skematik rangkaian Schmitt Trigger
3.1.8
Differensial Line Driver Rangkaian differensial digunakan untuk menghilangkan noise yang dapat terjadi pada sinyal. Kami menggunakan rangkaian differensial untuk memastikan sinyal yang dikirim dari komputer ke pengendali motor servo DC tidak memiliki noise. IC differensial yang digunakan adalah IC AM26LS31 sebagai Driver dan IC AM26LS32 sebagai Reciever.
Gambar 3.8 Skematik Differential Line Driver and Reciever
34
3.2
Perancangan Perangkat Keras Untuk membuat Program untuk mikrokontroller yang terdapat pada pengendali motor servo DC, peneliti menggunakan software AVR Studio 4 dengan menggunakan bahasa assembly. Program yang telah dibuat, di-compile dengan program AVR Studio 4 untuk menghasilkan file .hex. File hex. Tersebut dikirim ke mikrokontroller yang terdapat pada driver motor servo DC dengan bantuan board USBasp. Setelah program di-burn kedalam mikrokontroller, lalu kami mentuning PID dengan software Servo Tuning yang tersedia secara opensource pada forum komunikasi www.cnczone.com. Untuk men-tuning PID nya, kami menghubungkan pengendali motor servo DC dengan serial port yang sudah disediakan pada board pengendali motor servo DC. Dengan software tersebut, kami juga dapat melihat grafik PID dan mencari rise time, settling time, dan over shoot nya. Encoder dari servo motor berfungsi untuk mengirim sinyal error kembali ke pada board pengendali motor servo DC. Gambar berikut menunjukkan block diagram dari sistem pembacaan encoder.
Gambar 3.9 Blok Diagram Sistem Encoder
35 Pengendali motor servo DC berfungsi untuk menggerakan motor DC baik searah jarum jam maupun berlawanan arah jarum jam. Encoder yang terdapat pada motor servo DC berfungsi untuk mengirim sinyal error kembali ke pengendali motor servo DC. Misalnya saat pengendali motor servo DC memerintahkan motor diam, tidak berputar, lalu ada sesuatu yang menggerakan motor tersebut ke kiri, makan sinyal error tersebut akan dikirimkan oleh encoder ke pengendali motor servo DC yang akan memerintahkan motor untuk berputar ke kanan sehingga posisi motor selalu di posisi yang sama. Pada rangkaian encoder, terdapat rangkaian Schmitt trigger yang dipasangkan sebelum sinyal error masuk ke driver motor servo DC. Rangkaian Schmitt trigger tersebut berfungsi untuk menaikan tegangan sinyal error tersebut karena tegangan yang keluar dari encoder sangat kecil, berkisar 0,5 volt. Rangkaian Schmitt trigger menaikan sinyal error sehinga tegangan nya naik menjadi 3 volt sampai 4 volt. Blok diagram dari rangkaian Schmitt Trigger adalah sebagai berikut.
Gambar 3.10 Blok Diagram Schmitt Trigger dalam sistem
36
3.3
Perancangan Perangkat Lunak
3.3.1
Perancangan Program Pada Modul Driver Motor Servo DC Flowchart dari program yang kami buat adalah sebagai berikut.
Gambar 3.11 Flowchart Program
Foreground process adalah proses di dalam program yang akan berjalan ketika mendapatkan perintah dari komputer. Ketika pengendali motor servo dc dinyalakan, semua parameter di-reset, mengembalikan pada kondisi awal. Setelah inisialisasi program akan menunggu perintah dari komputer. Ketika mendapatkan perintah, perintah tersebut akan dijalankan. Setelah dijalankan program akan looping kembali dan menunggu perintah berikutnya. Background process adalah proses di dalam program yang akan berjalan secara paralel bersamaan dengan foreground process. Background process selalu
37
berjalan tanpa perintah dari komputer. Background process merupakan proses yang membaca sinyal dari encoder untuk membaca dan menyimpan posisi motor. Listing dari program yang dibuat, terdapat pada lampiran.