Anda di halaman 1dari 7

PRAKTIKUM

SISTEM MIKROPROSESOR DAN MIKROKONTROLER

PERCOBAAN II

PWM MODE CTC, FAST DAN PHASE CORRECT

Oleh : Sabar Pramono

Program Studi Teknik Elektronika


Jurusan Teknik Elektro
Politeknik Negeri Bandung
2021
MODUL II PWM MODE CTC, FAST DAN PHASE CORRECT

MODUL II PWM MODE CTC, FAST DAN PHASE CORRECT

I. Tujuan
Sesudah praktikum diharapkan mahasiswa mampu:
1. Membuat PWM mode ctc
2. Membuat PWM mode fast
3. Membuat PWM mode phase correct
4. Memahami modul hardware timer
5. Memahami pengaturan interrupt timer
6. Membuat PWM sesuai kebutuhan

II. Landasan Teori

III. Alat dan Komponen Yang digunakan

Software codevision dan simulide

IV. Langkah - langkah percobaan

PWM mode CTC


1. Buat project baru, beri nama project, gunakan mikrokontroller atmega 32 dengan clock 8
Mhz dan simpan pada folder kerja saudara
2. Buat program1 dibawah, compile dan edit program hingga tidak ada error, lalu build
program 1.

Program 1.
#include <mega32.h>

void main(void)
{
DDRD=(0<<DDD7) | (0<<DDD6) | (1<<DDD5) | (1<<DDD4) | (0<<DDD3)
|(0<<DDD2) | (0<<DDD1) | (0<<DDD0)
PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4)
(0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0)

TCCR1A=(0<<COM1A1) | (1<<COM1A0) | (0<<COM1B1) | (1<<COM1B0)


(0<<WGM11) | (0<<WGM10)
TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (1<<WGM12)
|(0<<CS12) | (0<<CS11) | (1<<CS10)

OCR3A =0x0080
OCR1B =0x0080
while (1);
MODUL II PWM MODE CTC, FAST DAN PHASE CORRECT

3. Buat rangkaian seperti di bawah, atur properties clock 8 Mhz

4. Upload file biner untuk program no.1 ke chip atmega32


Aktifkan tombol power simulsi dan amati output.
5. Hitung frekuensi output dengan rumus .

𝑓𝑐𝑙𝑘
𝑓𝑂𝐶𝑛 =
2. 𝑁. (𝑇𝑂𝑃)
Dimana : 𝑓𝑐𝑙𝑘 adalah frekuensi input clock
N adalah factor pembagi clock
TOP adalah hitungan maximum 8 bit
6. Ubah nilai output compare register dengan nilai yang berbeda dan ulang langkah
no.3 s/d 5, Jelaskan jika terjadi atau tidak terjadi perbedaan
7. Ubah nilai factor pembagi clock dengan nilai yang berbeda dan ulang langkah
no.3 s/d 5, Jelaskan jika terjadi atau tidak terjadi perbedaan
8. Ulangi langkah 1 s/d 3 untuk program 2.
Program 2.
/*
* pwm ctc
*
* Created: 26/03/2021 11:46:50
* Author: dell */
MODUL II PWM MODE CTC, FAST DAN PHASE CORRECT

1. #include <mega32.h>
2.
3. void main(void)
4. {
5. //set direction port D4 dan D5 sebagai output yang lain input
6. ….
7. //set port D dengan nilai inisial 0x00
8. ….
9. // set timer1 sbb
10. // COM1A1:0=1
11. // COM1B1:0=1
12. //WGM13:0=4
13. //CS12:0=1
14. …
15. …
16. //set register output compare register1A dengan nilai 80(h)
17. //set register output compare register1B dengan nilai 80(h)
18. …
19. …
20. //set register timer1 mask sbb
21. // output compare interrupt enable 1B =1
22. // output compare interrupt enable 1A =1
23. …
24. // interrupt global =1
25. …
26. while (1);
27. }
28. interrupt [TIM1_COMPA] void
layanan_interupt_compare_matchA(void){
29. TCNT1=0;
30. }
31.
32. interrupt [TIM1_COMPB] void
layanan_interupt_compare_matchB(void){
33. TCNT1=0;

9. Ulangi langkah 4
10. Hitung frekuensi output dengan rumus .

𝑓𝑐𝑙𝑘
𝑓𝑂𝐶𝑛 =
2. 𝑁. (1 + 𝑂𝐶𝑅𝑛)
Dimana : 𝑓𝑐𝑙𝑘 adalah frekuensi input clock
N adalah factor pembagi clock
OCRn adalah nilai output compare register
MODUL II PWM MODE CTC, FAST DAN PHASE CORRECT

11. Ulangi langkah 6.


12. Mengapa rumus perhitungan frekuensi pada no.5 dan no.10 berbeda jelaskan

PWM mode FAST PWM

13. Ulangi langkah 1 s/d 3 untuk program 3.


Program 3.
/*
* pwm fast
*
* Created: 26/03/2021 11:46:50
* Author: dell */

1. #include <mega32.h>
2.
3. void main(void)
4. {
5. //set direction port D4 dan D5 sebagai output yang lain input
6. ….
7. //set port D dengan nilai inisial 0x00
8. ….
9. // set timer1 sbb
10. // COM1A1:0=2
11. // COM1B1:0=2
12. //WGM13:0=6
13. //CS12:0=1
14. …
15. …
16. while (1);

14. Ulangi langkah 4.


15. Hitung frekuensi output dengan rumus

𝑓𝑐𝑙𝑘
𝑓𝑂𝐶𝑛 =
𝑁. (1 + 𝑇𝑂𝑃)

Dimana : 𝑓𝑐𝑙𝑘 adalah frekuensi input clock


N adalah factor pembagi clock
TOP adalah hitungan maximum
16. Bagaimana cara mengubah duty cycle pada pada pwm mode fast ini?
MODUL II PWM MODE CTC, FAST DAN PHASE CORRECT

17. Ulang langkah 1 s/d 3 untuk program 4.

Program 4.

/*
* pwm phase correct
*
* Created: 26/03/2021 11:46:50
* Author: dell */

1. #include <mega32.h>
2.
3. void main(void)
4. {
5. //set direction port D4 dan D5 sebagai output yang lain input
6. ….
7. //set port D dengan nilai inisial 0x00
8. ….
9. // set timer1 sbb
10. // COM1A1:0=2
11. // COM1B1:0=2
12. //WGM13:0=3
13. //CS12:0=1
14. …
15. …
16. while (1);
17. }

18. Ulangi langkah 4


19. Hitung frekuensi output dengan rumus

𝑓𝑐𝑙𝑘
𝑓𝑂𝐶𝑛 =
2 𝑁. (𝑇𝑂𝑃)

20. Bagaimana untuk mengubah duty cycle untuk pwm mode phasa correct?
21. Buat rangkaian seperti gambar berikut dibawah
MODUL II PWM MODE CTC, FAST DAN PHASE CORRECT

22. Buat programnya dengan cara kerja system sbb. Jika tombol ditekan maka output OC1A
duty cyclenya mengecil sebesar 50(h) dan OC1B bertambah sebesar 50(h).

V. Hasil Pengamatan

1. Hasil pengamatan program 1


a. Program
b. Output
2. Hasil pengamatan program 2
c. Program
d. Output
3. Hasil pengamatan program 3
e. Program
f. Output
4. Hasil pengamatan program 4
g. Program
h. Output
5. Hasil pengamatan program dan output no. 22
i. Program
j. Output

VI. Kesimpilan
Tuliskan kesimpulan untuk percobaan ini.

Anda mungkin juga menyukai