Anda di halaman 1dari 12

PRAKTIKUM ROBOTIKA

MODUL PERCOBAAN 4
KENDALI MANUAL MOTOR DC MENGGUNAKAN ARDUINO

Program Studi DIII Teknik Elektronika


Jurusan Teknik Elektro
Politeknik Negeri Sriwijaya
2023
Percobaan 4
Kendali Manual Motor DC Menggunakan Arduino

TUJUAN

1. Mahasiswa memahami pemrograman untuk mengendalikan motor DC secara


manual
2. Mahasiswa mengetahui rangkaian kendali manual motor DC menggunakan
Arduino
3. Mahasiswa memahami prinsip dasar rangkaian kendali manual motor DC
menggunakan Arduino

DASAR TEORI
1. Arduino UNO
Arduino sebagai sebuah platform komputasi fisik (Physical Computing)
yang open source pada board input ouput sederhana, yang dimaksud dengan
platform komputasi fisik disini adalah sebuah sistem fisik yang interaktif dengan
penggunaan software dan hardware yang dapat mendeteksi dan merespon situasi
dan kondisi. Papan arduino merupakan papan mikrokontroler yang berukuran
kecil atau dapat diartikan juga dengan suatu rangkaian berukuran kecil yang
didalamnya terdapat komputer berbentuk chip yang kecil.
Tujuan menanamkan program pada mikrokontroler adalah agar rangkaian
elektronik dapat membaca input, memproses input tersebut dan kemudian
menghasilkan output sesuai yang diinginkan. Jadi mikrokontroler bertugas
sebagai ”otak” yang mengendalikan input, proses dan output sebuah rangkaian
elektronik.

Gambar 4.1 Arduino UNO


2. Driver Motor L293D
IC L293D adalah IC yang didesain khusus sebagai driver motor DC dan
dapat dikendalikan dengan rangkaian TTL maupun mikrokontroler. Motor DC
yang dikontrol dengan driver IC L293D dapat dihubungkan ke ground maupun ke
sumber tegangan positif karena di dalam driver L293D sistem driver yang
digunakan adalah totem pool. Dalam 1 unit chip IC L293D terdiri dari 4 buah
driver motor DC yang berdiri sendiri sendiri dengan kemampuan mengalirkan
arus 1 Ampere tiap drivernya. Sehingga dapat digunakan untuk membuat driver
H-bridge untuk 2 buah motor DC. Konstruksi pin driver motor DC IC l293D
adalah sebagai berikut.

Gambar 4.2 Konfigurasi Pin IC L293D

Fungsi Pin Driver Motor DC IC L293D:


1. Pin EN (Enable, EN1.2, EN3.4) berfungsi untuk mengijinkan driver menerima
perintah untuk menggerakan motor DC.
2. Pin In (Input, 1A, 2A, 3A, 4A) adalah pin input sinyal kendali motor DC
3. Pin Out (Output, 1Y, 2Y, 3Y, 4Y) adalah jalur output masing-masing driver
yang dihubungkan ke motor DC
4. Pin VCC (VCC1, VCC2) adalah jalur input tegangan sumber driver motor DC,
dimana VCC1 adalah jalur input sumber tegangan rangkaian kontrol dirver
dan VCC2 adalah jalur input sumber tegangan untuk motor DC yang
dikendalikan.
5. Pin GND (Ground) adalah jalu yang harus dihubungkan ke ground, pin GND
ini ada 4 buah yang berdekatan dan dapat dihubungkan ke sebuah pendingin
kecil.

3. Motor DC
Motor DC adalah motor listrik yang memerlukan suplai tegangan arus searah pada
kumparan medan untuk diubah menjadi energi gerak mekanik. Kumparan medan
pada motor dc disebut stator (bagian yang tidak berputar) dan kumparan jangkar
disebut rotor (bagian yang berputar). Pada motor DC, kumparan medan yang
dialiri arus listrik akan menghasilkan medan magnet yang melingkupi kumparan
jangkar dengan arah tertentu. Konverter energi baik energi listrik menjadi energi
mekanik (motor) maupun sebaliknya dari energi mekanik menjadi energi listrik
(generator) berlangsung melalui medium medan magnet. Energi yang akan diubah
dari suatu sistem ke sistem yang lain, sementara akan tersimpan pad medium
medan magnet untuk kemudian dilepaskan menjadi energi system lainya. Dengan
demikian, medan magnet disini selain berfungsi sebagi tempat penyimpanan
energi juga sekaligus proses perubahan energi.

