## Perancangan Sistem Kontrol CNC Pengebor PCB Otomatis Berbasis Raspberry PI
Eka Satrio 1) , Koko Joni 2) , dan Kunto Aji Wibisono 3)
1, 2), 3) Jurusan Teknik Elektro, Fakultas Teknik, Universitas Trunojoyo Madura
1, 2), 3) Jl. Raya Telang, Perumahan Telang Indah, kamal, Kabupaten Bangkalan, Jawa Timur e-mail: ekasatrio10@gmail.com 1) , kokojoni@trunojoyo@gmail.com 2) , kunto.ajiw@trunojoyo.ac.id 3)

## ABSTRACT
Circuit Board (PCB) is a micro-board containing various components electronics used in an automatic circuit. In PCB drilling is usually done human which takes a lot}when the hole in the PCB is getting more and more. And it takes precision when the eye touches the PCB board which gives rise to friction force and can cause drilling. The purpose of this research was  the  development  of  tools  in  the  form  of  automated  drills  using  computers  with  BCNC  software  as  face-to-face  CNC movements. The engine is driven with stepper motor and dc motor as spindle. In this BCNC software the drilling process is done by entering the codes in the form of gcode which can later be read by CNC. The coordinates of the holes in the layout that have been created are obtained by converting the layout into codes called gcode. The process is carried out using PCB designer software. Thoroughness testing on all six axes found an error 1,2% with ten attempts each. PID implementation on DC motor obtained constant value Kp = 54, Ki = 38 and Kd = 0.9. As well as before drilling, the installation of drill bits must be precise so that at the time of spinning, the drill bits do not shake.
Keywords: CNC, PCB, BCNC.

## ABSTRAK
Printed Circuit Board (PCB) merupakan sebuah papan berukuran mikro (kecil) yang berisi berbagai komponen elektronika yang digunakan dalam suatu rangkaian yang bersifat otomatis. Pada pengeboran PCB ini biasanya dilakukan secara manual dengan tenaga manusia, yang membutuhkan banyak waktu ketika lubang pada PCB tersebut semakin banyak. Serta dibutuhkan kepresisian ketika mata bor menyentuh papan PCB yang menimbulkan gaya gesek dan dapat menyebabkan salah pengeboran. Tujuan dari penelitian ini pengembangan alat berupa bor otomatis menggunakan komputer dengan perangkat  lunak BCNC sebagai tatap muka pergerakan CNC. Mesin ini digerakkan dengan motor stepper dan motor DC sebagai spindle. Pada software BCNC ini proses pengeboran dilakukan dengan memasukkan kode-kode berupa gcode yang nantinya dapat terbaca oleh CNC. Koordinat lubang pada layout yang telah dibuat didapatkan dengan cara mengkonversi layout ke dalam kode-kode yang disebut gcode. Proses tersebut  dilakukuan dengan menggunakan software PCB designer. Pengujian ketelitian pada keenam  sumbu didapat nilai error 1,2% dengan masing-masing sepuluh kali percobaan. Implementasi PID pada motor DC didapatkan nilai konstanta Kp = 54, Ki = 38 dan Kd = 0.9. Serta sebelum melakukan pengeboran, pemasangan mata bor harus presisi agar pada saat berputar, mata bor tidak goyang.
Kata Kunci : CNC, PCB, BCNC.

## I. P ENDAHULUAN
i  era  modern  saat  ini,  rangkaian  elektronika dapat  bekerja  hanya  dengan chip yang ukurannya  semakin  kecil  yang  dapat  disebut sebagai  mikrokontroler. Chip mikrokontroler ini dibuat pada suatu wadah yang bernama PCB. PCB ( Printed  Circuit  Board )  adalah  suatu  papan  kecil (mikro) yang penuh dengan sirkuit dengan bahan yang terbuat  dari  logam  yang  mampu  menghubungkan berbagai  komponen  elektronik  satu  sama  lain  tanpa menggunakan  kabel.  Tahapan  dalam  pebuatan  PCB sebelum  dapat  digunakan  harus  melewati  proses pencetakan  jalur  yang  sesuai  dengan  rangkaian  yang diinginkan.  Kemudian  dilakukan  proses  penghilangan bagian  PCB  yang  tidak  terkena  jalur  atau  proses etching,  dan  dilanjutkan proses  pelubangan pada  titik- titik  dimana  kaki-kaki  komponen  elektronika  akan diletakkan.[1][2]
Pada proses pengeboran PCB dirasa cukup sulit jika dilakukan  oleh  manusia  karena  dibutuhkan  ketelitian
karena ukuran lubang yang kecil. Selain itu, pengeboran juga  tidak  membutuhkan  waktu  yang  sedikit  apalagi dalam sebuah rangkaian yang terdapat banyak jalur kaki untuk  masing-masing  komponen.  Dengan  banyaknya teknologi  yang  berkembang  pada  saat  ini,  komputer telah di aplikasikan pada alat-alat mesin perkakas, salah satunya yaitu mesin bor.[3]
Hasil  dari  perpaduan  teknologi  komputer  dan  teknologi mekanik inilah yang kemudian dinamakan dengan ( Computer Numerically  Controlled ).  Disebut  sebagai  CNC,  karena proses  pergerakan  pada  mesin  mekanik  tersebut  digerakkan melalui  komputer.  Komputer  membutuhkan  bahasa  pem- rograman  G-code  agar  hardware  pada  CNC  tersebut  agar dapat  mengetahui  instruksi  yang  diberikan  oleh  komputer melalui kode-kode tertentu.[4] Pengelolaan kode dari bentuk gambar ke bentuk G-code memerlukan sebuah converter da- lam bentuk format .gcd yang kemudian dapat terbaca dengan baik  oleh  komputer  maupun  hardware  dari  CNC  tersebut. Oleh  karena  itu,  untuk  menambah  tingkat  kepresisian  dan kemudahan dalam melakukan proses pengeboran pada PCB, maka  dirancanglah  mesin  pengebor  otomatis  pada  PCB menggunakan CNC.
D

