Deprecated: Required parameter $output follows optional parameter $depth in /home/pkaykstj/andiandaria.trinita.ac.id/wp-content/themes/jannah/framework/classes/class-tielabs-mega-menu.php on line 451
Pertemuan 11 (Interface Output PWM -1) – Charissa
Periferal dan Antarmuka

Pertemuan 11 (Interface Output PWM -1)

Tujuan Pembelajaran

1. Mahasiswa mampu menjelaskan pengertian Timer/Counter.
2. Mahasiswa mampu menjelaskan pengertian dan Prinsip kerja PWM.

6.1 Timer/Counter

Timer/Counter adalah Seperangkat pencacah biner (binary counter) yang terhubung langsung ke saluran data mikrokontroler, sehingga mikrokontroler bisa membaca kondisi pencacah dan bila diperlukan mikrokontroler dapat
pula merubah kondisi pencacah tersebut.

Saat sinyal clock yang diberikan sudah melebihi kapasitas pencacah, maka pencacah akan memberikan sinyal overflow/limpahan. Limpahan pencacah ini dicatat dalam suatu register.

Timer pada dasarnya hanya menghitung pulsa clock. Frequensi pulsa clock yang dihitung tersebut sama dengan frequensi kristal yang dipasang atau dapat diperlambat menggunakan prescaler dengan faktor 8, 64, 256 atau 1024.

Sinyal clock yang diberikan ke pencacah dibedakan menjadi 2 macam :
1. Sinyal Clock dengan frekuensi tetap yang sudah diketahui besarnya pencacah bekerja sebagai Timer (Pewaktu), karena kondisi pencacah tersebut setara dengan waktu yang bisa ditentukan secara pasti.
2. Sinyal Clock dengan frekuensi yang bisa bervariasi pencacah bekerja sebagai Counter(Perncacah), kondisi pencacah tersebut menyatakan banyaknya pulsa clock yang sudah diterima.

6.1.1 Timer / Counter 8 Bit

Gambar 6.1 Blok diagram Timer / Counter 8 bit

Timer/counter 0 dan timer/counter 2 adalah timer/counter 8 bit yang mempunyai multifungsi.fitur-fiturnya yaitu:
1. Counter satu kanal
2. Timer dinolkan saat match compare (autoreload)
3. Ghitch-free,phase correct pulse width modulator (PWM)
4. Frekuensi generator
5. 10 bit clock prescaler
6. Interupsi timer yang disebabkan timer overflow (TOVn) dan compare match (OCFn)

Blog diagram dari timer/counter n ditunjukkan pada gambar 6.1, n adalah nomor yang mewakili timer/counter 8 bit ( n = 0,2 ).
Register-register Timer 8 bit:
1. Register TCNT (Timer/Counter Register) berfungsi sebagai register pencacah dari 0 sampai nilai maximum yang kita tentukan.
2. Register TCCR (Timer/Counter Control Register) berfungsi untuk pengaturan mode operasi timer/Counter.
3. Register TIMSK (Timer/Counter Interrupt Mask Register) berfungsi untuk memilih Timer/Counter mana yang aktif.
4. Register TIFR (Timer/Counter Interrupt Flag Register) berfungsi untuk mengetahui adanya interupsi akibat operasi Timer/Counter.
5. Register OC (Output Compare) berfungsi untuk menyimpan nilai pembanding dengan nilai pada register TCNT.

Timer/Counter 8 bit dapat engitung maksimal hingga 255 (00 FF ) hitungan, dimana periode setiap hitungan (clock-nya) tergantung dari setting prescaler-nya.

Untuk mengatur jenis mode operasi dari timer/counter dan mengatur prescaler digunakan register timer/counter control register TCCRn (n=0,2). Mode-mode operasi timer:

Mode Normal Timer digunakan untuk menghitung saja, membuat delay, menghitung selang waktu.

Mode PWM, phase correct Memberikan bentuk gelombang phase correct PWM resolusi tinggi. Mode phase correct PWM berdasarkan operasi dualslope. Counter menghitung berulang-ulang dari BOTTOM ke MAX dan dari MAX ke BOTTOM.