Gambar 4.3 Bentuk fisik Motor DC

Dalam aplikasinya seringkali sebuah motor digunakan untuk arah yang


searah dengan jarum jam maupun sebaliknya. Untuk mengubah putaran dari
sebuah motor dapat dilakukan dengan mengubah arah arus yang mengalir melalui
motor tersebut. Secara sederhana seperti yang ada pada gambar 4.4, hal ini dapat
dilakukan hanya dengan mengubah polaritas tegangan motor.
Gambar 4.4. Dasar Pengaturan Arah Putar Motor DC
KEGIATAN PRAKTIKUM
Kendali Manual Motor DC Menggunakan Arduino

Siapkan peralatan sebagai berikut:


- Project board
- Arduino
- IC L293D
- Motor DC
- Resistor
- Saklar
- Kabel USB
- PC/Laptop yang sudah terinstal software arduino
- Kabel jumper

Ikuti langkah-langkah sebagai berikut:


1. Siapkan semua peralatan lalu rangkai rangkaian seperti gambar 4.5 berikut:

Gambar 4.5 Rangkaian Kendali Otomatis Motor DC Menggunakan Arduino


2. Hubungkan board arduino dengan PC/laptop
3. Buka software arduino dan pilih port/board yang sesuai dengan port/board yang
digunakan.
4. Ketik code berikut lalu upload ke board arduino:

6
#include <SoftwareSerial.h>

const int switch1 = 2;


const int switch2 = 3;
const int switch3 = 4;
const int switch4 = 5;

const int Motor1 = 8;


const int Motor2 = 9;
const int Motor3 = 10;
const int Motor4 = 11;

void setup() {
Serial.begin(9600);

pinMode(switch1, INPUT);
pinMode(switch2, INPUT);
pinMode(switch3, INPUT);
pinMode(switch4, INPUT);

pinMode(Motor1, OUTPUT);
pinMode(Motor2, OUTPUT);
pinMode(Motor3, OUTPUT);
pinMode(Motor4, OUTPUT);

digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
}

void loop() {
//Motor Maju

if (digitalRead(switch1) == LOW)
{

digitalWrite (Motor1, HIGH);


digitalWrite (Motor2, LOW);
digitalWrite (Motor3, HIGH);
digitalWrite (Motor4, LOW);
}
//Motor Mundur
if (digitalRead(switch2) == LOW)
{
digitalWrite (Motor1, LOW);
digitalWrite (Motor2, HIGH);
digitalWrite (Motor3, LOW);
digitalWrite (Motor4, HIGH);
}

7
//Motor Belok ke Kiri
if (digitalRead(switch3) == LOW)
{
digitalWrite (Motor1, HIGH);
digitalWrite (Motor2, LOW);
digitalWrite (Motor3, LOW);
digitalWrite (Motor4, LOW);
}
//Motor Belok ke Kanan
if (digitalRead(switch4) == LOW)
{
digitalWrite (Motor1, LOW);
digitalWrite (Motor2, LOW);
digitalWrite (Motor3, HIGH);
digitalWrite (Motor4, LOW);
}
//Motor Stop
if ((digitalRead(switch1) == HIGH) && (digitalRead(switch2) == HIGH) &&
(digitalRead(switch3) == HIGH) && (digitalRead(switch4) == HIGH))
{
digitalWrite (Motor1, LOW);
digitalWrite (Motor2, LOW);
digitalWrite (Motor3, LOW);
digitalWrite (Motor4, LOW);
}
}

TUGAS
1. Buat simulasi rangkaian seperti pada gambar 4.5! (bebas pakai software apapun dan
rangkaian berbeda dengan yang dicontohkan)!