## II. T EORI

## A. CNC
CNC  (Computer  Numerical  Control)  merupakan suatu  mesin  yang  tergolong  dalam  mesin  perkakas, dikontrol  oleh  komputer  dengan  menggunakan  bahasa numerik  (data  perintah  dengan  kode  angka,  huruf  dan simbol) sesuai dengan standar yang telah disepakati.[7] Sistem  kerja  dari  CNC  ini  bila  dibandingkan  dengan mesin  perkakas  lain,  maka  perkakas  CNC  ini  bisa dibilang lebih teliti, lebih tepat, lebih fleksibel dan lebih cocok  apabila  melakukan  produksi  secara  masal. Dengan adanya mesin perkakas ini dapat mempermudah  dalam  produksi  yang  membutuhkan tingkat  kerumitan  yang  tinggi,  selain  itu  dalam  mesin ini juga pengoperasian sepenuhnya ada pada pengendali utama,  jadi  tidak  banyak  campur  tangan  operator selama mesin ini sedang beroperasi.[8]
Pada  mesin  CNC  terdapat  perangkat  komputer yang  disebut Machine  Control  Unit (MCU). Mempunyai  fungsi  menerjemahkan  bahasa  kode  ke dalam  bentuk-bentuk  gerakan  persumbuan  sesuai bentuk  benda  kerja.  Kode-kode  bahasa  dalam  mesin perkakas CNC dikenal dengan kode M dan G, dimana kode-kode  tersebut  telah  distandarkan  oleh  ISO  atau badan Internasional lainnya.[9]

## B. Raspberry
Raspberry pi atau lebih dikenal (RasPi) merupakan sebuah  komputer single-board yang  dibuat  oleh Raspberry foundation di inggris yang bertujuan sebagai sarana  edukasi  ilmu  komputer  dasar.  Raspberry  pi  3 merupakan seri generasi ketiga dari produk raspberry pi dimana  pada  seri  ketiga  terdapat built-in  wireless dan processor yang  lebih  baik  dari  versi raspberry sebelumnya.[10]
Gambar 1 . Raspberry pi 3
Berikut  merupakan  spesifikasi  lengkap  dari rasp- berry pi 3 pada tabel 1.
Tabel I. Spesifikasi Raspberry SPESIFIKASI Raspberry pi 3 Soc BCM2837 Processor 1.2GHz 64-bit quad- core ARMv8 CPU Memory /RAM 1 GB SDRAM 400MHz GPU VideoCore IV 3D graphics LAN
LAN 802.1 In Wireless LAN Bluetooth Bluetooth 4.1 GPIO 40 Pin Port USB 4 USB Ports Card Storage Micro SD card slot Jaringan Ethernet Port External Audio and Video Full HDMI port,
Camera Interface (CSI), Display Inter- face (DSI), Com- bined 3.5mm audio jack and composite video Sistem Operasi Debian GNU/Linux, Fedora, Arch Linux ARM, RISC OS

## C. Kontrol PID
Pengendali PID (Proportional, Integral, Derivative) merupakan suatu pengendali yang mampu memperbaiki tingkat  akurasi  dari  suatu  sistem  plant  yang  memiliki karakteristik  umpan  balik/ feedback pada  sistem  terse- but.  Pengendali  PID  menghitung  dan  meminimalisasi nilai error /selisih antara output dari proses terhadap in- put/setpoint yang diberikan ke sistem.[11] Gabungan  antara Proportional,  Integral, dan  De- rivative maka  disebutlah  kontroler  PID.  Kontrol  pada error yang  terjadi (Proportional) ,  jumlah error (Inte- gral) ,  dan  perubahan error  (Derivative) setiap  aksi kontrol  ini  memberikan  kontribusi. Steady  state dapat dipercepat  dengan  kombinasi  dari  3  kontroler  tersebut serta  juga  mengurangi setting  time osilasi  sistem  itu sendiri. Perbaikan secara signifikan stabilitas yang dina- mis dapat diberikan dengan penggunaan self tuning PID pada sistem kontrol. Secara adaptif self tuning merupa- kan parameter penguat PID. Kontrol PID dapat dipakai secara  bersamaa  atau  sendiri  –  sendiri  tergantung dengan  respon  yang  akan  kita  inginkan  dalam  suatu perencanaan.[12]
Gambar 2. Blok diagram pengendali PID
Nilai  output  dari  pengendali  PID  didapatkan berdasarkan penjumlahan dari masing-masing komponennya sebagai berikut:
0 ( ) ( ) ( ) ( ) t p i d de t u t K e t K e d K dt   = + +  (1)

## D. CNC Shield
CNC shield adalah sebuah modul untuk mesin ukir, printer  3d,  dan  perangkat  berbasis  CNC  lainnya  yang terdiri  dari  beberapa  rangkaian  elektronika  yang  ber- fungsi sebagai modul yang nantinya dipasang diatas mi- crocontroller arduino , CNC shield sendiri mempunyai beberapa pin dan slot sebagai input dan output dari be- berapa komponen seperti motor stepper , limit end stop , emergency , dan lain-lain. CNC shield dikendalikan oleh sebuah  program  pengubah g-code menjadi  gerak mekanis pada motor stepper yang terhubung pada CNC shield , salah satunya yaitu software BCNC .[13]

