A. TUJUAN
1. Peserta didik mengetahui cara memprogram kontrol Motor DC dengan PWM dengan
menggunakan mikrokontroler sebagai pengendali.
2. Peserta didik dapat merangkai memprogram mikrokontroler kontrol Motor DC dengan
PWM pada trainer kit mikrokontroler dengan baik.
3. Peserta didik dapat memecahkan permasalahan dan mengembangkan pemrograman
mikrokontroler control Motor DC dengan PWM.
C. DASAR TEORI
Motor merupakan salah satu komponen elektronik yang sering ditemukan dalam bidang
pengendalian. Macam motor terbagi menjadi dua buah, yaitu motor DC dan motor AC. Motor
DC merupakan motor yang dioperasikan agar dapat berputar diberikan tegangan DC.
Sedangkan motor AC merupakan motor yang dioperasikan agar dapat berputar diberikan
tegangan AC. Pada awalnya motor hanya dapat dikendalikan nyala dan matinya saja,
selanjutnya dalam perkembangannya pengendalian motor dilakukan mengacu pada
kecepatan, kekuatan (torsi) serta posisi putaran.
Pengendalian hidup dan matinya motor pada awalnya dapat diatur dengan menggunakan
saklar mekanik. Perkembangan saat ini pengaturan nyala mati motor dengan metode saklar
elektrik dengan menggunakan Transistor/FET sebagai saklar. Berikut secara schematic
transistor dirangkai sebagai saklar untuk motor;
P a g e 1 | 15
Lembar Kerja Praktik Mikrokontroller
Pada rangkaian diatas apabila pada input diberi signal high (1), maka motor akan aktif
dan sebaliknya. Sehingga rangkaian seperti diatas dikatakan sebagai rangkaian driver
motor active high. Penggunaan satu buah transistor sebagai kendali motor hanya dapat
mengendalikan on/off motor dan kecepatan motor saja. Sedangkan untuk mengatur arah
putaran motor perlu rangkaian driver dengan empat buah transistor, rangkaian ini disebut
sebagai rangkaian H-Bridge driver motor. Berikut ilustrasi H-Bridge driver yang banyak
digunakan untuk mengendalikan arah putaran motor;
TIP 42 TIP 42
560 560
TIP 41 TIP 41
in-2
1K
Prinsip dasarnya rangkaian driver H-Bridge adalah mengambil prinsip saklar DPDT
seperti gambar 2, dengan kerja saklar bergantian berpasangan. Pada rangkaian
menggunakan transistor juga bekerja bergantian berpasangan, yaitu contoh TIP42
dengan TIP41. Dengan prinsip kerja bergantian akan membalik polaritas tegangan yang
disupplykan ke motor, sehingga akan terjadi pergantian arah putar. Ilustrasi kerja kerja
rangkaian driver H-Bridge dapat dilihat pada gambar 3.
Kedua rangkaian driver (1 transistor & H-Bridge) dapat digunakan untuk mengatur
kecepatan motor dc dengan teknik PWM. Pulse Width Modulation (PWM) merupakan
salah satu pengaturan kecepatan motor dengan menggunakan teknik pengaturan lebar
signal-signal yang dikirim ke transistor. Pengaturan lebar gelombang dilakukan pada
posisi high ataupun low, sehingga akan mendapatkan kecepatan yang diinginkan. Apabila
diambil sebuah contoh rangkaian driver H-Bridge seperti gambar 3, yang merupakan
rangkaian driver active high. Maka apabila pengaturan lebar pulsa dilakukan pada pulsa
high (1) semakin lebar pulsa low(0), maka motor akan berputar semakin cepat.
Sedangkan apabila lebar pulsa high (1) semakin kecil dari pada pulsa low (0), maka motor
akan berputar semakin lambat bahkan berhenti. Berikut ilustrasi dari kerja pulsa PWM;
P a g e 2 | 15
Lembar Kerja Praktik Mikrokontroler
Gambar 4. Prinsip kerja pulsa PWM untuk driver active high (1)
Pengaturan program pada code vision AVR untuk menghasilkan signal PWM dapat
dilakukan dengan fasilitas OUTPUT dan Timer 0. Timer digunakan untuk fasilitas interrupt
yang akan selalu dikerjakan, dan kemudian akan di isi dengan program PWM. Sedangkan
output digunakan sebagai keluaran dari PWM tersebut. Teknik pemrograman PWM
banyak cara yang dapat digunakan, pada jobsheet ini akan dibahas salah satu teknik yang
banyak digunakan. Berikut ilustrasi pada pengaturan CodeWizardAVR untuk
menghasilkan signal PWM (misal output PORTA dengan rangkaian seperti pada gambar
8);
P a g e 3 | 15
Lembar Kerja Praktik Mikrokontroller
Teknik pemrograman PWM memalui timer dapat dilakukan dengan menuliskan list
program berikut ini;
......
interrupt[TIM0_OVF] void timer0_ovf_isr(void)
{
if(x<nilai_pwm)
{
motor1=0 //motor aktif keluar ke PORTA
}
else
{
motor1=1; //motor mati keluar ke PORTA
}
x++;
}
....
while(1)
{
nilai_pwm=180;
}
P a g e 4 | 15
Lembar Kerja Praktik Mikrokontroler
Berdasarkan program di atas maka dapat digambarkan output signal PWM sebagai
berikut.
Gambar Rangkaian
Skematik rangkaian Board Driver Motor DC /DC Motor, seperi pada gambar berikut.
+5V VCC
9012
LED
Gnd
TIP 42 TIP 42
P0
1K 560 560
P1 1 E Y0 4
3 B Y1
P2 BD 139 Motor DC BD 139
Y2 5
2 A Y3 1K
P3 LED
TIP 41 TIP 41
P4
1K
P5
9012
P6
P7 1K
5V
P a g e 5 | 15
Lembar Kerja Praktik Mikrokontroller
D. KESELAMATAN KERJA
Agar praktikum berjalan dengan baik dan tidak terjadi kecelakaan kerja maka perlu
diperhatikan point-point sebagai berikut:
E. LANGKAH KERJA
1. Siapkan alat dan bahan yang akan digunakan.
2. Buka software aplikasi pemrograman mikrokontroler (CV AVR), buat project baru.
a. Pilih File – New – Project
b. Muncul dialog box CodeWizard AVR, Karena kita akan menggunakan Mikrokontroler
ATmega maka kemudian pilih AT90, Attiny, ATmega kemudian klik OK.
P a g e 6 | 15
Lembar Kerja Praktik Mikrokontroler
c. Muncul dialog box, selanjutnya tentukan seri berapa chips mikrokontroler yang akan
digunakan (ATmega16/32).
d. Setting clock sebesar 12.000.000 MHz, sesuai dengan clock yang terpasang pada
Hardware.
P a g e 7 | 15
Lembar Kerja Praktik Mikrokontroller
e. Pilih Ports kemudian klik pada PORTA dengan setingan sebagai output dengan nilai
“1”.
P a g e 8 | 15
Lembar Kerja Praktik Mikrokontroler
h. Kemudian akan muncul dialog box, yang akan mengarahkan ke tempat folder
penyimpanan (sesuaikan folder penyimpanan dimana anda akan menyimpannya)
kemudian beri nama file projectnya “lat1_motor-dc” dan save 3 kali dengan nama file
yang sama.
i. Kemudian akan muncul halaman untuk memprogram pada CV AVR sebagai berikut.
P a g e 9 | 15
Lembar Kerja Praktik Mikrokontroller
P a g e 10 | 15
Lembar Kerja Praktik Mikrokontroler
6. Hubungkan Board Driver Motor DC dengan Board sismin Mikrokontroler pada PORTA
dengan menggunakan kabel jumper 10 pin seperti ilustrasi berikut.
Kabel Jumper
Ke Board
Aktuator
Motor DC
Kabel Jumper
P a g e 11 | 15
Lembar Kerja Praktik Mikrokontroller
7. Hubungkan kabel downloader ke port USB Type-B pada Board Mikrokontroler, sesuai
gambar berikut.
8. Hubungkan kabel downloader ke socket USB Komputer/ Laptop dengan benar, sesuai
gambar berikut.
P a g e 12 | 15
Lembar Kerja Praktik Mikrokontroler
10. Perhatikan bahwa Board sudah terdeteksi dengan cara melihat pada program state
berikut.
Board Mikrokontroler terdeteksi Board Mikrokontroler belum terdeteksi
13. Amati board output LED, apakah sudah menyala sesuai dengan program yang telah
didownloadkan. Jika sudah sesuai maka proses downloading berhasil.
14. Klik tombol “Erase” untuk menghapus program yang telah di downloadkan ke dalam
mikrokontroler. Kemudian lanjutkan dengan contoh program lainnya.
P a g e 13 | 15
Lembar Kerja Praktik Mikrokontroller
Contoh program:
Latihan 3. Program PWM dua kecepatan yang berbeda dengan tundaan waktu
(Motor di PortA)
#include <mega32.h>
#include <delay.h>
P a g e 14 | 15
Lembar Kerja Praktik Mikrokontroler
{
PORTA.1=1;
nilai_pwm=80; //kecepatan rendah
delay_ms(3000);
nilai_pwm=0;
delay, ms(1000);
PORTA. 1=0;
nilai_pwm=255; //kecepatan tinggi
delay_ms(3000);
nilai_pwm=0;
delay_ms(I000);
}
}
F. TUGAS
1. Buatlah program apabila ditekan sw1 menghasilkan kecepatan (100), apabila ditekan
sw2 menghasilkan kecepatan (255), sw3 untuk mematikan motor! Input di PORTA dan
output PORTB, motor berputar searah jarum jam.
2. Buatlah program apabila ditekan sw1 menghasilkan kecepatan (100), apabila ditekan
sw2 menghasilkan kecepatan (255), sw3 untuk mematikan motor! Input di PORTA dan
output PORTB, motor berputar berlawanan arah jarum jam.
3. Buatlah program apabila sw1 ditekan berkali-kali akan meningkatkan kecepatan motor,
dan apabila sw2 ditekan berkali-kali akan menurunkan kecepatan motor!,putaran motor
searah jarum jam.
4. Aplikatif
Terdapat sebuah mesin dengan satu buah motor dan 4 buah tombol, dengan kerja
seperti berikut
Tombol 1 berfungsi untuk menaikkan kecepatan motor
Tombol 2 berfungsi untuk menurunkan kecepatan motor
Tombol 3 berfungsi untuk mengganti arah putaran motor
Tombol 4 berfungsi untuk mematikan motor
Buatlah programnya!
P a g e 15 | 15