Anda di halaman 1dari 11

LAPORAN PRAKTIKUM SISTEM KENDALI DISKRIT

SAMPLING MENGGUNAKAN MIKROKONTROLER

Disusun Oleh :

Raka Maulana Vibrani 2231110101

2D-D3 Teknik Elektronika

PROGRAM STUDI D3 - TEKNIK ELEKTRONIKA


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI MALANG
2024
KATA PENGANTAR

Dengan nama Allah Yang Maha Pengasih dan Maha Penyayang, puji dan syukur kami
panjatkan kehadirat-Nya, karena atas rahmat dan petunjuk-Nya penulis dapat
menyelesaikan tugas laporan ini. Laporan ini disusun untuk mengerjakan tugas pada
mata kuliah Sistem Kendali Diskrit dalam Program Studi Teknik Elektronika.
Sistem kendali diskrit merupakan bidang yang terus berkembang dalam dunia teknologi
elektronika. Keberlanjutan dan efisiensi suatu sistem kendali menjadi semakin penting
dalam menghadapi tantangan perubahan dinamika sistem yang semakin kompleks.
Oleh karena itu, laporan ini bertujuan untuk memberikan pemahaman yang
komprehensif mengenai sistem kendali diskrit, termasuk konsep dasar, implementasi,
dan aplikasinya dalam dunia nyata.
Terima kasih kepada pak Sidik Nurcahyo, S.T., M.T. yang telah memberikan arahan
dan bimbingan selama penyusunan laporan ini. Semoga laporan ini dapat bermanfaat
dan menjadi sumber referensi yang baik.
Akhir kata, saya menyadari bahwa laporan ini masih jauh dari kesempurnaan. Oleh
karena itu, saran dan kritik membangun dari bapak sangat diharapkan guna perbaikan
dan pengembangan ke depannya.

i
DAFTAR ISI

KATA PENGANTAR...............................................................................................................................i
DAFTAR ISI............................................................................................................................................ii
DAFTAR GAMBAR..............................................................................................................................iii
BAB I PENDAHULUAN........................................................................................................................1
1.1 Latar Belakang.......................................................................................................................1
1.2 Rumusan Masalah..................................................................................................................1
1.3 Tujuan.....................................................................................................................................1
BAB II PEMBAHASAN.........................................................................................................................2
2.1 Membuat Sinyal Sampling Menggunakan Mikrokontroler dengan Aplikasi Proteus............2

ii
DAFTAR GAMBAR

Gambar 2. 1 Membuat new project pada proteus..........................................................................2


Gambar 2. 2 Ukuran schematic pada proteus................................................................................2
Gambar 2. 3 Pilihan PCB layout...................................................................................................3
Gambar 2. 4 Firmware project......................................................................................................3
Gambar 2. 5 Tampilan awal proteus..............................................................................................3
Gambar 2. 6 Rangkaian sampling sinyal menggunakan mikrokontroler Atmega 328P................4
Gambar 2. 7 Memasukkan kode program kedalam mikrokontroler..............................................6
Gambar 2. 8 Grafik analisis analog...............................................................................................7

iii
BAB I

PENDAHULUAN

1.1 Latar Belakang


Sistem kendali digital pada umumnya menggunakan komputer sebagai
komponen penting dalam sistem pengendali. Komputer menerima pengukuran
variabel keluaran, dan masukan referensi, serta menghasilkan keluaran dengan
menggunakan sebuah algoritma. Parameter yang diatur menggunakan kompensator
digunakan untuk menghasilkan respon yang diinginkan dapat dilakukan dengan
cara merubah perangkat lunak. Keluaran ini umumnya mengubah sinyal digital
menjadi sinyal analog menggunakan konverter D/A, kemudian oleh penguat daya
dikuatkan untuk menggerakkan plant.
Pada percobaan kali ini kita akan menggunakan mikrokontroler Atmega328P
untuk membuat sinyal sampling dan juga sebagai pengubah sinyal analog menjadi
sinyal digital atau ADC dengan menggunakan aplikasi proteus.
1.2 Rumusan Masalah
1. Bagaimana cara membuat sampling menggunakan mirokontroler?

1.3 Tujuan
2. Mengetahui cara membuat sampling menggunakan mirokontroler

1
BAB II

PEMBAHASAN

2.1 Membuat Sinyal Sampling Menggunakan Mikrokontroler dengan Aplikasi


Proteus
1. Langkah awal adalah dengan membuat new project pada menu aplikasi proteus
seperti gambar. Kemudian file tersebut diberi nama dan lokasi tersimpan file
tersebut pada komputer

Gambar 2. 1 Membuat new project pada proteus

2. Selanjutnya klik next dan pilih ukuran Landscape A4