CTC (clear timer on compare match) Pada mode CTC, nilai timer yang ada pada TCNTn akan dinolkan lagi jika TCNTn sudah sama dengan nilai yang ada pada register OCRn, sebelumnya OCR diset dulu, karena timer 0 dan 2 maksimumnya 255, maka range OCR 0-255.

Fast PWM Memberikan pulsa PWM frekuensi tinggi. Fast PWM berbeda dengan mode PWM lain, fast PWM berdasarkan operasi single slope. Counter menghitung dari BOTTOM hingga TP kemudian kembali lagi mulai menghitung berawal dari BOTTOM.

6.1.2 Timer / Counter 16 Bit

Gambar 6.2 Blok diagram Timer / Counter 16 bit

Pada mode normal, TCNT1 akan menghitung naik dan membangkitkan interrupt Timer/Counter 1 ketika nilainya berubah dari oxFFFF ke oxoooo.

Untuk menggunakan timer yang menghitung mundur cukup dengan memasukkan nilai yang diinginkan ke TCNT1 dan menunggu sampai terjadi interrupt, tetapi untuk timer yang menghitung maju, maka nilai yang dimasukkan ke dalam TCNTI1 nilainya harus 65536 (timer value). Berikut register-register penting dalam mengaktifkan Timer 16 bit.

TCNT1 Timer/Counter register digunakan untuk menyimpan nilai timer yang diinginkan. TCNT1 dibagi menjadi 2 register 8 bit yaitu TCNT1H dan TCNT1l.

TIMSK & TIFR Timer Interupt Mask Register (TIMSK) dan Timer Interupt Flag (TIFR) register digunakan untuk mengendalikan interrupt mana yang diaktifkan dengan cara melakukan pengaturan pada TIMSK dan untuk mengetahui interrrupt mana yang sedang terjadi.

6.2 PWM (Pulse Width Modulation)

PWM (Pulse Width Modulation) adalah salah satu teknik modulasi dengan mengubah lebar pulsa (duty cylce) dengan nilai amplitudo dan frekuensi yang tetap. Satu siklus pulsa merupakan kondisi high kemudian berada di zona transisi ke kondisi low.

Lebar pulsa PWM berbanding lurus dengan amplitudo sinyal asli yang belum termodulasi. Duty Cycle merupakan representasi dari kondisi logika high dalam suatu periode sinyal dan di nyatakan dalam bentuk (%) dengan range 0% sampai 100%, sebagai contoh jika sinyal berada dalam kondisi high terus menerus artinya memiliki duty cycle sebesar 100%.

Jika waktu sinyal keadaan high sama dengan keadaan low maka sinyal mempunyai duty cycle sebesar 50%.

Aplikasi penggunaan PWM biasanya ditemui untuk pengaturan kecepatan motor dc, pengaturan cerah/redup LED, dan pengendalian sudut pada motor servo.

Contoh penggunaan PWM pada pengaturan kecepatan motor dc semakin besar nilai duty cycle yang diberikan maka akan berpengaruh terhadap cepatnya putaran motor. Apabila nilai duty cylce-nya kecil maka motor akan bergerak lambat.

Untuk membandingkannya terhadap tegangan DC, PWM memiliki 3 mode operasi yaitu :

Inverted Mode Pada mode inverted ini jika nilai sinyal lebih besar dari pada titik pembanding (compare level) maka output akan di set high (5v) dan sebaliknya jika nilai sinyal lebih kecil maka output akan di set low (0v) seperti pada gelombang A pada gambar di atas.

Gambar 6.3: bentuk Sinyal PWM

Non Inverted Mode Pada mode non inverted ini output akan bernilai high (5v) jika titik pembanding (compare level) lebih besar dari pada nilai sinyal dan sebaliknya jika bernilai low (0v) pada saat titik pembanding lebih kecil dari nilai sinyal seperti pada gelombang B pada gambar di atas.

Toggle Mode Pada mode toggle output akan beralih dari nilai high (5v) ke nilai low (0v) jika titik pembanding sesuai dan sebaliknya beralih dari nilai low ke high.

