Anda di halaman 1dari 18

LAPORAN PRAKTIKUM

MIKROPROSSESOR

Modul IV :Akses Real Time Clock &

Kendali Kecepatan Motor DC dengan PWM

Disusun Oleh :

Hanif Rifkha Pambudi

13101055

Rekan Praktikum : Hendro Bayu Pramono (13101056)

Asisten Praktikum : Andika Agung

Khoirun Ni’amah

Henni Mahdalena

LABORATURIUM SWITCHING

SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM

PURWOKERTO

2015
I. Dasar Teori

Real Time Clock (RLC)ini didukung daya baterai yang besar dalam menun-
jang projek mikrokontroler untuk melakukan melacak waktu saat pemrograman,
bahkan saat daya baterai hilang, Sempurna untuk melakukan datalogging, timer
serta alarm dan lain – lain. DS1307 merupakan RTC yang paling popular daripada
yang lain, melakukan pekerjaan terbaik dengan basis 5V seperti Ardiuno.[1]

Berikut fitur – fitur DS1307:

1. Real-time clock (RTC) menghitung detik, menit, jam,tanggal,bulan dan hari


dan tahun valid sampai tahun 2100
2. Ram 56-byte, nonvolatile untuk menyimpan data.
3. 2 jalur serial interface (I2C)
4. Keluaran gelombang kotak yg diprogram (SQW out)
5. Automatic power-fail detect and switch
6. Konsumsi arus hanya 500nA pada batery internal.
7. mode dg oscillator running.
8. temperature range: -40°C sampai +85°C. [2]

DS1307 beroperasi sebagai slave pada bus I2C. Cara Akses pertama
mengirim sinyal START diikuti device address dan alamat sebuah register yg
akan dibaca. Beberapa register dapat dibaca sampai STOP condition dikirim.[1]

Gambar I.1 Gambar fisik dari DS1307


Gambar I.2 gambar rangkaian DS1307

Motor DC banyak digunakan sebagai penggerak dalam berbagai peralatan,


baik kecil maupun besar, lambat maupun cepat. Ia juga banyak dipakai karena
dapat disesuaikan untuk secara ideal menerima pulsa digital untuk kendali
kecepatan. Cara pengendalian motor DC ini bisa secara PWM. Pemilihan cara
pengendalian akan tergantung dari kebutuhan terhadap gerakan motor DC itu
sendiri. [3]

Gambar I.3 Motor DC

Metode Pulse Width Modulation (PWM) adalah metode yang cukup efektif
untuk mengendalikan kecepatan motor DC. PWM ini bekerja dengan cara
membuat gelombang persegi yang memiliki perbandingan pulsa high terhadap
pulsa low yang telah tertentu, biasanya diskalakan dari 0 hingga 100%.
Gelombang persegi ini memiliki frekuensi tetap (biasanya max 10 KHz) namun
lebar pulsa high dan low dalam 1 periode yang akan diatur. Perbandingan pulsa
high terhadap low ini akan menentukan jumlah daya yang diberikan ke motor DC.
Untuk menjalankan motor DC dengan PWN tidak dapat digunakan relay,
melainkan harus digunakan rangkaian driver motor DC lainnya. Rangkaian ini
yang paling sederhana berupa transistor yang disusun secara Darlington.
Transistor yang dipakai dapat berupa transistor jenis NPN tipe BC547. Rangkaian
ini mampu mengalirkan sampai arus 100 mA DC.

Gambar I.4 Gambar rangkaian Motor DC dengan PWM

Apabila diinginkan motor DC dapat bergerak 2 arah, maka diperlukan


menyusun rangkaian H-Bridge. Selain transistor, dapat juga digunakan IC driver
motor DC khusus. Anda dapat juga menggunakan modul driver motor DC yang
siap pakai untuk mikrokontroler.[3]
II. Hasil Data

