BAB IV PEMBAHASAN. 27

dokumen-dokumen yang mirip
BAB III PERANCANGAN ALAT

BAB 3 PERANCANGAN ALAT

BAB III ANALISIS DAN PERANCANGAN

BAB IV PERANCANGAN ALAT

BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA

Komunikasi Serial. Menggunakan Arduino Uno MinSys

BAB III PEMBUATAN SOFTWARE

BAB IV HASIL DAN UJI COBA

BAB IV ANALISA DAN PENGUJIAN ALAT

Display LCD. Menggunakan Arduino Uno MinSys

BAB IV ANALISA DAN PENGUJIAN ALAT

BAB IV PERANCANGAN. 4.1 Flowchart

Dan untuk pemrograman alat membutuhkan pendukung antara lain :

BAB IV PENGUJIAN DAN ANALISA ALAT

BAB III PERANCANGAN ALAT

Analog to Digital Convertion Menggunakan Arduino Uno Minsys

BAB III PERANCANGAN SISTEM

BAB IV PENGUJIAN DAN ANALISA ALAT

BAB IV PERANCANGAN ALAT

BAB IV HASIL DAN UJI COBA

BAB III PERANCANGAN ALAT

BAB III PERANCANGAN ALAT

BAB III PERANCANGAN ALAT DAN PROGRAM

BAB IV HASIL DAN UJI COBA

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB III PERANCANGAN. meliputi dua Perancangan yaitu perangkat keras (hardware) dan perangkat lunak

Light Dependent Resistor LDR Menggunakan Arduino Uno Minsys

BAB IV PENGUJIAN DAN ANALISA ALAT

BAB 3 PERANCANGAN SISTEM. Computer. Parallel Port ICSP. Microcontroller. Motor Driver Encoder. DC Motor. Gambar 3.1: Blok Diagram Perangkat Keras

BAB IV PENGUJIAN DAN ANALISA SISTEM

BAB IV HASIL DAN PEMBAHASAN

BAB III ANALISIS DAN PERANCANGAN

Output LED. Menggunakan Arduino Uno MinSys

BAB 3 PERANCANGAN ALAT. Gambar 3.1 diagram blok rangkaian

BAB III PERANCANGAN ALAT

BAB IV PENGUJIAN DAN ANALISA ALAT. perancangan alat. Tujuan pengujian adalah untuk mengetahui kebenaran

BAB IV. PERANCANGAN. Blok diagram menggambarkan cara kerja semua sistem E-dump secara keseluruhan yang terdiri dari beberapa komponen:

BAB 3 PERANCANGAN DAN PEMBUATAN SISTEM

BAB IV HASIL DAN UJI COBA

BAB III METODE PENELITIAN DAN PERANCANGAN SISTEM. secara otomatis. Sistem ini dibuat untuk mempermudah user dalam memilih

BAB IV HASIL DAN UJI COBA

BAB III PERANCANGAN ALAT

BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA

BAB IV PENGUJIAN ALAT DAN ANALISA

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB III ANALISIS DAN PERANCANGAN

BAB IV PENGUJIAN DAN ANALISA ALAT

BAB IV PENGUJIAN. Gambar 4.1 Rangkaian Pengujian Arduino Uno.

BAB 3 PERANCANGAN DAN PEMBUATAN

BAB IV HASIL DAN UJI COBA

Belajar mikrokontroler Arduino untuk tingkat Pemula.

BAB IV PENGUJIAN DAN ANALISA ALAT

BAB III PERANCANGAN ALAT

BAB III ANALISA DAN PERANCANGAN SISTEM

BAB IV PENGUJIAN DAN ANALISA SISTEM

BAB IV PENGUJIAN ALAT DAN ANALISA

BAB III METODE PENELITIAN. Tujuan dari tugas akhir ini yaitu akan membuat sebuah alat yang mampu

BAB III PERANCANGAN ALAT

BAB IV HASIL DAN UJI COBA

PENGENALAN ARDUINO. SPI : 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin-pin ini mensupport komunikasi SPI menggunakan SPI library.

BAB IV HASIL DAN UJI COBA

BAB III PERANCANGAN ALAT

BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM

LAPORAN PRAKTIK MIKROPROSESSOR & INTERFACE

BAB III PERANCANGAN SISTEM

BAB II DASAR TEORI. open-source, diturunkan dari Wiring platform, dirancang untuk. memudahkan penggunaan elektronik dalam berbagai

Membuat kontrol display seven segment Membuat program Counter baik Up Counter maupun Down Counter dengan media tampilan 7-Segment.

