Anda di halaman 1dari 14

LAPORAN PRAKTIKUM PROJECT SISTEM MIKROKONTROLER 2

Buck-Boost Converter Menaikkan Menggunakan Arduino UNO

Ahsan Adyany
2A-D3TE
02 / 2131110090

JURUSAN TEKNIK ELEKTRO

PROGRAM STUDI D-III TEKNIK ELEKTRONIKA

POLITEKNIK NEGERI MALANG

2023
BAB I

Pendahuluan

1.1 Latar Belakang


Pada zaman modern ini kebutuhan energi listrik semakin meningkat dikarenakan
penggunaan alat alat listrik diberbagai sektor. Alat alat listrik tidak lepas juga kebutuhannya
akan elektronika daya. Semua alat elektronik menggunakan sumber daya tegangan searah
(DC). Dikarenakan penggunaan tegangan searah (DC) yang beragam, maka diperlukan alat
untuk mengubah nilai tegangan DC dari suatu besaran ke besaran lainnya.
Perkembangan teknologi elektronika telah mampu menghasilkan sistem pengubah
tegangan searah (DC). Sistem pengubah tegangan ini disebut konverter DC-DC. Konverter
DC-DC ini dapat mengubah tegangan DC masukan ke bentuk tegangan DC yang lebih
rendah maupun lebih tinggi. Penerapan konverter DC-DC memungkinkan catu daya dapat
diambil dari baterai kecil yang keluarannya dapat diubah sesuai keinginan.
Konverter Buck Boost merupakan pengembangan dari konverter sebelumnya yaitu
Konverter Buck (menurunkan tegangan) dan Konverter Boost (menaikkan tegangan).
Sehingga, tercipta pengubah nilai tegangan DC yang dapat mengubah tegangan DC baik
dari rendah ke tinggi maupun sebaliknya hanya dengan satu alat. Dalam prinsip kerjanya,
Konverter Buck Boost dipengaruhi oleh besaran nilai duty cycle pada switching MOSFET
untuk menaikkan dan menurunkan tegangan. Proses switching MOSFET ini terjadi karena,
adanya pembangkitan sinyal PWM dari mikrokontroller. Konverter Buck Boost juga
bergantung kepada induktor dalam transfer energi dari input ke output. Adapun
mikrokontroler yang digunakan dalam perancangan alat ini yaitu menggunakan Arduino
UNO.
1.2 Rumusan Masalah
1. Bagaimana merancang rangkaian Buck-Boost converter dan program untuk rangkaian
agar bisa menaikkan tegangan serta ditampilkan pada LCD?
2. Bagaimana program untuk keypad agar dapat menampilkan nilai besarnya duty cycle
pada LCD berdasarkan nilai keypad yang ditekan?
1.3 Tujuan
1. Mampu membuat rangkaian Buck-Boost converter menaikkan tegangan dan
ditampilkan pada LCD.
2. Mampu membuat program agar dapat menampilkan nilai duty cycle pada LCD
berdasarkan nilai keypad yang ditekan.
BAB II

Isi

2.1 Teori Dasar


2.1.1 Buck Boost Converter

Buckboost konverter berfungsi untuk mengubah level tegangan DC, baik ke level
yang lebih tinggi maupun ke level yang lebih rendah. Namun buckboost konverter
mengubah polaritas dari tegangan output terhadap tegangan input. Rangkaian dasar
buckboost konverter yang terdiri dari power MOSFET sebagai switching komponen,
induktor (L), dioda, kapasitor filter (C) dan resistor sebagai beban (RL).

Gambar 1. Buck-Boost Converter

