• Tidak ada hasil yang ditemukan

PERCOBAAN MOTOR DC DAN SERVO TUJUAN

Dalam dokumen Buku Petunjuk Praktikum Mikrokontroler (Halaman 79-86)

1. Mahasiswa mamahami rangkaian interface mikrokontroller dengan motor DC dan motor Servo

2. Mahasiswa memahami rangkaian driver motor DC L293D

3. Mahasiswa memahami program Arduino untuk mengatur arah putaran motor DC

4. Mahasiswa memahami program Arduino untuk mengatur arah sudut putaran motor Servo 5. Mahasiswa memahami program Arduino untuk mengatur arah kecepatan motor DC

PERALATAN

1. Sebuah Komputer

2. Satu set trainer mikrokontroler

TEORI DASAR

MOTOR DC

Motor DC merupakan jenis motor yang menggunakan tegangan searah sebagai sumber tenaganya. Dengan memberikan beda tegangan pada kedua terminal tersebut, motor akan berputar pada satu arah, dan bila polaritas dari tegangan tersebut dibalik maka arah putaran motor akan terbalik pula seperti pada gambar 10.1. Polaritas dari tegangan yang diberikan pada dua terminal menentukan arah putaran motor sedangkan besar dari beda tegangan pada kedua terminal menentukan kecepatan motor

Gambar 10.1. Konstruksi motor DC

Konstruksi motor DC pada gambar 10.1 memiliki 2 bagian dasar,yaitu :

1. Bagian yang tetap/stasioner yang disebut stator. Stator ini menghasilkan medan magnet, baik yang dibangkitkan dari sebuah koil (elektro magnet) ataupun magnet permanen.

80 LABORATORIUM MIKROKONTROLER UNIVERSITAS NAROTAMA SURABAYA

Gaya elektromagnet pada motor DC timbul saat ada arus yang mengalir pada penghantar yang berada dalam medan magnet. Medan magnet itu sendiri ditimbulkan oleh megnet permanen. Garis-garis gaya magnet mengalir diantara dua kutub magnet dari kutub utara ke kutub selatan. Menurut hukum gaya Lourentz, arus yang mengalir pada penghantar yang terletak dalam medan magnet akan menimbulkan gaya. Gaya F, timbul tergantung pada arah arus I, dan arah medan magnet B.

Driver Motor DC dengan IC L293D

Pada dasarnya beberapa aplikasi yang menggunakan motor DC harus dapat mengatur kecepatan dan arah putar dari motor DC itu sendiri. Untuk dapat melakukan pengaturan kecepatan motor DC dapat menggunakan metode PWM (Pulse Width Modulation) sedangkan untuk mengatur arah putarannya dapat menggunakan rangkaian H-bridge yang tersusun dari 4 buah transistor. Tetapi dipasaran telah disediakan IC L293D sebagai driver motor DC yang dapat mengatur arah putar dan disediakan pin untuk input yang berasal dari PWM untuk mengatur kecepatan motor DC. Untuk lebih memahami tentang membangkitkan sinyal PWM menggunakan fitur Timer pada mikrokontroler AVR dapat membacanya pada postingan tutorial AVR tentang PWM. Sebelum membahas tentang IC L293D, alangkah baiknya jika kita membahas driver motor DC menggunakan rangkaian analog terlebih dahulu. Jika diinginkan sebuah motor DC yang dapat diatur kecepatannya tanpa dapat mengatur arah putarnya, maka kita dapat menggunakan sebuah transistor sebagai driver. Untuk mengatur kecepatan putar motor DC digunakan PWM yang dibangkitkan melalui fitur Timer pada mikrokontroler. Sebagian besar power supply untuk motor DC adalah sebesar 12 V, sedangkan output PWM dari mikrokontroler maksimal sebesar 5 V. Oleh karena itu digunakan transistor sebagai penguat tegangan. Dibawah ini

adalah gambar driver motor DC menggunakan transistor. Salah satu jenis motor yang sering digunakan dalam bidang kontrol yaitu Motor DC. Motor DC akan berputar jika dialiri tegangan dan arus DC.

Berikut gambar 10.2 adalah motor DC dan jembatan H yang digunakan pada rancangan alat ini:

Gambar 10.2. Rangkaian Jembatan H

Sistem pengaturan motor DC yang sering digunakan pada sistem kontrol seperti pada gambar 10.2 yaitu dengan H-Bridge yang pada pada dasarnya adalah 4 buah transistor yang difungsikan sebagai saklar. Pengaturan motor DC yaitu meliputi kecepatan dan arah. Pengaturan arah yaitu dengan cara membalik

81 LABORATORIUM MIKROKONTROLER UNIVERSITAS NAROTAMA SURABAYA