Praktikum modul 4 yang berisi tentang akses Real Time Clock (RTC) dan
kendali motor DC dengan PWM merupakan praktikum untuk menampilkan hasil
codingan ke dalam LCD berupa waktu dan tanggal yang tepat dengan
menggunkan RTC DS1307 dan mengatur kecepatan motor DC dengan
mikrokontroler. Karena pada praktikum ini dalam pembuatan projek harus
membuat source juga setelah kita membuat projek terlebih dahulu. .

Gambar II.1 Gambar II.2

Pilih Project > OK, lalu muncul gambar seperti di gambar II.2 Ketika
muncul jendela di atas pilih “No”, bisa juga pilih “Yes” dan itu cara lebih cepat
tanpa membuat file source secara manual, namun pada praktikum ini kita
memakai cara manual agar sesuai prosedur. Maka setelah itu akan muncul gambar
seperti ini,

Gambar II.3.

Ketik nama file yang akan dibuat, lalu klik “Save”. Lalu akan muncul jendela
Configure Project seperti gambar dibawah ini.
Gambar II.4.

Pilih menu pada taskbar “C Compiler” maka isi Chip dengan ATmega
324A,dan Clock sebesar 11.0592. Setelah itu pilih menu Libraries > I2C
kemudian Portnya diatur sesuai dengan ketentuan,lalu klik OK

Gambar II.5.

Setalah itu pilih file > New maka akan tampil gambar berikiut
Gambar II.6.

Pada jendela ini pilih source lalu OK, setelah itu pilih menu setting >
Programmer pastikan bahwa USB Downloader sudah terdeteksi maka pilih OK.
Seperti gambar pada berikut.

Gambar II.7.

Setelah itu ketikkan list coding yang telah tertulis dalam modul. Setelah
coding dimasukan kemudian langkah selanjutnya yaitu configure project dengan
cara memilih menu Project kezmudian pilih Configure kemudian pilih After Build
kemudian centang Program the Chip klik OK.

Gambar II.8 – II.9


Gambar II.10.

Gambar II.11.

Setelah itu klik menu Add dan pilih nama projek yang telah kita simpan tadi
lalu klik OK.

Setelah itu tekan F9 untuk melihat apakah masih ada coding yang salah atau
sudah benar. Jika coding sudah benar semua maka pilih menu Project kemudian
Build All atau langsung menekan ctrl+F9 setelah itu pilih Program the Chip
untuk melihat hasil dari program yang dibuat.

Gambar II.12

Berikut hasil dari praktikum modul 4,

Gambar II.13.
III. Analisa dan Pembahasan

Praktikum Akses Real Time Clock dan kendali motor DC dengan PWM
merupakan praktikum terakhir mata kuliah mikroprosessor. Untuk praktikum
yang berhubungan dengan RTC ini kita mengamati hasil codingan berupa
tanggal,hari, bulan serta tahun yang tepat yang ditampilkan pada LCD pada papan
trainer. Selain itu kita mengamati kecepatan motor DC yang berputar dengan
mengganti beberapa kodingan pada AVR. Pada praktikum ini kita mengerjakan
projek kedua terlebih dahulu, projek kedua ini kita mengatur kecepatan motor DC
tersebut. Berikut koding untuk praktikum projek 2.

#include <mega324a.h> OCR1AH=0x00;

#include <delay.h> OCR1AL=0x00;

#define IN1 PORTD.6 OCR1BH=0x00;

#define IN2 PORTD.7 OCR1BL=0x00;

int a; while(1)

void main(void) {

{ IN1=0;

#pragma optsize- IN2=1;

CLKPR=0x80; for (a=0;a<100;a++)

CLKPR=0x00; {

#ifdef _Optimize_size_ OCR1AL=a;

#pragma optsize+ delay_ms(10);

#endif }

IN1=1;

PORTD=0x00; IN2=0;

DDRD=0xE0; for(a=0;a<100;a++)

TCCR1A=0x81; OCR1AL=a;

TCCR1B=0x0d; delay_ms(10);

TCNT1H=0x00; }

TCNT1L=0x00; }

ICR1H=0x00; }