Induktor digunakan sebagai filter untuk mengurangi ripple arus. Sedangkan kapasitor
digunakan sebagai filter untuk mengurangi ripple tegangan. Dioda digunakan sebagai
komponen switching yang bekerja pada keadaan switch open, sehingga arus tetap
mengalir ke induktor.
Buckboost converter dapat dioperasikan dengan dua mode yaitu continuous current
mode (CCM) dan discontinuous current mode (DCM). Continuous current mode ditandai
oleh arus yang mengalir secara terus-menerus pada induktor selama switching cycle-nya
pada keadaan mantap (steady state). Sehingga pada CCM, tegangan output dapat diatur
dengan mengubah duty cycle pada range 0-0.65. Selain itu, mode CCM tidak tergantung
dari nilai induktor dan kapasitor. Sedangkan discontinuous current mode ditandai dengan
arus induktor menjadi nol pada setiap switching cycle-nya. Untuk mode DCM, tegangan
output tergantung pada nilai induktor dan besarnya duty cycle. Pada pembahasan ini,
penulis menggunakan mode CCM. Bentuk sinyal IL pada mode CCM dan DCM dapat
dilihat pada Gambar 2 dan 3.
Pada rangkaian buckboost ini, MOSFET power yang digunakan bertipe p- chanel
dengan (-VDS) dan VGS(ON) untuk men-drive MOSFET sesuai dengan duty cycle pada
PWM. Keuntungan penggunaan MOSFET tipe p-chanel adalah mudah dalam
perancangan driver-nya karena tidak dibutuhkan keadaan floating. Selain itu, pemilihan
jenis MOSFET sebagai komponen utama switching juga penting. Parameter yang harus
diperhatikan dalam pemilihan MOSFET adalah VDS, ID, RDS(ON) dan ferkuensi kerja
maksimumnya yang harus memenuhi dari spesifkasi yang kita butuhkan. Sehingga kerja
dari rangakaian buckboost dapat maksimal. Untuk MOSFET tipe p-chanel usahakan
RDS(ON) sekecil mungkin, hal ini untuk mengurangi daya yang hilang pada Q.

Gambar 2. Mode CCM Gambar 3. Mode DCM


Prinsip kerja rangkaian ini dibagi menjadi 2 mode yaitu mode 1 saat switch di-ON-
kan dan mode 2 saat switch di-OFF-kan. Siklus kerja buckboost konverter terlihat seperti
pada Gambar 4.

Gambar 4. Siklus kerja buckboost konverter baik pada saat switch ON dan OFF

Saat switch on, induktor mendapat tegangan dari input dan mengakibatkan adanya
arus yang melewati induktor berdasarkan waktu dan dalam waktu yang sama kapasitor
dalam kondisi membuang (discharge) dan menjadi sumber tegangan dan arus pada
beban.
Saat switch off, tegangan input terputus menyebabkan mulainya penurunanarus dan
menyebabkan ujung dioda bernilai negatif dan induktor mensuplai kapasitor (charge) dan
beban. Jadi pada saat switch on arus beban disuplai oleh kapasitor, namun pada saat
switch off disuplai oleh induktor.

Besar dan kecilnya nilai tegangan output diatur berdasarkan duty cycle (D)PWM
pada switch. Bila D > 0,5 maka output akan lebih besar dari input. Sedangkan bila D <
0,5 maka output akan lebih kecil dari input dan Vin = Vout saat D = 0,5.

2.1.2 Arduino UNO

Arduino merupakan salah satu mikrokontroler. Arduino memiliki pin digital sebagai
input/output ( diantaranya dapat dipergunakan sebagai output PWM), input analog,
UARTs (hardware serial ports), sebuah osilator kristal, sebuah koneksi USB, sebuah
power jack, sebuah ICSP header, dan sebuat tombol reset. Pada setiap pin digital Arduino
yang dapat digunakan sebagai input dan output, menggunakan fungsi pinMode(),
digitalWrite() dan digitalRead(). Fungsi-fungsi tersebut bekerja pada tegangan 5 Volt, 40
mA dan memiliki sebuah resistor pull-up (terputus secara default) 20-50 kOhm.

2.1.3 PCF8574

Gambar 5. PCF8574

Fungsi utama dari PCF8574 ialah mengekspansi port I/O pada berbagai macam jenis
mikrokontroler melalui 2 jalur bidirectional 12C Bus. Pada PCF8574 terdapat 8-Bit quasi-
bidirectional Port den 12C Bus Interface PCF8574 mengkonsumsi daya yang rendah dan
mempunyai latched output dengan kemampuan menggerakkan arus yang besar. PCF8574
juga memiliki jalur Interupsi (INT) yang dapat dihubungkan dengan interrupt logic dari
mikrokontroler. Dengan mengirimkan sinyal interupsi, PCF8574 dapat
menginformasikan mikrokontroler bahwa ada data yang datang tanpa menggunakan jalur
IC Bus.
2.1.4 PWM