6.3 Komponen dengan kontrol output PWM

Komponen / peralatan yang dapat dikontrol menggunakan sinyal PWM adalah komponen yang memiliki banyak kondisi keluaran, berikut adalah daftar komponen yang dapat dikontrol dengan output PWM :

6.3.1 LED

Komponen LED ini telah dibahas sebelumnya pada BAB 3 tentang interface data digital. Light Emitting Diode (LED) adalah komponen elektronika yang dapat memancarkan cahaya. Sesuai dengan namanya, LED adalah salah satu jenis diode.

Sebagaimana yang diketahui , diode adalah komponen yang hanya dapat mengalirkan arus listrik satu arah. Arus listrik hanya mengalir kalau tegangan positif dihubungkan ke kaki yang disebut anode dan tegangan negatif dihubungkan ke kaki yang dinamakan katode.

Gambar 6.4 Led Emitting Diode

Pada pengaplikasian LED yang terkontrol lewat IC mikrokontroler, yang diperlukan hanya menghubungkan salah satu PIN dari mikrokontroler ke kaki anode LED, dan kaki Katode ke GND rangkaian. Terkhusu jika menggunakan sinyal PWM, maka kaki anode LED harus disambungkan ke pin PWM.

Gambar 6.5: Contoh Kondisi LED dengan output PWM

Selain dapat dikontrol dengan data Digital, komponen ini juga mampu dikontrol dengan output PWM. Perbedaanya adalah, jika menggunakan output digital maka LED hanya akan memilik 2 kondisi yaitu menyala dan tidak menyala,

sedangkan jika menggunakan output PWM maka LED dapat memiliki lebih dari 2 kondisi yaitu mati, menyala terang, menyala terang sekali, menyala redup, menyala redup sekali, dan seterusnya.

6.3.2 Motor DC

Motor atau lebih tepatnya motor listrik adalah komponen elektrik yang sifatnya merubah besaran elektrik menjadi fisik berupa putaran.

Motor listrik terdiri atas tiga bagian utama yang disebut stator (bagian yang diam) dan rotor (bagian yang bergerak) dan air gap. Rotor dapat berputar karena adanya medan magnet yang dipengaruhi oleh arus listrik.

Air gap adalah bagian yang memisahkan rotor dan stator. Motor terdiri dari dua jenis yaitu motor AC dan motor DC.

Motor DC menggunakan 2 data yang harus tersambung ke data digital mikrokontroler namun ketika harus menggunakan motor DC yang membutuhkan arus tinggi harus menggunakan rangkaian penguat (driver) dari motor ke mikrokontroler.

Sedangkan Motor AC biasanya memerlukan rangkian berupa relay untuk menjalankannya, karena tegangan yang berasal dari mikrokontroler adalah DC sedangkan tegangan yang dibutuhkan adalah tegangan AC.

Gambar 6.6 Motor DC

Penjelsan mengenai Motor hampir sama dengan LED, selain dapat dikontrol dengan data Digital, komponen ini juga mampu dikontrol dengan output PWM.

Perbedaanya adalah, jika menggunakan output digital maka Motor hanya akan memilik 2 kondisi yaitu diam dan berputar, sedangkan jika menggunakan output PWM maka motor dapat memiliki lebih dari 2 kondisi yaitu mati, pelan sekali, pelan, normal, cepat, cepat sekali, dan seterusnya.

6.3.3 Motor Servo

Motor servo adalah sebuah aktuator yang bergerak dalam poros yang mempunyai spesifikasi untuk control posisi sudut yang presisi.

Banyak jenis motor servo. Ada yang dikontrol secara serial ataupun dengan PWM. PWM harus diatur agar memenuhi standar sinyal input untuk motor servo sehingga motor servo dapat bergerak sesuai dengan perintah yang kita kirimkan lewat PWM.

Terdapat dua jenis tipe motor servo yaitu servo standard dan servo rotation (continuous). Dimana biasanya untuk tipe standar hanya dapat melakukan pergerakan sebesar 180 sedangkan untuk tipe continuous dapat melakukan rotasi atau 360. Contoh gambar di bawah ini adalah Servo dari Hitech dan isinya.

