Kontrol Mesin Bor PCB Otomatis dengan Menggunakan Programmable Logic Controller Thiang, Handy Wicaksono, David Gunawan Sugiarto Jurusan Teknik Elektro, Universitas Kristen Petra Jl. Siwalankerto 121-131 Surabaya 60236, Indonesia Email:
[email protected],
[email protected]
Abstrak - Dalam makalah ini dijelaskan tentang perancangan sistem mesin bor PCB yang dikontrol dengan menggunakan Programmable Logic Controller (PLC). PLC akan mengebor PCB secara otomatis sesuai dengan koordinat yang telah ditentukan. PLC yang digunakan adalah PLC Omron C200HG. Dalam sistem ini, ada tiga cara memasukkan koordinat bor ke PLC. Cara pertama adalah memasukkan koordinat bor secara manual langsung pada daerah memory PLC. Cara kedua adalah menggunakan file text yang berisikan koordinat bor. Cara ketiga adalah menggunakan file image dari print out PCB. Dua cara terakhir dilakukan dengan bantuan sebuah komputer (PC). Sebuah program yang berjalan di PC, dirancang khusus untuk melakukan proses pengambilan data koordinat titik-titk bor dari file text atau image dari print out PCB. Beberapa metode image processing digunakan dalam sistem ini untuk mengolah image dari print out PCB sehingga didapatkan koordinat bor. Komunikasi antara PC dan PLC dilakukan dengan menggunakan komunikasi serial dan protokol hostlink. Dari hasil pengujian terlihat bahwa PLC dapat mengontrol mesin bor otomatis. Tingkat ketelitian yang dicapai cukup baik karena error yang didapat kurang dari 1 milimeter.
Makalah ini menjelaskan tentang perancangan mesin bor otomatis yang dikontrol dengan menggunakan Programmable Logic Controller (PLC). Berikut pada bagian kedua dari makalah ini akan dipaparkan tentang deskripsi sistem mulai dari mesin bor itu sendiri, perangkat keras, dan perangkat lunak. Bagian ketiga dari makalah ini akan memaparkan hasil pengujian yang telah dilakukan untuk mendapatkan performans dari sistem mesin bor otomatis yang telah dirancang. Dan makalah ini akan ditutup dengan diskusi dan kesimpulan yang telah didapatkan. 2. Deskripsi Sistem
Kata Kunci: programmable logic controller, PLC, mesin bor otomatis. 1. PENDAHULUAN
Gambar 1. Prototipe Mesin Bor dengan alamat Koneksi ke PLC
Dalam dunia elektro, Printed Circuit Board (PCB) adalah salah satu hal yang penting. Dalam PCB tersebut terletak komponen-komponen elektronika yang terangkai untuk melakukan fungsi tertentu. PCB terdiri atas pad dan via serta jalur-jalur yang menghubungi antar pad atau antar via atau antara pad dan via. Pad dan via tersebut harus dibor untuk dapat meletakkan komponen atau jumper. Biasanya dalam sebuah PCB terdapat banyak sekali pad dan via yang harus dibor. Untuk menghindari kesalahan dimana ada pad atau via yang tidak dibor, maka dalam proyek ini dirancang sebuah mesin bor otomatis untuk melakukan pengeboran PCB. Di samping itu, mesin bor otomatis ini diharapkan memiliki keuntungan dalam melakukan pengeboran PCB yang sama dengan jumlah yang banyak.
Gambar 1 menunjukkan gambar dari prototipe mesin bor otomatis yang telah dirancang lengkap dengan alamat koneksi mesin bor ke input-output dari PLC. Mesin bor diracang dengan menggunakan empat buah motor yaitu dua motor stepper dan dua buah motor DC. Motor stepper digunakan untuk menggerakkan alat bor dalam arah dua dimensi yaitu arah X dan Y. Arah sumbu X dan Y ini adalah sistem koordinat dari mesin bor untuk menentukan lokasi koordinat pad dan via yang harus dibor. Dalam sistem ini, penggerak arah sumbu X dinamakan lengan X dan penggerak arah sumbu Y dinamakan lengan Y. Satu dari dua motor DC, digunakan untuk menaikkan dan menurunkan alat bor dalam arah sumbu Z (arah vetikal). Penggerak alat bor dalam arah sumbu Z ini
dinamakan lengan Z. Motor DC yang lain digunakan untuk memutar mata bor saat akan dilakukan pengeboran. Dari perancangan yang telah dilakukan, didapatkan spesifikasi mekanik penggerak lengan mesin bor otomatis dalam arah X dan Y adalah 1 step dari motor stepper akan menggerakkan lengan sejauh 0,00794 mm. Sehingga dapat diketahui untuk menggerakkan lengan X atau Y sejauh 1 cm dibutuhkan 1259,4 step atau dibulatkan 1260 step. Secara umum cara kerja dari mesin bor otomatis dapat dilihat pada gambar 2. Gambar 3. Blok Diagram Sistem Mesin Bor dengan Pengambilan Koordinat dari Image Print out PCB.
Image hasil capture dari kamera berukuran 320 x 240 pixel dengan format RGB. Sebagai langkah pertama dari image processing adalah mengubah format warna image dari RGB menjadi gray scale. Proses ini dilakukan dengan menggunakan persamaan berikut: Gambar 2. Blok Diagram Umum Mesin Bor Otomatis
Gray = 0.299 R + 0.587G + 0.114 B
Tahap pertama dari cara kerja mesin bor otomatis ini adalah proses pengambilan koordinat pad dan via yang akan dibor. Ada tiga cara pengambilan koordinat yaitu melalui image dari printout PCB, melalui file text yang berisikan koordinat pad dan via yang akan dibor dan pengisian langsung pada memori dari PLC. Setelah mendapatkan koordinat pad dan via yang akan dibor, PLC akan mengontrol mesin bor untuk melakukan proses pengeboran sesuai dengan koordinat yang diterima. Karena penggerak posisi alat bor adalah motor stepper maka koordinat yang diterima oleh PLC adalah dalam bentuk jumlah step dari motor stepper. Oleh karena itu koordinat yang diisi secara manual langsung pada memori dari PLC harus berupa jumlah step dari motor stepper bukan dalam satuan milimeter atau centimeter. Pengambilan koordinat dari print out PCB atau dari file text dilakukan dengan bantuan sebuah PC. Sebuah program dirancang khusus untuk melakukan proses ini. 2.1. Pengambilan Koordinat dari Image Printout PCB Berikut, gambar 3 menunjukkan blok diagram dari pengambilan koordinat pad dan via dari image printout PCB. Pertama, print out PCB akan dicapture dengan sebuah kamera sehingga menghasilkan image dari print out tersebut. Kemudian image ini akan diproses sehingga untuk mendeteksi koordinat dari pad dan via yang akan dibor. Setelah mendapatkan koordinatnya, maka koordinat tersebut akan dikirm ke PLC melalui komunikasi serial RS232 dengan protokol host link. Dan kemudian PLC akan melakukan pengeboran sesuai dengan koordinat yang diterima dari PC.
(1)
Proses berikutnya adalah mengubah image dalam gray scale menjadi binary image yang hanya terdiri atas warna hitam dan putih. Proses ini dilakukan dengan menggunakan fungsi threshold. Berikut adalah persamaan yang digunakan untuk melakukan proses ini.
⎧0 g ( x, y ) = ⎨ ⎩255
jika f ( x, y ) ≤ T
jika f ( x, y ) > T
(2)
dimana T adalah nilai threshold. Nilai variabel T yang digunakan dalam sistem ini adalah 50. Setelah menjadi binary image, selanjutnya dilakukan proses floodfill berkali-kali hingga yang tersisa hanya gambar hole (lubang) dari pad dan via. Pada akhirnya dilakukan proses threshold sekali lagi sehingga hanya tersisa gambar hole yang berwarna hitam dan lainnya akan berwarna putih. Pengambilan koordinat pad dan via dilakukan dengan menggunakan persamaan berikut: X min + X max 2 Ymin + Ymax Y= 2 X=
(3) (4)
Dimana X min , X max , Ymin dan Ymax adalah batas kiri, batas kanan, batas atas dan batas bawah dari gambar hole. Pendeteksian batas-batas gambar hole ini dilakukan dengan menggunakan proses scan line horisontal dan vertikal. Koordinat yang didapatkan ini masih dalam satuan pixel. Koordinat ini harus dikonversi ke jumlah step motor stepper sebelum dikirimkan ke PLC. Berikut persamaan yang digunakan untuk mengubah koordinat bor dari satuan pixel menjadi jumlah step dari motor stepper:
StepX = StepY =
X pixel R pixel Y pixel R pixel
x1260
(5)
x 1260
(6)
MESIN BOR
PLC IR 00200
Limit Limit Switch Switch Y X
IR 00201
Ada beberapa batasan dari image yang dapat diproses untuk pendeteksian koordinat bor yaitu: 1. Besar maksimum ukuran PCB adalah 10 x 9 cm. 2. Printout PCB harus mempunyai batasan kotak hitam yang mengelilingi PCB tersebut. 3. Dalam pad atau via harus ada tanda lubang (hole) bor. 4. pada bagian PCB terbawah harus ada sebuah pad tambahan sebagai referensi untuk mengkonversi ukuran dalam pixel menjadi centimeter. Pad referensi ini selalu berjarak 2 cm dari tepi kiri kotak hitam.
IR 00500IR 00503 IR 00504IR 00507 IR 00405IR 00406 IR 00700
D R I V E R
Motor Stepper X Motor Stepper Y Motor Motor DC DC Z Bor
2.2. Pengambilan Koordinat dari File Text
Dari program Protel yang biasa dipakai untuk menggambar PCB, dapat diketahui secara langsung koordinat-koordinat pad maupun via yang ada pada PCB. Dengan ketentuan cara penggambaran PCB dimulai tepat pada titik 0,0 di lembar kerja Protel, akan diperoleh koordinat pad dan via yang tepat dalam satuan milimeter. Koordinat-koordinat tersebut kemudian diketikkan secara manual pada file text dengan menggunakan program text editor seperti notepad dan lain-lain. Setiap baris dalam file text tersebut berisikan koordinat dari satu pad atau satu via. Dari file text tersebut, koordinat-koordinat yang masih dalam satuan milimeter akan diubah menjadi koordinat-koordinat yang dikenali PLC yaitu dalam jumlah step dari motor stepper. 2.3. Perangkat Keras dan Perangkat Lunak PLC
Gambar 4 menunjukkan blok diagram koneksi perangkat keras dari sistem mesin bor otomatis. Sebuah PLC digunakan dalam sistem ini sebagai kontroler. PLC yang digunakan adalah PLC dari Omron dengan tipe C200HG. Dalam perancangan perangkat keras mesin bor otomatis ini, ada dua input digital yang digunakan yaitu input untuk informasi limit switch lengan X dan limit switch lengan Y. Kedua Limit switch ini terkoneksi dengan input digital PLC dengan alamat IR 00200 dan IR 00201. Output digital yang digunakan berjumlah 11. Delapan output digital digunakan untuk menggerakkan dua buah motor stepper, dimana masing-masing memerlukan empat output digital. Sedangkan dari sisa tiga output digital, dua output digital digunakan untuk menggerakkan motor DC penggerak lengan Z dan satu output digital untuk menggerakkan motor bor. Tabel 1 menunjukkan tabel alamat input, output dan memori PLC yang digunakan dalam perancangan mesin bor otomatis ini.
Gambar 4. Blok Diagram Perangkat Keras Mesin Bor Otomatis
Penulisan program PLC dilakukan dengan menggunakan software SYSMAC CPT. Program PLC dibuat dalam bentuk ladder diagram. Program PLC ini hanya dibuat untuk mengontrol motor stepper lengan X, motor stepper lengan Y, motor DC lengan Z dan motor bor. Gambar 5 dan 6 menunjukkan flowchart dari program PLC yang telah dibuat. Software PC mengirimkan data berupa jumlah step pada alamat memori DM0101, DM0102, DM0103, atau DM0104 untuk gerakan lengan X maju, lengan X mundur, lengan Y maju dan lengan Y mundur (lihat tabel 1). PLC akan menggerakkan motor stepper sesuai dengan jumlah step yang dikirim pada masingmasing memori. Setelah selesai menggerakkan keseluruhan lengan X dan Y (IR0605, IR0606, IR0607, dan IR0608=1), PLC akan menggerakkan lengan Z turun dan sekaligus mengaktifkan motor bor untuk melakukan proses pengeboran. Lengan Z akan bergerak turun selama t detik, kemudian akan bergerak naik kembali selama t detik pula sehingga lengan Z tersebut kembali ke titik semula. Sedangkan motor bor akan aktif selama 2 x t detik, t yang dimaksud adalah fungsi timer delay on pada PLC. Setelah proses pengeboran selesai dilakukan, PLC akan kembali menunggu input data dari software. Bila semua titik pad maupun via telah selesai dibor, software PC akan mengaktifkan alamat IR0600 pada PLC sebagai tanda bahwa tidak ada lagi titik yang perlu dibor. Tanda tersebut juga merupakan tanda bagi PLC untuk menggerakkan lengan X dan lengan Y agar mundur sampai menyentuh limit switch (bila IR0200 sebagai limit switch X aktif, motor lengan X berhenti bergerak dan bila IR0201 sebagai limit switch Y aktif, motor lengan Y berhenti bergerak) atau berhenti pada koordinat 0,0.
Gambar 5. Flowchart program PLC Mesin Bor Otomatis
Tabel 1. Alamat Input-Output dan Memori PLC
Alamat IR 00200 IR 00201 IR 00500 IR 00501 IR 00502 IR 00503 IR 00504 IR 00505 IR 00506 IR 00507 IR 00405 IR 00406 IR 00700 IR 00605 IR 00606 IR 00607 IR 00608
Keterangan Limit switch X Limit switch Y Motor stepper lengan X Motor stepper lengan X Motor stepper lengan X Motor stepper lengan X Motor stepper lengan Y Motor stepper lengan Y Motor stepper lengan Y Motor stepper lengan Y ON-OFF motor DC lengan Z Arah gerakkan lengan Z ON-OFF motor DC bor Flag gerakan lengan X maju selesai Flag gerakan lengan X mundur selesai Flag gerakan lengan Y maju selesai Flag gerakan lengan Y mundur selesai Jumlah step motor stepper lengan X DM 0101 maju Jumlah step motor stepper lengan X DM0102 mundur Jumlah step motor stepper lengan Y DM 0103 maju Jumlah step motor stepper lengan Y DM 0104 mundur
3. HASIL PENGUJIAN
Pengujian sistem mesin bor otomatis dilakukan pada 3 buah PCB yang memiliki jumlah lubang yang berbeda-beda yaitu, 16 lubang, 21 lubang dan 34 lubang. Gambar 7 menunjukkan gambar PCB yang digunakan dalam pengujian. Pengujian dilakukan dengan memberi input data melalui ketiga cara input yang telah disediakan (image, file text dan manual). Kemudian dilakukan pengukuran koordinat hasil bor dan hasilnya dibandingkan dengan koordinat sebenarnya Dari hasil perbandingan dengan koordinat sebenarnya, didapatkan error ketelitian dari mesin bor. Berikut gambar hasil pengujian dari beberapa percobaan yang telah dilakukan.
Gambar 6. Flowchart program PLC Mesin Bor Otomatis (lanjutan)
Gambar 7. PCB yang Digunakan dalam Pengujian
Gambar 9. Hasil Pengujian dengan Input File Text
Gambar 8. Hasil Pengujian dengan Input Image
DAFTAR REFERENSI
Gambar 10. Hasil Pengujian dengan Input Manual
Tabel berikut menunjukkan rangkuman dari hasil pengujian yang telah dilakukan. Error yang ditampilkan adalah error rata-rata dari seluruh hasil pengujian yang telah dilakukan Tabel 2. Pengujian Ketelitian Error (mm) Input data PCB A (X) PCB A (Y) PCB B (X) PCB B (Y) PCB C (X) PCB C (Y)
Image
File
Manual
0.486
0,127
0,073
0,264
0,474
0,194
0,543
0,267
0,186
0,636
0,385
0,141
0,379
0,157
0,152
0,504
0,225
0,474
Kalau dilihat hasil pengujian, maka input berupa image menghasilkan ketelitian yang paling buruk. Hal ini dimungkinkan karena terdapat dua kali kesalahan yaitu kesalahan saat pendeteksian koordinat bor dari image dan kesalahan pada saat pengeboran. 4. KESIMPULAN
Dari hasil pengujian yang telah dilakukan, dapat diambil kesimpulan bahwa sistem yang telah didisain dapat dikatakan berjalan dengan baik. PLC dapat mengontrol mesin bor secara otomatis. Dalam sistem ini masih terdapat kesalahan terutama pada input data dari image. Kesalahan terkecil yang dicapai adalah 0,073 mm dengan input data secara manual dan kesalahan terbesar yang dicapai adalah 0,636 mm dengan input data dari image. Untuk pengembangan selanjutnya, perlu dilakukan perbaikan pada image processing untuk dapat mereduksi error yang terjadi.
[1] SYSMAC Programmable Controllers C200HG Operation Manual. Tokyo: OMRON Co., Ltd., September 1994. C200H/C500/C500F/C1000H/ [2] SYSMAC C2000H/C2000 Host Link Unit Operation Manual. Tokyo: OMRON Co., Ltd., September 1994. [3] Kenjo, Takasi. Stepping Motors and Theirs Microprocessor Controls. New Oxford University Press Inc., 1994.York: [4] Castleman, Kenneth R. Digital Image Processing. New Jersey: Prentice Hall International, Inc, 1996 [5] Baxes, Gregory A. Digital Image Processing. Canada: Jhon Wiley and Sons Inc., 1994.