tegangan logika masukan H-bridge. Sedangkan sistem pengendalian kecepatan motor DC digunakan prinsip PWM (Pulse Width Modulator) yaitu suatu metode pengaturan kecepatan putaran motor DC dengan mengatur lamanya waktu pensaklaran aktif (Duty Cycle). Motor DC merupakan sebuah komponen yang memerlukan arus yang cukup besar untuk menggerakannya. Oleh karena itu motor DC biasanya memiliki penggerak tersendiri. Pada tugas akhir ini motor DC akan digerakkan dengan menggunakan PWM yang telah terintegrasi dengan rangkaian HBridge. Dengan rangkaian H-Bridge yang memiliki input PWM ini, maka selain arah kita juga bisa mengendalikan kecepatan putar motor DC tersebut.

Motor Servo

Motor servo adalah motor yang mampu bekerja dua arah (clockwise dan counter – clockwise), dengan arah dan sudut pergerakan rotornya dapat dikontrol hanya dengan memberikan sinyal PWM pada bagian pin kontrolnya. Motor Servo merupakan sebuah motor DC yang memiliki rangkaian kontrol elektronika dan internal gear, untuk mengontrol pergerakan serta sudut angularnya. Motor servo dapat berputar dengan lambat, yang biasanya ditunjukkan oleh rate putarannya yang lambat. Akan tetapi, motor servo memiliki torsi yang kuat karena internal gear – nya.

Motor servo mempunyai beberapa ukuran dan tipe yang dapat digunakan untuk segala kebutuhan mulai dari mesin fotokopi, model pesawat terbang, dan model mobil. Aplikasi terbaru dari motor servo yaitu digunakan untuk aplikasi pembuatan robot. Motor servo pada awalnya dibuat untuk dioperasikan melewati saluran radio kontrol dan biasanya mengacu pada radio kontrol. Motor servo tersebut bergerak dengan sinyal yang berasal dari penerima. Adapun jenis-jenis motor servo yaitu :

a) Motor Servo Standar 180°

Motor servo jenis ini mampu bergerak dua arah (clockwise dan counter - clockwise) dengan defleksi masing-masing sudut mencapai 90°, sehingga total defleksi sudut dari kanan-tengah-kiri adalah 180°.

b) Motor Servo Continuous

Motor servo jenis ini mampu bergerak dua arah (clockwise dan counter - clockwise) tanpa batasan defleksi sudut putar (dapat berputar secara kontinu). Untuk beroperasi, motor servo membutuhkan catu daya 5V DC. Kabel merah dihubungkan ke Vdd (+), kabel hitam dihubungksn ke Vss (ground), dan sinyal kontrol PWM dihubungkan dengan kabel putih. Pada Gambar 10.3 dan Gambar 10.4 menunjukkan bentuk beserta koneksi kabel motor servo.

82 LABORATORIUM MIKROKONTROLER UNIVERSITAS NAROTAMA SURABAYA

Gambar 10.3. Komponen Motor Servo Gambar 10.4. Skema Motor Servo

Secara umum, motor servo terdiri atas sebuah rangkaian pengontrol, sebuah potensiometer, dan sejumlah gear untuk memperbesar torsi. Motor dan potensiometer dihubungkan ke rangkaian pengontrol dan ketiganya membentuk sistem loop tertutup. Untuk mengaktifkan motor, sebuah sinyal digital dikirim ke rangkaian pengontrol. Potensiometer ini bertugas memonitor sudut poros motor

servo. Motor akan berputar ke arah sudut yang diinginkan sampai sudut poros motor servo sesuai dengan yang diinginkan, kemudian motor akan berhenti bergerak. Pada umumnya motor servo didesain untuk rotasi yang terbatas yaitu berkisar antara 0° sampai 180°. Sebuah motor servo yang normal tidak dapat berputar lebih jauh, dikarenakan sebuah penghalang mekanik yang diselipkan

pada roda gigi keluaran utama. Motor servo dapat berotasi secara penuh dengan melakukan suatu modifikasi.

Gambar 10.5. Bagian dari Motor Servo

Gambar 10.5. adalah bagian dalam motor servo yang memperlihatkan poros motor servo yang terhubung dengan potensiometer. Gear di tengah digunakan sebagai penghubung antara gear poros motor servo, dan gear potensiometer. Setiap perubahan sudut poros motor servo akan mengubah posisi potensiometer. Hal ini membuat posisi poros motor servo dapat diketahui dengan tepat. Besar daya yang dibutuhkan motor servo sebanding dengan sudut yang perlu ditempuh poros. Motor servo menerapkan sistem kontrol proporsional. Jika poros perlu berputar jauh maka poros akan bergerak dengan kecepatan penuh, namun jika sudut tempuh poros dekat maka poros akan bergerak perlahan.

83 LABORATORIUM MIKROKONTROLER UNIVERSITAS NAROTAMA SURABAYA