ICR1L=0x00;
Hal pertama kali kita kerjaan adalah mengetikkan koding diatas, pada baris
pertama koding tersebut kita deklarasikan dengan ATmega 324a dengan delay,
setelah itu kita mendeklarasikan Port A.6 di IN1 dan PortD.7 di IN2, jika
dipraktekkan maka kita memasangkan kabel konektor Port A.6 ke IN1 dan Port
D.7 ke IN2. Setelah itu kita kembali mendeklarasikan variabel lokal setelah
perintah ini int a; | void main(void) dan Crystal Oscillator bernilai 1. Untuk
koding selanjutnya PORTD=0x00; | DDRD=0xE0;, koding ini berarti kita
menggunakan PortD untuk mengirim sinyal ke komponen(resistor) untuk
mematikan sedangkan DDRD untuk mengatur PortD sebagai masukkan. Untuk
koding selanjutnya TCCR1A=0x81; | TCCR1B=0x0d; | TCNT1H=0x00; |
TCNT1L=0x00; | ICR1H=0x00; | ICR1L=0x00; | OCR1AH=0x00; | OCR1AL=0x00; |

OCR1BH=0x00; | OCR1BL=0x00;, Untuk koding ini kita mengatur untuk pergerakan


motor dc sebelum dinyalakan. Dan selanjutnya {IN1=0; | IN2=1; | for
(a=0;a<100;a++) | { OCR1AL=a; | delay_ms(10); } | IN1=1; | IN2=0; |

for(a=0;a<100;a++) | { OCR1AL=a; | delay_ms(10);}}}, penjelasan dari koding


ini adalah kita ingin memutar motor dengan 2 arah, berdasarkan prinsip kerja
Pulse Witdh Modulation (PWM) metode yang cukup efektif untuk mengen-
dalikan kecepatan motor DC. Dan program ini akan diulang terus menerus karena
terdapat perintah while(1)

Untuk projek praktikum selanjutnya kita menggarap projek pertama, yang


bertujuan untul menampilkan berupa hari, tanggal, tahun serta waktu dengan
akurat. Projek ini menggunakan Real Time Clock (RTC) DS1307. Pada projek ini
kita tinggal mengatur pada kodingnya dengan memasukkan semua bulan, dan hari
maka ketika program ini berjalan akan Nampak hari, tanggal dan tahun serta
waktu yang akurat pada LCD, hari tanggal ini didapat karena mengambil data
waktu dari laptop yang digunakan sebagai tempat pemrosesan koding. Karena jika
tidak maka tampilan yang ada dalam LCD tidak akan nampak. Agar hari, tanggal,
tahun dan waktu akan tampil maka kita menggunakan perintah pertama adalah
h,m,s,day,date,month,year,time[10], | week[10];. Untuk mengatur tata letak
dalam LCD kita melakukan perintah dengan memasukkan koding berikut
lcd_clear(); | rtc_get_time(&h, &m, &s); |

rtc_get_date(&day,&date,&month,&year);. Pada perintah tersebut kita bisa