## E. Software Fritzing
Fritzing adalah salah satu dari perangkat lunak gratis yang  dapat  dipergunakan  dengan  baik  untuk  belajar elektronika.  Fritzing  memberikan  fasilitas  pengguna untuk  melakukan  perancangan  sistem  di breadboard . Ini  sangat  memudahkan  bagi  pengguna  yang membutuhkan alat bantu perancangan atau dokumentasi pada sistem yang menggunakan breadboard .  Fritzing  tidak  hanya  memiliki  fitur perancangan  pada breadboard sebagai  tambahan  dari fitur  perancangan schematic dan  PCB  tetapi  juga menyediakan tempat untuk melakukan coding (misalnya  untuk  sistem  Arduino).[14]  Sehingga Fritzing  cukup  lengkap  untuk  mengembangkan  sistem prototipe maupun untuk membantu proses belajar.

## F. Software BCNC
BCNC adalah program untuk mempersiapkan peker- jaan  CNC  untuk  membuat  PCB  pada  router  CNC. BCNC  merupakan software tatap  muka  pada  mesin CNC yang digunakan untuk melihat proses mesin pada saat  beroperasi  dan  juga  dapat  mengendalikan  seluruh sumbu pada mesin CNC. BCNC dapat mengambil file gerber yang dihasilkan oleh software Fritzing dan men- ciptakan isolasi routing.[15]

## G. Kode Pemrograman G-code
Dalam  pembuatan  program  CNC  yang  di  dasari dengan  sistem  komputer.  Terdapat  program  numerik yang berupa kode huruf, kode angka, dan kode simbol. Kode-kode tersebut dirangkai menjadi sebuah program yang bisa di aplikasikan ke dalam mesin CNC. G code adalah  kode  yang  digunakan  untuk  menulis  program mesin  CNC.  Semua  gerakan  mesin  CNC  diatur  oleh kode-kode tersebut.[13]

## III. M ETODE
Perancangan  sistem  kontrol  CNC  pengebor  PCB otomatis  berbasis  raspberry  pi  ini  terdiri  dari  2  tahap, yaitu  perancangan  perangkat  keras  ( hardware )  dan perancangan perangkat lunak ( software ).
A. Hardware
Sistem  perancangan  perangkat  keras  (hardware) pada  mesin  CNC  pengebor  PCB  otomatis  ini menggunakan  beberapa  komponen,  di  antaranya  yaitu
power supply, modul step down, raspberry pi 3, arduino mega,  CNC  shield,  limit  switch,  motor  stepper,  driver a4988, driver motor, motor DC . Seluruh komponen ter- sebut  akan  ditempatkan  pada  satu  badan  mesin  CNC yang berukuran panjang 32 cm, lebar 53 cm dan lebar 49 cm.

## Gambar 3. Diagram koneksi hardware
Koneksi hardware pada  alat  ini  dapat  dijelaskan bahwa  raspberry  merupakan  sistem  kendali  utama. Raspberry mengatur setiap pergerakan yang dilakukan oleh  ketiga motor  stepper dan  satu  motor  DC. Motor stepper disini berfungsi sebagai penggerak sumbu x, y dan z yang bergerak untuk mengarahkan motor  DC ke posisi  lubang  PCB  yang  akan  di  bor.  Raspberry mengirim perintah kepada motor stepper melalui CNC shield yang terpasang pada arduino mega . Limit switch berfungsi untuk membatasi gerakan pada motor stepper agar tidak bergerak keluar dari bidang kerja yang sudah di tentukan.
Gambar 4. Wiring diagram hardware
Wiring Diagram Hardware pada gambar 4 dapat di- jelaskan  bahwa  sistem  kontrol  CNC  pengebor  PCB otomatis ini menggunakan raspberry pi sebagai otak un- tuk mengontrol seluruh sistem dari mulai input, output , sampai  pengiriman  data  ke motor  stepper dan  motor DC. Sumber daya yang dipakai pada rangkaian tersebut menggunakan power  supply 12  volt.  Power  supply disini berfungsi merubah tegangan sumber dari 220 volt AC menjadi 12 volt DC. Kemudian dari power supply tegangan diturunkan kembali menjadi 5 volt oleh modul step down LM5296 sesuai dengan kebutuhan raspberry pi.  Raspberry  digunakan  sebagai  input  dengan menerima  data  yang  dikirim  melalui  laptop  berupa koordinat  lubang  pada  PCB.  Data  yang  dikirimkan
berupa gcode agar  nantinya  bisa  terbanya  oleh  modul CNC. Kemudian data dari raspy dikirimkan ke arduino mega  melalui  USB  serial.  Arduino  mega  terhubung dengan  ramps  1.4  yang  telah  terpasang  driver  A4988. Driver ini berfungsi menerima dan membaca data sebe- lumnya  untuk  kemudian output nya  mengontrol  ketiga motor  stepper.  Ketiga  motor  stepper  masing-masing bekerja terhadap sumbu x, y dan z. Tujuan tiga sumbu tersebut untuk memudahkan pergerakan mesin menuju koordinat  lubang  PCB  yang  telah  di  tentukan.  Rasp- berry  juga  terhubung  dengan limit  switch yang  ber- fungsi untuk memberi batasan pada motor stepper agar tidak  bekerja  melewati  bidang  kerja  yang  telah  diten- tukan.
Setelah  sumbu  x  dan  y  motor  stepper  sudah  men- capai  koordinat  lubang,  selanjutnya  raspberry  akan mengirimkan  perintah  kepada  motor  DC  untuk  meng- gerakkan mata bor. Ketika mata bor berputar, sumbu z dari motor stepper juga akan bekerja untuk menurunkan posisi motor DC agar mata bor dapat melubangi PCB. Fungsi perintah motor DC tersebut dikirimkan melalui port GPIO pada raspberry ke
Gambar 5. Desain mekanik mesin CNC tampak depan

