• Tidak ada hasil yang ditemukan

Metodologi Penelitian

BAB I PENDAHULUAN

1.6. Metodologi Penelitian

Penelitian ini dilakukan menggunakan metode:

1. Bahan-bahan referensi berupa website, buku-buku dan jurnal-jurnal.

2. Perancangan subsistem berupa hardware dan software.

Tahap ini bertujuan mencari bentuk model yang optimal dari sistem yang akan dibuat dengan mempertimbangkan dari berbagai faktor-faktor permasalahan dan kebutuhan yang telah ditentukan.

3. Pembuatan subsistem hardware dan software.

Penelitian ini menggunakan tiga buah mikrokontroler. Mikrokontroler 1 digunakan pada rangkaian XBee pengirim, mikrokontroler 2 digunakan pada rangkaian XBee penerima, dan mikrokontroler 3 digunakan pada robot line follower.

Berdasarkan Gambar 1.1., keypad berfungsi memberikan input ke mikrokontroler 1 kemudian mikrokontroler 1 akan mengolah input tombol sebagai input XBee.

Penelitian ini menggunakan modul XBee yang sudah ada di pasaran. XBee berfungsi untuk mengirimkan data dari mikrokontroler 1 ke XBee penerima.

Berdasarkan Gambar 1.2., setelah XBee penerima mendapatkan data dari XBee pengirim kemudian data diolah oleh mikrokontroler 2. Data dari mikrokontroler 2 akan digunakan sebagai pengontrol robot line follower melalui mikrokontroler 3.

Gambar 1.3. menunjukkan blok diagram robot line follower.

Gambar 1.1. Blok diagram pemancar

Mikrokontroler 1 Modul XBee

Pemancar Tombol 1

Tombol 2

Gambar 1.2. Blok diagram penerima

Gambar 1.3. Blok diagram robot line follower

Berdasarkan Gambar 1.3., mikrokontroler 3 akan menerima data dari mikrokontroler 2 sebagai input data untuk penentuan pos 1 atau pos 2. Sensor jalur berfungsi mendeteksi garis hitam dan putih pada track. Komparator berfungsi membandingkan data 0 atau 1 yang dikirim oleh sensor jalur dan kemudian mengirimkan data tersebut ke mikrokontroler 3 yang berada pada robot. Sensor ultrasonik dan sensor berat berfungsi sebagi pendeteksi sampah yang dibuang ke dalam kotak sampah. Driver berfungsi untuk menggerakkan motor DC pada robot yang dikontrol oleh mikrokontroler 3.

Modul XBee

4.

Proses pengambilan data.

Pengambilan data dilakukan dengan cara mengubah-ubah input keypad sebagai pengendali robot. Setelah itu dilakukan pengukuran pada sensor berat yang diletakan pada robot line follower sebagai pendeteksi berat maksimal beban yang dibawa. Robot line follower juga akan dilengkapi sensor ultrasonik sebagai pendeteksi sampah yang masuk ke dalam tempat sampah.

5.

Analisa dan penyimpulan hasil percobaan.

Analisa data dilakukan dengan membandingkan data hasil percobaan dengan perhitungan teori dan spesifikasi yang telah ditentukan terlebih dahulu.

Penyimpulan hasil percobaan dapat dilakukan dengan menghitung presentase error yang terjadi.

6

BAB II DASAR TEORI

2.1. Frequency Band 2,4 GHz

Sistem Wireless sangat terkenal untuk jaringan data di tingkat lokal dan komunikasi antara beberapa alat komunikasi dengan jarak 10 meter (komunikasi telepon seluler dengan computer menggunakan Bluetooth), yang disebut Wireless Local Area Network (WLAN) dan Wireless Personal Area Network (WPAN) [2]. Namun, sebagian besar sistem yang ada merupakan sistem bebas lisensi, baik perencanaan sumber daya atau alokasi bandwidth. Sampai saat ini, sistem yang paling sering digunakan dalam frequency band

industrial, scientific and medical (ISM) 2,4 GHz adalah IEEE802.11 dan Bluetooth.

ZigBee dan IEEE 802.15.4 adalah dua standar mendatang untuk jaringan nirkabel jarak pendek yang menggunakan frequency band ISM [3]. Aplikasi keduanya diterapkan dalam otomatisasi rumah, industri, dan medis. Aplikasi medis memerlukan keandalan tertinggi di media transmisi.

