Anda di halaman 1dari 15

Lembar Kerja Praktik Mikrokontroler

SMK NEGERI 2 DEPOK


JOBSHEET PRAKTIK
SISTEM KONTROL TERPROGRAM
Kelas : XII Jobsheet: 10
Semester : MOTOR DC DAN PWM
2x 50 menit

A. TUJUAN

Setelah melakukan praktik diharapkan:

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.

B. ALAT DAN BAHAN

Alat dan bahan yang diperlukan adalah sebagai berikut:

1. Trainer Kit Mikrokontroler


2. Komputer / Laptop
3. Software aplikasi pemrograman bahasa C

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

Gambar 1. Skematik Transistor sebagai saklar

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;

Gambar 2. Persamaan prinsip kerja rangkaian H-Bridge driver motor


VCC

TIP 42 TIP 42
560 560

in-1 BD 139 Motor DC BD 139


1K

TIP 41 TIP 41

in-2
1K

Gambar 3. Rangkaian driver motor H-Bridge dengan menggunakan transistor

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);

Gambar 5. Pengaturan PORTA sebagai output

P a g e 3 | 15
Lembar Kerja Praktik Mikrokontroller

Gambar 6. Pengaturan Timer0 untuk membangkitkan signal PWM

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 7. output signal PWM


Kerja program PWM tersebut dapat diuraikan seperti berikut:
 Nilai x akan selalu bertambah setiap selesai mengerjakan satu program (interrupt)
 Apabila nilai_pwm yang di inginkan lebih kecil dari pada x, maka keluaran PortA
(ke motor) rendah (0)
 Apabila nilai_pwm yang di inginkan lebih besar dari pada x, maka keluaran PortA
(ke motor) tinggi (1)
 Apabila x telah mencapai 255, kembali x ke 0.

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

Gambar 8. Skematik Rangkaian Board Driver Motor DC /DC Motor

P a g e 5 | 15
Lembar Kerja Praktik Mikrokontroller

Gambar 9. Board Driver Motor DC /DC Motor

D. KESELAMATAN KERJA

Agar praktikum berjalan dengan baik dan tidak terjadi kecelakaan kerja maka perlu
diperhatikan point-point sebagai berikut:

1. Pelajari dan pahami materi yang telah diberikan oleh guru.


2. Ikutilah setiap langkah-langkah yang ada pada job sheet ini dengan cermat.
3. Bacalah petunjuk penggunaan atau buku panduan Trainer Kit Mikrokontroler.
4. Hindari hubungan arus pendek.
5. Pastikan rangkaian terhubung dengan benar sebelum menghubungkan kabel usb
downloader ke komputer/laptop dan melakukan pemrograman.
6. Mintalah petunjuk dari guru jika menemukan permasalahan pada saat praktikum.

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

Gambar 10. 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

Gambar 11. Chip type

c. Muncul dialog box, selanjutnya tentukan seri berapa chips mikrokontroler yang akan
digunakan (ATmega16/32).

Gambar 12. Chip settings

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

Gambar 13. Clock settings

e. Pilih Ports kemudian klik pada PORTA dengan setingan sebagai output dengan nilai
“1”.

Gambar 14. Port settings

f. Pilih Timers/Counters, seting Timer0 sesuai dengan gambar berikut.

P a g e 8 | 15
Lembar Kerja Praktik Mikrokontroler

Gambar 15. Timers/Counters settings

g. Kemudian pilih Program – Generate, Save and Exit

Gambar 16. Generate, save and exit CodeWizard

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

Gambar 17. Tampilan editor program

3. Buat program sesuai contoh berikut.


Latihan 1. Program menghidup dan matikan motor dengan tundaan waktu (Motor di
PortA).
#Include <mega32.h>
# include <delay.h>
void main(void)
{
while(1)
{
PORTA.0=1;PORTA.1=0; //motor berhenti
delay_ms(3000);
PORTA.0=0;PORTA.1=0; //motor berputar
delay_ms(3000);
};
}

4. Kemudian klik “Build the project”

Gambar 18. Build the project


5. Tunggu hingga muncul informasi berikut, yang menyatakan proses Build / compile
program telah berhasil dan tidak ditemukan error. Kemudian klik OK.

P a g e 10 | 15
Lembar Kerja Praktik Mikrokontroler

Gambar 19. Informasi compiler

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

Gambar 20. Instalasi rangkaian program motor DC

7. Hubungkan kabel downloader ke port USB Type-B pada Board Mikrokontroler, sesuai
gambar berikut.

Gambar 18. Pemasangan kabel downloader pada Board Mikrokontroler

8. Hubungkan kabel downloader ke socket USB Komputer/ Laptop dengan benar, sesuai
gambar berikut.

P a g e 12 | 15
Lembar Kerja Praktik Mikrokontroler

Gambar 19. Pemasangan kabel downloader pada komputer / laptop


9. Buka aplikasi progisp kemudian selec Chip = pilih ATmega 32 / 16 sesuai dengan yang
yang terpasang di trainer kit mikrokontroler.

Gambar 20. PROGISP, pemiihan chip ATmega 16/32

10. Perhatikan bahwa Board sudah terdeteksi dengan cara melihat pada program state
berikut.
Board Mikrokontroler terdeteksi Board Mikrokontroler belum terdeteksi

Gambar 21. Program State PROGISP

11. Selanjutnya mengisikan program ke mikrokontroler.


klik Load Flash cari folder tempat menyimpan program (.hex) open

12. Untuk mendownloadkan program ke mikrokontorler cukup dengan menekan tombol


”Auto“ dan tunggu hingga proses selesai.

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 2. Program membalik arah putaran motor (Motor di PortA)


#Include <mega32.h>
#Include <delay.h>
void main(void)
{
While(1)
{
PORTA.0=0;PORTA,1=0; //motor berputar arah kesatu
delay_ms(3000);
PORTA.0=1;PORTA.1=0; //motor berhenti
De!ay_ms(1000);
PORTA.0=0;PORTA.1=1; //motor berputar arah kedua
delay_ms(3000);
PORTA.0=1;PORTA. 1=0; //motor berhenti
Delay_ms(1000):
}
}

Latihan 3. Program PWM dua kecepatan yang berbeda dengan tundaan waktu
(Motor di PortA)
#include <mega32.h>
#include <delay.h>

unsigned char x, nilai_pwm;


interrupt [TIMO_OVF] void timer0_ovf_isr(void)
{
if(x<nilai_pwm)
{
PORTA.0=0; //motor aktif → keluar ke PortA
}
else
{
PORTA.0=1; //motor mati → keluar ke PortA
}
x++;
}

void main (void)


{
….
while(1)

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

Anda mungkin juga menyukai