0

Contoh Program: Cara Memprogram PWM Mikrokontroler

Masih pada serial tulisan mengenai mikrokontroler, kali ini belajarlistrik.com akan memberikan pembahasan contoh program mikrokontroler part 2 yaitu cara memprogram PWM Mikrokontroler.

Bagi teman-teman yang belum baca seri pertama bisa dibaca disini:

Contoh  Program Mikrokontroler sederhana  part 1

Cara Membuat Stopwatch dengan Mikrokontroler

Kalau pada seri pertama, kita membahas tentang bagaimana cara memprogram digital input dan digital output pada mikrokontroler, membahas cara memprogram lcd display dan memgupas tentang cara memprogram analog to digital converter (ADC) pada mikrokontroler.

Pada lanjutan serial tulisan tentang belajar mikrokontroler ini, belajar listrik (dot) com akan membahas tentang cara memprogram pulse width modulation (PWM).

Contoh Program Mikrokontroler sederhana bagian 1

Contoh Program Mikrokontroler sederhana bagian 1

Kedua fitur yang dimiliki oleh mikrokontroler yang tentunya sering digunakan dalam berbagai aplikasi penggunaan mikrontroler seperti membuat robot line follower, membuat lengan robot (arm robot) serta aplikasi dalam dunia industri seperti pengendalian control valve.

Seperti biasa yang perlu teman-teman persiapkan adalah board mikrokontroler atau kalau belum punya board mikrokontroler kita gunakan software simulasi proteus. Seperti yang belajarlistrik.com gunakan.

Cara Memprogram PWM Mikrokontroler

Pulse Width Modulation (PWM) atau modulasi lebar pulsa merupakan modulasi pulsa keluaran (output) dengan cara mengatur perbandingan lebar pulsa high (logika 1) dan lebar pulsa low (logika 0) dalam satu perioda.

Persentase perbandingan lebar pulsa ini disebut duty cycle.

cara memprogram PWM Mikrokontroler

Persentase perbandingan antara lebar pulsa high dan lebar pulsa low dalam satu periode atau disebut duty cycle. Pada gambar dapat kita lihat grafik duty cycle inilah yang akan mempengaruhi kecepetan motor dan kecerahan lampu jika kita aplikasikan dalam aplikasi pemrograman

 

Analoginya seperti ini, misal kita ingin menggunakan mesin bor dirumah kita yang memiliki satu kecepatan (speed). Jika kita ingin menggunakannya dengan full speed kita tinggal tekan tombolnya secara terus menerus.

Namun masalahnya kita ingin mengurangi kecepatan putaran mesin bor kita? Apa yang harus kita lakukan? Jawabannya: kita akan tekan tombol on selema beberapa waktu dan melepasnya beberapa waktu dan kita ulangi terus menerus. Perbandingan waktu on dan waktu off mesin bor kita itulah yang namanya duty cycle pada Pulse Width Modulation (PWM).

Cara memprogram PWM Mikrokontroler

Pada gambar diatas dapat kita lihat, jika pulsa high mewakili tegangan 5 volt DC dan pulsa low mewakili tegangan 0 volt DC. Kita dapat mengatur keluaran analog dengan mengatur modulasi pulsa atau perbandingan pulsa high dan pulsa low. Pda gambar duty cycle 50 % sama dengan average voltage sebesar 2,5 Volt DC

 

Aplikasi PWM pada mikrokontroler ini banyak sekali digunakan seperti pengaturan kecepatan motor DC untuk memutar belt conveyor atau putaran roda mobile robot seperti robot line follower dan robot pengendali api. Mengatur kecerahan lampu dan banyak lagi.

cara memprogram pulse width modulation

Gambar diatas merupakan aplikasi penerapan pulse width modulation (PWM) yaitu pengaturan tingkat kecerahan lampu

 

Pada mikrokontroler atmega 8535 yang kita gunakan untuk latihan ini, memiliki 2 channel PWM yaitu pwm1a dan pwm 1b.

