Anda di halaman 1dari 5

Mengatur Kecepatan Motor DC dengan PWM

Pengertian PWM

Salah satu cara untuk mengatur kecepatan putar motor dc adalah dengan metode modulasi
lebar pulsa atau dalam bahasa inggris disebut pulse width modulation disingkat PWM.
Gambar 1 menunjukan ilustrasi PWM, 100%, 50%, dan 75%. Sumbu vertical menunjukan
besarnya tegangan dan sumbu horizontal menunjukan waktu. x menandakan tegangan
maksimum dari suatu sistem.

Gambar 1. Ilustrasi PWM


Saat ini PWM dapat dihasilkan dari mikrokontroller, arduino, dan sejenisnya. Besar nilai
pwm tergantung dari tipe board yang kita gunakan. Untuk Arduino UNO, pwm memiliki
alokasi data 8bit, alias memiliki rentang data dari 0-255.
BACA JUGA : TUTORIAL MEMBUAT OBSTACLE AVOIDANCE ROBOT
Di artikel ini akan ditunjukan contoh program mengatur kecepatan motor dc dengan PWM
dari Arduino UNO. Tegangan maksimal (x) yang dihasilkan oleh Arduino adalah 5 volt. Jika
motor dc yang kita gunakan memiliki tegangan kerja diatas 5 volt maka harus menggunakan
driver motor. Klik di sini, untuk tahu cara memilih driver motor dc.

Ekivalensi

Nah motor itu kan berputar disebabkan karena adanya fluks magnet yang menimbulkan gaya
gerak (hukum faraday). Dirumuskannya kaya persamaan di bawah ini.

Dimana;

N = Kecepatan Putar

V = Tegangan Input

Ia = Arus Jangkar

Ra = Hambatan Jangkar

K = Konstanta Motor

dan fluks magnet

R dan K bernilai konstan alias tidak bisa dirubah. Merubah nilai I sukar dilakukan, dan yang
paling mudah adalah dengan mengatur besar tegangan (V). Hubungannya dengan PWM
adalah. (Perhatikan Gambar 1).

Dimana Vs = Suplai tegangan di driver Motor. Cek disini untuk tahu skematiknya.

Wiring

Sekarang saatnya kita melakukan percobaan untuk mengatur kecepatan motor. Beberapa
komponen yang harus kita siapkan adalah:
1. Arduino UNO, MEGA, Leonardo.
2. Driver Motor
3. Motor DC 12V
4. Catu Daya/Battery 12V
Nah dari ke-4 komponen itu kita hubungkan seperti gambar di bawah ini.

Gambar 2. Wiring Diagram Driver Motor

Gambar 3. Cara Pasang Driver Motor Pada Arduino

Program

Setelah selesai wiring, proses selanjutnya adalah menulis program di Arduino IDE. Silakan
gunakan
contoh
program
di
bawah
ini
pada
Arduino
temen-temen.
Hal yg harus terjadi adalah:
1. Motor berputar searah jarum jam dari putaran lambat, sedang, cepat, dan sangat cepat.
2. Motor berputar berbalik arah jarum jam dari putaran lambat, sedang, cepat, dan sangat
cepat.
3. Begitu seterusnya.
view plainprint?
1. int dir1 = 4; // inisiai pin untuk motor kiri
2. int pwm1 = 5;
3. int pwm2 = 6; // inisiai pin untuk motor kanan
4. int dir2 = 7;
5. int i;
6.
7. void setup()
8. {

9.

// setting semua pin sebagai output

10. pinMode(dir1, OUTPUT);


11. pinMode(pwm1, OUTPUT);
12. pinMode(dir2, OUTPUT);
13. pinMode(pwm2, OUTPUT);
14. }
15.
16. void loop()
17. {
18. // put your main code here, to run repeatedly:
19. // putar Motor dari kecepatan rendah ke kecepatan tinggi
20. for (i=0; i <= 255; i += 1)
21. {
22.

digitalWrite(dir1, LOW);

23.

analogWrite(pwm1, i);

24.

digitalWrite(dir2, LOW);

25.

analogWrite(pwm2, i);

26.

delay(15);

27. }
28. // putar Motor dari kecepatan rendah ke kecepatan tinggi dengan arah sebaliknya
29. for (i=255; i >= 0; i -= 1)
30. {
31.

digitalWrite(dir1, HIGH);

32.

analogWrite(pwm1, i);

33.

digitalWrite(dir2, HIGH);

34.

analogWrite(pwm2, i);

35.

delay(15);

36. }
37. }

Anda mungkin juga menyukai