Frequency band ISM untuk Eropa adalah 868 MHz , untuk Amerika adalah 915 MHz, dan untuk digunakan di seluruh dunia adalah 2,4 GHz [3]. Frekuensi 2,4 GHz menyediakan bandwidth tertinggi per saluran dan jumlah saluran terbesar. Frequency band 2,4 GHz adalah band yang umum digunakan untuk chip RF IEEE 802.15.4. Dengan demikian, dalam beberapa bulan atau tahun ke depan, akan ada tiga sistem nirkabel dalam satu frequency band dengan skema modulasi dan saluran akses yang berbeda. Tabel 2.1. memperlihatkan pembagian frequency band ISM menurut International Telecommunication Union Radiocommunication Sector (ITU – R).

Tabel 2.1. Pembagian frequency band ISM menurut ITU – R [3]

Frekuensi (Hz) Frekuensi tengah

Tabel 2.1. (Lanjutan) Pembagian frequency band ISM menurut ITU – R [3]

2.2. XBee PRO

Modul XBee dan XBee PRO dirancang untuk memenuhi standar ZigBee / IEEE 802.15.4 dan mendukung kebutuhan daya rendah pada pengaplikasian sensor yang menggunakan jaringan nirkabel [4]. Modul ini memerlukan daya minimal dan dapat diandalkan dalam pengiriman data kritis antar perangkat. XBee PRO beroperasi dalam frequency band ISM 2,4 GHz. Gambar 2.1. memperlihatkan konfigurasi pin XBee PRO. Tabel 2.2. memperlihatkan lebar frekuensi XBee PRO. Tabel 2.3. memperlihatkan spesifikasi XBee PRO.

Gambar 2.1. Konfigurasi pin XBee PRO [4]

Frekuensi (Hz) Frekuensi tengah (Hz) 6.765–6.795 MHz 6.780 MHz 13.553–13.567 MHz 13.560 MHz 26.957–27.283 MHz 27.120 MHz 40.66–40.70 MHz 40.68 MHz 433.05–434.79 MHz 433.92 MHz

902–928 MHz 915 MHz 2.400–2.500 GHz 2.450 GHz 5.725–5.875 GHz 5.800 GHz

XBee PRO mempunyai beberapa keunggulan dalam hal keamanan jaringan, yaitu : 1. Setiap saluran urutan langsung mempunyai 65.000 alamat yang berbeda.

2. Mendukung pelaksanaan komunikasi point-to-point, point-to-multipoint, dan topologi peer-to-peer.

3. Enkripsi hingga 128 bit.

4. Menggunakan arus yang rendah yaitu a) Arus Tx : 270 mA ( @ 3.3 v) b) Arus Rx : 55 mA (@ 3.3 v)

5. Tidak memerlukan konfugurasi selain di dalam modul XBee PRO

Tabel 2.2. Lebar frekuensi XBee PRO [4]

Frequency

Tabel 2.3. Spesifikasi XBee PRO [4]

Komunikasi secara serial digunakan untuk berkomunikasi dengan perangkat lain menggunakan media kabel serial. Komunikasi serial ini menggunakan metode asinkronus serial. Gambar 2.2. memperlihatkan komunikasi XBee PRO.

Gambar 2.2. Komunikasi XBee PRO [4]

2.3. LCD

Liquid Crystal Display (LCD) adalah komponen yang berfungsi untuk menampilkan suatu karakter pada suatu tampilan (display) dengan bahan utama yang digunakan berupa Liquid Crystal [5]. Apabila diberi arus listrik sesuai dengan jalur yang telah dirancang pada konstruksi LCD, Liquid Crystal akan berpendar menghasilkan suatu cahaya dan cahaya tersebut akan membentuk suatu karakter tertentu. Konstruksi LCD disajikan pada Gambar 2.3.

Gambar 2.3. Konstruksi LCD [5]

LCD yang sering digunakan adalah jenis LCD M1632. M1632 merupakan modul LCD dengan tampilan 2 x 16 (2 baris, 16 kolom) dengan konsumsi daya rendah. Modul tersebut

dilengkapi dengan mikrokontroler yang didesain khusus untuk mengendalikan LCD.