Gambar 2. 2 Ukuran schematic pada proteus

3. Klik next dan pilih do not create a PCB layout

2
Gambar 2. 3 Pilihan PCB layout

4. Klik next kemudian pilih create firmware project lalu pilih family AVR,
controller Atmega328P, compiller WinAVR.

Gambar 2. 4 Firmware project

5. Lalu akan muncul tampilan seperti gambar

Gambar 2. 5 Tampilan awal proteus

6. Selanjutnya rangkailah rangkaian pada mikrokontroler seperti gambar

3
Gambar 2. 6 Rangkaian sampling sinyal menggunakan mikrokontroler Atmega 328P

• Pin AREF dan Pin AVCC terhubung pada Vcc +5V


• Apabila potensio pada PORT C.3 diputar maka program akan mengonversi tegangan
analog menjadi digital pada output di PORT D
• Port B dengan Label PWM1A berfungsi sebagai PWM pada Register A
• Port B.6 & Port B.7 digunakan Untuk Crystal
• Port C.1 berfungsi sebagai label output dari transfer function LP2
7. Tuliskan kode program pada proteus
Full Code
#include <inttypes.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/sleep.h>
#include <util/delay.h>

#define TCNT0_PRELOAD 62 //(F_CPU/256/TCNT0_PRELOAD)


~ 1000Hz atau timer tick=1ms
#define TCNT0_PRESCALE 256
#define TCNT0_CS(PS) (PS==1?1:(PS==8?2:(PS==64?3:(PS==256?4:(PS==1024?5:
(0))))))
//const float tick = 0.992e-3; //lihat timer overflow:
1/(F_CPU/256/TCNT0_PRELOAD)
const float tick = 1.0/(F_CPU/TCNT0_PRESCALE/TCNT0_PRELOAD);

void adc_init();
uint8_t adc_read(uint8_t ch);
void pwm1_init();
void pwm1a_write(uint8_t data);
void pwm1b_write(uint8_t data);
void timer0ovf_init();

int main(){
adc_init();
//uint8_t adc;
pwm1_init();
timer0ovf_init();
DDRD = 0xFF;

4
while (1){
//adc = adc_read(1);
//PORTD = adc;
//pwm1a_write(adc);

_delay_ms(100);
}
return 0;
}

#define ADMUX_CONFIG (1<<ADLAR)

void adc_init(){
ADMUX = ADMUX_CONFIG;
ADCSRA = (1<<ADEN) | (0b111<<ADPS0); //prescale 128
}

uint8_t adc_read(uint8_t ch){


ADMUX = ADMUX_CONFIG | (ch<<MUX0);
ADCSRA |= (1<<ADSC); //start conversion
while(1){ //tunggu hingga proses konversi selesai
if(ADCSRA & (1<<ADIF))
break;
}
ADCSRA |= (1<<ADIF); //reset atau nolkan penanda akhir konversi
return ADCH;
}

//fast pwm 8bit, non-inverting


void pwm1_init(){
TCCR1A = (0b10<<COM1A0) | (0b10<<COM1B0) | (0b01<<WGM10);
TCCR1B = (0b01<<WGM12) | (0b001<<CS10);
//konfigurasi OC1A dan OC1B sbg output
DDRB |= (1<<PB1) | (1<<PB2);
}

void pwm1a_write(uint8_t data){


OCR1A = data;
}

void pwm1b_write(uint8_t data){


OCR1B = data;
}

void baca_kirim_sinyal(){
static int i = 0;
if(++i<100) //waktu sampling
return;
i = 0;

5
uint8_t adc = adc_read(1);
pwm1a_write(adc);
}

ISR(TIMER0_OVF_vect){
TCNT0 = 255+1-TCNT0_PRELOAD; //62 overflow->Tick=0.992e-3=1ms
baca_kirim_sinyal();
}

//overflow setiap 1ms


void timer0ovf_init(){
TCNT0 = 255+1-TCNT0_PRELOAD; //62 step to overflow--->
TCCR0A = 0;
//prescale 256--->16MHz/256/62=1008Hz -->Tick = 9.92063e-4
TCCR0B = (TCNT0_CS(TCNT0_PRESCALE)<<CS00);
TIMSK0 =(1<<TOIE0);
sei();
}
8. Masukkan kode program yang telah dibuat kedalam mikrokontroler

Gambar 2. 7 Memasukkan kode program kedalam mikrokontroler

9. Hasil grafik

6
Gambar 2. 8 Grafik analisis analog

 Terlihat pada gambar grafik diatas menunjukan waktu pengambilan sampling sekitar
100ms setiap kali pengambilan atau pencuplikan data. Waktu sampling sangat
berpengaruh pada plant yang akan kita buat.

Anda mungkin juga menyukai