BAB III PERANCANGAN PERANGKAT KERAS DAN LUNAK

BAB IV PENGUJIAN ALAT. Pengujian Arduino Board Pengujian Sensor Ultrasonic (ping) Pengujian Tombol Pengujian LCD Pengujian Alat Keseluruhan

BAB III METODOLOGI PENELITIAN. Adapun untuk gambar dan penjelasan dari blok diagram dari alat dapat dilihat pada. Modul sensor.

BAB IV PENGUJIAN DAN ANALISA

BAB III ANALISIS DAN PERANCANGAN

BAB III PERANCANGAN DAN PEMBUATAN ALAT

PEMBUATAN PROTOTIPE ALAT PENDETEKSI LEVEL AIR MENGGUNAKAN ARDUINO UNO R3

BAB III ANALISA DAN PERANCANGAN

BAB III PERANCANGAN ALAT

BAB IV PENGUJIAN ALAT DAN PEMBAHASAN

BAB III PERANCANGAN ALAT

BAB III PERENCANAAN SISTEM

LAMPIRAN. A. FOTO KOMPONEN : 1) Water flow sensor G1

BAB III PERENCANAAN SISTEM DAN PERANCANGAN ALAT

BAB III PERANCANGAN ALAT

BAB IV HASIL DAN UJI COBA

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN DESAIN SISTEM

BAB IV HASIL DAN UJI COBA

BAB III ANALISIS DAN PERANCANGAN

BAB IV HASIL DAN PEMBAHASAN. Berikut ini merupakan penjelasan dari rangkaian power supply:

BAB II LANDASAN TEORI

BAB 3 PERANCANGAN SISTEM. ruangan yang menggunakan led matrix dan sensor PING))). Led matrix berfungsi

BAB 3 METODE PENELITIAN. Sikonek, rumah tinggal Sunggal, dan Perpustakaan Universitas Sumatera Utara.

27 Gambar 3.2 Rangkaian Sistem Monitoring Cara kerja keseluruhan sistem ini dimulai dari rangkaian catu daya sebagai power atau daya yang akan disalur

BAB III PERANCANGAN ALAT. Sistem pengendali tension wire ini meliputi tiga perancangan yaitu perancangan

BAB II LANDASAN TEORI

BAB III METODE PENELITIAN

BAB III METODE PENELITIAN

BAB III PERANCANGAN ALAT

BAB III PERANCANGAN DAN IMPLEMENTASI

Transkripsi:

BAB IV PEMBAHASAN 4.1 Perancangan Kendali Back Gauge Berbasis Arduino Sistem yang akan dirancang akan terbagi menjadi dua bagian, yaitu perancangan perangkat keras ( Hardware ) dan perancangan perangkat lunak ( Software ). 4.1.1 Perancangan Perangkat Keras ( Hardware ) Komponen yang digunakan terdiri dari komponen elektrik dan mekanik. Komponen- komponen ini dapat digabung pada board arduino dengan inisialisasi pin sebagai berikut : Pin 14 dan 15 dihubungkan dengan rangkaian Bluetooth HC-05. Pin A0, A1, A2, A3, A4, A5 dihubungkan dengan rangkaian LCD 16x2 Pin 9 dan 10 dihubungkan dengan rangkaian push button ( button maju dan button mundur ) yang berfungsi untuk menggerakkan back gauge maju atau mundur dari posisi semula. Pin 12 dihubungkan dengan rangkaian push button ( button reset ) untuk mereset program arduino. Pin 11 dihubungkan dengan rangkaian sensor limit switch yang berfungsi dalam pergerakan otomatis maju atau mundur back gauge setelah punch menekuk material. Pin 8 dan 13 dihubungkan dengan rangkaian sensor proximity switch yang berfungsi sebagai sensor referensi pergerakan back gauge agar referensi awal pada posisi 0 dari titik center punch. Pin 4, 5, 6, dan 7 dihubungkan dengan rangkaian penggerak laju back gauge yang terdapat pada panel utama mesin hydraulic press brake. Pin 2 dan 3 dihubungkan dengan rangkaian rotary encoder motor back gauge. Input tegangan 3.3 volt dan Ground pada Arduino Mega 2560 dihubungkan pada Bluetooth HC-05. 27