## Gambar 6. Desain mekanik mesin CNC tampak samping
Desain perancangan mekanik mesin CNC ini dapat dilihat  pada  gambar  5  dan  6.  ukuran  alas  dari  alat  ini adalah  panjang  32  cm  dan  lebar  53  cm.  sedangkan
tingginya 49 cm. alat ini mempunyai berat 19,5 kg. Alat ini  menggunakan  kayu  sebagai  penopang  dari  setiap komponen  yang  digunakan.  Menggunakan  kayu  yang cukup  tebal  dan  kuat  bertujuan  untuk  menjaga kestabilan  setiap  komponen  agar  lebih  tahan  terhadap getaran  maupun  goncangan.  Tujuan  lain  dari penggunaan kayu ini adalah untuk menghindari adanya arus  bocor  sehingga  tidak  membahayakan  pengguna. Alat  ini  telah  di  desain  sebaik  mungkin,  seminimalis mungkin  untuk  menempatkan  berbagai  komponen mekanik maupun elektronikanya.

## B. Software
Di dalam perancangan software alat ini terdapat 5 software yang dijalankan, antara lain: Fritzing, Copper CAM, PCB Designer, Python dan BCNC.

## Gambar 5. Diagram koneksi software
Sistem  perancangan  perangkat  lunak  ( software ) pada  mesin  CNC  pengebor  PCB  otomatis  ini menggunakan  aplikasi  Fritzing  dan  PCB  designer sebagai input yang digunakan untuk membuat skematik rangkaian  pada  PCB  sekaligus  mengkonversinya menjadi  kode  G.  Kemudian  hasil  dari  kode-kode tersebut di pindah pada aplikasi pemrograman raspberry yaitu  phyton  agar  bisa  terbaca  oleh  BCNC.  Lalu  di import  ke  aplikasi  BCNC  sebagai  aplikasi  tatap  muka untuk  mesin  CNC.  BCNC  digunakan  untuk  membaca koordinat  setiap  lubang  dan  mengontrol  setiap pergerakan sumbu pada mesin CNC.

## C. Flowchart Sistem
Berikut flowchart sistem  kerja  dari  mesin  CNC dapat  dijelaskan  bahwa  hal  pertama  yang  dilakukan adalah pembuatan skematik rangkaian PCB, kemudian dikonversi  menjadi  kode  G  untuk  setiap  lubang.  Lalu penginputan koordinat lubang pada layout PCB yang te- lah  dibuat.  Penginputan  ini  dilakukan  dengan  cara mengkonversi  desain  layout  PCB  yang  telah  dibuat kedalam  bentuk  bahasa  pemrograman gcode .  Hal  ini dilakukan agar koordinat lubang dapat terbaca oleh me- sin  CNC.  Kemudian  data  koordinat  lubang  akan dikirimkan ke raspberry untuk dibaca dan diolah. Rasp- berry  akan  mengirimkan  perintah  kepada  tiap  motor melalui CNC shield yang terpasang ke arduino. Setiap motor akan bekerja sesuai dengan rule base yang telah ditentukan secara otomatis.
Gambar 7. Flowchart sistem kerja pada mesin CNC

## IV. H ASIL DAN PEMBAHASAN
Pada  penelitian  ini  diharapkan  sistem  dapat beroperasi  dengan  lancar,  baik dari hardware maupun software .  Diharapkan  mesin  dapat  membaca  setiap koordinat  lubang  pada layout PCB  yang  telah  dibuat pada software fritzing.  Dengan  begitu  ketiga  sumbu yang  digerakkan  oleh  motor  stepper  dapat  berjalan sesuai dengan koordinat lubang yang dituju.
(a)                                          (b) Gambar 8. (a) Mekanik CNC tampak depan (b) Mekanik CNC tampak samping

## A. Pengujian Interface Melalui BCNC
Pengujian akurasi ini dilakukan dengan menjalankan mesin CNC dengan jarak 5 mm dan 10 mm, pada kom- puter  dan  melihat  reaksi  dari  mesin  CNC  dengan menggunakan  spidol  sebagai  penanda.  Pengujian  ini dilakukan 6 arah pada mesin CNC. Keenam arah terse- but yaitu sumbu X+, sumbu X-, sumbu Y+, sumbu Y-, sumbu Z+, sumbu Z-.
Setelah  mesin  CNC  berjalan  sesuai  dengan  jarak yang  ditentukan  pada  software,  maka  pergerakan  dari motor  stepper  akan  berhenti.  Pengujian  ini  dilakukan dengan cara memberikan spidol yang ditempelkan pada motor dc sebagai penanda berapa jarak yang ditempuh oleh  motor  stepper.  Seperti  yang  terlihat  pada  gambar 4.7.
Jarak  yang  ditempuh  motor  stepper  ini  dilakukan sebanyak 10 kali percobaan. Proses tersebut dilakukan pada keenam sumbu. Sumbu X+ bergerak dari titik awal ke  kanan.  Sumbu  X-  bergerak  dari  titik  awal  ke  kiri. Sumbu Y+ bergerak dari titik awal ke arah atas. Sumbu Y-  bergerak  dari  titik  awal  ke  arah bawah.  Sumbu Z+ bergerak  dari  bawah  ke  atas.  Dan  sumbu  Z-  bergerak dari atas ke bawah. Berikut merupakan hasil pengujian yang telah dilakukan.

## Gambar 9. Percobaan akurasi dengan spidol

