1. POLITEKNIK NEGERI BANDUNG
PROGRAM STUDI D3 TEKNIK ELEKTRONIKA
Jl. Gegerkalong Hilir, Desa Ciwaruga Bandung, 40012. Kotak Pos 1234
Telepon (022)2013789, Fax (022)2013889
1
LEMBAR SAMPUL DOKUMEN
Judul Dokumen
Dokumen Proyek Produk : “Sistem Kendali Volume Air
Menggunakan Sensor Ultrasonic”
Jenis Dokumen B400
Nomor Dokumen B400-01
Nomor Revisi 01
Nama File B400_2A2_RAHMATNURFAIZAL.pdf
Tanggal Penerbitan 08 – 05 – 2019
Unit Penerbit Rahmat Nurfaizal
Jumlah Halaman *13 (Termasuk Lembar Sampul)
Data Pengusul
Pengusul
Nama NIM Jabatan
Rahmat Nurfaizal 171311021
Mahasiswa
Elektronika
D-III
Tanggal 08-05-2019 Tanda Tangan
Lembaga Politeknik Negeri Bandung
Alamat
Jln. Gegerkalong Hilir, Ds. Ciwaruga Bandung 40012, Kotak Pos
1234, Telepon (022) 2013789, Fax. (022) 2013889
Telepon :
022-2013789
Faks :
022-2013889
Email : polban@polban.ac.id
2. POLITEKNIK NEGERI BANDUNG
PROGRAM STUDI D3 TEKNIK ELEKTRONIKA
Jl. Gegerkalong Hilir, Desa Ciwaruga Bandung, 40012. Kotak Pos 1234
Telepon (022)2013789, Fax (022)2013889
2
PENDAHULUAN
1. Pengantar
1.1 Ringkasan Isi Dokumen
Dokumen B400 ini berisi tentang implementasi pada bagian mekanik dan elektronik
yang digunakan pada system ini. Deskripsi dan gambaran umum proyek telah diuraikan
pada dokumen B100, spesifikasi telah diuraikan pada dokumen B200, dan desain telah
diurakan pada dokumen B300.
1.2 Tujuan Penulisan
Tujuan penulisan dokumen ini secara umum adalah melanjutkan proses perancangan
dan realisasi dari proyek mekatronika dalam hal realisasi dan implementasi hardware
serta sistem elektronikanya dalam hal pengembangan dari konsep dan ide pada dokumen
sebelumnya, sehingga proyek ini agar dapat terelalisasikan.
1.3 Referensi
Ipko Salim Pradana. 2016. Sistem Kendali Volume Air Bak Penampung Dengan
Menggunakan Sensor Ultrasonic
Feriyonika. 2019. Bahan Ajar Mata Kuliah Sistem Kendali Bab Kendali PID
1.4 Daftar Singkatan / Istilah
e = Error
Pv = Present Value
Mv = Manipulated Value
3. POLITEKNIK NEGERI BANDUNG
PROGRAM STUDI D3 TEKNIK ELEKTRONIKA
Jl. Gegerkalong Hilir, Desa Ciwaruga Bandung, 40012. Kotak Pos 1234
Telepon (022)2013789, Fax (022)2013889
3
2. Functional Requirement Specification
2.1 Realisasi Elektronik
a. Arduino
b. Sensor Ultrasonik HCRS-04
4. POLITEKNIK NEGERI BANDUNG
PROGRAM STUDI D3 TEKNIK ELEKTRONIKA
Jl. Gegerkalong Hilir, Desa Ciwaruga Bandung, 40012. Kotak Pos 1234
Telepon (022)2013789, Fax (022)2013889
4
/*
Nama : RAHMAT NURFAIZAL
NIM : 171311021
Kelas : 2A2-D3 Teknik Elektronika
*/
#include <NewPing.h>
#define TRIGGER_PIN 9 // Arduino pin tied to trigger pin on the ultrasonic
sensor.
#define ECHO_PIN 8 // Arduino pin tied to echo pin on the ultrasonic sensor.
#define MAX_DISTANCE 200 // Maximum distance we want to ping for (in centimeters).
Maximum sensor distance is rated at 400-500cm.
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup of pins and
maximum distance.
//1.c Deklarasi variable untuk menghitung Time Sampling
unsigned long t; // hasil perhitungan millis();
double t_1, Ts; // t_1 hasil perhitungan fungsi millis() sebelumnya. Ts:Time
Sampling
//1.d Deklarasi variable untuk display PV dan PV
float interval_elapsed; // waktu interval yang sudah dilalui
float interval_limit; //batas interval agar nilai PV, PV dimunculkan
5. POLITEKNIK NEGERI BANDUNG
PROGRAM STUDI D3 TEKNIK ELEKTRONIKA
Jl. Gegerkalong Hilir, Desa Ciwaruga Bandung, 40012. Kotak Pos 1234
Telepon (022)2013789, Fax (022)2013889
5
//1.e Deklarasi pendukun lainnya
int start; // untuk menjalankan dan menghentikn loop arduino
//1.f Deklarasi untuk filter
float fc, RC; //fc=frekuensi cut off, didapat dberdasarkan pengamatan
float a; // untuk perhitungan filter
float PV, PV_volume, PVf, PVf_1, PVf_a; //untuk perhitungan filter
//---2.SETUP NILAI PARAMETER ATAU NILAI AWAL---
void setup() {
// put your setup code here, to run once:
//2.a Setup untuk display
interval_limit = 10; //isiskan mau setiap rentang berapa detik nilai akan di
display-kan
interval_elapsed=0; // nilai awal di set 0, karena belum melakukan perhitunganz
//2.b Setup untuk Time Sampling
t=millis();
delay (100); //isikan dalam milli detik.
//t_1=-0.1;
Ts=0.1;
//2.c Setup pin yng dipakai
pinMode(13, OUTPUT);
pinMode(8, INPUT); // Keluaran pin 13 akan di masukkan ke pin ini untuk Start-Stop
Looping
pinMode(6, OUTPUT); //Keluaran sinyal kendali
//2.d Setup untuk sistem
digitalWrite(13, HIGH);
Serial.begin(9600);
6. POLITEKNIK NEGERI BANDUNG
PROGRAM STUDI D3 TEKNIK ELEKTRONIKA
Jl. Gegerkalong Hilir, Desa Ciwaruga Bandung, 40012. Kotak Pos 1234
Telepon (022)2013789, Fax (022)2013889
6
//2.e Menghitung parameter filter
fc=0.005; //diisi berdasarkan frekuensi yang akan di hilangkan
RC=1/(6.28*fc);
a=RC/Ts; //angka 0.1 adalah nilai Ts, dilihat dari serial
PVf_1=0;
}
void loop() {
// put your main code here, to run repeatedly:
PV=(sonar.ping_cm());
PVf=(PV+a*PVf_1)/(a+1);
PVf_a=PVf*0.99+0.51;
interval_elapsed = interval_elapsed + Ts;
if (interval_elapsed >= interval_limit) {
//Untuk menampilkan di serial plotter
Serial.print(0);
Serial.print(" ");
Serial.print(10);
Serial.print(" ");
Serial.print(20);
Serial.print(" ");
Serial.print(30);
Serial.print(" ");
Serial.print(40);
Serial.print(" ");
Serial.println(PVf_a);
//reset nilai 'interval_elapsed' untuk menghitung waktu display selanjutnya
interval_elapsed = 0;
}
else {
interval_elapsed = interval_elapsed; //jika belum memenuhi limit,
interval_elapsed tetap
}
PVf_1 = PVf; //untuk perhitungan filter
7. POLITEKNIK NEGERI BANDUNG
PROGRAM STUDI D3 TEKNIK ELEKTRONIKA
Jl. Gegerkalong Hilir, Desa Ciwaruga Bandung, 40012. Kotak Pos 1234
Telepon (022)2013789, Fax (022)2013889
7
//8. Cek nilai 'start' untuk memastikan syarat looping 'while' masih terpenuhi
atau tidak
}
c. Potensiometer
/*
Nama : RAHMAT NURFAIZAL
NIM : 171311021
Kelas : 2A2-D3 Teknik Elektronika
*/
//------DESIGN KENDALI UJI SETPOINT (SV)-----
//---1. DEKLARASI VARIABLE DAN LIBRARY YANG DIPAKAI---
//1.a Deklarasi librari yang dipakai
//1.c Deklarasi variable untuk menghitung Time Sampling
unsigned long t; // hasil perhitungan millis();
8. POLITEKNIK NEGERI BANDUNG
PROGRAM STUDI D3 TEKNIK ELEKTRONIKA
Jl. Gegerkalong Hilir, Desa Ciwaruga Bandung, 40012. Kotak Pos 1234
Telepon (022)2013789, Fax (022)2013889
8
double t_1, Ts; // t_1 hasil perhitungan fungsi millis() sebelumnya. Ts:Time
Sampling
//1.d Deklarasi variable untuk display SV dan PV
float interval_elapsed; // waktu interval yang sudah dilalui
float interval_limit; //batas interval agar nilai SV, PV dimunculkan
//1.e Deklarasi pendukun lainnya
int start; // untuk menjalankan dan menghentikn loop arduino
//1.f Deklarasi untuk filter
float fc, RC; //fc=frekuensi cut off, didapat dberdasarkan pengamatan
float a; // untuk perhitungan filter
float SV, SV_volume, SVf, SVf_1; //untuk perhitungan filter
//---2.SETUP NILAI PARAMETER ATAU NILAI AWAL---
void setup() {
// put your setup code here, to run once:
//2.a Setup untuk display
interval_limit = 100; //isiskan mau setiap rentang berapa detik nilai akan di
display-kan
interval_elapsed=0; // nilai awal di set 0, karena belum melakukan perhitungan
//2.b Setup untuk Time Sampling
t=millis();
delay (100); //isikan dalam milli detik.
//t_1=-0.1;
Ts=0.1;
Serial.begin(9600);
//2.e Menghitung parameter filter
fc=1.8; //diisi berdasarkan frekuensi yang akan di hilangkan
RC=1/(6.28*fc);
9. POLITEKNIK NEGERI BANDUNG
PROGRAM STUDI D3 TEKNIK ELEKTRONIKA
Jl. Gegerkalong Hilir, Desa Ciwaruga Bandung, 40012. Kotak Pos 1234
Telepon (022)2013789, Fax (022)2013889
9
a=RC/Ts; //angka 0.1 adalah nilai Ts, dilihat dari serial
SVf_1=0;
}
void loop() {
SV=(analogRead(A0)*0.78125);
SVf=(SV+a*SVf_1)/(a+1);
interval_elapsed = interval_elapsed + Ts;
if (interval_elapsed >= interval_limit) {
//Untuk menampilkan di serial plotter
Serial.print(10);
Serial.print(" ");
Serial.println(SVf);
//reset nilai 'interval_elapsed' untuk menghitung waktu display
selanjutnya
interval_elapsed = 0;
}
else {
interval_elapsed = interval_elapsed; //jika belum memenuhi limit,
interval_elapsed tetap
}
SVf_1 = SVf; //untuk perhitungan filter
//8. Cek nilai 'start' untuk memastikan syarat looping 'while' masih terpenuhi
atau tidak
}
d. LCD
10. POLITEKNIK NEGERI BANDUNG
PROGRAM STUDI D3 TEKNIK ELEKTRONIKA
Jl. Gegerkalong Hilir, Desa Ciwaruga Bandung, 40012. Kotak Pos 1234
Telepon (022)2013789, Fax (022)2013889
10
// include the library code:
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("hello, world!");
}
void loop() {
// Turn off the display:
lcd.noDisplay();
delay(500);
// Turn on the display:
lcd.display();
delay(500);
}
11. POLITEKNIK NEGERI BANDUNG
PROGRAM STUDI D3 TEKNIK ELEKTRONIKA
Jl. Gegerkalong Hilir, Desa Ciwaruga Bandung, 40012. Kotak Pos 1234
Telepon (022)2013789, Fax (022)2013889
11
e. Driver Mosfet
// Motor DC
float a;
void setup()
{
pinMode(A0,INPUT);
pinMode(10, OUTPUT);
Serial.begin(9600);
}
void loop()
{
a = (analogRead(A0))*204.8;
analogWrite(10, a);
Serial.println(analogRead(A0));
}
12. POLITEKNIK NEGERI BANDUNG
PROGRAM STUDI D3 TEKNIK ELEKTRONIKA
Jl. Gegerkalong Hilir, Desa Ciwaruga Bandung, 40012. Kotak Pos 1234
Telepon (022)2013789, Fax (022)2013889
12
2.2 Realisasi Mekanik