mengatur mana yang berada di depan mana yang berapa di belakang dan mana
yang di tengah. Setelah itu kita akan memasukkan nama – nama hari dengan
menggunakan perintah switch (day) { | case 0: lcd_putsf("MINGGU,");

break; kata minggu yang terdapat dalam kurung kita ubah menjadi hari lainnya
agar hari yang diinput akan lengkap. Sedangkan untuk mengatur nama bulan kita
menggunakan perintah lcd_gotoxy(10,0); | switch (month) { | case 0:

lcd_putsf("JAN"); break;, seperti pada proses sebelumnya kita tinggal


mengubah kata “JAN” menjadi nama bulan yang lain. Untuk mengatur jam yang
real time pada saat itu kita menggunakan perintah ini lcd_putsf("TIME:"); |
lcd_gotoxy(7,1); | sprintf(time, "%02d:%02d:%02d",h,m,s); |

lcd_puts(time);, dalam perintah ini juga kita bisa mengatur tampilan waktu,
berupa menit, detik, dan jam. Dan untuk perintah koding yang satu ini
//rtc_set_time(0,0,0); | delay_ms(10); \ //rtc_set_date(0,1,1,14); |

delay_ms(10);, kita bisa mengubah beberapa karakter yang terdapat dalam


koding ini agar tampilan yang mucul dalam LCD akan berubah pula.
IV. Kesimpulan dan Saran
Kesimpulan yang dapat kita peroleh dari praktikum modul 4 adalah,
1. Real Time Clock (RTC) DS1307 merupakan komponen untuk mengatur
waktu dengan tepat.
2. Pulse Witdh Modulaton (PWM) merupakan metode yang berfungsi
untuk mengendalikan gerakan motor dc berputar.
3. RTC DS1307 merupakan komponen yang sempurna untuk melakukan
data logging, timer serta alarm dan lain – lain.
4. Kita bisa mengatur tampilan LCD sesuai dengan keinginan kita dengan
cara mengubah beberapa koding.
5. Motor DC ini bisa diatur kecepatannya, bisa menjadi pelan maupun
cepat.

Saran yang bisa diberikan pada praktikum kali ini adalah,

1. Ketika melakukan praktikum ini pastikan koding yang tertulis itu benar,
jangan sampai ada kekurangan.
2. Kabel konektor harus benar – benar tersambungkan dengan tepat ke
segala komponen yang berkaitan agar praktikum berhasil.
V. Daftar Pustaka

1. Anonymous. (n.d.). Dallas Semiconductor. Retrieved May 22, 2015, from


www.maxim-ic.com:
https://www.sparkfun.com/datasheets/Components/DS1307.pdf

2. Anonymous. (n.d.). DS1307 Real Time Clock breakout board kit ID: 264 - $9.00
: Adafruit Industries, Unique & fun DIY electronics and kits. Retrieved May 22,
2015, from https://www.adafruit.com/products/264:
https://www.adafruit.com/products/264

3. Anonymous. (n.d.). Pengendalian Motor DC PWM. Retrieved May 22, 2015,


from mikron123: http://www.mikron123.com/index.php/Aplikasi-
Motor/Pengendalian-Motor-DC-PWM.html
VI. Lampiran
Tugas Pertanyaan
1. Library apa yang digunakan ketika mengaktifkan protokol I2C ?
2. Library apa yang digunakan ketika mengaktifkan DS1307 ?
3. Apa yang dimaksud dengan komunikasi I2C ? selain RTC , sebutkan
perangkat lain yang menggunakan standart komunikasi protokol I2C ?
4. Perintah apa yang digunakan untuk setting tanggal dan jam ?
5. Apa yang harus diatur agar motor putar kanan dan putar kiri ?
6. Apa yang harus diatur untuk mengurangi atau menambah kecepatan ?

Jawaban.

1. Library yang digunakan untuk mengaktifkan protokol I2C adalah


#include <i2c.h>
2. Library yang digunakan untuk mengaktifkan protokol DS1307 adalah
#include <ds1307.h>
3. Inter Integrated Circuit (I2C), adalah sebuah protokol untuk komunikasi
serial antar IC, dan sering disebut juga Two Wire Interface (TWI). Bus
yang digunakan untuk komunikasi antara mikrokontroler dan device
peripheral seperti memori, sensor temperatur dan I/O Expander.
4. Perintah untuk mengatur tanggal dan jam adalah perintah
//rtc_set_time(0, 0, 0); | //rtc_set_date(0, 1, 1, 14);
5. Untuk mengatur arah dari perputaran motor, kita dapat menggunakan IC
L293D sebagai driver motor DC yang dapat mengatur arah putar.
6. Pada IC L293D disediakan pin input yang berasal dari PWM untuk
mengatur kecepatan motor DC. Kita hanya perlu men-setting kembali
pin input untuk menambah ataupun mengurangi kecepatan.
TUGAS

Membuat simulasi dan program Jam digital menggunakan DS1307.


A. Gambar Rangkaian Simulasi pada Proteus

B. Source Code pada CodeVision AVR


Membuat simulasi dan program pengaturan putaran kecepatan motor DC.
A. Gambar Rangkaian Simulasi pada Proteus
B. Source Code pada CodeVision AVR

Anda mungkin juga menyukai