## 1) Sumbu X-
Tabel II. Data hasil pengukuran sumbu x- sejauh 5mm Hasil pengukuran (mm) Akurasi (%) Error (%) 5,1 99 1,00 5,1 99 1,00 5,1 99 1,00 5,2 98 2,00 5,4 96 4,00 5,1 99 1,00 5,1 99 1,00 4,9 99 1,00 5,1 99 1,00 5,2 98 2,00 Rata-rata 1,5 Tabel III. Data hasil pengukuran sumbu x- sejauh 10mm Hasil pengukuran (mm) Akurasi (%) Error (%) 10,2 98 2,00 10,1 99 1,00
10,1 99 1,00 10 100 0,00 10,5 95 5,00 10,1 99 1,00 10,1 99 1,00 10,2 98 2,00 10,5 95 5,00 10,4 96 4,00 Rata-rata 2.2
2) Sumbu X+ Tabel IV. Data hasil pengukuran sumbu x+ sejauh 5mm Hasil pengukuran (mm) Akurasi (%) Error (%) 5.1 99 1,00 5.1 99 1,00 5.5 95 5,00 5.1 99 1,00 5.1 99 1,00 5.2 98 2,00 5.1 99 1,00 5.1 99 1,00 5 100 0,00 4.9 99 1,00 Rata-rata 1,4 Tabel V. Data hasil pengukuran sumbu x+ sejauh 10mm Hasil pengukuran (mm) Akurasi (%) Error (%) 10,1 99 1,00 10,4 96 4,00 10,2 98 2,00 10,1 99 1,00 10,2 98 2,00 10,2 98 2,00 10,1 99 1,00 10 100 0,00 10,6 94 6,00 10,1 99 1,00 Rata-rata 2

## 3) Sumbu Y-
Tabel VI. Data hasil pengukuran sumbu y- sejauh 5mm Hasil pengukuran (mm) Akurasi (%) Error (%) 5.2 98 2,00 5.5 95 5,00 5.2 98 2,00 5 100 0,00 5 100 0,00 5.1 99 1,00 4.7 97 3,00 4.9 99 1,00 5.1 99 1,00 5.2 98 2,00 Rata-rata 1,7 Tabel VII. Data hasil pengukuran sumbu y- sejauh 10mm Hasil pengukuran (mm) Akurasi (%) Error (%) 10,2 98 2,00 10,1 99 1,00 10,1 99 1,00 10,5 95 5,00 9,7 97 3,00 9,9 99 1,00 10,3 97 3,00 10 100 1,00 10,5 95 5,00 10,1 99 1,00
Rata-rata 2,3

## 4) Sumbu Y+
Tabel VIII. Data hasil pengukuran sumbu y+ sejauh 5mm Hasil pengukuran (mm) Akurasi (%) Error (%) 5 100 0,00 5.1 99 1,00 5.1 99 1,00 4.9 99 1,00 4.8 98 2,00 5 100 0,00 5 100 0,00 5.1 99 1,00 4.9 99 1,00 4.9 99 1,00 Rata-rata 0,8 Tabel IX. Data hasil pengukuran sumbu y+ sejauh 10mm Hasil pengukuran (mm) Akurasi (%) Error (%) 10 100 0,00 10,1 99 1,00 10,1 99 1,00 10,2 98 2,00 10,5 95 5,00 10,6 94 6,00 10,4 96 4,00 10,1 99 1,00 10,1 99 1,00 9,8 98 2,00 Rata-rata 2,3

## 5) Sumbu Z-
Tabel X. Data hasil pengukuran sumbu z- sejauh 5mm Hasil pengukuran (mm) Akurasi (%) Error (%) 5 100 0,00 5 100 0,00 5 100 0,00 5 100 0,00 5 100 0,00 5 100 0,00 5.1 99 1,00 5 100 0,00 5.1 99 1,00 5 100 0,00 Rata-rata 0,2 Tabel XI. Data hasil pengukuran sumbu z- sejauh 10mm Hasil pengukuran (mm) Akurasi (%) Error (%) 10 100 0,00 10 100 0,00 10 100 0,00 10 100 0,00 10,1 99 1,00 10 100 0,00 10,2 98 2,00 10 100 0,00 10 100 0,00 10,1 99 1,00 Rata-rata 0,4

## 6) Sumbu Z+
Tabel XII. Data hasil pengukuran sumbu z+ sejauh 5mm Hasil pengukuran (mm) Akurasi (%) Error (%) 5 100 0,00 5 100 0,00 5 100 0,00 5,1 99 1,00 5 100 0,00 5 100 0,00 5.1 99 1,00 5 100 0,00 5 100 0,00 5 100 0,00 Rata-rata 0,2 Tabel XIII. Data hasil pengukuran sumbu z+ sejauh 10mm Hasil pengukuran (mm) Akurasi (%) Error (%) 10 100 0,00 10,2 98 2,00 10 100 0,00 10 100 0,00 10 100 0,00 10 100 0,00 10,1 99 1,00 10,1 99 1,00 10 100 0,00 10 100 0,00 Rata-rata 0,4
Dari  seluruh  percobaan  setiap  sumbu  dengan  mas- ing-masing  dilakukan  sepuluh  kali  percobaan,  maka dapat  di  rata-rata  sehingga  menghasilkan  nilai  keaku- ratan dari nilai error tersebut. Berikut perhitungan nilai error rata-rata dari seluruh percobaan:
_ _ _ 100 _ jumlah seluruh rata rata error error x banyak pengukuran
− = (2)
Jadi untuk menghitung error dari seluruh data adalah:
15, 4 100 1, 2% 12 error x = =
Jadi  dari  pengukuran  di  atas  data  yang  diperoleh menunjukkan  mesin  CNC  pengebor  PCB  otomatis  ini memiliki akurasi jarak sebesar 98,8% dengan nilai error yang dihasilkan sebesar 1,2%.