Tegangan AC 220 volt dihubungkan Power supply 5 volt yang Outputnya akan dihubungkan dengan Input pada LCD 16x2 dan Input (Vin) dan Ground pada Arduino Mega 2560. 4.1.1.1 Rangkaian LCD 16x2 ke Arduino Mega 2560 LCD 16x2 berfungsi untuk menampilkan inputan berupa data angka dari windows yang di kirim melalui Bluetooth. Gambar 4.1 Rangkaian LCD 16x2 ke Arduino Mega 2560. 4.1.1.2 Rangkaian Bluetooth HC-05 ke Arduino Mega 2560 Rangkaian Bluetooth berfungsi untuk mengirimkan data dari windows ke Arduino Mega 2560. Rangkaian Bluetooth ke Arduino dapat dilihat digambar 4.2 28

Gambar 4.2 Rangkaian Bluetooth HC-05 ke Arduino Mega 2560 4.1.1.3 Rangkaian Penggerak Back Gauge Rangkaian penggerak ini akan di sambungkan dari arduino mega 2560 dengan rangkaian back gauge di panel utama mesin hydraulic press brake sehingga dapat terhubung dan menggerakkan laju dari back gauge dengan tambahan 4 buah relay 5 volt. Seperti pada gambar 4.3. Gambar 4.3 Rangkaian Penggerak Back 29

4.1.1.4 Rangkaian Proximity Switch Rangkaian proximity switch berfungsi sebagai sensor deteksi metal dimana saat besi yang ditempelkan pada back gauge terbaca oleh sensor maka back gauge akan bergerak menuju titik referensinya Gambar 4.4 Rangkaian Proximity Switch 1.1.2 Perancangan Perangkat Lunak ( Software ) Perangkat lunak yang dirancang ada 2 bagian, yaitu pada windows dan board Arduino. Pada windows menggunakan software Visual Studio 2010 dengan bahasa pemrogaman C. Pada Arduino, menggunakan Arduino IDE (Integrated Development Environment) dengan bahasa pemrogaman C. 4.1.2.1 Perancangan Program Pada Visual Studio Perancangan program pada visual studio berfungsi sebagai pengolah data lalu mengirim data tersebut ke arduino dengan media Bluetooth Berikut adalah perancangan tampilan dari desain Visual studio yang terbagi menjadi 4 form yaitu : 1. Pada form 1 yang merupakan tampilan awal dari program kendali back gauge yang diberi nama Yawei terdapat tiga buah pilihan yaitu : New Program, List Program, Connection, seperti gambar 4.2 : 30

Gambar 4.5 Desain Form 1 New Program berfungsi untuk membuat program baru ( membuka Form 4 ), List Program berisi data dari program yang dituliskan dan sudah tersimpan ( membuka Form 2 ). Connection berfungsi untuk koneksi / pairing dari windows ke arduino melalui media Bluetooth HC-05. 2. Pada form 4 / klik New program terdapat pilihan untuk memasukkan nama program, nilai X axis, nilai Y axis, dan pilihhan add yang berfungsi untuk memasukkan nama dan angka yang telah dituliskan, seperti gambar 4.3 : Gambar 4.6 Desain Form 4 Kemudian mengisi nama program, nilai X axis, nilai Y axis, seperti gambar 4.6 31

Gambar 4.7 Pengisian Form 4 Lalu klik pilihan Add maka program yang ditulis akan di input ke dalam table form 4, seperti gambar 4.5 : Gambar 4.8 Menginput Data Program Jika ingin menambahkan data program dalam satu nama program dengan 2 X axis atau 2 pergerakan back gauge bisa dilakukan seperti langkah sebelumnya, dan klik tombol save maka program akan di simpan ke dalam List Program ( Form 2 ). 3. Pada form 2 / klik List Program terdapat pilihan search program untuk mencari program, data list program yang telah di buat pada New 32

Program ( Form 4 ), pilihan select untuk memilih program yang akan di jalankan. Lalu klik RUN untuk menjalankan program ( membuka form 3 ) Seperti gambar 4.6 : Gambar 4.9 Form 2 ( List Program ) 4. Setelah klik pilihan RUN akan membuka tampilan form 3 seperti pada gambar 4.7 : Gambar 4.10 Tampilan Form 3 Pada form 3 ini terdapat tampilan data yang akan dikirim ke arduino, nama program yang akan di eksekusi, tombol [ < ] [ > ] untuk memilih 33