Pwm1a merupakan osilator 1a yang terdapat pada portd.5 dan Pwm1b merupakan osilator 1b yang terdapat pada portd.4.

Pada kesempatan ini kita akan coba membahas PWM mikrokontroler untuk mengendalikan kecepatan motor DC.

Kita buat rangkaian seperti dibawah ini pada software proteus.

cara memprogram pulse width modulation 3

Kita buat gambar rangkaian seperti atas. LCD kita hubungkan pada PortB. Driver motor L298 kita hubungkan pada PortD.

Baca:

Belajar Mikrokontroler dan Arduino dengan software Proteus

Belajar Elektronika dengan Simulasi Menggunakan Livewire

Penjelasan Cara Memprogram PWM Mikrokontroler

Lalu kita buat program menggunakan compiler bascom AVR seperti berikut:

$regfile = “m8535.dat”
$crystal = 8000000

Penjelasan program PWM mikrokontroler:

Deklarasi jenis mikrokontroler yang kita gunakan, yaitu mikrokontroler atmega 8535 dengan crystal osilator 8 MHz

Config Lcdpin = Pin , Db4 = Portb.7 , Db5 = Portb.6 , Db6 = Portb.5 , Db7 = Portb.4 , E = Portb.3 , Rs = Portb.2
Config Lcd = 16 * 2

Penjelasan program PWM mikrokontroler:

Konfigurasi koneksi lcd display dengan pin I/O mikrokontroler, lcd terhubung pada portB mikrokontroler.

Config Timer1 = Pwm , Pwm = 10 , Prescale = 64 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up

Penjelasan program PWM mikrokontroler:

Aktifiasi konfigurasi pwm mikroontroler, PWM sebesar 10 bit data (0 – 1023)

Config Portd.0 = Output
Config Portd.1 = Output
Config Portd.5 = Output

Portd.0 = 0
Portd.1 = 0
Portd.5 = 0

Penjelasan program PWM mikrokontroler:

Deklarasi output mikrokontroler yang kita gunakan, yang akan terhubung dengan driver motor l298, output pwm pada portd.5 mkrokontroler terhubung dengan pin enable 1 drimer motor l298.

Initlcd
Cursor Off
Waitms 200
Pwm1a = 0
Cls

Penjelasan program PWM mikrokontroler:

 

Kondisi awal lcd dan output pwm

Do
Locate 1 , 1
Lcd “Belajarlistrik.com”
Waitms 100
Locate 2 , 1
Lcd “dutycycle:” ; Pwm1a
Portd.0 = 1
Portd.1 = 0

Penjelasan program PWM mikrokontroler:

Program utama, dimana kita menampilkan tulisan belajarlistrik.com pada baris atas lcd dan nilai pwm pada baris kedua lcd, lalu kita beri logika 1 dan 0 pada masing-masing input driver motor l298 sehingga motor bergerak clockwise.

Pwm1a = Pwm1a + 200
Wait 5
If Pwm1a > 1000 Then
Pwm1a = 0
End If
Cls
Loop
End

Penjelasan program PWM mikrokontroler:

Motor kita beri duty cycle sebesar 200 (nilai desimal) selama 5 detik dan akan bertambah 200 setiap 5 detik. sehingga kecepatan motor akan bertambah setiap 5 detik. Ketika motor telah mencapai kecepatan maksimal, duty cycle akan kembali ke 0 lagi.

Setelah kita buat program diatas pada bascom AVR, kita compile lalu download kan program ke software proteus.

Lalu simulasikan program diatas pada proteus dan hasilnya akan seperti gambar dibawah ini:

 

cara memprogram pulse width modulation 4

Pada gambar simulasi proteus diatas, motor DC berputar dengan nilai pwm 200 (nilai desimal 10 bit PWM)

Demikianlah dasar pemrograman PWM mikrokontroler, mudah bukan. Teman-teman dapat menggunakan PWM untuk berbagai macam aplikasi pemrograman seperti yang dijelaskan diatas.

Semoga seri tulisan belajar pemrograman dasar mikrokontroler ini bermanfaat.

admin

Tinggalkan Balasan

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