Mikrokontroler HD44780 buatan Hitachi yang berfungsi sebagai pengendali LCD memiliki CGROM (Character General Read Only Memory), CGRAM (Character General Random Access Memory), dan DDRAM (Display Data Random Access Memory). LCD bertipe ini memungkinkan pemrogram untuk mengoperasikan komunikasi data 8 bit atau 4 bit. Jika menggunakan jalur data 4 bit, maka akan ada 7 jalur data (3 untuk jalur kontrol & 4 untuk jalur data). Jika menggunakan jalur data 8 bit, maka akan ada 11 jalur data (3 untuk jalur kontrol & 8 untuk jalur data). Tiga jalur kontrol ke LCD ini adalah EN (Enable), RS (Register Select) dan R/W (Read/Write). LCD 2 x 16 disajikan pada Gambar 2.4.

Gambar 2.4. LCD 2 x 16 [5]

LCD jenis M1623 memiliki jumlah pin sebanyak 16 yang memiliki fungsi berbeda-beda. Fungsi pin-pin tersebut disajikan pada Tabel 2.4.

Tabel 2.4. Fungsi pin-pin LCD [5]

Nomor Pin

Simbol Nomor

Pin

Simbol

1 GND 9 DB2

2 Vcc(5V) 10 DB3

3 Vled 11 DB4

4 RS 12 DB5

Tabel 2.4. (Lanjutan) Fungsi pin-pin LCD [5]

Fungsi pin LCD pada Tabel 2.4. adalah :

1. Vlcd merupakan pin yang digunakan untuk mengatur tebal tipisnya karakter yang tertampil dengan cara mengatur tegangan masukan.

2. DB0 s/d DB7 merupakan jalur data yang dipakai untuk menyalurkan kode ASCII maupun perintah pengatur LCD.

3. Register Select (RS) merupakan pin yang dipakai untuk membedakan jenis data yang dikirim ke LCD. Jika RS berlogika ‘0’, maka data yang dikirim adalah perintah untuk mengatur kerja LCD. Jika RS berlogika ‘1’, maka data yang dikirimkan adalah kode ASCII yang ditampilkan.

4. Read/Write (R/W) merupakan pin yang digunakan untuk mengaktifkan pengiriman dan pengembalian data ke dan dari LCD. Jika R/W berlogika ‘1’, maka akan diadakan pengambilan data dari LCD. Jika R/W berlogika ‘0’, maka akan diadakan pengiriman data ke LCD.

5. Enable (E) merupakan sinyal singkronisasi. Saat E berubah dari logika ‘1’ ke ‘0’, data di DB0 s/d DB7 akan diterima atau diambil diambil dari port mikrokontroler.

6. Anoda (A) dan Katoda (K) merupakan pin yang digunakan untuk menyalakan backlight dari layar LCD.

2.4. Mikrokontroler ATmega8535

Mikrokontroler merupakam chip cerdas yang menjadi tren dalam pengendalian dan otomatisasi, terutama di kalangan mahasiswa [6]. Dengan banyak jenis keluarga, kapasitas

memori, dan berbagai fitur, mikrokontroler menjadi pilihan dalam aplikasi prosesor mini untuk pengendalian skala kecil.

Mikrokontroler Alf and vegard’s Risc processor (AVR) dari Atmel menggunakan arsitektur Reduced Instruction Set Computer (RISC) yang artinya prosesor tersebut memiliki set instruksi program yang lebih sedikit dibandingkan dengan MCS-51 yang menerapkan arsitektur Complex Instruction Set Computer (CISC).

Hampir semua instruksi prosesor RISC adalah instruksi dasar (belum tentu sederhana), sehinggga instruksi-instruksi ini umumnya hanya memerlukan 1 siklus mesin untuk menjalankannya, kecuali instruksi percabangan membutuhkan 2 siklus mesin. RISC biasanya dibuat dengan arsitektur Harvard, karena arsitektur ini memungkinkan untuk membuat eksekusi instruksi selesai dikerjakan dalam satu atau dua siklus mesin, sehingga semakin cepat dan handal. Proses downloading program relatif lebih mudah karena dapat dilakukan langsung pada sistem.

Sekarang ini, AVR dapat dikelompokkan menjadi 6 kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, keluarga ATmega, keluarga AT90CAN, keluarga AT90PWM dan AT86RFxx. Pada dasarnya perbedaan kelas tersebut membedakan masing-masing kelas adalah peripheral, dan fungsinya, sedangkan dari segi arsitektur dan instruksi yang digunakan, mereka hampir sama. Sebagai pengendali utama dalam pembuatan sistem ini digunakan salah satu produk ATMEL dari keluarga ATmega yaitu ATmega8535.