PWM singkatan dari Pulse Width Modulation. Pada mikrokontroler, sinyal PWM
beroperasi pada frekuensi rendah 500Hz – 2KHz. Pada board arduino, pin yang bias
dimanfaatkan untuk PWM adalah pin yang diberitanda tilde (~), yaitu pin 3, 5, 6, 9, 10,
dan pin 11. Pin-pin tersebut merupakan pin yang bisa difungsikan untuk menghasilkan
sinyal PWM.

Gambar 6. Sinyal PWM


BAB III

Hasil

3.1 Metode Eksperimen

3.1.1 Blok Diagram

Sumber Buck-Boost Beban


Tegangan Converter

Sensor Arduino LCD I2C


Tegangan UNO

Keypad

3.1.2 Gambar Rangkaian


3.1.3 Flow Chart

3.1.4 Program
#include "Wire.h"
#include "LiquidCrystal_I2C.h"
#include "Keypad_I2C.h"
#include "Keypad.h"
#include "config.h"
#include "PWM.h"

#define LCD_ADDRESS 0x27


#define KEYPAD_ADDRESS 0x38
#define VOLTAGE_IN_PIN A0
#define VOLTAGE_OUT_PIN A1

#define PWM_FREQUENCY 1000


#define PWM_DUTY_CYCLE_PERCENT 50
#define PWM_DUTY_CYCLE 128
#define PWM_PIN 9

#define REF_RES_VOLTAGE 2.2

LiquidCrystal_I2C lcd(LCD_ADDRESS, 20, 4);

Keypad_I2C customKeypad(makeKeymap(hexaKeys), rowPins, colPins, 4, 4,


KEYPAD_ADDRESS);

float voltageIn;
float voltageOut;

int numsIndex = 0;
char nums[20] = "0";

void setup() {
Serial.begin(9600);
Wire.begin();
customKeypad.begin();
lcd.init();
lcd.backlight();
pinMode(VOLTAGE_IN_PIN, INPUT);
pinMode(VOLTAGE_OUT_PIN, INPUT);
InitTimersSafe();
bool success = SetPinFrequencySafe(PWM_PIN, PWM_FREQUENCY);
if (!success) Serial.println("PWM Init Failed");
else Serial.println("PWM Init Success");
}

void loop() {
char upDisplay[20], lowDisplay[20];

char strVoltageIn[20], strVoltageOut[20];


voltageIn = (float)analogRead(VOLTAGE_IN_PIN) * 5.0 / 1023.0;
voltageOut = (float)analogRead(VOLTAGE_OUT_PIN) * 5.0 / 1023.0 *
REF_RES_VOLTAGE;

pwmWrite(PWM_PIN, map(PWM_DUTY_CYCLE_PERCENT, 0, 100, 0, 255));

dtostrf(voltageIn, 4, 2, strVoltageIn);
dtostrf(voltageOut, 4, 2, strVoltageOut);

char customKey = customKeypad.getKey();


if (customKey != NO_KEY) {
if (customKey == '*') {
if (numsIndex > 0) {
numsIndex--;
deleteCharAtIndex(nums, numsIndex);
}
} else {
nums[numsIndex++] = customKey;
nums[numsIndex] = '\0';
}
}
if (!numsIndex) nums[0] = '0';
sprintf(upDisplay, "In:%s Out:%s", strVoltageIn, strVoltageOut);
sprintf(lowDisplay, "DutyCycle: %s %% ", nums);

static uint32_t displayTimer;


if (millis() - displayTimer >= 500) {
lcd.setCursor(0, 0);
lcd.print(upDisplay);
lcd.setCursor(0, 1);
lcd.print(lowDisplay);
displayTimer = millis();
}
}

3.2 Hasil Eksperimen


Rangkaian kami merupakan Buck-Boost Converter dengan menggunakan rangkaian
pengendali PWM. Pengujian dilakukan dengan memberikan tegangan masukan sebesar 5V
pada konverter. Sedangkan output di PIN 9 PWM Arduino UNO digunakan sebagai input PWM
di konverter. Dalam perancangan Buck-Boost Converter ini diharapkan dapat menghasilkan
tegangan keluaran yang lebih tinggi dari tegangan masukannya. Tegangan output akan bernilai
lebih tinggi dari tegangan input ketika nilai PWM lebih dari 50%. Sehingga, ketika PWM
bernilai 60%-100%, tegangan keluaran dari converter akan lebih tinggi dari tegangan inputnya.