Gambar 6.7 Motor Servo

Didalam motor servo tersebut terdapat motor DC, komposisi gearbox dan rangkaian kontrolernya. Rangkaian kontrol pada motor servo digunakan untuk mengendalikan motor DC yang ada pada motor servo tersebut.

Oleh sebab itu untuk mengendalikan motor servo cukup hanya dengan cara memberikan pulsa-pulsa tertentu kepada rangakain kontrolernya. Gearbox pada motor servo berfungsi untuk meningkatkan torsi.

Dikarenakan bentuknya yang compact motor servo sering digunakan di dunia robotika, aeromodeling, car remote controler dsb.

PIN pada motor servo yaitu mempunyai 3 buah pin yang terdiri dari VCC, GND dan SIGNAL/KONTROL. Berikut adalah konfigurasi pin motor servo berdasarkan merk.

Gambar 6.8 Data Pin Motor Servo

Timing penggunaan servo tersebut biasanya dijelasin di datasheetnya tergantung dari produsen motor servo. Secara umum untuk mengakses motor servo tipe standard adalah dengan cara memberikan pulsa high selama 1,5 ms dan mengulangnya setiap 20 ms, maka posisi servo akan berada ditengah atau netral (0).

Untuk pulsa 1 ms maka akan bergerak berkebalikan arah jarum jam dengan sudut -90. Dan pulsa high selama 2 ms akan bergerak searah jarum jam sebesar 90.

Tugas Formatif

1. Jelaskan pengertian Timer/Counter?
2. Jelaskan pengertian PWM?
3. Kumpulkan satu materi PDF sebagai materi pembanding untuk materi Timer dan Counter diatas

Daftar Pustaka

1. Adrianto, H.: 2013, Pemrograman Mikrokontroler AVR ATmega16 Menggunakan Bahasa C (CodeVisionAVR), Informatika bandung, Bandung.
2. Adrianto, H.: 2015, Pemrograman Mikrokontroler AVR ATmega16 Menggunakan Bahasa C (CodeVisionAVR), Informatika bandung, Bandung.
3. E. Knuth, D.: 2011, The Art of Computer Programing, Addison Wesley, United States.
4. Fahmizal: 2011, Jenis dan Tipe Motor Servo. URL: https://fahmizaleeits.wordpress.com/
5. Fauzi, F. A.: 2015, Downloader). URL: https://fajarahmadfauzi.wordpress.com/
6. Grupta, M.: 2012, Perkenalan Seputar Mikrokontroler. URL: https://guptayp.wordpress.com/
7. Iswanto: 2011, Belajar Mikrokontroler AT89S51 dengan Bahasa C, CV Andi Offset, Yogyakarta.
8. Kadir, A.: 2015, Buku Pintar Pemrograman Arduino, MediaKom, Yogyakarta.
9. Rachmat, O.: 2012, Panduan Praktis Membuat Robotik dengan Pemrograman C++, CV Andi Offset, Yogyakarta.
10. Rangkuti, S.: 2011, Mikrokontroler Atmel AVR Simulasi dan Praktik Menggunakan ISIS Proteus dan CodeVisionAVR, Informatika Bandung, Bandung.
11. Saputra, E.: 2015, Materi dasar Algoritma dan Pemograman. URL: https://suhaebiebi40.wordpress.com/
12. Spurianto: 2015, Pengertian Push Button Switch (Saklar Tombol Tekan)). URL: http://blog.unnes.ac.id/
13. Syahrul: 2012, Mikrokontroler AVR ATmega8535, Informatika Bandung, Bandung.
14. syarif, m.: 2014, Serial Pheripheral Interface (SPI) dan Universal Synchronous Asynchronous Receiver Transmitter (USART). URL: http://muhammadsyarif.ilearning.me/
15. Wangready: 2012, Kendali Motor Servo Menggunakan PWM dari Timer). URL: https://wangready.wordpress.com/
16. zonaelektro.net: 2014, ADC (Analog To Digital Converter). URL: http://zonaelektro.net/adc-analog-to-digital-converter/

Related Articles

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Back to top button