## B. Pengujian Pengeboran Pada Layout
1) Rangkaian Pertama
(a)                                (b) Gambar 10. (a) Layout sebelum di bor (b) PCB setelah di bor
Pada gambar 10 merupakan rangkain yang telah dibuat dan merupakan hasil dari proses pengeboran yang  telah  dilakukan.  Dapat  dilihat  banyak  lubang yang  ada  pada  rangkaian  tersebut  sebanyak  131. Proses  pengeboran  pada  percobaan  pertama  ini berjalan dengan lancar dan proses pengeboran sudah tepat sesuai dengan titik yang telah disediakan.
Proses  pengeboran  pada  rangkian  ini  dilakukan sebanyak  tiga  kali.  Setelah  dilakukan  proses pengeboran sebanyak tiga kali.

## Tabel XIV. Data pengeboran rangkaian pertama
No Banyak Lubang Keterangan Ketepatan (%) Terbor Meleset Tidak Terbor 1 131 131 0 0 100% 2 131 131 3 0 97.7% 3 131 131 2 0 98.5%

## 2) Rangkaian Kedua

## (a)                                 (b)
Gambar 11. (a) Layout sebelum di bor (b) PCB setelah di bor
Pada gambar 11 merupakan hasil dari percobaan kedua yang telah dilakukan, dan dapat dilihat banyak lubang yang ada pada rangkaian tersebut sebanyak 8 lubang. Pada percobaan kedua ini lubang yang ber- hasil di bor sebanyak 8 dan tidak ada satupun mata bor  yang  meleset  pada  lubang.  Proses  pengeboran sudah  tepat  sesuai  dengan  titik  yang  telah  dise- diakan.
Tabel XV. Data pengeboran rangkaian kedua No Banyak Lubang Keterangan Ketepatan (%) Terbor Meleset Tidak Terbor 1 8 8 0 0 100% 2 8 8 0 0 100% 3 8 8 0 0 100%

## 3) Rangkaian Ketiga

## (a)                                   (b)
Gambar 12. (a) Layout sebelum di bor (b) PCB setelah di bor
Pada gambar 12 merupakan hasil dari percobaan
ketiga  yang  telah  dilakukan,  dan  dapat  dilihat banyak  lubang  yang  ada  pada  rangkaian  tersebut sebanyak  17  lubang.  Pada  percobaan  ketiga  ini lubang yang  berhasil  di  bor  sebanyak  17 dan  tidak ada  satupun  mata  bor  yang  meleset  pada  lubang. Proses  pengeboran  sudah  tepat  sesuai  dengan  titik yang telah disediakan.
Tabel XVI. Data pengeboran rangkaian kedua No Banyak Lubang Keterangan Ketepatan (%) Terbor Meleset Tidak Terbor 1 17 17 0 0 100% 2 17 17 0 0 100% 3 17 17 0 0 100%

## C. Pengujian PID
Kontrol PID merupakan kontrol yang memiliki sta- bilitas  yang  baik  dengan  tingkat  error  dan  overshoot yang  kecil.  Tujuan  dari  penggunaan  PID  pada  alat  ini adalah  untuk membuat putaran  motor  DC  lebih  stabil. Karena kecepatan putaran motor DC sering tidak stabil akibat gangguan dari luar maupun perubahan parameter dari fabrikasinya. Agar diperoleh pengontrol yang baik maka  dilakukan  tuning  parameter  pengontrol  pro- porsional (Kp), Intergral (Ki) dan Derivatif (Kd).[16]
Untuk  mendapat  nilai  respon controller yang  opti- mal dapat dilakukan dengan pemilihan harga koefisien pada Kp, Ki dan Kd, dengan menggunakan metode auto tuning.  Metode  ini  menghasilkan  respon  sinyal  lebih baik daripada menggunakan metode traditional tuning.
Sistem mengendalikan dan mengatur kecepatan mo- tor  dengan  teknik  Pulse  Width  Modulation  (PWM). Pengontrol mengeluarkan sinyal PWM ke driver untuk menguatkan  arus.  Sinyal  PWM  yang  sudah  dikuatkan arusnya  digunakan  untuk  menggerakkan  motor  DC dengan  level  0-255.  Motor  DC yang  digunakan  meru- pakan  motor  6-36 VDC  dengan RPM maksimal  tanpa beban  12000  yang  merupakan  motor  DC  magnet  per- manen.
Auto tuning dilakukan dengan menggunakan soft- ware Matlab dengan menggunakan simulasi pada fitur matlab yaitu simulink. Sebelum proses simulasi dimulai hal pertama yang dilakukan adalah mengetahui param- eter-parameter pada motor DC. Berikut merupakan pa- rameter pada motor DC:
Tabel XVII. Parameter motor dc
Keterangan Nilai Momen inersia rotor (J) 0,18 kg/ 𝑚 2 rasio peredaman sistem mekanik (b) 0,0055 Nms core Konstanta gaya elektronik (Kt) 0,01 Nm/Amp Tahanan elektrik (R) 6.25 ohm Induktansi elektrik (L) 0,024 H konstanta tahanan elektrik (Ke) 1V/Rad/Sec
Kemudian  nilai-nilai  tersebut  akan  dihitung  untuk mendapatkan  nilai transfer  function .  Berikut  rumus
transfer function pada motor DC:
2 ( ) ( ) ( ) Kt LxJ s Lxb RxJ Rxb KtxKe + + + + (3)
Mencari  konstanta  PID  memerlukan  beberapa  taha- pan  pada  saat  menggunakan  simulasi  simulink  pada Mathlab. Berikut tahapan-tahapan dalam mencari nilai Kp, Ki dan Kd:
a) Carilah nilai transfer function dari rumus diatas secara otomatis menggunakan mathlab.
b) Setelah  mendapatkan  nilai transfer  function ,
Langkah  selanjutnya  adalah  membuka  simulink pada  Matlab  dan  membuat  rangkaian  simulasi untuk mengetahui nilai rise time dari motor DC. berikut rangkaian simulasi pada simulink:

