TUGAS AKHIR DESAIN DAN IMPLEMENTASI GRAPHIC USER INTERFACE UNTUK MESIN CNC DENGAN TAMPILAN 3-D MENGGUNAKAN WPF DAN VISUAL BASIC 2008 Oleh Ade Fadli NIM : 13204144 PROGRAM STUDI TEKNIK ELEKTRO SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA INSTITUT TEKNOLOGI BANDUNG 2009 DESAIN DAN IMPLEMENTASI GRAPHIC USER INTERFACE UNTUK MESIN CNC DENGAN TAMPILAN 3-D MENGGUNAKAN WPF DAN VISUAL BASIC 2008 disusun oleh : Ade Fadli Tugas Akhir ini telah diterima dan disahkan Sebagai persyaratan untuk memperoleh gelar SARJANA TEKNIK ELEKTRO pada PROGRAM STUDI TEKNIK ELEKTRO SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA INSTITUT TEKNOLOGI BANDUNG Bandung, Juni 2009 Disetujui oleh : Pembimbing, Dr. Ir. Hilwadi Hindersah, MS.c. NIP : 131679356 ABSTRAK Mesin CNC (Computerized Numerical Control) adalah mesin yang mengubah gerak putaran motor menjadi gerak translasi atau rotasi dari objek yang dikendalikan. Untuk dapat mengendalikan posisi objek kendalian secara akurat, diperlukan bantuan grafik, baik 2-D atau 3-D, sebagai representasi dari posisi objek-objek mesin CNC sebenarnya. Pada Tugas Akhir ini dirancang dan diimplementasikan suatu Graphic User Interface (GUI) dengan tampilan 3D yang mengendalikan mesin CNC dengan tujuh derajat kebebasan (defree of freedom). GUI ini menampilkan grafik animasi mesin CNC dari berbagai sudut pandang, yaitu sudut pandang pengguna, atas, depan, dan samping. Kemudian, pengguna dapat mengatur posisi tujuan objek kendalian mesin CNC yang direpresentasikan oleh grafik 3D. Grafik 3-D dibuat dengan menggunakan software Blender versi 2.48.a. Blender merupakan alat bantu untuk membuat grafik 3-D pada WPF. Kelebihan WPF adalah dukungan terhadap grafik 2-D, 3-D, audio, dan video, sehingga programmer bisa menampilkan grafik 3-D dengan mudah. Selanjutnya WPF dapat ditambahkan pada VB Windows Form Application, yang digunakan untuk mengontrol grafik 3-D dan pergerakan mesin. Selanjutnya, komputer berkomunikasi dengan banyak mikrokontroler dengan menggunakan MultiProcessor Communication Mode (MPCM) AtTiny2313. Grafik 3-D bermanfaat sebagai preview sebelum mesin dijalankan, dan sebagai tampilan pergerakan mesin ketika mesin sedang dijalankan, sehingga pengguna bisa mengendalikan motor dengan lebih baik. Dari pengujian, didapatkan error maksimum rata-rata 15.73%, error minimum rata-rata 0,66%. Kata kunci : CNC, GUI, 3-D, MPCM, WPF, VB i ABSTRACT CNC (computerized numerical control) is a machine that transforms the rotational movement of a motor to a translational or rotational movement of the controlled object. To control the object’s position as accurate as possible, the representation of the real object positions in form of graphic, either 2-D or 3-D, is needed. This final project will implement a GUI (Graphical User Interface) with 3-D display to control a CNC machine with 7 degree of freedom. This GUI shows the machine’s animated graphic from several perspectives. They are user, front, above, and sides perspectives. Thus, user can control the object’s position that represented by the 3-D graphic display. The 3-D graphic is created with a software named Blender ver. 2.48.a. Blender is a third-party tool to create 3-D graphic in WPF. The excesses of WPF are supporting video, audio, 2-D and 3-D graphics hence programmer can create 3-D graphic easily. Then, WPF is added to VB Windows Form Application that used to control the 3-D graphic of the machine’s movement. After that, the computer communicates with many microcontrollers using Multi-Processor Communication Mode (MPCM) AtTiny2313. The 3-D graphic is useful as a preview before the machine is turned on, and as a display of the machine’s movement, so user can control the motor better. In testing for move in translation and rotation distance of CNC machine, maximum average error is 15.73%, minimum average error is 0.66% Keywords: CNC, GUI, 3-D, MPCM, WPF, VB ii KATA PENGANTAR Puji syukur penulis panjatkan ke hadirat Allah SWT, yang atas rahmat dan karunia Nya penulis dapat menyelesaikan Tugas Akhir ini. Selama melaksanakan tugas akhir ini, penulis mendapat bantuan dan dukungan dari berbagai pihak. Oleh karena itu, penulis ingin mengucapkan terima kasih kepada : 1. Bapak, Ibu, dan adik tercinta, yang senantiasa memberikan semangat dan doanya; 2. Bapak Dr. Ir.Hilwadi Hindersah, MS.c., selaku pembimbing, yang telah memberikan bimbingan dan semangat dalam menyelesaikan tugas akhir ini 3. Bapak Yayan, yang telah memberikan bimbingan dan materi tentang mesin CNC dalam menyelesaikan tugas akhir ini. 4. Dosen-dosen program studi Teknik Elektro, yang telah memberikan pendidikan dan pengetahuan selama perkuliahan; 5. Seluruh staf dan karyawan Laboratorium Sistem Kendali dan Komputer, yang telah memberikan banyak bantuan; 6. Teman-teman Teknik kendali Chandra, Saska, C.Munir, Risman, Rizky, Obi, Zakiyullah, Husnul, Zein, Istantyo, Khrisna, Spiegel, dsb; 7. Teman-teman di Teknik Elektro khususnya angkatan 2004 8. dan semua pihak yang membantu, yang tidak dapat penulis sebutkan satu persatu. Penulis menyadari bahwa tugas akhir ini bukanlah tanpa kelemahan, untuk itu kritik dan saran sangat diharapkan. Bandung, Juni 2009 Penulis iii DAFTAR ISI ABSTRAK………………………………………………………………… i ABSTRACT……………………………………………………………….. ii KATA PENGANTAR…………………………………………....... ……... iii DAFTAR ISI……………………………………………………………… iv DAFTAR GAMBAR………………………………..……………………. vi DAFTAR TABEL………..……………………………………………….. vii DAFTAR LAMPIRAN…………………………………………………… viii BAB I PENDAHULUAN…………………………………………………. 1 1.1 Latar Belakang……………………………………………………… 1 1.2 Perumusan Masalah……………………………………………… 1 1.3 Pembatasan Masalah …………………………………………….. 2 1.4 Tujuan……………………………………………………………. 2 1.5 Metodologi Penelitian…………………………………………….. 2 1.6 Sistematika Penulisan……………………………………………. 3 BAB II DASAR TEORI…………………………………………………… 5 2.1 Bagian Mesin CNC…………………………………………………. 5 2.2 Komunikasi serial…………………………………………………… 6 2.2.1 Tata cara komunikasi data serial………………………………. 6 2.2.2 Karakteristik Sinyal Port Serial……………………………….. 7 2.2.3. Flow Control…………………………………………………… 7 2.2.4 Konfigurasi Port Serial………………………………………… 7 2.2.5 Register Serial………………………………………………….. 9 2.3 Multi-Processor Communicaton Mode (MPCM)…………………… 12 2.3.1 Prosedur Multi-Processor Communicaton Mode (MPCM)…… 13 2.4 Windows Presentation Foundation…………………………………. 14 2.4.1 Arsitektur WPF………………………………………………… 16 2.4.2 Hirarki Class…………………………………………………… 16 2.4.3 3-D Drawing…………………………………………………… 17 2.4.4 Satuan WPF…………………………………………………….. 18 2.5 Blender………………………………………………………………. 19 iv BAB III SPESIFIKASI dan PERANCANGAN SISTEM………………… 21 3.1 Spesifikasi Sistem…………………………………………………… 21 3.1.1 Spesifikasi Perancangan Grafik 3-D dari Mesin CNC…… 24 3.1.2 Spesifikasi Perancangan Graphic User Interface………………. 24 3.1.3 Spesifikasi Perancangan Komunikasi Komputer-Mesin CNC…. 24 3.2 Perancangan……………………………………………………..…. 25 3.2.1 Perancangan Model Animasi 3-D dari Mesin CNC…………… 25 3.2.2 Perancangan Graphic User Interface…………………………… 28 3.2.3 Perancangan Komunikasi Data Komputer dengan CNC………. 34 BAB IV PENGUJIAN DAN ANALISA…………………………………. 38 4.1 Pengujian Perintah STEP LEFT dan STEP RIGHT……………….. 38 4.2 Pengujian Perintah Menuju nilai enkoder tertentu…………………. 39 4.3 Menampilkan pergerakan Mesin pada grafik 3-D………………….. 41 BAB V KESIMPULAN…………………………………………………… 44 5.1 Kesimpulan………………………………………………………….. 44 5.2 Saran………………… ………………………………………………45 DAFTAR PUSTAKA ……………………………………………………... 46 v DAFTAR GAMBAR Gambar 2.1 Skema Bagian Mesin CNC………………………………………. 5 Gambar 2.2 Arsitektur dari WPF……………………………………………... 16 Gambar 2.3 Fundamental class dari WPF ………………… 17 Gambar 2.4 Tampilan Blender……………………………………………….. 20 Gambar 2.5 Mengekspor Blender ke XAML………………………………… 20 Gambar 3.1 Mesin CNC yang akan dikendalikan……………………………. 22 Gambar 3.2 Urutan Pengerjaan perangkat lunak pengendali Mesin CNC…… 23 Gambar 3.3 Pembuatan animasi 3-D mesin CNC menggunakan Blender…… 25 Gambar 3.4 Hirarki UserControl pada WPF…………………………………. 27 Gambar 3.5 Penentuan Sumbu X-Y-Z mesin CNC…………………………... 27 Gambar 3.6 Tampilan Windows Form Application pengendali CNC………… 29 Gambar 3.7 Tampilan model CNC dalam berbagai sudut pandang…………... 30 Gambar 3.8 Kontrol untuk memperbesar dan memperkecil grafik 3-D……… 31 Gambar 3.9 Diagram alir perintah menggerakkan mesin CNC………………. 32 Gambar 3.10 Diagram Komunikasi Komputer dengan tujuh buah 35 mikrokontroler……………………………………………………. Gambar 3.11 Diagram alir serial………………………………………………... 37 Gambar 4.1 Grafik 3-D saat enkoder = 0……………………………………… 42 Gambar 4.2 Grafik 3-D saat enkoder = 20520 (pergerakan turun ke bawah)…. 42 Gambar 4.3 Grafik saat enkoder = 32063……………………………………... 43 vi DAFTAR TABEL Tabel 2.1 Konfigurasi Port Serial…………………………………… 8 Tabel 2.2 Register Port Serial……………………………………….. 9 Tabel 2.3 Baudrate Serial Komputer………………………………... 10 Tabel 2.4 Interupsi Enable Register…………………………………. 10 Tabel 2.5 Interupt Identification Register…………………………… 11 Tabel 2.6 Register Line Control……………………………………... 12 Tabel 2.7 Keunggulan Windows Presentation Foundation…………. 15 Tabel 3.1 Penentuan sumbu X-Y-Z mesin CNC……………………. 28 Tabel 3.2 Kontrol Windows Untuk mengendalikan mesin CNC…… 32 Tabel 3.3 Instruksi Komputer – Modul Kontroler NC Drill………… 36 Tabel 4.1 Perbandingan perpindahan dengan nilai enkoder………… 38 Tabel 4.2 Pergerakan LEFT dan RIGHT masing-masing sumbu…… 39 Tabel 4.3 Hasil Pengujian Motor 02………………………………… 40 Tabel 4.4 Hasil Pengujian Motor 03………………………………… 40 Tabel 4.5 Hasil Pengujian Motor 06………………………………… 40 Tabel 4.6 Hasil Pengujian Motor 07………………………………… 41 vii DAFTAR LAMPIRAN LAMPIRAN A ………………………………………………. 47 LAMPIRAN B ……………….…………………………….. 55 LAMPIRAN C ……………………….…………………….. 60 LAMPIRAN D ……………………………….…………….. 81 viii