BAB III PERANCANGAN SISTEM 3.1. Rancangan Sistem Secara Keseluruhan Pada dasarnya Pengebor PCB Otomatis ini dapat difungsikan sebagai sebuah mesin pengebor PCB otomatis dengan didasarkan dari koordinat hole-nya yang terdiri dari koordinat X dan koordinat Y. Koordinat hole diperoleh melalui file gerber dari EAGLE (software untuk mendesain PCB). Masukan dari koordinat tiap hole inilah yang dijadikan referensi untuk pergerakan lenganlengan koordinat X dan koordinat Y. Untuk proses kerja dari sistem Pengebor PCB Otomatis ini yang pertama kali yaitu membuka desain board PCB yang sudah dibuat dalam software EAGLE, kalau belum ada desain, maka langkah pertama yaitu membuat desain board PCB dengan menggunakan software EAGLE. Setelah itu di dalam EAGLE ada fitur CAM untuk menghasilkan file gerber yang fungsinya akan memberikan koordinat-koordinat hole yang akan dibor nantinya. File gerber tersebut memiliki format file *.drd. Dari sini source file tersebut sudah dapat digunakan untuk melakukan pengeboran lebih lanjut. Proses selanjutnya yaitu membuka program antarmuka sebagai pengendali utama di dalam komputer untuk melakukan pengeboran. Kemudian penggunaan antarmuka ini untuk mengakses file *.drd tersebut sehingga dapat mengirim suatu karakter tertentu ke dalam Mikrokontroler ATMEGA 32 secara serial. Oleh Mikrokontroler ATMEGA 32, karakter-karakter yang dikirimkan dari komputer akan diproses menjadi instruksi tertentu untuk menggerakkan tiap motor langkah di tiap koordinatnya. Setelah satu koordinat dari hole telah dikerjakan oleh lengan-lengan koordinat pada mekanik, maka koordinat z akan bergerak ke bawah untuk melakukan pengeboran pada PCB sesuai dengan koordinat yang diminta. Setelah selesai melakukan pengeboran, 21
22 maka sistem akan menunggu koordinat selanjutnya sampai semua koordinat terpenuhi. Jika sudah selesai, maka sistem akan berhenti dengan status siap menerima perintah pengeboran dari pengguna. Untuk blok diagram secara keseluruhan seperti pada Gambar 3.1. Gambar 3.1. Blok diagram sistem pengebor PCB otomatis
23 Keterangan tiap bagian dalam diagram blok tersebut akan dijelaskan sebagai berikut: 1. Komputer Komputer merupakan pengontrol utama dalam sistem pengeboran PCB otomatis ini. Di dalam komputer sendiri melibatkan 2 software yaitu EAGLE dan Delphi. EAGLE digunakan untuk mendapatkan file gerber yang isinya koordinat-koordinat hole dari board yang akan dibor. Kemudian Delphi sendiri digunakan untuk membuat sebuah antarmuka yang nantinya akan digunakan untuk memproses koordinat yang masuk dari file gerber untuk mengirimkan karakter tertentu pada ATMega 32 secara serial. 2. ATMega 32 Mikrokontroler ATMega 32 akan menerima karakter tertentu dari komputer, kemudian akan menerjemahkannya ke dalam instruksi tertentu sesuai dengan karakter yang diterima. Lalu instruksi ini yang nantinya akan menggerakkan mekanik sesuai dengan koordinat yang diproses. 3. Lengan Mekanik Lengan mekanik ini dimaksudkan letak pergerakan mekanik untuk tiap koordinat. Sehingga terdapat 3 buah lengan mekanik untuk koordinat X, Y dan Z. Tiap lengan mekanik terdapat motor langkah sebagai penggerak utamanya dan juga driver motor langkah untuk menggerakkan motor langkah sesuai dengan masukan yang diberikan dari ATMEGA 32. 3.2. Rancangan Perangkat Keras (Hardware) Rancangan perangkat keras atau hardware yang digunakan dalam sistem pengebor PCB otomatis, terbagi dalam beberapa bagian antara lain: rancangan board rangkaian elektronik, sampai pada mekaniknya. Untuk rancangan board elektronik sendiri akan dibagi ke beberapa bagian yaitu rancangan sistem
24 minimum dari mikrokontroler ATMega 32, AVR CDC dan driver motor langkah. Untuk lebih jelasnya, bagian-bagian tersebut akan dibahas dalam sub bab berikut ini. 3.2.1. Rancangan Rangkaian Elektronik Rangkaian yang paling utama digunakan pada sistem pengebor PCB otomatatis ini adalah rangkaian sistem minimum, rangkaian AVR CDC dan rangkaian driver motor langkah. 3.2.1.1. Rancangan Sistem Minimum Mikrokontroler ATMega 32 Untuk Rancangan rangkaian sistem minimum digunakan mikrokontroler ATMega 32, karena jenis mikrokontroler ini tergolong murah, mudah didapat di pasaran, mempunyai fitur yang cukup lengkap, dan mempunyai memory 32 kbyte yang sudah lebih dari cukup digunakan dalam sistem yang akan dibuat. Mikrokontroler ini digunakan sebagai penerima perintah berupa karakter yang dikirim dari komputer melalui komunikasi serial dan juga sebagai pengendali semua keluaran untuk mengontrol pergerakan motor langkah. Kristal yang digunakan sebesar 12 Mhz, kemudian digunakan juga beberapa kapasitor dan resistor. Kemudian catu dayanya diperoleh melalui IC 7805 yang akan menghasilkan tegangan TTL sebesar 5 volt untuk mensuplai tegangan mikrokontroller ATMega 32. Untuk rangkaian sistem minimum ini, ditunjukkan pada Gambar 3.2.
25 Gambar 3.2. Sistem minimum mikrokontroler ATMega 32 Seluruh bagian sistem akan terhubung dengan mikrokontroler sebagai pengendali motor langkah. Tiap bagian modul akan terhubung pada port yang telah ditentukan, termasuk juga untuk menjembatani komunikasi antara komputer dan mikrokontroler digunakan AVR CDC, seperti diketahui bahwa komputer atau notebook saat ini jarang yang dibekali dengan port serial namun sudah memakai teknologi Universal Serial Bus (USB). Dengan AVR CDC, rangkaian Mikrokontroller AT Mega 32 mendapatkan perintah dari antar muka Delphi yang kemudian diteruskan ke Driver Motor Stepper L298.
26 3.2.1.2. Rancangan Rangkaian Driver Motor Langkah Untuk rancangan rangkaian driver motor langkah, digunakan sebuah IC L298 yang merupakan sebuah chip Dual Full-Bridge Driver dengan nilai arus yang besar dan digunakan untuk mengendalikan beban induktif seperti relay, solenoid, motor DC dan juga motor langkah. Chip ini didesain untuk dapat mengendalikan satu langkah motor (2-coil) sehingga akan bergerak sesuai dengan apa yang diinginkan. Sedangkan rangkaian driver yang dibuat untuk menggerakkan motor langkah tipe bipolar. Masukan logika ke chip ini berasal dari mikrokontroler dengan besar tegangan TTL. Dan untuk tegangan Vs sebesar 12 volt berasal dari catu daya. Tegangan 12 volt ini didasarkan pada tipe motor langkah yang digunakan. Karena motor langkah yang akan digunakan membutuhkan tegangan kerja 12 volt, maka Vs yang dibutuhkan 12 volt juga. Untuk rangkaian drivernya, ditunjukkan pada Gambar 3.3. Gambar 3.3. Skematik driver motor langkah
27 3.2.1.3. Rancangan Rangkaian AVR CDC Kemudian untuk rangkaian AVR CDC, digunakan sebuah mikrokontroler ATMEGA 8 dengan kristal 12 Mhz. Kemudian digunakan konektor USB female sebagai konektornya. Modul AVR CDC inilah yang digunakan sebagai penghubung antara mikrokontroler dan komputer sebagai pengendali utamanya. AVR CDC yang digunakan yaitu AVR CDC yang dikendalikan oleh mikrokontroler ATMega 8, karena sangat mudah ditemukan di pasaran dan sudah efisien jika digunakan sebagai modul AVR CDC. Keluaran dari modul ini berupa data serial yang langsung dapat diterima oleh mikrokontroler. Untuk lebih skematiknya, ditunjukkan pada Gambar 3.4. Mikrokontroler ATMEGA 32 Gambar 3.4. Skematik AVR CDC 3.2.2. Rancangan Mekanik Mekanik yang digunakan dalam sistem pengebor otomatis ini hampir sama dengan sistem mekanik pada mesin CNC (Computer Numerically Controlled) sederhana, yang memakai 3 koordinat utama yaitu koordinat X, koordinat Y dan koordinat Z. Masing-masing koordinat digerakkan oleh modul yang berbeda.
28 Untuk menggerakkan papan, menggunakan prinsip perputaran dan pergeseran mur dalam skrup, jadi ketika mur diputar, maka mur tersebut akan bergeser. Kemudian dibalik, jika skrup yang diputar dalam keadaan posisi yang tetap, maka mur itu akan bergeser sesuai dengan perputaran skrup. Prinsip ini yang kemudian digunakan dalam mengontrol pergerakan papan untuk tiap koordinat. Dalam rancangan mekanik secara keseluruhan, desain yang digunakan seminimal mungkin menghasilkan gesekan, sehingga pergerakannya tidak terlalu memakan daya dan bisa digerakkan hanya dengan motor 12 volt. Sehingga dalam perancangannya digunakan bahan dari alumunium dan untuk papannya digunakan dari bahan plastik padat. Dengan harapan bahan tersebut akan lebih ringan dibandingkan bahan lain, dan juga mudah untuk didapatkan. Konsep awalnya lengan koordinat X akan membuat papan target bergerak ke kiri atau ke kanan. Lengan koordinat Y akan membuat papan target bergerak ke depan atau ke belakang. Dan lengan koordinat Z akan membuat posisi bor ke atas atau ke bawah. Untuk penggeraknya digunakan motor langkah dikarenakan mudah dalam pengaturannya, juga lebih presisi dibandingkan motor DC dan harganya lebih terjangkau dari motor servo. Motor langkah yang digunakan adalah motor langkah tipe bipolar dengan tegangan kerja 12 volt. 3.3. Rancangan Perangkat Lunak (Software) Perancangan perangkat lunak yang ada dalam sistem pengebor ini dibagi menjadi 2 bagian, yaitu yang pertama perangkat lunak yang ditanamkan ke dalam mikrokontroler, dan yang kedua perangkat lunak yang digunakan sebagai antarmuka di komputer (PC). Rancangan antarmuka ini dimaksudkan agar pengguna dapat dengan mudah mengontrol atau menjalankan sistem pengebor otomatis melalui komputer.
29 3.3.1. Rancangan Perangkat Lunak dalam Mikrokontroler Rancangan perangkat lunak yang ditanamkan ke dalam mikrokontroler hanya memiliki algoritma sebagai penerima karakter, kemudian menerjemahkan karakter tersebut ke dalam instruksi tertentu yang telah ditentukan sebelumya. Tidak ada pengontrolan khusus yang dilakukan oleh mikrokontroler sepenuhnya, sehingga mikrokontroler ini hanya akan bekerja sesuai apa yang diperintahkan komputer melalui karakter yang dikirimkan ke mikrokontroler tersebut. Untuk lebih jelasnya, ditunjukkan diagram alir seperti pada Gambar 3.5. Gambar 3.5. Diagram alir perangkat lunak di mikrokontroler
30 3.3.2. Rancangan Perangkat Lunak dalam Komputer Perangkat lunak yang dirancang dalam komputer difungsikan sebagai antarmuka yang nantinya juga dijadikan sebagai pengontrol utama sistem pengebor otomatis. Antarmuka ini memiliki algoritma dasar yaitu algoritma untuk mengirimkan karakter ke mikrokontroler melalui komunikasi serial. Algoritma pengiriman karakter disesuaikan dengan kondisi koordinat yang diberikan. Perancangan perangkat lunak dalam komputer dibagi ke dalam tiga algoritma utama, yaitu : algoritma pengkonversian file gerber ke dalam tabel string grid, algoritma pengeboran koordinat secara keseluruhan dan algoritma pengeboran koordinat satu per satu. Selain itu untuk mendukung kerja dari antarmuka ini, diperlukan beberapa fitur-fitur agar antarmuka dapat berjalan lancar dan sesuai dengan apa yang diharapkan. Dan fitur ini akan dijelaskan langsung ke bagian implementasi. 3.3.2.1. Rancangan Program Manipulasi String dalam File Rancangan program ini dimaksudkan untuk melakukan konversi data dari file gerber ke dalam tabel string grid. Dalam pengkonversian data dalam file, diperlukan manipulasi string agar isi dalam file yang berupa data string dapat dibedakan bagian koordinat X yang masuk ke tabel koordinat X dan bagian koordinat Y yang masuk ke tabel koordinat Y. Langkah awal dalam program ini adalah dengan mendefinisikan file dalam tipe teks, kemudian langkah selanjutnya mengakses file eksternal yang dalam hal ini adalah file gerber. Lalu file gerber tersebut diasosiasikan dengan file yang telah didefinisikan di atas. Baru kemudian file dapat dilakukan manipulasi string. Program akan melakukan pengecekan tiap baris. Untuk string dengan awalan X akan masuk sebagai koordinat X yang nantinya akan di-copy ke tabel koordinat X. dan string selanjutnya dengan awalan Y akan masuk sebagai koordinat Y yang nantinya akan di-copy ke tabel koordinat Y. Untuk diagram alirnya, ditunjukkan pada Gambar 3.8.
31 Gambar 3.8. Diagram alir program manipulasi string dalam file
32 3.3.2.2. Rancangan Program Pengeboran Satu per Satu Rancangan program ini dimaksudkan untuk melakukan pengeboran PCB satu per satu dari koordinat yang diinginkan. Dengan kata lain jika telah tersedia banyak titik koordinat yang lebih dari satu, maka pengguna dapat menggunakan fitur program ini untuk memilih koordinat mana yang akan dibor. Inti algoritmanya yaitu dengan membandingkan koordinat asal dengan koordinat target. Untuk koordinat X, jika koordinat target lebih besar dari koordinat asal, maka motor pada koordinat X akan menggerakkan papan ke kiri. Sebaliknya jika koordinat target lebih kecil dari koordinat asal, maka motor pada koordinat X akan menggerakkan papan ke kanan. Jika koordinat target sama dengan koordinat asal, maka motor akan diam. Untuk koordinat Y, jika koordinat target lebih besar dari koordinat asal, maka motor pada koordinat Y akan menggerakkan papan ke depan. Sebaliknya jika koordinat target lebih kecil dari koordinat asal, maka motor pada koordinat Y akan menggerakkan papan ke belakang. Jika koordinat target sama dengan koordinat asal, maka motor akan diam. Jika semua alur program di atas sudah terpenuhi, maka motor pada koordinat Z akan menggerakkan bor ke bawah kemudian ke atas setelah beberapa putaran. Setelah itu sistem akan berhenti, dan siap untuk melakukan pengeboran koordinat selanjutnya. Untuk diagram alirnya, ditunjukkan pada Gambar 3.9.
33 Gambar 3.9. Diagram alir program pengeboran satu per satu
34 3.3.2.3. Rancangan Program Pengeboran Keseluruhan Koordinat Perancangan program ini memiliki maksud yang hampir sama dengan program pengeboran satu per satu seperti di atas. Selain itu logika pemrogramannya juga sama, yaitu hanya membandingkan koordinat asal dengan koordinat target. Tetapi target yang dilakukan pengeboran ini memiliki jumlah banyak atau lebih dari satu. Jadi secara otomatis program akan melakukan pengeboran ke koordinat selanjutnya jika koordinat sebelumnya sudah selesai dilakukan. Untuk diagram alirnya, ditunjukkan pada Gambar 3.10. Gambar 3.10. Diagram alir program pengeboran keseluruhan