2.4.1. Konfigurasi Pin

ATMega8535 terdiri atas 40 pin dengan konfigurasi seperti pada Tabel 2.5. dan Gambar 2.5.

Gambar 2.5. Konfigurasi ATmega8535 [6]

Tabel 2.5. Deskripsi pin ATmega8535 [6]

2.4.2. Peta Memori

Arsitektur AVR terdiri atas dua memori utama, yaitu Data Memori dan Program Memori. Sebagai tambahan fitur dari ATmega8535, terdapat EEPROM 512 byte sebagai memori data dan dapat diprogram saat operasi [6].

ATmega8535 terdiri atas 8 Kbyte On-chip In-System Reprogrammable Flash Memory untuk menyimpan program. Karena seluruh instruksi AVR dalam bentuk 16 bit atau 36 bit, flash dirancang dengan kompisisi 4K x 16. Untuk mendukung keamanan software atau program, flash program memori dibagi menjadi dua bagian yaitu bagian Boot Program dan bagian Application Program. Gambar 2.6 mengilustrasikan susunan memori program flash ATmega8535.

Gambar 2.6. Peta memori program [6]

2.4.3. Stack Pointer

Stack pointer merupakan suatu bagian dari AVR yang berguna untuk menyimpan data sementara, variabel lokal, dan alamat kembali dari suatu interupsi ataupun subrutin [6]. Stack pointer diwujudkan sebagai dua unit register, yaitu Stack Pointer High (SPH) dan Stack Pointer Low (SPL).

Saat awal, SPH dan SPL akan bernilai 0, sehingga perlu diinisialisasi terlebih dahulu.

SPH merupakan byte atas / Most Significant Bit (MSB), sedangkan SPL merupakan byte bawah / Least Significant Bit (LSB). Hal ini hanya berlaku untuk AVR dengan kapasitas SRAM lebih dari 256 byte.

2.4.4. Reset dan Osilator Eksternal

Chip akan reset jika tegangan catu nol atau pin RST dipaksa 0 [6]. Jika membutuhkan tombol reset, dapat ditambah dengan rangkaian reset seperti pada Gambar 2.7.

Gambar 2.7. Rangkaian reset [6]

2.4.5. Timer ATmega8535

AVR ATMega8535 memiliki 3 buah timer, yaitu Timer/Counter0 (8 bit), Timer/Counter1 (16 bit), dan Timer/Counter2 (8 bit) [6].

2.4.5.1. Timer/Counter1

Timer/Counter1 adalah Timer/Counter 8 bit yang multifungsi [6]. Fitur-fitur dari Timer/Counter1 pada ATmega8535 adalah sebagai berikut.

a. Counter 1 kanal.

b. Timer di-nol-kan saat proses pembanding tercapai (compare match).

c. Sebagai pembangkit gelombang PWM.

d. Sebagai pembangkit frekuensi.

e. Clock prescaler 10 bit.

f. Sumber interupsi dari compare match (OCF0) dan overflow (TOV0).

2.4.5.2.

Register Pengendali Timer/Counter1 1. Timer/Counter 1 Control Register A – TCCR1A

Tabel 2.6. Register TCCR1A [6]

Bit 7:6 – COM1A1:0: Compare Output Mode for channel A Bit 5:4 – COM1B1:0: Compare Output Mode for channel B

Bit-bit ini bertugas mengendalikan sifat/kelakuan pin OC1A atau OC1B yang berhubungan dengan mode operasi yang digunakan .

Tabel 2.7. Normal dan CTC [6]

Tabel 2.8. Mode fast PWM [6]

Tabel 2.9. Mode phase correct dan phase & frekuensi correct PWM [6]

Bit 3 – FOC1A: Force Output Compare for channel A Bit 2 – FOC1B: Force Output Compare for channel B

Bit – FOC1A/FOC1B hanya dapat digunakan ketika menggunakan mode operasi non-PWM. Jika bit-bit ini di-set maka akan memaksa terjadinya compare match.

Bit 1:0 – WGM11:0: Waveform Generator Mode