program, tombol [reference] untuk mereferensi program, dan tombol [RUN] untuk eksekusi program yang telah dipilih. Diagram alir ( flowchart ) pada pemrograman visual studio dapat dilihat pada gambar 4.11 MULAI CONNECTION Check koneksi Bluetooth Buat Program Pilih Program NEW PROGRAM Save LIST PROGRAM Run REFERENCE RUN Program Siap Dijalankan Gambar 4.11 Diagram Alir Program Kendali Pada Visual Studio 4.1.2.2 Perancangan Program Pada Arduino Mega 2560 Pemrograman pada Arduino berfungsi sebagai penerima data dan meneruskannya ke control mesin yang menggerakan back gauge. Perancangan pembuatan program pada arduino IDE (integrated Development Environment) yang 34

merupakan compiler dari arduino. Arduino IDE terdiri dari editor teks untuk menulis kode program, sebuah area pesan, sebuah konsul, sebuah toolbar dengan tomboltombol untuk fungsi umum dan beberapa menu. Arduino IDE terhubung ke arduino board untuk meng-upload program dan juga untuk berkomunikasi dengan arduino board. Sebelum memulai membuat kode program pada arduino IDE, terlebih dahulu menentukan jenis arduino board yang digunakan pada sistem. Arduino mega 2560 merupakan jenis arduino board yang digunakan pada sistem alat ini. Setelah menentukan arduino board yang digunakan, menentukan port pada PC (personal computer) yang digunakan untuk komunikasi pada arduino board, sehingga tidak terjadi kegagalan pada saat upload. #include <LiquidCrystal.h> LiquidCrystal lcd(a0, A1, A2, A3, A4, A5); const int buttonreset = 12; const int buttonmundur = 9; const int buttonmaju = 10; const byte limity_up = 11; const byte posx = 13; const byte posx2 = 8; const int Xmin = 4; const int Xplus = 5; const int Xminmin = 6; const int Xplusplus = 7; int n = LOW; float jarak=0; int encoderpin1 = 2; int encoderpin2 = 3; Kode program yang dimasukkan pada inisialisasi port digunakan sebagai deklarasi awal program pada arduino IDE untuk menentukan pin I/O analog maupun digital yang akan digunakan untuk menjalankan sistem alat. Seperti ditunjukkan pada coding program di atas. Kode program pada arduino IDE terdiri dari bagian utama dan bagian pendukung. Program bagian utama pada program arduino IDE adalah void 35

