2. TCCR1B = 0b00000001
Bit
4:3 dilakukan untuk menentukan
mode
operasi
TimerCounter
1 yaitu
phase correct
PWM.
Bit
2:0 merupakan
bit
pengatur
prescaler clock
yang masuk ke dalam
register
TCNT1.
Clock osilator
yang digunakan sama dengan
clock
CPU yaitu 12Mhz.
Gambar 3.8. Rangkaian
driver
L298
Untuk menentukan frekuensi
phase correct
PWM dapat diperoleh menggunakan persamaan 2.4 sehingga diperoleh nilai sebagai berikut :
Nilai frekuensi yang diperoleh adalah 23,529 KHz, nilai frekuensi selalu berbanding terbalik dengan waktu, sehingga dapat diperoleh lebar pulsa untuk satu siklus dengan
perhitungan sebagai berikut : 3.1
3.3.5
Keypad
Keypad
yang digunakan dengan matriks 4x4.
Keypad
berfungsi sebagai masukan pada mikrokontroler untuk mengatur pada jam-jam tertentu tirai akan dibuka dan ditutup.
Port
yang digunakan pada mikrokontroler untuk
keypad
adalah
port
A.0 sampai
port
A.7.
Port
A.0,
port
A.1,
port
A.2, dan
port
A.3 atau
port
baris digunakan sebagai
input
, sedangkan
port
A.4,
port
A.5,
port
A.6, dan
port
A.7 atau
port
kolom digunakan sebagai
output
.
Gambar 3.9. Rangkaian keypad 4x4
Pengaturan tombol pada
keypad
adalah sebagai berikut:
Tabel 3.2. Penggunaan tombol pada
keypad
Tombol Fungsi
1 Angka 1
2 Angka 2
3 Angka 3
4 Angka 4
5 Angka 5
6 Angka 6
7 Angka 7
8 Angka 8
9 Angka 9
Angka 0 Tombol geser kiri
← Tombol geser kanan
→ A
Enter B
Menu C
Buka otomatis D
Tutup otomatis
3.4 Perancangan Perangkat Lunak
3.4.1 Diagram Alir Sistem
Diagram alir utama ditunjukkan pada gambar 3.10. Program utama menunjukkan proses kerja secara keseluruhan. Program dimulai dengan melakukan inisialisasi terhadap
port
-
port
mikrokontroler yang digunakan untuk proses pengendalian alat.
START Inisialisasi port mikro
STOP Pengaturan RTC
Proses Pilih menu
Menu = otomatis Menu = manual
Otomatis Manual
YA TIDAK
YA TIDAK
While 1 YA
TIDAK Ada data di
EEPROM TIDAK
YA
Gambar 3.10. Diagram alir sistem
Pengaturan RTC dilakukan untuk mengatur waktu yang sedang berjalan dan diatur berdasarkan waktu setempat GMT +7. Setelah mengatur RTC, kemudian memilih menu
yang akan digunakan yaitu menu otomatis atau menu manual. Mode yang telah dipilih
akan tersimpan pada EEPROM sehingga pada saat catu daya utama mati maka mode yang dipilih tetap tersimpan. Saat catu daya utama hidup lagi maka sistem akan melanjutkan ke
proses sehingga tirai dapat terbuka atau tertutup. Jika data bernilai benar maka program akan terus melanjutkan eksekusi ke program pilih menu. Jika data bernilai salah maka
program tidak akan dilanjutkan
stop
.
3.4.2 Diagram Alir Pengaturan RTC
Pengaturan waktu RTC menjadi awal dalam proses menjalankan waktu berdasarkan GMT +7 yaitu mengikuti aturan waktu yang berlaku. Pengaturan RTC yang
dimaksud adalah mengatur waktu yaitu tanggal, bulan, tahun, hari, jam, menit, dan detik. LCD dirancang untuk tanggal, bulan, tahun, hari, jam, menit, dan detik. Data yang telah
diatur kemudian disimpan di RTC.
MULAI
Tampilan hari
Tampilan Tanggal - bulan - tahun
Atur Tanggal - bulan - tahun
Atur Jam : menit : detik
Tampilan Jam : menit : detik
BERHENTI
Simpan data di RTC
Gambar 3.11. Diagram alir pengaturan RTC
3.4.3 Diagram Alir Subrutin Menu
Diagram alir subrutin menu dibagi dalam 2 menu. Subrutin ini dipakai untuk mengatur waktu tirai terbuka dan tertutup. Setelah RTC diatur oleh mikrokontroler,
selanjutnya memilih menu yang akan dipakai. Terdapat 2 menu yang tersedia, yaitu menu manual dan menu otomatis. Menu manual adalah menu yang dapat diatur waktu tirai untuk
terbuka maupun tertutup sesuai keinginan pengguna sedangkan menu otomatis adalah menu yang sudah berisi data waktu dan pengguna hanya bisa memilih dari mode yang
sudah tersedia.
Gambar 3.12. menunjukkan proses menggunakan menu manual. Pada menu ini, pengguna mengatur waktu buka dan tutup tirai. Waktu buka tirai harus lebih kecil daripada
waktu tutup tirai. Jika waktu tutup kurang dari waktu buka maka akan terjadi kesalahan
error
. Data yang dapat dimasukkan oleh pengguna dibatasi maksimal 3 pasang waktu buka - tutup tirai. Data-data pengaturan buka-tutup tirai disimpan pada EEPROM.
MULAI
Masukkan waktu BUKA
BERHENTI Masukkan waktu
TUTUP Data lama
dipakai ? TIDAK
Inisialisasi
YA TIDAK
Simpan DATA YA
i = i + 1
YA i = 3
TIDAK Buka [i] Tutup [i]
Lagi ? ERROR
YA
TIDAK
Gambar 3.12. Diagram Alir Menu Manual
Pengguna yang menggunakan menu otomatis memilih mode yang tersedia, dari mode 1 sampai mode 7, dengan menekan tombol pada
keypad
. Mode yang telah dipilih oleh pengguna akan tersimpan di EEPROM. Diagram alir menu otomatis dapat dilihat
pada gambar 3.13.
MULAI Pilih mode
BERHENTI Mode = 1
BUKA [1] = 05:00 TUTUP [1] = 07:00
BUKA [2] = 16:00 TUTUP [2] = 18:00
YA
Mode = 2
BUKA [1] = 05:00 TUTUP [1] = 08:00
BUKA [2] = 16:00 TUTUP [2] = 18:00
YA TIDAK
Mode = 3
BUKA [1] = 05:00 TUTUP [1] = 09:00
BUKA [2] = 16:00 TUTUP [2] = 18:00
YA TIDAK
Mode = 4
BUKA [1] = 05:00 TUTUP [1] = 10:00
BUKA [2] = 16:00 TUTUP [2] = 18:00
YA TIDAK
Mode = 5
YA
Mode = 6
YA TIDAK
BUKA [1] = 05:00 TUTUP [1] = 07:00
BUKA [2] = 13:00 TUTUP [2] = 18:00
BUKA [1] = 05:00 TUTUP [1] = 08:00
BUKA [2] = 14:00 TUTUP [2] = 18:00
BUKA [1] = 05:00 TUTUP [1] = 10:00
BUKA [2] = 15:00 TUTUP [2] = 18:00
TIDAK TIDAK
Mode disimpan di EEPROM
Mode = 7
Gambar 3.13. Diagram Alir Menu Otomatis
3.4.4 Diagram Alir Proses
Data yang telah disimpan dalam mikrokontroler kemudian diproses dengan membandingkan data pada RTC. Saat waktu RTC sama dengan atau lebih dari waktu buka
tirai, maka motor akan
on
dan bergerak searah jarum jam. Tirai akan terus bergerak sampai menekan
limit switch
1 sehingga motor akan
off
. Jika waktu RTC sama dengan atau lebih dari waktu tutup, maka motor akan
on
dan bergerak menutup tirai yang arahnya berkebalikan dengan arah jarum jam. Motor akan berhenti bergerak saat
limit switch
2 tertekan tirai. Proses ini dapat bekerja lebih dari satu kali sesuai masukan yang diberikan
pengguna.
MULAI
RTC = TUTUP [j]
Motor ON CCW
Limit 2 = ON
Motor OFF YA
YA
Inisialisasi
RTC = BUKA [j]
Motor ON CW
Limit 1 = ON
Motor OFF YA
TIDAK YA
TIDAK
TIDAK TIDAK
TIDAK YA
j = x
BERHENTI j = j + 1
Gambar 3.14. Diagram alir proses
42
BAB IV HASIL PENGAMATAN DAN PEMBAHASAN
Bab ini berisi mengenai hasil pengamatan pengaturan tirai berdasarkan waktu nyata dari prototipe ruangan. Hasil pengamatan berupa pengujian ketepatan waktu pada RTC,
pergerakan motor DC sebagai penggerak tirai dan tingkat keberhasilan prototipe secara keseluruhan.
Pada perancangan tugas akhir ini, mikrokontroler yang akan digunakan adalah ATmega8535 namun pada implementasi alat menggunakan mikrokontroler ATmega32.
Hal ini dikarenakan memori
flash
ATmega8535 hanya memiliki memori
flash
sebesar 8K
byte
sehingga tidak cukup untuk menampung program yang digunakan yaitu sebesar 4296 kata 1 kata = 16
bit
, maka 4296 kata = 68736
bit
= 8592
byte
diganti dengan mikrokontroler ATmega32 yang mempunyai memori lebih besar.
a
Compiler
ATmega8535 b
Compiler ATmega32 Gambar 4.2. Perbandingan
compiler
program
4.1. Hasil Implementasi Alat
Hasil akhir perancangan prototipe pengaturan tirai berdasarkan waktu nyata secara keseluruhan ditunjukkan pada gambar 4.2.
a Ruangan Tampak Depan
b Ruangan Tampak Dalam
c Detail Bagian Kiri
d Detail Bagian Kanan
Gambar 4.2. Prototipe ruangan
Keterangan gambar:
1.
LCD 5. Motor DC
2.
Keypad 6.
Limit Switch
1
3.
Saklar 7.
Limit Switch
2
4.
Tirai 8.
Pulley
Sistem dapat digunakan saat saklar dinyalakan. Pada LCD akan muncul perintah ‘Menu tekan B’. Jika menekan tombol B pada
keypad
maka terdapat 3 pilihan menu, yaitu menu otomatis, menu manual, dan set waktu. Jika pengguna tidak menekan tombol B akan
muncul data waktu dan tanggal secara otomatis. Tombol A berfungsi untuk memilih menu
yg diinginkan. Tombol ‘’ dan ‘’ berfungsi untuk menampilkan menu pada LCD dengan
menggeser ke kanan atau kiri. Tombol C berfungsi untuk membuka tirai dan tombol D berfungsi untuk menutup tirai secara otomatis tanpa membandingkan waktu RTC dan data
masukan dari pengguna. Rangkaian elektronika sebagai pendukung bekerjanya prototipe penelitian ini dapat
dilihat pada gambar di bawah ini:
Gambar 4.3. Rangkaian Mikrokontroler Gambar 4.4. Rangkaian
Driver
Gambar 4.5. Rangkaian RTC Gambar 4.6. LCD
Gambar 4.7. Rangkaian Penyearah 6 Volt Gambar 4.8. Rangkaian Penyearah 12 Volt
Gambar 4.9.
Keypad
4x4
Rangkaian mikrokontroler pada gambar 4.3 berfungsi sebagai IO untuk mengolah data dari RTC DS1307 dan
keypad
. Keterangan gambar pada rangkaian mikrokontroler:
1.
Output
+5 volt 5. Port untuk
downloader
2. GND 6. Port A.0
– A.7 3. Port D.0
– D.7 7. Port C.0
– C.7 4. Port B.0
– B.7 8.
Input
+12 volt
Gambar 4.4. menunjukkan rangkaian
driver
menggunakan IC
driver
L298 yang berfungsi untuk mengendalikan kecepatan dan arah putar motor. Kecepatan saat waktu
buka dan tutup tirai dibuat berbeda dengan fasilitas PWM yang disediakan mikrokontroler untuk mengendalikan
pin enable
dari IC
driver
L298. RTC sebagai pewaktu pada sistem dapat dilihat pada gambar 4.5. LCD berfungsi untuk menampilkan data-data yang
diinginkan, antara lain memilih menu, kondisi motor DC, dan data waktu. Modul LCD dapat dilihat pada gambar 4.6. Penyearah 6 volt menggunakan IC LM7806 untuk
menghasilkan tegangan 6 volt. Penyearah 6 volt berfungsi sebagai catu daya untuk motor DC yang dapat dilihat pada gambar 4.7. Penyearah 12 volt menggunakan IC LM7812
untuk menghasilkan tegangan 12 volt pada gambar 4.8. sebagai catu daya regulator mikrokontroler yang menggunakan IC LM7805.
Keypad
sebagai masukan untuk memilih menu dapat dilihat pada gambar 4.9.
4.2. Pengujian Keberhasilan Sistem
Keberhasilan sistem dilihat saat pengguna memasukkan waktu yang diatur yaitu pengaturan tanggal, hari dan waktu. Selanjutnya pengguna mengatur waktu buka dan tutup
tirai sesuai keinginan. Sistem menyediakan 2 pilihan menu sehingga pengguna dapat memilih menu otomatis atau manual. Pada menu otomatis terdapat 2 kali waktu buka dan
tutup tirai, yaitu pada pagi dan sore hari. Jika pengguna memilih menu otomatis, pengguna dapat memilih satu dari 7 mode yang disediakan.
Tabel 4.1. menunjukkan hasil pengujian salah satu mode dari 7 mode pada menu otomatis. Jika pengguna memilih mode 1 maka data waktu buka dan tutup tirai akan
tersimpan di EEPROM. Mode 1 memiliki data buka pertama tirai pukul 05.00 dan pukul 07.00 tirai tertutup, pukul 16.00 tirai terbuka kembali dan pukul 18.00 tirai akan menutup.
Mikrokontroler mencocokkan data pada mode 1 dengan waktu RTC secara terus menerus.
Jika waktu pada RTC dan data pada mode 1 sama, contohnya pada pukul 05.00 motor akan bergerak sesuai arah jarum jam cw maka tirai akan akan terbuka. Kondisi
limit switch
1 ON ketika tertekan gerakan motor DC yang searah jarum jam cw dan kondisi
limit switch
2 OFF. Kondisi
limit switch
ON menyebabkan motor DC berhenti berputar. Pada pukul 07.00 motor DC akan bergerak berlawanan arah jarum jam. Kondisi
limit switch
1 OFF dan
limit switch
2 ON setelah tertekan gerakan motor DC sehingga motor DC berhenti berputar. Tabel 4.2. menunjukkan kondisi
limit switch
sesuai arah pergerakan motor DC. Tabel 4.1. Hasil pengujian pergerakan motor pada menu otomatis
Mode Waktu
Pergerakan Motor DC Buka
[1] Tutup
[1] Buka
[2] Tutup
[2] Buka
[1] Tutup
[1] Buka
[2] Tutup
[2]
1 05.00
07.00 16.00
18.00 cw
ccw cw
ccw
Tabel 4.2. Hasil pengujian
limit switch
pada menu otomatis
Mode Waktu
Kondisi Limit Switch Buka
[1] Tutup
[1] Buka
[2] Tutup
[2] Buka
[1] Tutup
[1] Buka
[2] Tutup
[2] 1
2 1
2 1
2 1
2
1 05.00
07.00 16.00
18.00 on
off off
on on off
off on
Pengujian menu manual berbeda dengan pengujian menu otomatis. Pada menu manual, pengguna dapat memasukkan waktu buka dan tutup tirai sesuai keinginan sesuai
syarat masukan waktu buka dan tutup. Jadi dalam 1 hari pengguna dapat memasukkan data sampai 3 kali. Pada menu manual pengguna memasukkan waktu buka [1] dan waktu tutup
[1] nilainya harus lebih besar dari waktu buka [1]. Jika pengguna memasukkan waktu sampai 3 kali maka nilai yang dimasukkan harus lebih besar dari nilai masukan
sebelumnya. Setelah pengguna memasukkan waktu buka dan tutup selesai, sistem akan berjalan sesuai program yang telah dirancang.
.
Tabel 4.3. Hasil pengujian pergerakan motor pada menu manual
Masukan
Waktu Pergerakan Motor
Buka [1]
Tutup [1]
Buka [2]
Tutup [2]
Buka [3]
Tutup [3]
Buka [1]
Tutup [1]
Buka [2]
Tutup [2]
Buka [3]
Tutup [3]
3 09.00 09.30 12.00 12.30 17.00 17.30
cw ccw
cw ccw
cw ccw
Tabel 4.4. Hasil pengujian
limit switch
pada menu manual
Masukan Waktu
Kondisi Limit Switch
Buka [1] Tutup [1] Buka [2]
Tutup[2] Buka [3]
Tutup[3] Buka
[1] Tutup
[1] Buka
[2] Tutup
[2] Buka
[3] Tutup
[3] 1
2 1
2 1
2 1
2 1
2 1
2
3 09.00 09.30 12.00 12.30 17.00 17.30 on off off on
on off
off on
on off
off on
Prinsip kerja dari menu manual sama dengan menu otomatis, yaitu pada saat nilai yang dimasukkan, data disimpan pada mikrokontroler. Saat data pada mikrokontroler dan
waktu RTC sama, maka motor DC akan bergerak searah jarum jam untuk membuka tirai dan bergerak berlawanan dengan arah jarum jam untuk menutup tirai. Setelah tirai terbuka,
kondisi
limit switch
1 ON dan
limit switch
2 OFF. Kondisi ON pada
limit switch
menyebabkan motor DC berhenti berputar.
4.3. Pengujian Rangkaian Penyearah
Pengujian rangkaian penyearah 6 volt dan 12 volt menggunakan multimeter dengan cara mengukur tegangan keluarannya. Hasil pengujian tegangan keluaran penyearah dapat
dilihat pada Tabel 4.5.
Tabel 4.5. Hasil pengujian tegangan keluaran penyearah
Penyearah Tegangan Keluaran
Volt 6 volt
6,03 12 volt
12,02
Hasil pengukuran tegangan keluaran rangkaian penyearah 6 volt dan 12 volt memiliki perbedaan dengan tegangan keluaran idealnya. Pada komponen IC LM7806
tegangan keluaran idealnya adalah 6 volt tetapi pada saat pengujian terukur 6,03 volt sedangkan IC LM7812 idealnya adalah 12 volt tetapi pada saat pengujian terukur 12,02
volt.
Range
tegangan keluaran IC LM7806 adalah 5,7 volt sampai 6,3 volt dan IC LM7812 antara 11,4 volt sampai 12,6 volt. Rangkaian penyearah bekerja dengan baik karena nilai
tegangannya berada dalam
range
tegangan keluaran minimum dan maksimum.
4.4. Pengujian Rangkaian Penggerak
Pengujian rangkaian
driver
dilakukan dengan memberikan nilai
duty cycle
pada
port
D.4 yang berfungsi sebagai PWM pada mikrokontroler. Sumber tegangan untuk motor DC sebesar 6 volt. Pada perancangan ini nilai
duty cycle
yang dipakai adalah 80 untuk proses menutup tirai dan 100 untuk membuka tirai. Nilai
duty cycle
dibawah 60 tidak digunakan karena tidak mampu menggerakkan beban motor DC dan nilai
duty cycle
antara 60 sampai 70 mampu menggerakkan beban namun tidak berhasil menekan
limit switch
. Pengujian dilakukan dengan mencatat waktu yang ditempuh dengan jarak 13,5 cm. Hasil pengujian rangkaian
driver
ditunjukkan pada Tabel 4.6.
Tabel 4.6. Hasil pengujian rangkaian
driver
Nilai duty cycle Percobaan ke-
1 2
3 4
5 80
3 detik 3 detik
3 detik 3 detik
3 detik 100
2 detik 2 detik
2 detik 2 detik
2 detik Berdasarkan percobaan yang dilakukan, diperoleh waktu yang ditempuh untuk
duty cycle
80 adalah 3 detik dan
duty cycle
100 adalah 2 detik.
4.5. Pengujian Rangkaian RTC
Pengujian RTC dilakukan dengan mengamati nilai keluaran frekuensi pada pin SQW kaki 7 menggunakan
frequency counter
dengan model GFC-8055G.
Gambar 4.10. Frekuensi pada RTC
Pengukuran nilai kristal pada RTC menggunakan
frequency counter
adalah 1 Hz. Sehingga nilai
error
-nya:
Berdasarkan nilai
error
yang dikeluarkan frekuensi IC DS1307 menunjukkan bahwa pewaktuan yang digunakan tidak mempunyai kesalahan errror 0.
4.6. Pembahasan Perangkat Lunak
4.6.1. Program Sistem
Listing
program sistem dapat dilihat pada Gambar 4.13. Program sistem dieksekusi pada saat pengguna menyalakan saklar.
Listing
program inisialisasi dapat dilihat pada Gambar 4.11. Program akan menampilkan data waktu dan tanggal yang telah di
setting
sebelumnya. Pada saat saklar aktif, mikrokontroler akan mengeksekusi program inisialisasi yaitu i2c_init dan rtc_init. Kemudian akan muncul tampilan pada LCD seperti yang
ditunjukkan pada Gambar 4.12. Jika pengguna menekan tombol B maka akan muncul menu yang tersedia. Selanjutnya mikrokontroler mengecek jika
‘adakah=0’ atau tidak ada data waktu,data tanggal dan data Pilih_Menu maka pengguna harus memasukkan data
tersebut. Setelah terpenuhi data waktu, data tanggal kemudian masuk ke program Pilih_Menu sehingga data ‘adakah=1’ dan nilainya terpenuhi. Mikrokontroler akan
membaca data yang tersimpan di EEPROM.
Gambar 4.11.
Listing
program inisialisasi
Gambar 4.12. Tampilan awal
Program sistem akan mengakses waktu dan tanggal dari RTC. Jika menekan tombol B maka akan mengeksekusi fungsi Pilih_Menu. Tombol C difungsikan untuk membuka
tirai tanpa mengatur waktu buka dan tombol D untuk menutup tirai tanpa mengatur waktu tutup tirai. Waktu dan tanggal secara otomatis dibaca oleh mikrokontroler dengan variabel
RTC.
Program sistem mengeksekusi data waktu saat waktu buka sama dengan waktu sebenarnya sehingga motor akan otomatis membuka tirai. Saat waktu tutup sama dengan
waktu yang sebenarnya maka motor akan kembali menutup tirai. Motor akan bergerak sesuai jumlah masukan waktu buka-tutup tirai. Proses membuka dan menutup tirai
dilakukan sesuai masukan yang telah diatur sebelumnya.
Gambar 4.13.
Listing
program sistem
Fungsi s=sTemp adalah pada saat nilai s detik tidak sama dengan s sesudahnya maka nilai s akan disamakan. Program ini dimaksudkan untuk menghindari pengiriman
data yang sama secara terus menerus pada LCD yang menimbulkan kedip dan tampilan yang tidak jelas. Tampilan data di LCD hanya akan berubah ketika terjadi perubahan nilai
variabel s.