Kedua bit ini bersamaan dengan bit WGM13:12 dalam register TCCR1B berguna untuk memilih mode operasi yang akan kita gunakan [6].

Tabel 2.10. Mode operasi [6]

0 0 0 0 Normal 0xFFFF immidiet MAX

0 0 1 1

2. Timer/Counter 1 Control Register B – TCCR1B

Tabel 2.11. Register TCCR1B [6]

Bit 7 – INC1: Input Capture Noise Canceler

Penge-set-an bit ini akan mengaktifkan Input Capture Noise Canceler pada saat menggunakan mode normal yang capture event [6]. Di mana noise canceler akan memfilter triger yang masuk ke pin ICP1 akan disaring selama 4 siklus clock, jika selama 4 siklus clock tersebut trigernya berubah maka akan diabaikan.

Bit 6 – ICES1: Input Capture Edge Select

Bit ini mendefinisikan triger yang masuk ke pin ICP1 (PB0) yang digunakan untuk menangkap kejadian (capture event). Jika ICES1=0 maka falling edge (perpindahan dari 1 ke 0) digunakan sebagai triger dan jika ICES1=1 maka rising edge (perpindahan dari 0 ke 1) digunakan sebagai triger.

Ketika ada triger pada pin ICP1 (PB0) maka secara otomatis oleh CPU isi register pencacah TCNT1 akan disalin ke register penangkap ICR1 dan juga berkebalikan pada flag status ICF1yang digunakan untuk interupsi capture event.

Bit 5 – Reserved Bit Tidak digunakan

Bit 4:3 – WGM13:2: Waveform Generator Mode Lihat tabel Mode Operasi

Bit 2:0 – CS12:0: Clock Select

Bit-bit ini bertugas untuk memilih/mendefinisikan/prescaler pulsa/clock yang masuk ke dalam register TCNT1.

Tabel 2.12. Prescaler timer/counter1 [6]

3. Output Compare Register 1 A – OCR1AH and OCR1AL Tabel 2.13. Register 1A [6]

4. Output Compare Register 1 B – OCR1BH and OCR1BL Tabel 2.14. Register 1 B [6]

Register ini bertugas sebagai register pembanding yang bisa kita tentukan besarnya sesuai dengan kebutuhan [6]. Dalam praktiknya pada saat TCNT1(TCNT1H:TCNT1L) mencacah maka otomatis oleh CPU akan dibandingkan dengan isi OCR1 (OCR1H:OCR1L) secara kontinyu dan jika isi TCNT1 sama dengan isi OCR1 maka akan terjadi compare match yang dapat dimanfaatkan untuk mode CTC dan PWM.

5. Input Capture Register 1 –ICR1H and ICR1L

Tabel 2.15. Register 1 [6]

Register ICR1(ICR1H:ICR1L) akan selau diperbarui dengan isi register pencacah TCNT1 (pada saat tersebut) sewaktu terjadi triger (capture event) pada pin ICP1[6]. Register ICR1 juga mempunyai fungsi lain untuk mendefinisikan TOP value pada mode tertentu (lihat tabel mode operasi).

6. Timer/Counter Interrupt Mask Register – TIMSK

Tabel 2.16. Register TIMSK [6]

Bit 5 – TICIE1: T/C1, Input Capture Interrupt Enable

Bit ini berguna untuk meng-aktif-kan interupsi input capture (penangkap kejadian pada pin ICP1/PB0) ketika bit di-set [6].

Bit 4 – OCIE1A: T/C1, Output Compare A Match Interrupt Enable

Bit ini berguna untuk meng-aktif-kan interupsi Output Compare A Match ketika bit ini di-set.

Bit 3 – OCIE1B: T/C1, Output Compare B Match Interrupt Enable

Bit ini berguna untuk meng-aktif-kan interupsi Output Compare B Match ketika bit ini di-set.

Bit 2 – TOIE1: Timer/Counter1, Overflow Interrupt Enable

Bit ini berguna untuk meng-aktifkan interupsi overflow TCNT1ketika bit ini di-set.

7. Timer/Counter Interrupt Flag Register – TIFR

Tabel 2.17. Register TIFR [6]

Bit 5 – ICP1: T/C1, Input Capture Flag

Bit ini akan set secara otomatis ketika menagkap triger pada pin ICP [6]. Bit ini akan clear juga secara otomatis ketika mengeksekusi vektor interupsi input capture. Untuk meng-clear secara manual bit ini maka bit ini harus di-set.