setup dan void loop. Void setup merupakan inisialisasi yang diperlukan sebelum program dijalankan. void setup() { pinmode(buttonreset,input); pinmode(buttonmundur,input); pinmode(buttonmaju,input); pinmode(limity_up,input_pullup); pinmode(posx,input_pullup); pinmode(posx2,input_pullup); pinmode(encoderpin1, INPUT); pinmode(encoderpin2, INPUT); pinmode (Xmin,OUTPUT); pinmode (Xplus,OUTPUT); pinmode (Xminmin,OUTPUT); pinmode (Xplusplus,OUTPUT); lcd.begin(16,2); lcd.print("start"); delay(1000); lcd.clear(); digitalwrite(xmin, LOW); digitalwrite(xplus, LOW); digitalwrite(xminmin, LOW); digitalwrite(xplusplus, LOW); digitalwrite(buttonreset, HIGH); digitalwrite(buttonmundur, HIGH); digitalwrite(buttonmaju, HIGH); digitalwrite(limity_up, HIGH); digitalwrite(posx, HIGH); digitalwrite(posx2, HIGH); digitalwrite(encoderpin1, HIGH); 36

digitalwrite(encoderpin2, HIGH); attachinterrupt(0, updateencoder, CHANGE); attachinterrupt(1, updateencoder, CHANGE); Serial.begin(9600); Serial3.begin(9600); posisi = true; sensor = false; slow = true; Sedangkan void loop merupakan fungsi utama yang dijalankan terus menerus selama modul arduino terhubung dengan power supply. void loop() { lcd.clear(); lcd.setcursor(0,0); lcd.print(setjarak); lcd.setcursor(0,1); lcd.print(encodervalue); delay(100); readbt(); delay(100); button(); delay(100); if(instring.toint()>=0&&speed=="bt"){xmove(); lsy(); if (instring == "111111111" ) { ref();instring =""; Didalam void loop terdapat program untuk menampilkan SetJarak {lcd.print(setjarak); yang merupakan nilai inputan untuk menggerakkan back gauge sesuai dengan nilai yang di masukkan dan menampilkan encodervalue {lcd.print(encodervalue); yang merupakan nilai dari pergerakan back gauge. 37

Kemudian akan ditampilkan program-program yang ada pada Void Loop : 1. Void readbt () / readbt(); dengan coding program berikut ini : void readbt() { if(instring.toint()==0){ while (Serial3.available()){ int inchar = Serial3.read(); if(isdigit(inchar)){instring+= (char) inchar; SetJarak = (instring.toint()); Speed="bt"; delay(100); Dalam void readbt dimaksudkan untuk menerima data yang dikirim dari windows yang selanjutnya data berupa angka akan ditampilkan di LCD sebagai Setjarak. 2. Void Xmove () / Xmove (); dengan coding program berikut ini : void Xmove(){ if(setjarak<encodervalue){ if(setjarak-encodervalue<-1500) { majucepat();speed="cepat" ; if(setjarak-encodervalue>-1500) {majupelan();speed="pelan" ; if(setjarak>encodervalue){ if(setjarak-encodervalue>1500) { mundurcepat();speed="cepat" ; if(setjarak-encodervalue<1500) {mundurpelan();speed="pelan" ; 38

Di program void Xmove ini dimaksudkan untuk pergerakan dari back gauge dengan asumsi apabila nilai Setjarak dikurangi nilai encodervalue kurang dari -1500 (nilai settingan jarak referensi back gauge ) maka back gauge akan bergerak maju dengan cepat. Sedangkan apabila nilai Setjarak dikurangi nilai encodervalue lebih besar dari 1500 maka back gauge akan bergerak mundur dengan cepat. Berikut ini coding program dari pergerakan pada Xmove : void majucepat() { berhenti(); digitalwrite(xmin,high); digitalwrite(xplusplus,high); digitalwrite(xminmin,high); void majupelan() { berhenti(); digitalwrite(xmin,high); digitalwrite(xminmin,high); void mundurcepat() { berhenti(); digitalwrite(xplus,high); digitalwrite(xplusplus,high); digitalwrite(xminmin,high); void mundurpelan() { berhenti(); digitalwrite(xplus,high); digitalwrite(xminmin,high); void berhenti() { digitalwrite(xplus,low); digitalwrite(xmin,low); digitalwrite(xminmin,low); digitalwrite(xplusplus,low);speed="pelan"; Dalam program pergerakan Xmove di setting ada 5 pergerakan dari back gauge yaitu gerak maju cepat, maju pelan, mundur cepat, mundur pelan, dan berhenti. 39

3. Void ref ( ) / ref (); dengan coding program berikut ini : void ref() { while(slow) { if(digitalread(posx2)==high) { mundurcepat(); delay(100); if(digitalread(posx2)==low) { mundurpelan(); slow =false; slow =true; while(posisi) { if(digitalread(posx)==high) { mundurpelan(); delay(100); if(digitalread(posx)==low) { berhenti(); posisi =false; posisi =true; SetJarak = 15000; encodervalue = 54500; Xmove(); Dalam program Void ref dimaksudkan untuk mereferensi dan sebagai pembacaan jarak awal saat pergerakan Back gauge dengan settingan Setjarak 15000 dan encodervalue 54500 dimana back gauge akan mundur dengan cepat sampai titik maksimal ( menyalakan sensor proximity yang jaraknya dari center punch sebesar 545 mm ) dan akan maju dengan cepat sampai jarak 150 mm dari titik center punch ( pembacaan Setjarak ) yang selanjutnya akan dijadikan referensi awal dari back gauge. 40

4. Void updateencoder (), dengan coding program berikut ini : a. Inisialisasi pin updateencoder : int encoderpin1 = 2; int encoderpin2 = 3; volatile int lastencoded = 0; volatile long encodervalue = 0; volatile long SetJarak=0; long lastencodervalue = 0; String gerak=""; int lastmsb = 0; int lastlsb = 0; int inbyte = 0; int serin; char serinstring[100]; int serinindx = 0; int seroutindx = 0; b. Void updateencoder : void updateencoder(){ int MSB = digitalread(encoderpin1); //MSB = most significant bit int LSB = digitalread(encoderpin2); //LSB = least significant bit int encoded = (MSB << 1) LSB; //converting the 2 pin value to single number int sum = (lastencoded << 2) encoded; //adding it to the previous encoded value if(sum == 0b1101 sum == 0b0100 sum == 0b0010 sum == 0b1011) encodervalue ++; if(sum == 0b1110 sum == 0b0111 sum == 0b0001 sum == 0b1000) encodervalue --; lastencoded = encoded; //store this value for next time Void updateencoder sendiri dimaksudkan sebagai program pembacaan dari putaran rotary encoder dan nilainya akan terbaca sebagai encodervalue. 41