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
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.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
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
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.
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.
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.10.
Gambar II.11.
Setelah itu klik menuAdd dan pilih nama projek yang telah kita simpan tadi lalu klik OK.
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,
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.
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
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
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.
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.pd f
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:
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
TUGAS
Membuat simulasi dan program Jam digital menggunakan DS1307. A. Gambar Rangkaian Simulasi pada Proteus