Praktik Mikrokontroller
Topik: Motor DC dan PWM
A. Kajian Teori
Motor merupakan salah satu komponen elktronik 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;
Pada ragkaian 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. Sedangakan 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;
Gb.2 Persamaan prinsip kerja rangkaian H-Bridge driver motor
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 dari pada 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;
V V
1 1 1 1 1 1
0 0 0 0 0 0
t t
V V
M otor Kec.
Kec . Moto
r
t t
Gb. 4 Prinsip kerja pulsa PWM untuk driver active high (1)
Pengaturan program pada code vision AVR guna menggunakan teknik PWM dapat dilakukan
dengan fasilitas OUTPUT dan Timer0.. Timer digunakan untuk fasilitas interrupt yang akan selalu
dikerjakan, dan kemudian
ian akan diisi dengan program PWM. Sedangkan output digunakan
sebagai keluaran dari PWM tersebut. Teknik pemrogram PWM banyak cara yang dapat
digunakan, pada bab ini akan dibahas salah satu teknik yang banyak digunakan. Berikut ilustrasi
pengaturan pada CodeWizardAVR
odeWizardAVR guna memanfaatkan teknik PWM (missal output PortA
dengan rangkaian seperti pada Sub bab Poin B);
x++
nilai_pwm
180
0 255
V
+5V
0
t
1K
C. Contoh program
C1. Program menghidup-matikan motor dengan tundaan waktu (Motor di PortA)
#include <mega8535.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);
}
}
C.2 Program membalik arah putaran motor (Motor di PortA)
#include <mega8535.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
Delay_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);
}
}
C2. Program PWM dua kecepatan yang berbeda dengan tundaan waktu (Motor di PortA)
#include <mega8535.h>
#include <delay.h>
D. Latihan Mandiri
D1. Buatlah program apabila ditekan sw1 menghasilkan kecepatan1 (100), apabila ditekan sw 2
menghasilkan kecepatan2 (255)!
D2. Buatlah program apabila sw1 ditekan berkali-kali akan meningkatkan kecepatan motor, dan
apabila sw2 ditekan berkali-kali akan menurunkan kecepatan motor!
D3. Aplikatif
Terdapat sebuah mesin dengan satu buah motor dan 3 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
Buatlah programnya!