Bit 4 – OCF1A: T/C1, Output Compare A Match Flag

Bit ini akan set secara otomatis ketika terjadi compare match a. Bit ini akan clear juga secara otomatis ketika mengeksekusi vektor interupsi output compare A. Untuk meng-clear secara manual bit ini hars di-set.

Bit 3 – OCF1B: Timer/Counter1, Output Compare B Match Flag

Bit ini akan set secara otomatis ketika terjadi compare match b. Bit ini akan clear juga secara otomatis ketika mengeksekusi vektor interupsi output compare B. Untuk meng-clear secara manual bit ini maka bit ini harus di-set.

Bit 2 – TOV1: Timer/Counter1, Overflow Flag

Bit ini akan set secara otomatis ketika terjadi overflow pada register pencacah TCNT1. Bit ini akan clear juga secara otomatis ketika mengeksekusi vektor overflow timer/counter 1.

Untuk meng-clear secara manual bit ini maka bit ini harus di-set.

2.4.5.3. Mode Operasi

1. Mode Normal Normal Overflow:

Dalam mode ini register pencacah TCNT1 bekerja secara normal selalu mencacah/menghitung ke-atas atau counting-up hingga mencapai nilai maksimal 0xFFFF lalu 0x0000 lagi atau yang disebut overflow yang menyebabkan flag-TOV1 secara otomatis set yang menandakan terjadinya interupsi jika interupsi timer/counter1 overflow diaktifkan [6]. Nilai TCNT1tidak harus selalu 0x0000 namun bisa kita tentukan misalnya 0xF89 atau berapapun sesuai kebutuhan.

Normal compare match:

Dalam mode ini register TCNT1 bekerja seperti mode normal overflow, hanya jika kita isi register OCR1x(x= A atau B) maka ketika TCNT1==OCR1x maka akan terjadi compare

match yang menyebabkan flag OCF1x secara otomatis set yang menandakan terjadinya interupsi jika interupsi timer1 compare match x diaktifkan. Ketika compare match dalam mode ini TCNT1 akan terus menghitung hingga overflow dan mulai dari nol lagi. Kita dapat mengaktifkan ketiga interupsi ini secara bersamaan (overflow, compare match A dan B).

Mode normal input capture:

Pada mode ini timer selalu mencacah ke atas (counting-up) dari BOTTOM (0x0000) hingga MAX (0xFFFF) lalu mulai dari BOTTOM lagi. Jika meng-aktif-kan interupsi input capture ketika pada saat ada triger pada pin ICP1 maka CPU akan menyalin (copy) isi TCNT1pada saat itu ke register pengkap ICR1.

2. Mode CTC (Clear Timer on Compare match)

Dalam mode ini register pencacah TCNT1mencacah naik (counting-up) hingga mencapai TOP (nilai TCNT1sama dengan nilai OCR1yang kita tentukan) lalu kemudian TCNT1nol lagi yang akan otomatis men-set flag OCF1 dan akan membangkitkan interupsi timer/counter1 compare match jika diaktifkan.

Frekuensi CTC dihitung dengan menggunakan persamaan berikut:

=

. .( _ / ) (2.1)

Dimana F clk_i/o adalah frekuensi clock chip yang kita gunakan.

N adalah prescaler sumber clock yang kita gunakan (1, 8, 64, 256, 1024).

3. Fast PWM Mode

Timer/counter1 dalam mode fast PWM digunakan untuk mengendalikan lama t on dan t off melaui isi register pembanding OCR1A atau OCR1B yang akan berakibat kepada besar duty cycle yang dihasilkan. Untuk chanel (saluran) PWM timer/counter1 adalah pin OC1A atau OC1B sebagai keluaran saluran PWM. Dalam mode fast PWM sifat cacahan register pencacah TCNT1 mencacah dari BOTTOM (0x0000) terus mencacah naik (counting-up) hingga mencapai TOP (nilai maksimal yang ditentukan sesuai resolusi yang diinginkan,

misalnya resolusinya 10 – bit maka nilai TOP=0x01FF) kemudian mulai dari BOTTOM lagi dan begitu seterusnya atau yang dinamakan single slope (satu arah cacahan).