Untuk mendapatkan sudut yang diinginkan maka motor servo harus mendapatkan input lebar pulsa yang tepat. Motor Servo diharapkan menerima pulsa setiap 20 milidetik. Sudut keluaran motor servo ditentukan oleh lebar pulsa yang diterima motor servo. Misalnya untuk menghasilkan sudut 90O (posisi netral) maka motor servo perlu menerima pilsa setiap 20 milidetik dengan masing-masing lebar pulsa sebesar 1,5 milidetik. Jika pulsa yang diterima kurang dari 1,5 milidetik maka poros akan berputar ke arah 0°. Sebaliknya, jika pulsa yang diterima motor servo lebih dari 1,5 milidetik maka poros akan berputar ke arah kiri.

Gambar 10.6. Lebar Pulsa

Gambar 10.6 adalah sinyal untuk mengontrol sudut motor servo. Sinyal ini berupa sinyal persegi (square) dengan lebar pulsa high berkisar antara 0,6 milidetik sampai 2,4 milidetik. Pulsa dengan pulsa high sebesar 0,6 milidetik akan membuat poros motor servo berada pada posisi 0°. Pulsa dengan pulsa high sebesar 1,5 milidetik akan membuat poros motor servo berada pada posisi 90° dan pulsa dengan pulsa high sebesar 2,4 milidetik akan membuat poros motor servo berada pada posisi 180°. Poros motor servo dapat menduduki posisi lainnya dengan memberikan lebar pulsa high dengan perbandingan perubahan satu derajat poros setiap perubahan sepuluh mikrodetik pulsa high.

84 LABORATORIUM MIKROKONTROLER UNIVERSITAS NAROTAMA SURABAYA

int switchPin = 2; // switch input int motor1Pin1 = 3; // pin 2 on L293D int motor1Pin2 = 4; // pin 7 on L293D int enablePin = 9; // pin 1 on L293D void setup() {

// set the switch as an input: pinMode(switchPin, INPUT);

// set all the other pins you're using as outputs: pinMode(motor1Pin1, OUTPUT);

pinMode(motor1Pin2, OUTPUT); pinMode(enablePin, OUTPUT);

// set enablePin high so that motor can turn on: digitalWrite(enablePin, HIGH);

}

void loop() {

// if the switch is high, motor will turn on one direction: if (digitalRead(switchPin) == HIGH) {

digitalWrite(motor1Pin1, LOW); // set pin 2 on L293D low digitalWrite(motor1Pin2, HIGH); //set pin 7 on L293D high }

//if the switch is low,motor will turn inthe opposite direction: else {

digitalWrite(motor1Pin1, HIGH); //set pin 2 on L293D high digitalWrite(motor1Pin2, LOW); // set pin 7 on L293D low }

}

Percobaan 13

Mengontrol motor servo langsung dari Arduino cukup mudah. Berikut ini contoh menggunakan servo ukuran standar (tanpa beban) didukung langsung dari Arduino via USB.

85 LABORATORIUM MIKROKONTROLER UNIVERSITAS NAROTAMA SURABAYA

#include <Servo.h>

// membuat nama objek servo untuk pengontrolan servo Servo myservo;

// variable untuk menyimpan posisi servo int pos = 0;

void setup() {

// objek servo diletakan pada pin 9 myservo.attach(9);

}

void loop() {

// start dari 0 derajar sampai 180 derajat for(pos = 0; pos < 180; pos += 1)

{

// pada posisi 1 derajat

// memberitahu servo untuk pergi ke posisi 'pos' myservo.write(pos);

// tunggu 15ms untuk pencapaian posisi servo delay(15);

}

// start dari 180 derajat ke 0 derajat for(pos = 180; pos>=1; pos-=1)

{

// memberitahu servo untuk pergi ke

posisi 'pos' myservo.write(pos);

// tunggu 15ms untuk pencapaian posisi servo delay(15);

} }

LANGKAH-LANGKAH PERCOBAAN

1. Nyalakan computer dengan program Arduino !

2. Sambungkan Trainer mikrokontroler dengan computer menggunakan kabel USB ! 3. Sambungkan kabel-kabel jumper sesuai dengan praktikum yang dilaksanakan ! 4. Ketiklah program yang diatas pada software Arduino !

5. Lakukan verifikasi terhadap program, apakah terjadi error atau tidak !

6. Jika tidak terjadi error lanjutkan dengan mengupload program ke dalam mikrokontroler ! 7. Amati hasilnya apakah sudah sesuai dengan perintah instruktur atau belum, kalau belum

86 LABORATORIUM MIKROKONTROLER UNIVERSITAS NAROTAMA SURABAYA

BAB XI : PERCOBAAN REMOTE CONTROL

Dalam dokumen Buku Petunjuk Praktikum Mikrokontroler (Halaman 79-86)

Dokumen terkait