3.3 Analisa Rangkaian

Rangkaian buck-boost converter adalah jenis konverter DC-DC yang digunakan untuk
mengubah tegangan DC menjadi tegangan yang lebih rendah atau lebih tinggi, tergantung pada
kebutuhan aplikasi. Rangkaian ini sering digunakan dalam sistem daya, pengisian baterai,
lampu LED, dan aplikasi lain yang memerlukan konversi tegangan yang efisien.

Adapun prinsip kerja dari rangkaian ini yaitu ketika saklar (transistor) pada rangkaian
buck-boost dinyalakan, energi dialirkan ke induktor dari sumber tegangan. Selama saklar pada
keadaan tertutup, arus mengalir melalui induktor dan membangun fluks magnetik di dalamnya.
Ketika saklar dimatikan, arus yang mengalir melalui induktor berhenti, dan fluks magnetik di
dalamnya mulai berkurang. Perubahan fluks magnetik ini menyebabkan tegangan induktor
berubah, dan diode yang terhubung sejajar dengan sumber tegangan mengarahkan arus ke
beban. Dalam mode buck, tegangan keluaran lebih rendah dari tegangan input, sedangkan
dalam mode boost, tegangan keluaran lebih tinggi dari tegangan input.

Komponen Utama:

- Induktor: Komponen ini menyimpan energi saat saklar dinyalakan dan membangun fluks
magnetik. Saat saklar dimatikan, energi disalurkan ke beban melalui induktor.

- Kapasitor: Kapasitor digunakan untuk menyaring tegangan keluaran dan mengurangi


fluktuasi.

- Saklar (Transistor): Saklar yang terdiri dari transistor (misalnya MOSFET) mengatur aliran
energi ke induktor.

- Diode: Diode terhubung sejajar dengan sumber tegangan dan mengarahkan arus dari
induktor ke beban saat saklar dimatikan.
3.4 Kesimpulan

Berdasarkan percobaan Buck-Boost Converter berbasis mikrokontroller Arduino UNO,


dapat diambil kesimpulan bahwa Buck-Boost Converter merupakan konverter DC-DC yang
dapat menghasilkan tegangan keluaran yang lebih tinggi atau lebih rendah dari tegangan
masukan, dengan polaritas yang sama dengan tegangan masukan. Ketika menginginkan
tegangan keluaran yang lebih tinggi, maka nilai PWM harus bernilai lebih dari 50%, karena
pada saat itu rangkaian boost akan bekerja untuk menaikkan tegangan.

Arduino Uno berperan sebagai pengontrol nilai PWM dan duty cycle yang diberikan pada
MOSFET. Melalui pin PWM Arduino Uno, nilai duty cycle dapat diatur dari 0% hingga 100%
serta mengontrol tegangan keluaran Buck-Boost Converter.

PWM (Pulse Width Modulation) digunakan dalam Buck-Boost Converter untuk


mengontrol MOSFET sebagai saklar utama. Dengan mengubah lebar pulsa PWM, MOSFET
dapat diubah kondisi on dan off, mengubah duty cycle serta mempengaruhi tegangan keluaran.

Pemrograman pada Arduino juga menjadi faktor penting dalam mengambil input dari
keypad, mengendalikan buck-boost converter dengan teknik PWM, dan menampilkan
informasi di LCD. Selain itu, pemilihan komponen juga mempengaruhi kinerja rangakaian.
DAFTAR PUSTAKA

Chaidir, Mu'ammar. 2018. “Rancang Bangun Konvertes Buck Boost Dengan Sistem
Monitoring Berbasis Labview”. Yogyakarta : Universitas Islam Indonesia

Mochamad, Suryo. 2010. “Rancang Bangun Buck Boost Konverter”. Depok : Universitas
Indonesia

Muhammad, Andi. 2020. “Buck Boost Konverter”. Bandung : Universitas Komputer


Indonesia

Anda mungkin juga menyukai