Anda di halaman 1dari 9

Latihan

PENGENALAN MOTOR DC
“Kontrol Motor dan PWM”
Yudi Arrasyid (200101022)

1 KOMPETENSI
- Mahasiswa mampu memahami cara menggunakan mikrokontrol dan motor DC
- Mahasiswa mampu memprogram untuk mengendalikan PWM motor DC

2 WAKTU
- Pertemuan ke-14

3 DASAR TEORI
Motor Direct Current adalah jenis motor paling sederhana yang memiliki dua kabel yaitu
catu daya dan grounds. Pemberian catu daya boleh dibolak-balik untuk memberikan efek
arah putaran yang berbeda. Motor akan berputar secara terus menerus selama catu daya
diberikan dan akan berhenti jika catu daya dimatikan. Motor jenis ini biasa digunakan
pada kipas angin
Motor DC mempunyai bagian penting, bagian pertama adalah stator yaitu bagian yang
tidak berputar dan bagian kedua dinamakan rotor atau bagian yang berputar. Di rotor
inilah poros diletakan diujung poros dapat dipasang objek misalnya puli yang akan
berputar.

4 PERALATAN
- Komputer/PC
- Software Arduino IDE
- Software Proteus ISIS 7 Profesional
- Arduino uno
- motor DC
- diode Ln4001
- transistor TLP 120
5 PROSEDUR PERCOBAAN 1
1) Buat rangkaian seperti Gambar di bawah ini!

PIN 11 M

gnd

mikrokontroler

Gambar 1. Rangkaian Kontrol

2) program PWM Motor DC


// --------------------------------------
// Contoh untuk mengatur putaran motor DC
// --------------------------------------

const int PIN_PWM = 11;

void setup()
{
pinMode(PIN_PWM, OUTPUT);
}

void loop()
{
// Kecepatan penuh
analogWrite(PIN_PWM, 255);
delay(5000);

// Kecepatan sedang
analogWrite(PIN_PWM, 128);
delay(5000);

// Motor dimatikan
analogWrite(PIN_PWM, 0);
delay(5000);
}
4) Lakukan simulasi dengan memasukan program hasil kompilasi,
HASIL PERCOBAAN 1

6 PROSEDUR PERCOBAAN 2
1) Buat rangkaian seperti Gambar di bawah ini!

PIN 11 M

mikrokontroler

gnd
5V A0

Gambar 1. Rangkaian Kontrol

2) program PWM Motor DC


// --------------------------------------
// Contoh untuk mengatur putaran motor DC
// menggunakan potensiometer 5K
// --------------------------------------

const int PIN_PWM = 11;


const int PIN_A0 = 0;

void setup()
{
pinMode(PIN_PWM, OUTPUT);
}

void loop()
{
// Baca nilai yang diatur melalui potensiometer
int nilai = analogRead(PIN_A0);

// Atur kecepatan motor DC


analogWrite(PIN_PWM, nilai / 4);
}
4) Lakukan simulasi dengan memasukan program hasil kompilasi,

HASIL PERCOBAAN 2
6 TUGAS
1. buatlah program untuk kecepatan motor dc dan gunakan 4 buah LED
Kecepatan PWM LED Keterangan
25 % hijau menyala

50 % Kuning menyala
75 % Merah menyala

100 % Biru Menyala

Perhitungan Konversi PWM dengan duty Cycle:

PWM
Duty Cycle %= ×100 %
Max PWM

Ton
1. 0 %= × 100 % , PWM =0
255
Ton 255
2. 25 %= ×100 % , PWM = =64
255 4
Ton 255
3. 50 %= ×100 % , PWM = =128
255 2
Ton 255
4. 75 %= ×100 % , PWM = =192
255 1.33
Ton 255
5. 100 %= ×100 % , PWM = =255
255 1

Tabel 2. Konversi Duty Cycle dengan PWM


Duty Cycle % PWM
0% 0
25% 64
50% 128
75% 192
100% 255

PROGRAM
const int PIN_PWM = 11;
const int led1 = 9;
const int led2 = 6;
const int led3 = 5;
const int led4 = 3;
void setup()
{
pinMode(PIN_PWM, OUTPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
Serial.begin(9600);
}

void loop()
{
int nilai = analogRead(A0); //1023
int f = nilai/4;//255
int pwm = map(f, 0, 255, 0, 100);
analogWrite(PIN_PWM, f);
Serial.print("Duty Cycle : ");
Serial.print(pwm);
Serial.println(" %");
Serial.print("PWM : ");
Serial.println(f);
Serial.println("------------------------ ");

if (pwm < 25){


digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
}
if (pwm >= 25 && pwm < 50){
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
}
if (pwm >= 50 && pwm <75){
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
}
if (pwm >= 75 && pwm <100){
digitalWrite(led3, HIGH);
digitalWrite(led4, LOW);
}
if (pwm == 100){
digitalWrite(led4, HIGH);
}
delay(1000);
}

2.Buatlah laporan dari praktikum tersebut

ANALISA PERCOBAAN
Berdasarkan praktikum yang dilakukan didapatkan data bahwa motor dc dijalankan hanya
menggunakan polaritas tegangan positif dan negative, dalam rangkaian sebenarnya motor dc
tidak bisa dijalankan oleh Arduino karena kurangnya arus yang dibutuhkan. Maka dari itu
dibutuhkanlah sebuah driver contohnya adalah L298N dan L293D dengan source supply yang
masuk kedalam driver sehingga kebutuhan arus tercukupi, untuk PWM sendiri berupa sebuah
gelombang dengan jarak antara gelombang memiliki periode tersendiri yang biasa disebut duty
cycle dalam bentuk %
Besarnya duty cycle terpengaruh oleh besarnya analogWrite yang diberikan dari rentang 0 – 255
Satu siklus pulsa merupakan kondisi high kemudian selang beberapa waktu akan berubah
menjadi kondisi low.
Duty Cycle merupakan representasi dari kondisi logika high dalam suatu periode sinyal
dan di nyatakan dalam bentuk (%) dengan range 0% sampai 100%, sebagai contoh jika sinyal
berada dalam kondisi high terus menerus artinya memiliki duty cycle sebesar 100%. Jika waktu
sinyal keadaan high sama dengan keadaan  low maka sinyal mempunyai duty cycle sebesar 50%.

Untuk menghitungan besarnya Duty cycle dari sebuah PWM kita dapat menggunakan persamaan
sebagai berikut:

Ton
Duty Cycle %= × 100 %
Ton+Toff

Jika ada sebuah kasus kita menginginkan Duty cycle sebesar ¼ atau 25% maka PWM yang
dibutuhkan adalah :

1 Ton
= ×100 %
4 255

4 Ton=255

PWM =63,75

KESIMPULAN

Kesimpulan yang bisa didapat dari dilakukannya praktikum tersebut ialah, jika menginginkan
kecepatan motor DC yang bisa diatur maka dibutuhkan sebuah input PWM dimana besar input
PWM berkisar 0 – 255 dengan konversi menjadi duty cycle yakni 0-100%, jika pwm tidak diatur
maka motor dc yang bergerak akan memiliki kecepatan penuh atau full speed yang jika
dikonversi menjadi pwm yaitu 255 atau 5V. motor DC juga berbeda dengan motor AC dimana
motor DC hanya bisa dijalankan oleh masukan arus searah dengan polaritas positif dan negatif.

Anda mungkin juga menyukai