DESAIN SISTEM KENDALI MESIN PCB MILLING BERBASIS IMAGE PROCESSING Slamet Budiprayitno1, Eko Setijadi2, Septian Dwi Chandra3, Angga Rian Pranaka4 1,2,3,4 Jurusan D3 Teknik Elektro, Fakultas Teknologi Industri, ITS Surabaya e-mail :
[email protected],
[email protected],
[email protected], 4
[email protected] ABSTRACT Printed Circuit Board (PCB) is a major requirement in the manufacture of elektronic circuits. PCB layout generally printed using etching techniques. Etching process using a liquid chemical dissolution ferry chloride (FeCl3) which causes the copper layer is lost and remains partially covered layer so as to produce a track on the PCB. In this paper we describe a new method of control system design PCB milling machine using microcontroller-based image processing which can produce a track on the PCB. The goal is to produce appropriate technologies that can support the creative industries scored PCB layout and can overcome the obstacles encountered in the process of making the PCB ECO Green (environmentally friendly). PCB image formed is assumed to have been stored in the form of images that we use in the processing of image processing and edge detection method moore neighborhood to get the coordinates of the edge of the PCB track will be designed. Software used is MATLAB and mechanical propulsion control systems using AVR microcontroller. in this reasearch, we perform testing on mechanical processes, while replacing the drill with a ballpoint pen to see if it can follow the processed image. Test results on a simple picture shows that the system can function properly. This machine is able to create an image of the plant with a size of 20x30cm with accuracy up to .0025 to 0.003 mm. Keywords: PCB, milling, image processing, edge detection and moor neigborhood PENDAHULUAN Dunia industri di indonesia yang semakin berkembang, menuntut praktrisi elektronik (UKM, Peneliti, Pelajar dan Pengampu) yang dalam aktifitasnya membutuhkan PCB untuk mengembangkan penelitiannya sehingga menjadi produk jadi. Tidak menutup kemungkinan para penggemar elektronik (hobbyist) juga memerlukan PCB untuk merealisasikan ide - idenya. Keadaan ini menyebabkan kebutuhan akan PCB semakin meningkat. Kendala yang dihadapi dalam pembuatan PCB biasanya sulitnya proses penyablonan, proses menghilangkan tembaga dengan ferrychloride (FeCl3), proses pengeboran PCB menggunakan bor duduk juga memerlukan waktu yang cukup lama. Kendala tersebut mempengaruhi efisiensi waktu tenaga dan biaya dan ketelitian. Beberapa penelitian banyak dilakukan, dan umumnya menggunakan G-Code yang diolah oleh komputer untuk menggerakkan mesin (Computer Numerical Code) CNC milling. seperti yang dilakukan oleh [Dityo K D, 2011] dan [Dalmasius & Tinton, 2011] Berdasarkan uraian tersebut, maka penulis mengajukan sebuah penelitian dengan teknik baru dalam pembuatan mesin PCB milling. desain sistem kendali mesin PCB milling ini menggunakan image processing sehingga diharapkan dapat menjadi teknologi tepat guna yang mampu membuat layout PCB dan mampu mengatasi kendala yang dihadapai dalam proses pembuatan PCB. Software yang dipakai untuk pengolahan image masih menggunakan MATLAB dan terintegrasi dengan hardware pengendali mekanik yang menggerakkan motor stepper menggunakan mikrokontroler AVR. METODE PENELITIAN Alat dan bahan yang digunakan dalam penelitian ini adalah sebagai berikut : 1. Hardware yang terdiri dari : 1) alat ukur Avo meter; 2) Penggaris / Meteran; 3) Downloader AVR 2. Softwareyang terdiri dari : 1) MATLAB; 2) software editor Geany dengan compiler menggunakan AVR GCC 3. Alat pendukung berupa prototipe Mesin PCB Milling. Metode Penelitian yang kami gunakan meliputi rangkaian strategi yang digunakan dalam melaksanakan kegiatan penelitian. Strategi kami gambarkan dalam sebuah skema alur penelitian yang dapat dilihat pada gambar 1
Ide
Mengumpulkan Informasi Teori Penunjang Survei Peralatan dan Bahan Diskusi dengan Tim
Mengkaji rencana penelitian
Merancang Sistem dan Mekanisme “Prototype”
Membuat Hardware Elektronik Mengkonfigurasi Mikrokontroller AVR Membuat Driver Motor Stepper
Membuat Software Teknik Image Processing Mengambil Koordinat Teknik Interfacing komunikasi data pengiriman text
Pengujian Hardware
OK
Pengujian Software T
T OK
Y
Y
Integrasi Sistem
Pengujian Sistem
T
OK Y
Analisa Kinerja & Kesimpulan Gambar 1. Alur Metode Penelitian
PEMBAHASAN Berdasarkan alur penelitian sistem kendali mesin PCB milling berbasis image processing perencanaannya terbagi dalam 3 bagian. Bagian tersebut antara lain bagian perancangan mekanik, pengolahan image untuk mendapatkan koordinat dan penggerak mekanik yang di kendalikan oleh mikrokontroler. Blok diagram sistem secara keseluruhan dapat dilihat pada gambar 2.
Microcontroller AVR
Stepper Controller
Stepper Motor Axis X
Tool Position
Stepper Motor Axis Y
Coordinat (PC)
Stepper Motor Axis Z Gambar 2. Blok diagram sistem komplek Pengolahan Image Untuk Mendapatkan Koordinat Gambar PCB yang akan dibuat diasumsikan dalam bentuk image. Gambar tersebut diolah dengan menggunakan image processing menggunakan MATLAB sehingga didapatkan urutan koordinat garis. Koordinat tersebut kemudian dikirim ke Mikrokontroler untuk dapat direpresentasikan ke koordinat sebenarnya (koordinat mekanik) melalui komunikasi serial dengan sistem interrups sehingga tidak mengganggu kinerja dari mikrokontroler. Sehingga dapat disimpulkan PC dan mikro mempunyai fungsi masing – masing. Pengolahan citra atau image processing adalah suatu metode yang digunakan untuk memproses atau memanipulasi gambar dalam bentuk 2 dimensi [Gonzalez & Woods, 2002]. Citra disebut juga gambar atau image. Image processing adalah suatu bentuk pengolahan atau pemrosesan sinyal dengan input berupa gambar (image) dan ditransformasikan menjadi gambar lain sebagai keluarannya dengan teknik tertentu. Citra menurut kamus Webster adalah suatu representasi, kemiripan, atau imitasi dari suatu objek atau benda. [Idhawati, 2013] Pengolahan citra digital dalam penelitian ini, bertujuan untuk mentransformasikan koordinat citra digital kedalam koordinat vektor agar dapat digambar ulang. Secara rinci pengolahan citra digital ini mengolah citra berwarna (RGB) menjadi citra yang berupa garis tepi dari citra aslinya dan berwarna hitam putih, garis tepi citra nantinya akan berwarna putih dan yang bukan garis tepi akan menjadi berwarna hitam. Dari hasil tersebut akan dicari nilai koordinat pixel dari garis/kontur yang berwarna putih, didapatkan deretan koordinat [x,y] yang kemudian koordinat – koordinat tersebut akan dikirim ke mikrokontroler dan dikonversi sesuai koordinat plant berukuran kertas A4.
Gambar (RGB)
Konversi RGB to gray level
Pengambilan koordinat (y,x) piksel yang bernilai ‘1’
Konversi gray level to binary image Deteksi tepi dari citra biner
Pengiriman perintah ke mikrokontroler dari koordinat yang didapat Gambar 2. Blok diagram proses pengolahan citra Proses pertama untuk mendapatkan citra biner, dilakukan dengan proses segmentasi, dimana Segmentasi gambar merupakan sebuah proses dimana dalam proses tersebut terjadi pemisahaan objek – objek pada suatu gambar yang telah dipilih. Kemudian diproses kembali dengan deteksi tepi yang berfungsi untuk memperoleh tepi objek. Deteksi tepi memanfaatkan perubahan nilai intensitas yang drastis pada batas dua area. Definisi tepi di sini adalah “himpunan piksel yang terhubung yang terletak pada batas dua area” [Gonzalez & Woods, 2002]. Deteksi tepi Sobel merupakan proses dari sebuah konvolusi yang telah di tetapkan terhadap citra yang terdeteksi. Dalam
operator sobel digunakan matrik konvolusi 3 X 3 dan susunan piksel-pikselnya di sekitar pixel (x, y) seperti bagan berikut: P1
P2
P3
P8
(x,y)
P4
P7
P6
P5
Gambar 4. Matriks Operator Metode Sobel dengan kernel vertical (Sy) dan horizontal (Sx) sebagai berikut:
SX =
-1
0
1
-2
0
2
-1
0
1
SY =
-1
-2
-1
0
0
0
1
2
1
Gambar 5. Kernel Matriks Konvolusi Sobel Dengan proses konvolusi Gx = f(x,y)*Sx, dan Gy = f(x,y)*Sy. Sehingga besar gradient dapat di hitung dengan menggunakan persamaan: 𝑆𝑥 = 𝑃3 + 𝐶𝑃4 + 𝑃5 − 𝑃1 + 𝐶𝑃8 + 𝑃7 ............................................................................. (4) 𝑆𝑦 = 𝑃1 + 𝐶𝑃2 + 𝑃3 − 𝑃7 + 𝐶𝑃6 + 𝑃5 ............................................................................ (5) 𝐺 =
𝐺𝑥2 + 𝐺𝑦2
………………...........................................................................………(6)
Proses selanjutnya adalah proses pengambilan nilai koordinat [x y] piksel gambar yang merupakan hasil deteksi tepi yang dihasilkan dari metode sobel. Metode yang digunakan untuk pengambilan koordinat piksel adalah menggunakan algoritma pelacakan kontur atau disebut dengan algoritma moore neighborhood tracing. Moore Neighborhood adalah metode pelacakan kontur dengan konsep 8 - ketetanggaan piksel yang tersusun atas kernel matriks 3x3, matriks 3x3 berisi himpunan dari 8 piksel yang berbagi simpul atau tepi dengan piksel itu. Piksel ini yaitu piksel P1, P2, P3, P4, P5, P6, P7 dan P8. [Young, Theodore, Gerbrands, Jacob, Vliet, & Jozef, 1998].
Gambar 6. Matriks 8x8 Moore Neighborhood Algoritma Moore Neighborhood akan membuat indeks pertama dan indeks terakhir pada kontur berisi nilai yang sama. Cara kerja algoritma ini adalah dengan mencari piksel awal yang bernilai „1‟ untuk dijadikan titik awal pelacakan mencari piksel tetangga yang bernilai „1‟, langkah pelacakan. Untuk memahami cara kerja algoritma Moore Neighborhood, perhatikan Gambar 6. Gambar 7 (a) menyatakan keadaan objek pada citra. Piksel yang bernilai 1 menyatakan bagian objek dan yang bernilai 0 adalah bagian latar belakang. Pada contoh tersebut, pelacakan akan dimulai pada posisi (2,2), yaitu piksel bagian objek yang terletak paling kiri dan paling atas. Adapun titik pencarian untuk piksel kedua dimulai di arah barat atau arah kiri piksel (2,2) tersebut. Pencarian dilakukan searah jarum jam. Pada langkah pertama, diperoleh piksel pada posisi (2,3). Pencarian berikutnya akan dimulai di posisi (1,3), yaitu yang
ditandai dengan bulatan. Pada pencarian kedua, piksel yang didapat, yaitu posisi (2,4), dengan titik pencarian berikutnya dimulai di posisi (1,4). Pada pencarian ketiga, piksel yang didapat adalah pada (2,5), dengan titik pencarian berikutnya dimulai di posisi (1,5). Pada pencarian keempat, piksel yang didapat yaitu (3,5), dengan titik pencarian berikutnya dimulai di posisi (3,6). Jika langkah seperti itu terus diulang, suatu ketika akan diperoleh piksel yang sama dengan piksel yang pertama kali menjadi bagian kontur. Saat itulah proses untuk melacak kontur diakhiri.
Gambar 7. Alur algoritma Moore Neighborhood
(a) Citra masukan
(b) Citra Hasil Deteksi Tepi
(c) Plot koordinat gambar
Gambar 14. (a,b,c) Hasil pengujian menggunakan MATLAB pada image layout PCB Desain Mikronkontroler Dan Sistem Kendali Mekanik Motor Stepper Minimum sistem AVR ATMega16 ini berfungsi sebagai pusat pemrosesan data yang telah dikirim dari PC ke mikrokontroler. Mikrokontroler ini memiliki dua fungsi utama yaitu untuk mengkonversi data yang berasal dari PC dan mengolah data tersebut untuk menggerakkan motor stepper dan servo. Selain kedua fungsi utama tersebut, mikrokontroler juga digunakan untuk beberapa fungsi tambahan seperti limit switch, untuk membatasi titik akhir perpindahan tiap axis, dan untuk menampilkan status di LCD 16x2. Penggunaaan masing-masing port I/O mikrokontroler ATMega16 dalam sistem ini adalah sebagai berikut: a. Port A Pinout untuk tampilan LCD b. Port B Untuk Motor Servo dan input Limit Switch c. Port C Sebagai pemberi sinyal step untuk Motor Stepper d. Port D Sebagi komunikasi serial
Gambar 8. Blok Diagram Sistem Kendali Mekanik Program pada Hardware Mikrokontroler AT-Mega Program pada mikrokontroler AT-Mega 16 dengan menggunakan software editor Geany dengan compiler menggunakan AVR GCC, perancangan program pada mikrokontroler ini digunakan untuk mengkalibrasi posisi x,y mekanik. Program penerimaan data dari matlab secara serial, data yang diterima dari matlab akan diolah untuk menggerakkan mesin penggambar. Algoritma kalibrasi mesin penggambar, adalah sebagai berikut: a. Tekan tombol restart pada sistem minimum ATMega 16 b. Motor y dan x akan bergantian mencari titik 0 koordinat. c. Setelah didapat titik 0, motor y,x bergantian mencari titik maksimal. d. Setelah titik maksimal didapat, motor y,x akan bergantian menuju titik awal. e. Proses kalibrasi selesai. f. Sistem mikrokontroler siap menerima perintah dari matlab. Algoritma perancangan mikrokontroler untuk penerimaan data ini adalah: a. Menggunakan komunikasi serial RS-232 b. Menggunakan perintah getchar() untuk menerima data karakter yng dikirim dari MATLAB. c. Pengiriman karakter menentukan pergerakan motor untuk menggambar dengan sistem interrup. Desain Mekanik Perancangan mekanik yang dibuat terbagi menjadi empat bagian yaitu kerangka utama, linear glide untuk axis X, linear guide untuk axis Y, dan mekanik milling. Rancangan mekanik secara keseluruhan dapat dilihat pada Gambar 3.4.
Gambar 3.3 Rancangan Mekanik Sistem
Perancangan Kerangka Utama Kerangka utama berfungsi untuk menopang keseluruhan mekanik dan bagian elektromekanik. Motor stepper, limit switch, rel atau jalur, dan lainnya dipasang di kerangka utama.
Gambar 3.4 Kerangka Utama Perancangan Linear Glide Linear Glide Sumbu-X ini berfungsi sebagai mekanik yang dapat bergerak bebas di sumbu x. Linear Guide Sumbu-Y Fungsinya adalah sebagai jalur atau rel untuk mekanik sumbu Y. Pada mekanik sumbu-y, terdapat holder untuk mekanik sumbu-z. Untuk sumbu-z terdapat sebuah motor DC servo sebagai penggerak milling.
(a) Linear Glide sumbu-X
(b) Linear Glide sumbu-Y Gambar 3.6 Desain Linear Glide
Pengujian Ketelitian Kerja Mekanik Per Pixel Pada Axis-X Table 2. Hasil Pengujian Ketelitian Kerja Mekanik Per Pixel pada Axis-X Jumlah Perintah 100 200 300 400 500 600
Hasil Penggambaran (Cm) 2,5 5,5 8,5 10,2 13,5 15,8
Tabel 2 merupakan Hasil Pengujian Ketelitian Kerja Mekanik Per Pixel pada Axis-X. Dari pengujian ini disimpulkan ketelitiannya 0,0025 mm per Pixel
Pengujian Ketelitian Kerja Mekanik Per Pixel Pada Axis-Y Table 3. Hasil Pengujian Ketelitian Kerja Mekanik Per Pixel pada Axis-Y Jumlah Perintah 100 200 300 400 500 600
Hasil Penggambaran (Cm) 3 5,9 8,6 11,5 14,3 17,5
700
19,9
Tabel 2 merupakan Hasil Pengujian Ketelitian Kerja Mekanik Per Pixel pada Axis-X. Dari pengujian ini disimpulkan ketelitiannya 0,0025 mm per Pixel Pengujian Waktu Penggambaran Table 4. Hasil Pengujian Waktu Penggambaran Jumlah Piksel 1197 610 12 2802
Waktu Penggambaran (Detik) 33,92 15,76 1 54
Uji waktu penggambaran berdasarkan jumlah piksel dengan delay per-piksel 0,001 second. KESIMPULAN Alat yang dihasilkan dalam penelitian ini dapat bekerja dengan cukup baik jika Gambar yang dimasukkan memiliki piksel yang utuh, apabila ada lubang 1 piksel maka pengambilan koordinat piksel tidak sempurna karena menggunakan 8 piksel tetangga (Algoritma Moore Neighborhood). Algoritma Moore Neighborhood hanya dapat melacak koordinat gambar 1 pola. Mesin Milling ini mampu membuat jalur PCB dengan ukuran 20x30cm dengan ketelitian hingga 0,0025mm dengan kecepatan 0,001 second per pixcel. Penelitian selanjutnya akan di jelaskan hasil yang didapatkan secara keseluruhan. UCAPAN TERIMA KASIH Penelitian ini didukung dengan pendanaan dari dana PNBP ITS 2014 dalam program penelitian hibah pemula. Dan tak lupa penulis mengucapkan terima kasih kepada Eko Setijadi, ST, MT, PhD selaku penasihat dan pembimbing dalam penelitian ini dan kepada seluruh tim yang telah bekerja dengan semangat yang tinggi. DAFTAR PUSTAKA [1].
[2]. [3]. [4]. [5].
Dalmasius Ganjar Subagio dan Tinton Dwi Atmaja, “Penggunaan Perangkat Lunak Open Source Untuk Sistem Open Architecture Pada Mesin Milling CNC”, Journal Of Mechatronics, Electrical Power & Vehicular Technology, Bandung 2011. Dityo Kurniawan Pradana, Rancang Bangun CNC Milling Machine Home Made Untuk Membuat PCB, Teknologi Elektro Vol. 10 No. 1 Januari - Juni 2011, Bali, 2011 Idhawati Hestinigsih. ”Operasi –Operasi Dasar Pengolahan Citra Digital”, Ilmu Komputer.Com, 2013 Rafael C. Gonzalez and Richard E. Woods, “Digital Image Processing, 2nd Edition”, Prentice Hall, 2001 Young, Ian Theodore, Gerbrands, Jan Jacob, Van Vliet, Lucas Jozef ”Fundamentals Of Image Processing”. ISBN 90–75691–01–7, NUGI 841, 1998.