## Gambar 13. Rangkaian simulasi pada simulink
Setelah rangkaian selesai dan nilai dari transfer function sudah  diinputkan,  lalu  klik run . Kemudian  klik  pada scope untuk  mengetahui grafik sinyal dan rise time yang dihasilkan.
c) Hasil dari sinyal tersebut menunjukkan nilai rise time yang  dihasilkan  sebesar  5.071  detik.  Nilai tersebut tentu sangat besar karena waktu yang di- perlukan  untuk  naik  sampai  dengan  respon memotong sumbu pertama bernilai 5 detik.
Hasil  dari rise  time tersebut  akan  dipercepat dengan nilai dibawah satu detik agar respon sis- tem lebih cepat stabil. Cara yang dilakukan agar nilai rise  time bisa  dipercepat  adalah  dengan menggunakan  kontrol  PID  dengan  tujuan  untuk menentukan presisi pada suatu sistem instrumen- tasi. Dengan menggunakan PID, plant yang sebe- lumnya  menggunakan  sistem  lingkar  terbuka ( open loop ) kemudian akan menjadi sistem ling- kar  tertutup  ( close  loop ).  Seperti  terlihat  pada gambar berikut ini:

## Gambar 14. Rangkaian simulasi dengan PID
d) Setelah  rangkaian  selesai  dengan  penambahan PID, kemudian gunakan  fitur  dari  Matlab  untuk mengatur respon sistem yang kita inginkan. Fitur ini  juga  untuk  mengetahui  berapa  nilai  Kp,  Ki dan Kd yang didapatkan dari respon sistem terse- but. Fitur ini bernama PID tuner .
e) Setelah  itu  kita  atur  nilai rise  time untuk mendapat  nilai  dibawah  satu  detik.  Jangan  lupa untuk memperhatikan nilai overshoot agar tidak terlalu besar. Dengan memperhatikan kedua nilai tersebut  maka  nilai  respon  ( settling  time )  juga akan semakin cepat berada pada keadaan steady state .  Kita  dapat  mengatur  nilai-nilai  tersebut dengan  menggunakan  menu tuning  tools pada PID tuner .
Gambar 15. Hasil Tuning pada PID tuner
f) Setelah diatur dengan menggunakan tuning tools , Dapat dilihat pada gambar 4.35 bahwa nilai rise time  yang  didapat  adalah  0,418  detik.  Dengan nilai overshoot sebesar  3,48%  dan  nilai  settling time  sebesar  2,16  detik.  Setelah  respon  sistem sesuai  dengan  yang  diinginkan,  maka  nilai kontrol parameter Kp, Ki dan Kd akan otomatis didapat  seperti  pada  gambar  diatas.  Nilai  PID yang didapat adalah Kp = 54, Ki = 38 dan Kd = 0.9.  setelah  mendapat  nilai  Kp,  Ki  dan  Kd kemudian nilai tersebut kita masukkan pada PID yang  terdapat  pada  simulink.  Lalu  run  dan  klik scope untuk melihat respon sinyalnya.

## Gambar 16. Diagram Sinyal Dengan PID
g) Dari  gambar  16  dapat  dilihat  bahwa  rise  time yang  dihasilkan  setelah  menggunakan  PID  ada- lah  416  ms  atau  sekitar  0,4  detik.  Dengan  nilai sebelumnya  yang  mencapai  5  detik  tanpa menggunakan  PID.  Dari  sinyal  tersebut  dapat dilihat jika dengan menggunakan PID respon sis- tem  lebih  cepat  dan  lebih  stabil  dengan  waktu yang lebih singkat untuk mencapai steady state . Dengan  menggunakan auto  tuning tersebut didapat  nilai  parameter  motor  DC  yang  optimal yaitu Kp = 54, Ki = 38 dan Kd = 0.9. Dari nilai tersebut  didapat  nilai  PWM  yang  stabil  dengan nilai yang mendekati setpoint .
Tabel XVIII. Data pengujian PID No setpoint 54, 38, 0.9 RPM 1 225 223.975 6.150 2 225 223.975 6.150 3 225 224.9001298 6.200 4 225 224.9001298 6.200 5 225 224.9001298 6.200 6 225 224.9001298 6.200 7 225 224.9001298 6.200 8 225 230.8501023 6.335 9 225 230.8501023 6.335 10 225 230.8501023 6.335 11 225 230.8501023 6.335 12 225 230.8501023 6.335 13 225 222.9747852 6.100 14 225 222.9747852 6.100 15 225 222.9747852 6.100 16 225 222.9747852 6.100 17 225 222.9747852 6.100 18 225 222.9250994 6.100 19 225 222.9250994 6.100 20 225 222.9250994 6.100 21 225 222.9250994 6.100 22 225 222.9250994 6.100 23 225 220.9749263 6.080 24 225 220.9749263 6.080 25 225 220.9749263 6.080 26 225 220.9749263 6.080 27 225 222.9500649 6.100 28 225 222.9500649 6.100 29 225 222.9500649 6.100 30 225 222.9500649 6.100 31 225 228.8751335 6.300 32 225 228.8751335 6.300 33 225 228.8751335 6.300 34 225 228.8751335 6.300 35 225 226.8999963 6.250 36 225 226.8999963 6.250 37 225 226.8999963 6.250 38 225 224.9249898 6.150 39 225 224.9249898 6.150 40 225 224.9249898 6.150 41 225 224.9249898 6.150 42 225 222.9500024 6.100 43 225 222.9500024 6.100 44 225 222.9500024 6.100 45 225 227.9001334 6.250 46 225 227.9001334 6.250 47 225 227.9001334 6.250 48 225 222.9749072 6.100 49 225 222.9749072 6.100 50 225 222.9749072 6.100

