![]() |
|||||
|
Microcontroller Kits Simple
Mikrokontroller 89s51 Trainer
Super
Mikrokontroller Trainer 89s51 All Kits +
|
BAB 15 TUJUAN: Konsep Dasar PWM Salah satu cara yang paling mudah untuk membangkitkan
sebuah tegangnan analog dari sebuah nilai digital adalah dengan menggunakan
pulse-width modulation (PWM). Dalam PWM gelombang kotak, frekuensi tinggi
dibangkitkan sebagai output digital. Untuk contoh, sebuah port bit secara
kontinyu melakukan kegiatan saklar on dan off pada frekuensi yang relatif
tinggi. Selanjutnya, bila sinyal diumpankan pada LPF low pass filter,
tegangan pada output filter akan sama dengan Root Mean Squere ( RMS
) dari sinyal gelombang kotak. Selanjutnya tegangan RMS dapat divariasi
dengan mengubah duty cycle dari sinyal.
Gambar 15.1. Duty cycle 30 %
PWM dengan Mikrokontroler Pada rangkaian tersebut menunjukkan sebuah DAC yang
dibangun dengan metode PWM, yang digunakan untuk mengendalikan kecepatan
motor DC dengan modulasi lebar pulsa. Bit 0 dari P0 mengemudikan sebut
saklar transistor sebagaimana yang ditunjukkan pada gambar. Motor dihidupkan
dan dimatikan untuk suatu periode tertentu
Percobaan 15.1. Setting kecepatan putaran motor DC dengan PWM Pada percobaan ini, putaran kecepatan motor kemudikan dengan menggunakan transistor TIP120 melalui metode PWM. PWM dikemudikan dengan menggunakan satu bit dari P0, seperti yang ditunjukkan pada gambar dibawah.
Gambar 15.3. Diagram alir (a) rutin utama (b) inisialisasi duty cycle dan (c) inisialisasi timer pada percobaan 15.1
Gambar 15.4. Diagram alir interupsi timer 0 pada percobaan 15.1 1. Hubungkan kabel data dan ke inputan rangkaian driver motor DC dCycle equ 30h
dCycleC equ 31h
PWM bit P0.0
MotorF bit 20h
org 0h
sjmp start
org 0bh
ljmp Interupsi_Timer0
;
start: call Init_Dcycle
call init_Timer
loop: sjmp loop
;
Init_Dcycle:
mov dCycle,#45 ;inisialisasi data dCycle T_ON
mov A,dCycle ;copy data ke A
cpl A ;komplemen A
mov dCycleC,A ;copy A ke dCycleC
ret
;
Init_Timer:
anl TMOD,#0F0h ;
orl TMOD,#2 ;Timer0 mode2 auto reload
mov TH0,dCycle ;Load data counter 8 bit
setb ET0 ;enable interupsi timer0
setb EA ;enable all interupsi
setb TR0 ;timer0 run
ret
;
Interupsi_Timer0:
jb motorF,motorOff ;deteksi bit motorF
setb PWM ;Hidupkan motor
setb P0.7 ;TP pulsa PWM di osiloskop
mov TH0,dCycle ;load data dCycle ke TH0
setb motorF ;beri tanda motorF=1-> motor ON
reti
motorOff:
clr PWM ;matikan motor
clr P0.7 ;TP pulsa PWM di osiloskop
mov TH0,dCycleC ;load data cCycleC ke TH0
clr motorF ;beri tanda motorF=0-> motor OFF
reti
end
6. Simpanlah program yang anda ketik dan beri nama : prog151a.asm Komentar, pertanyaan dan diskusi tentang topik tersebut. Klik disini
|
HARDWARE PERCOBAAN 1 PERCOBAAN 2 PERCOBAAN 3 PERCOBAAN 5 PERCOBAAN 6 PERCOBAAN 7 PERCOBAAN 8 PERCOBAAN 9 PERCOBAAN 10 PERCOBAAN 11 PERCOBAAN 12 PERCOBAAN 13 PERCOBAAN 14 PERCOBAAN 15 PERCOBAAN
16 PERCOBAAN
17
|
|||