8
2. Buat flowchart dari simulasi rangkaian tersebut!

3. Isikan data percobaan berikut!


Putaran
Saklar
(CW/CCW/STOP) Kondisi Motor
S1 S2 S3 S4 M1 M2
1 0 0 0 CW CW MAJU
0 1 0 0 CCW CCW MUNDUR
0 0 1 0 STOP CW BELOK KIRI
0 0 0 1 CW STOP BELOK KANAN

9
4. Jelaskan arti dari coding Arduino yang digunakan! (buatkan dalam tabel)
const int switch1 = 12; //pb1 Konfigurasi Switch
const int switch2 = 11; //pb2
const int switch3 = 4; //pb4
const int switch4 = 5; //pb3
const int Motor1 = 7; Konfigurasi Motor
const int Motor2 = 8;
const int Motor3 = 9;
const int Motor4 = 10;
const int pwm1 = 3;
const int pwm2 = 6;
void setup() { Perintah yang dibaca sekali
Serial.begin(9600);
pinMode(switch1, INPUT);
pinMode(switch2, INPUT);
pinMode(switch3, INPUT);
pinMode(switch4, INPUT);

pinMode(Motor1, OUTPUT);
pinMode(Motor2, OUTPUT);
pinMode(Motor3, OUTPUT);
pinMode(Motor4, OUTPUT);
pinMode(pwm2, OUTPUT);
pinMode(pwm1, OUTPUT);
void loop() { Perintah yang dibaca sekali dan dapat
//Motor Maju berulang

if (digitalRead(switch1) == LOW)
{

digitalWrite (Motor1, HIGH);


digitalWrite (Motor2, LOW);
digitalWrite (Motor3, HIGH);

10
digitalWrite (Motor4, LOW);
analogWrite(pwm1, 255);
analogWrite(pwm2, 255);

}
//Motor Mundur
if (digitalRead(switch2) == LOW)
{
digitalWrite (Motor1, LOW);
digitalWrite (Motor2, HIGH);
digitalWrite (Motor3, LOW);
digitalWrite (Motor4, HIGH);
analogWrite(pwm1, 255);
analogWrite(pwm2, 255);
}
//Motor Belok ke Kiri
if (digitalRead(switch3) == LOW)
{
digitalWrite (Motor1, HIGH);
digitalWrite (Motor2, LOW);
digitalWrite (Motor3, LOW);
digitalWrite (Motor4, LOW);
analogWrite(pwm1, 255);
analogWrite(pwm2, 0);
}
//Motor Belok ke Kanan
if (digitalRead(switch4) == LOW)
{
digitalWrite (Motor1, LOW);
digitalWrite (Motor2, LOW);
digitalWrite (Motor3, HIGH);
digitalWrite (Motor4, LOW);
analogWrite(pwm1, 0);
analogWrite(pwm2, 255);

11
}
//Motor Stop
if ((digitalRead(switch1) == HIGH) &&
(digitalRead(switch2) == HIGH) &&
(digitalRead(switch3) == HIGH) &&
(digitalRead(switch4) == HIGH))
{
digitalWrite (Motor1, LOW);
digitalWrite (Motor2, LOW);
digitalWrite (Motor3, LOW);
digitalWrite (Motor4, LOW);
analogWrite(pwm1, 0);
analogWrite(pwm2, 0);

5. Buat analisis dan kesimpulan dari percobaan tersebut!


Analisa :
Pada percobaan ini Kami menggunakan 1 buah Arduino uno, Driver Motor L298,
4buah Saklar dan 2 Motor, dimana Arduino sebagai Kontrollernya. sedangkan saklar
yg kami gunakan dipakai untuk sebagai penggerak alat yang kami Buat, dimana
saklar 1 untuk Maju , saklar 2 untuk Mundur, saklar 3 untuk Ke kanan, dan saklar 4
untuk ke kiri
Kesimpulan :
Untuk Menggerakkan Motor kita membutuhkan Arduino Uno sebagai Kontroller dan
L298 Sebagai Driver Motornya agar dapat bergerak dengan Sebagai mana Program
yang dibuat

12

Anda mungkin juga menyukai