## V. K ESIMPULAN
Berdasarkan proses implementasi, pengujian dan an- alisis  yang  dilakukan, maka  dapat  disimpulkan  bahwa mesin CNC pengebor PCB otomatis berbasis raspberry dapat  direalisasikan  sesuai  dengan  perancangan  awal hardware maupun software. Penentuan  koordinat lubang  pada  skematik  yang  dibuat  dilakukan  dengan mengkonversi layout yang telah dibuat ke dalam kode pemrograman  yang  disebut gcode. Implementasi  PID untuk  motor  DC  berdasarkan  metode auto  tuning didapatkan nilai konstanta Kp = 54, Ki = 38 dan Kd = 0.9. Pengujian ketelitian pada sumbu x-, x+, y-, y+, z- dan  z+  dilakukan  masing-masing  sepuluh  kali  perco- baan dengan tingkat akurasi keseluruhan 98,8%.
Untuk penelitian selanjutnya agar mesin lebih opti- mal, tidak hanya diperlukan rangkaian elektronika yang stabil.  Tetapi  juga  membutuhkan  pengujian  mekanik lebih maksimal dari segi kekuatan, ketahanan dan kesta- bilan. Dikarenakan mesin CNC akan bekerja maksimal jika  suatu  mekanik  CNC  tersebut  mempunyai  kualitas yang sangat bagus. Untuk penempatan PCB yang akan di  bor  dapat  digunakan  suatu  pengolahan  citra  digital yang  nantinya  akan  mendukung  letak  koordinat  suatu PCB  secara  bebas  sehingga  tidak  perlu  memposisikan terlebih dahulu letak PCB ke workspace CNC tersebut.

## D AFTAR P USTAKA
[1] E.  Prianto  and  H.  S.  Pramono,  “Proses  Permesinan Cnc  Dalam  Pembelajaran  Simulasi,” J.  Edukasi Elektro , vol. 1, no. 1, pp. 62–68, 2017.
[2] D.  R.  Patel,  “Fabrication  of  Low  Cost  CNC Engraving  Machine,” Int.  J.  Res.  Appl.  Sci.  Eng. Technol. , vol. 6, no. 4, pp. 4850–4855, 2018.
[3] A. A. Fuadzi, I. Santosa, and G. R. Wilis, “Instrumen
Kendali Mesin Cnc Portable Berbasis Microcontroller Arduino Dan Modul Cnc Shield,” 1st Mech. Eng. Natl. Converence, 2018 , pp. 87–96, 2018.
[4] N.  K.  Mukhofidhoh,  “Rancang  Bangun  Mesin
Pengebor  PCB  Mini  Otomatis  Berbasis  Arduino UNO,” J. Tek. Elektro , vol. 7, no. 1, pp. 9–16, 2018.
[5] D.  K.  Pradana,  “Rancang  Bangun  Cnc  Milling Machinehome  Made,” Teknol.  Elektro  Vol.10  no.1 , vol. 10, no. 1, pp. 35–41, 2011.
[6] A. R. Sonawane, A. B. Rane, and D. S. S. Sudhakar, “Development of a3-Axis Cnc Milling Machine With an  Open  Source  Controller,” Int.  J.  Res.  Eng.
Technol. , vol. 06, no. 08, pp. 9–15, 2017.
[7] P.  Gadhe,  V.  Jangir,  and  M.  Yede,  “Design  and Implementation  of  PCB  Using  CNC,” Int.  Res.  J. Eng. Technol. , vol. 4, no. 2, pp. 2–5, 2017.
[8] D. G. Subagio, Teknik Pemrograman Cnc Bubut Dan Freis . Jakarta: Yayasan Obor Indonesia, 2008.
[9] Surwanto, Mahir Permesinan CNC Milling .
Yogyakarta, 2018.
[10] M.  Amala  and  S.  Widyanto,  “Pengembangan Perangkat Lunak Sistem Operasi Mesin Milling Cnc Trainer,” J.  Tek.  Mesin ,  vol.  2,  no.  3,  pp.  204–210, 2014.
[11] V.  N.  Febrianto,  “Aplikasi  Kontrol  PID  untuk
Pengaturan Putaran Motor DC pada Alat  Pengepres Adonan  Roti  (Screw  Conveyor),” Jur.  Tek.  Elektro Fak. Tek. Univ. Brawijaya , pp. 1–6, 2014.
[12] A. Restu, J. Wiriawan, and A. Irawan, “Pengaturan Kecepatan  Motor  DC  dengan  Kontrol  Proporsional Integral  Derifatif  (  PID  )  Berbasis  LabView,” Telekontran , vol. 4, no. Oktober, pp. 13–24, 2016.
[13] D.  Erison,  “Perancangan  Mesin  Bor  PCB Menggunakan CNC: Tatap Muka Pergerakan Mesin CNC Secara Otomatis Menggunakan Visual Basic,” Institut  Teknologi  Sepuluh  Nopember  Surabaya, 2017.
[14] M.  Zulfikar,  “Apa  Itu  Fritzing?,”  2015.  [Online]. Available:
http://zulfikar218.blogspot.com/2015/05/apa-itu- fritzing.html.
[15] P. Sugiri, “Final Project Design of Computer Based Automatic,”  UNIVERSITAS  SANATA  DHARMA YOGYAKARTA, 2015.
[16] I. Widhiada, W. Yuda Ade Putra, and C. Indra Partha, “Auto Tuning PID Controller Untuk Mengendalikan Kecepatan DC Servomotor Robot Gripper 5 Jari,” J. Energi Dan Manufaktur , vol. 7, no. 2, pp. 187–192, 2014.