Resolusi fast PWM dapat ditentukan dengan resolusi yang sudah tetap seperti 8-, 9-, 10-bit atau bisa kita tentukan melalui register ICR1 atau OCR1A. Resolusi minimal yang diizinkan adalah 2-bit (ICR1 atau OCR1A diisi 0x0003), dan resolusi maksimal yang diizinkan adalah 16-bit (ICR1atau OCR1A diisi 0xFFFF). Resolusi dapat dihitung dengan menggunakan persamaan berikut:

=

( ( ) ) (2.2)

Dalam mode non-inverting saluran keluaran PWM pin OC1x di-clear pada saat compare match (TCNT1==OCRx) dan di-set ketika BOTTOM (TCNT1=0x0000).

Gambar 2.8. Pulsa fast PWM [6]

Dalam mode inverting saluran keluaran PWM pin OC1x di-set pada saat compare match (TCNT1==OCRx) dan di-clear ketika BOTTOM (TCNT1=0x0000).

Secara kasar kita bedakan non-inverting dengan inverting dalam mode fast PWM yaitu dilihat dari bentuk pulsanya, di mana PWM non-inverting yang kita kendalikan adalah lama t on – nya melalui isi OCR1x, sedangkan PWM inverting yang kita kendalikan adalah lama t off – nya melalui isi OCR1x.

Frekuensi fast PWM dihitung dengan menggunakan persamaan berikut:

=

.( _ / ) (2.3)

Dimana F clk_i/o adalah frekuensi clock chip yang kita gunakan.

N adalah prescaler sumber clock yang kita gunakan (1, 8, 64, 256, 1024).

4. Phase Correct PWM Mode

Pada mode ini sama dengan “phase & frequency correct PWM” pada cara operasi cacahan register TCNT1menggunakan dual slope (dua arah/bolak-balik) di mana TCNT1

mencacah dari BOTTOM (0x0000) counting-up hingga mencapai TOP (resolusi yang digunakan) kemudian counting-down hingga BOTTOM (0x0000) dan begitu seterusnya.

Resolusi mode phase correct PWM dapat kita tentukan secara tetap 8-, 9-, 10-bit atau kita tentukan menggunakan register ICR1 atau OCR1A dimana resolusi minimal yang diizinkan adalah 2-bit (ICR1/OCR1A diisi dengan 0x0003) dan maksimal 16-bit (ICR1/OCR1A diisi dengan 0xFFFF). Rumus untuk menentukan resolusi mode phase correct PWM.

=

( ( ) ) (2.4)

Dalam mode non-inverting saluran keluaran PWM pin OC1x di-clear pada saat compare match (TCNT1=OCRx) ketika counting-up dan di-set pada saat compare match ketika counting down.

Gambar 2.9. Pulsa phase correct PWM [6]

Dalam mode inverting saluran keluaran PWM pin OC1x di-set pada saat compare match (TCNT1=OCRx) ketika counting-up dan di-clear pada saat compare match ketika counting-down.

Frekuensi mode phase correct PWM ditentukan dengan rumus:

=

. ._ / (2.5)

5. Phase and Frequency Correct PWM Mode

Mode ini sama dengan mode phase correct PWM, hanya berbeda pada waktu peng-update-tan register OCR1x, di mana mode “phase & frequency correct PWM” register OCR1x disangga (buffer) sehingga berakibat pada pulsa awal peng-update-tan menjadi simetrik. Pada mode phase correct PWM pada pulsa awal peng-update-tan tidak simetrik tapi pulsa selanjutnya simetrik (normal).

Untuk semua mode PWM yang perlu diperhatikan dalam mengubah-ubah nilai TOP adalah tidak boleh di bawah nilai compare match (register pembanding OCR1x), jika hal ini terjadi maka tidak akan terjadi compare match untuk periode cacahan TCNT1

selanjutnya. Begitu pula untuk mengubah nilai compare match, tidak boleh di atas nilai TOP, jika hal ini terjadi maka tidak akan terjadi compare match untuk periode cacahan TCNT1selanjutnya.

Untuk flag-flag status akan set berhubungan dengan register-register yang digunakan, misalnya OCF1x berhubungan dengan compare match OCR1x, ICF1berhubungan dengan

Untuk flag-flag status akan set berhubungan dengan register-register yang digunakan, misalnya OCF1x berhubungan dengan compare match OCR1x, ICF1berhubungan dengan

Dokumen terkait