Anda di halaman 1dari 34

Praktikum Robotika

PERCOBAAN I
Motor DC, Motor Servo, Motor Stepper, Sensor Ultrasonik,
Fototransistor, Rotary Encoder

1.1 Tujuan
1. Mengetahui cara kerja motor DC, motor Servo, motor Stepper, rotary
encoder, sensor ultrasonik, fototransistor.
2. Mengontrol motor dan membaca data sensor menggunakan mikrokontroller
(modul Arduino).

1.2 Peralatan Yang Digunakan


1. Modul praktikum motor DC, motor Servo, motor Stepper, rotary encoder,
sensor ultrasonik, fototransistor.
2. Komputer PC.
3. Software Arduino.

1.3 Teori Penunjang

1.3.1 Motor DC
Motor DC merupakan salah satu jenis motor yang banyak digunakan pada
robot karena bentuknya yang kecil dengan energi keluaran yang besar. Motor DC
digunakan sebagai penggerak roda robot atau bagian lain dari robot. Kecepatan putar
motor DC tergabtung dari besarnya tegangan input pada motor. Cara lain untuk
mengatur kecepatan motor DC adalah menggunakan teknik PWM (Pulse Width
Modulation) seperti dijelaskan berikut.

Gambar 1-1 memperlihatkan contoh gelombang PWM dengan berbagai duty


cyle. Seperti terlihat pada gambar, duty cyle = 75% berarti 75% pulsa ON dan 25%
pulsa OFF. Dengan cara ini, energi yang disalurkan ke motor bervariasi tergantung
nilai duty cycle, sehingga kecepatan motor juga akan bervariasi tergantung dari nilai
duty cyle.

Gambar 1-1. Contoh gelombang PWM [1]

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 1
Praktikum Robotika
Untuk mengontrol motor DC, umumnya digunakan rangkaian H-bridge yang
dapat mengatur arah putaran motor dengan kemampuan arus yang disesuaikan dengan
motor. Pada percobaan ini, digunakan modul L298 (Dual H-bridge) yang mampu
untuk mengontrol motor DC dengan arus maksimum 4 A.

1.3.2 Motor Servo


DC Servo motor merupakan motor DC yang sudah dilengkapi dengan sistem
pengaturan posisi, sehingga dapat diatur untuk bergerak pada posisi yang diinginkan.
Sebuah motor servo terdiri dari beberapa komponen sebagai berikut:
1. Motor DC
2. Sistem reduksi gigi
3. Sensor posisi dan rangkaian control

Rangkaian sensor posisi dan kontrol digunakan sebagai kendali closed loop
untuk menggerakkan motor sesuai dengan posisi yang diberikan sepeeti terlihat pada
Gambar 1-2. Pada umumnya motor servo dapat bergerak dari 0 0 sampai dengan 1800.
Walaupun ada motor servo jenis tertentu yang dapat berputar secara kontinyu.

Motor servo mempunyai tiga buah kabel, yaitu untuk catu daya, ground, dan
sinyal kontrol. Sinyal kontrol merupakan deretan pulsa yang menyatakan posisi yang
diinginkan seperti terlihat pada Gambar 1-3. Pulsa sinyal kontrol harus diuang-ulang
dalam waktu 20 mili detik. Jika panjang pulsa 1 mili detik, maka motor akan bergerak
ke arah paling kiri (00), sedangkan panjang pulsa 2 mili detik menyebabkan motor
bergerak ke arah paling kanan (1800). Untuk menggerakkan motor pada posisi
diantara 00 sd 1800, maka panjang pulsa bisa dibuat bervariasi antara 1 mili detik s/d 2
mili detik.

Gambar 1-2. Blok diagram motor servo [3]

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 2
Praktikum Robotika

Gambar 1-3. Sinyal kontrol posisi motor servo [1]

1.3.3 Motor Stepper


Motor stepper merupakan motor yang berputar secara diskrit (step) yang
umumnya digunakan untuk aplikasi yang memerlukan pengendalian posisi dengan
presisi tinggi, seperti pada mesin scanner, plotter, hardsisk, printer dll.

Gambar 1-4. Cara kerja motor stepper [4]

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 3
Praktikum Robotika
Cara kerja motor stepper dapat dijelaskan sebagai berikut (Lihat ilustrasi pada
Gambar 1-4). Pada step-1, phasa-A pada stator aktif, sehingga menimbukan medan
magnet seperti terlihat pada gambar. Kondisi ini menyebabkan rotor bergerak pada
posisi seperti pada gambar. Pada step-2, phasa B aktif yang menyebabkan rotor
bergerak 900 searah jarum jam. Pada step-3, phasa A kembali aktif tetapi dengan
polaritas berlawanan dari polaritas pada step-1, sehingga rotor bergerak lagi 900. Pada
step-4, phasa B aktif dengan polaritas berlawanan dari polaritas pada step-2, sehingga
rotor kembali bergerak 900.

Motor stepper dapat dikelompokkan menjadi dua kategori, yaitu motor stepper
permanen magnet dan motor stepper reluktans variabel. Motor stepper magnet
permanen terdiri dari tipe unipolar dan bipolar.

Gambar 1-5 memperlihatkan susunan kumparan motor stepper unipolar


(Gambar 1-5(a)) dan motor stepper bipolar (Gambar 1-5(b)). Motor stepper unipolar
mempunyai kumparan dengan center-tapped yang umumnya dihubungkan dengan
tegangan motor. Rangkaian penggerak motor akan menghubungkan masing-masing
kumparan ke Ground untuk mengaktifkan kumparan tersebut.

Motor stepper bipolar mempunyai kumparan terpisah yang harus diaktifkan


dengan polaritas yang berlawanan untuk menggerakkan rotor. Sehingga membutuhkan
rangkaian penggerak motor yang erlatif lebih komplek dibandingkan dengan motor
stepper unipolar.

(a) (b)

Gambar 1-5. Susunan kumparan motor stepper : (a) Unipolar; (b) Bipolar.

Untuk menggerakkan motor stepper, diperlukan urutan pengaktifan kumparan


yang sesuai. Terdapat beberapa cara untuk mengaktifkan motor stepper, seperti:
1. Pengaktifan Satu Phase
Pada cara ini, hanya satu phase yang aktif setiap step. Urutan pengaktifan satu
phase seperti terlihat pada Tabel 1-1.

Tabel 1-1. Pengaktifan Satu Phase

Urutan A B C D
1 ON OFF OFF OFF
2 OFF ON OFF OFF
3 OFF OFF ON OFF
4 OFF OFF OFF ON

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 4
Praktikum Robotika
2. Pengaktifan Dua Phase
Pada cara ini, dua phase aktif di setiap step. Urutan pengaktifan dua phase
seperti terlihat pada Tabel 1-2.

Tabel 1-2. Pengaktifan Dua Phase

Urutan A B C D
1 ON ON OFF OFF
2 OFF ON ON OFF
3 OFF OFF ON ON
4 ON OFF OFF ON

3. Pengaktifan “Half-Step”
Metoda ini menggabungkan pengaktifan satu phase dan dua phase yang
menghasilkan sudut step yang lebih kecil. Urutan pengaktifan Half-step dapat
dilihat pada Tabel 1-3.

Tabel 1-3. Pengaktifan Half-Step

Urutan A B C D
1 ON OFF OFF OFF
2 ON ON OFF OFF
3 OFF ON OFF OFF
4 OFF ON ON OFF
5 OFF OFF ON OFF
6 OFF OFF ON ON
7 OFF OFF OFF ON
8 ON OFF OFF ON

1.3.4 Sensor Ultrasonik


Sensor ultrasonic merupakan sensor yang bekerja menggunakan gelombang
ultrasonic. Salah satu sensor ultrasonic yang banyak digunakan adalah sensor
ultrasonic untuk mengukur jarak seperti terlihat pada Gambar 1-6. Sistem sensor ini
(PING [5]) terdiri dari pemancar dan penerima gelombang ultrasonik. Jika pulsa
diberikan ke sensor PING, maka pemancar akan memancarkan gelombang ultrasonik.
Pantulan gelombang ini selanjutnya akan diterima oleh sensor penerima gelombang
ultrasonik. Dengan mengukur lamanya sinyal panyulan (echo) diterima, maka jarak
objek dapat dihitung sebagai berikut:
vt
Jarak 
2

dimana:
Jarak = jarak antara sensor dengan objek/target
v = kecepatan suara (340 meter/detik)
t = waktu yang diperlukan suara/ultrasonik dari mulai dipancarkan sampai
diterima kembali.

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 5
Praktikum Robotika

Gambar 1-6. Sensor PING untuk mengukur jarak objek [5].

Supaya sensor PING dapat digunakan mengukur jarak objek secara akurat,
maka perlu diperhatikan hal-hal berikut (Lihat Gambar 1-7):
a) Jarak objek harus kurang dari 3 meter
b) Sudut antara sensor PING dengan permukaaan objek harus cukup besar
( >450)
c) Ukuran objek tidak terlalu kecil
d) Bahan objek tidak menyerap gelombang ultrasonik

Gambar 1-7. Penempatan sensor PING [5].

1.3.5 Sensor Fototransistor


Sendor fototransistor merupakan salah satu sensor cahaya yang banyak
digunakan pada robot. Salah satu aplikasi sensor fototransistor adalah untuk
mendeteksi garis berwarna hitam atau putih yang banyak digunakan untuk robot
pengikut garis (line tracer).

Pada percobaan ini digunakan sensor line tracer yang terdiri dari empat buah
LED dan empat buah fototransistor SFH 300. Selengkapnya dapat dibaca di lampiran.

1.3.6 Rotary Encoder


Rotary encoder merupakan piranti elektromekanik yang dapat mengubah
putaran menjadi pulsa, sehingga dapat digunakan untuk mengukur kecepatan dan
posisi putaran motor. Cara kerja rotary encoder secara umum diperlihatkan pada
Gambar 1-8). Ketika cakram berputar, maka photodiode akan menghasilkan sinyal

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 6
Praktikum Robotika
HIGH-LOW (pulsa-pulsa) dengan frekuensi yang teragntung dengan besarnya
kecepatan putar motor.

Gambar 1-8. Cara kerja rotary encoder [6].

Referensi:
1. Appin Knowledge Solutions (2007). Robotics. Infinity Science Press.
2. Arduino homepage (http://arduino.cc/)
3. (http://www.electrical4u.com/servo-motor-servo-mechanism-advantages-of-
servo-motors/servo-motor-3/)
4. https://www.pc-control.co.uk/step-motor.htm
5. http://www.parallax.com
6. William C. Dunn (2006). Introduction to Instrumentation,Sensors, and
Process Control. Artech House Sensors library

CATATAN:
Sebelum praktikum, praktikan harap mempelajari tentang Arduino.
(https://www.arduino.cc/)

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 7
Praktikum Robotika

1.4 Pelaksanaan Percobaan

A. Motor DC

Tugas Pretest-1 (Kerjakan di rumah):


Jelaskan secara singkat pengertian H-bridge dan berikan keterangan
singkat cara pemakaian H-bridge menggunakan IC L298. (Tambahkan gambar
untuk memperjelas)
Tuliskan pada lembar yang sudah disediakan.

A.1 Perakitan Hardware


1. Buat rangkaian seperti pada Gambar 1-9. Sambungkan kabel dari Arduino ke
Modul L298 seperti pada gambar.
2. Sambungkan kabel pemrograman dari Arduino ke port USB komputer
3. Hidupkan catu daya 12 Volt yang digunakan untuk mensuplai Modul L293.

(Pastikan sambungan tersebut sudah benar. Kerusakan alat karena


kesalahan penyambungan oleh praktikan menjadi tanggung jawab
praktikan)

Gambar 1-9. Rangkaian percobaan motor DC


(sumber:http://forum.arduino.cc/index.php?
action=dlattach;topic=265327.0;attach=95371)

A.2 Pemrograman Arduino


Untuk memprogram Arduino diperlukan Software Arduino yang diinstall pada
komputer dan kabel USB yang sudah terpasang pada port USB komputer dan modul
Arduino.

Lakukan langkah-langkah berikut:


1. Jalankan program Arduino di komputer
2. Pilih menu File->New untuk membuat Sketch/Program baru, kemudian
simpan “Save-As” dengan Nama yang diinginkan

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 8
Praktikum Robotika
3. Pilih menu Tools->Board->Arduino Uno (atau sesuaikan dengan modul
Arduino yang digunakan). Lihat Gambar 1-10.
4. Pilih menu Tools->Serial Port->(Nomor Serial port yang digunakan untuk
menghubungkan dengan Arduino). Untuk melihat Serial port yang digunakan,
dari menu Windows pilih Control panel->System->Device Manager->Port
COM & LPT)-> (Cari nomer COM dari Arduino)
5. Selanjutnya program dapat ditulis di editor
6. Untuk meng-upload program ke modul Arduino, gunakan menu Upload (Icon
bergambar )

Gambar 1-10. Menu pemilihan modul Arduino.

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 9
Praktikum Robotika
Tugas Pretest-2 (Kerjakan di rumah)::
Jelaskan arti dan fungsi dari perintah analogWrite dan delay pada
Arduino. Tuliskan pada lembar yang sudah disediakan.

Lakukan percobaan sebagai berikut:


1. Buat program seperti di bawah ini:

int pin_motor_speed = 3; //pin untuk enable (kecepatan motor)


int pin_motor_dir1 = 4; //pin untuk arah putaran
int pin_motor_dir2 = 5; //pin untuk arah putaran

void setup() {
// put your setup code here, to run once:
pinMode(pin_motor_speed, OUTPUT);//
pinMode(pin_motor_dir1, OUTPUT);
pinMode(pin_motor_dir2, OUTPUT);

void loop() {
// put your main code here, to run repeatedly:
// Run motor
analogWrite(pin_motor_speed,100);//motor speed : 0 - 255
digitalWrite(pin_motor_dir1,LOW);//change to reverse
digitalWrite(pin_motor_dir1,HIGH);//change to reverse

2. Compile dan Upload ke modul Arduino.


3. Amati arah dan kecepatan putar motor DC.
4. Ubah program di atas sehingga arah putaran motor DC berubah/berbalik
arah. Tuliskan bagian progam yang diubah tersebut dan keterangan arah
putarnya (kanan/kiri) pada lembar data.
5. Buat program untuk menggerakkan motor dari kecepatan rendah,
kemudian perlahan-lahan bertambah kecepatannya, lalu secara perlahan-
lahan berkurang kecepatannya sampai akhirnya berhenti. Tuliskan program
tersebut pada lembar data.
(Gunakan perintah delay untuk mengatur interval waktu perubahan kecepatan
tersebut)

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 10
Praktikum Robotika
B. Motor servo

Tugas Pretest-3 (Kerjakan di rumah)::


Cari informasi/datasheet Motor Servo SG-5010.
Tuliskan spesifikasi yang meliputi:
- Fungsi masing-masing kabel (beserta warna kabelnya)
- Kecepatan motor
- Pulse cycle
- Pulse width
Tuliskan pada lembar yang sudah disediakan.

B.1 Perakitan Hardware

1. Sambungkan kabel Motor Servo SG-5010 ke modul Arduino sebagai berikut


(Gunakan spesifikasi dari Tugas pretest-3):
o +5V motor servo ke 5V Arduino
o GND motor servo ke GND Arduino
o Signal motor servo ke pin 9 (Digital-9) Arduino

2. Sambungkan kabel pemrograman dari Arduino ke port USB komputer

(Pastikan sambungan tersebut sudah benar. Kerusakan alat karena kesalahan


penyambungan oleh praktikan menjadi tanggung jawab praktikan)

B.2. Pemrograman Arduino


B.2.1 Pengontrolan motor servo dengan ”Delay”

1. Buat program seperti di bawah ini:

int outputPin=9; //pin sinyal kontrol servo


int lebar_pulsa=600; //dalam mikro detik
int period=20000;
//0 deg = 600
//180 deg = 2400

void setup()
{
pinMode(outputPin, OUTPUT); //set pin 9 sbg output
}

void loop()
{
digitalWrite(outputPin, HIGH); //set output high
delayMicroseconds(lebar_pulsa); //lebar pulsa dalam mikro detik
digitalWrite(outputPin, LOW); //set output low
delayMicroseconds(period-lebar_pulsa);
}

2. Compile dan Upload ke modul Arduino.

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 11
Praktikum Robotika
3. Amati posisi/sudut pergerakan poros motor servo.
4. Ubah lebar_pulsa pada program di atas menjadi 2400 mikro detik, dan amati
serta catat/gambar posisi/sudut yang dihasilkan pada lembar data.
5. Ubah lebar_pulsa pada program di atas untuk mendapatkan posisi sudut servo
450, 900, dan tuliskan hasilnya pada lembar data.

B.2.2 Pengontrolan kecepatan motor servo

1. Buat program seperti di bawah ini:

#include <Servo.h>

Servo myservo; // create servo object to control a servo

int pos = 0; // variable to store the servo position


int waktu_tunda= 100; //dalam mili detik

void setup()
{
myservo.attach(9,600,2400); // attaches the servo on pin 9 to the servo object
}

void loop()
{
for(pos = 0; pos < 180; pos += 10)
{
myservo.write(pos);
delay(waktu_tunda);
}
for(pos = 180; pos>=1; pos-=10)
{
myservo.write(pos);
delay(waktu_tunda);
}
}

2. Compile dan Upload ke modul Arduino.


3. Amati pergerakan dan kecepatan motor servo.
4. Ubah waktu_tunda pada program di atas menjadi 500, 1000, 50, dan amati
dan tuliskan hasilnya pada lembar data.

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 12
Praktikum Robotika
C. Motor stepper

Tugas Pretest-4 (Kerjakan di rumah)::


Cari informasi/datasheet Motor stepper 28BYJ-48.
Tuliskan spesifikasi yang meliputi:
- Step angle
- Gear reduction ratio
- Jumlah step per putaran untuk Full-Step (8-step sequence)
- Jumlah step per putaran untuk Half-step (4-step sequence)
Tuliskan pada lembar yang sudah disediakan.

C.1 Perakitan Hardware

Motor stepper yang digunakan dalam percobaan ini merupakan motor stepper
jenis unipolar dengan modul penggerak menggunakan IC ULN2003 seperti terlihat
pada Gambar 1-11. Sambungan antara ULN2003 dengan motor stepper dilakukan
menggunakan kabel dengan soket (sudah dirakit). Perakitan yang dilakukan dalam
percobaan ini adalah hubungan kabel antara modul mikrokontroler Arduino dengan IC
ULN2003.

P11
P10
P9
P8

Gambar 1-11. Skema penggerak motor stepper.

(Pastikan sambungan tersebut sudah benar. Kerusakan alat karena kesalahan


penyambungan oleh praktikan menjadi tanggung jawab praktikan)

C.2. Pemrograman Arduino


C.2.1 Percobaan Pengaktifan “ Satu Phase” (Tabel 1-1)

1. Buat program seperti di bawah ini:

int In1=11; //pin untuk DAta_in1


int In2=10; //pin untuk DAta_in2
int In3=9; //pin untuk DAta_in3
int In4=8; //pin untuk DAta_in4
int waktu_delay=10;
int jumlah_step=0;

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 13
Praktikum Robotika
void setup()
{
pinMode(In1, OUTPUT);
pinMode(In2, OUTPUT);
pinMode(In3, OUTPUT);
pinMode(In4, OUTPUT);

Serial.begin(9600);

void loop()
{
digitalWrite(In1, HIGH);
digitalWrite(In2, LOW);
digitalWrite(In3, LOW);
digitalWrite(In4, LOW);
delay(waktu_delay);
//
Serial.print("steps:" );
Serial.println(jumlah_step);
jumlah_step++;
//
digitalWrite(In1, LOW);
digitalWrite(In2, HIGH);
digitalWrite(In3, LOW);
digitalWrite(In4, LOW);
delay(waktu_delay);
//
Serial.print("steps:" );
Serial.println(jumlah_step);
jumlah_step++;
//

digitalWrite(In1, LOW);
digitalWrite(In2, LOW);
digitalWrite(In3, HIGH);
digitalWrite(In4, LOW);
delay(waktu_delay);
//
Serial.print("steps:" );
Serial.println(jumlah_step);
jumlah_step++;
//
digitalWrite(In1, LOW);
digitalWrite(In2, LOW);
digitalWrite(In3, LOW);
digitalWrite(In4, HIGH);
delay(waktu_delay);
//

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 14
Praktikum Robotika
Serial.print("steps:" );
Serial.println(jumlah_step);
jumlah_step++;
}

2. Compile dan Upload ke modul Arduino.


3. Amati pergerakan poros motor stepper.
4. Ubah waktu_delay menjadi 100 dan 500, amati pengaruhnya dan tuliskan
pada lembar data.
5. Ubah progam di atas supaya motor stepper berputar dengan arah berlawanan
jarum jam. Tuliskan bagian program yang berubah pada lembar data.
6. Hitung jumlah step dalam satu putaran penuh dengan cara
mengamati/mencatat posisi awal dan akhir dan membaca jumlah step dengan
menggunakan Menu Tools -> Serial Monitor. Catat hasilnya pada lembar data.

C.2.2 Percobaan Pengaktifan “ Dua Phase”


1. Buat progam seperti pada Percobaan (C.2.1) untuk pengaktifan dua phase
seperti Tabel 1-2.
2. Compile dan Upload ke modul Arduino.
3. Amati pergerakan poros motor stepper.
4. Ubah progam di atas supaya motor stepper berputar dengan arah berlawanan
jarum jam. Tuliskan bagian program yang berubah pada lembar data.
5. Hitung jumlah step dalam satu putaran penuh dengan cara
mengamati/mencatat posisi awal dan akhir dan membaca jumlah step dengan
menggunakan Menu Tools -> Serial Monitor. Catat hasilnya pada lembar data.

C.2.3 Percobaan Pengaktifan “ Half-Step”


Lakukan Percobaan (C.2.2) untuk pengaktifan half-step seperti pada Tabel 1-3.

D. Sensor Ultrasonik (PING)

Tugas Pretest-5 (Kerjakan di rumah):


Sensor ultrasonik yang digunakan pada percobaan ini adalah Sensor
PING dari parallax [5]. Tuliskan program script Arduino untuk membaca jarak
dengan sensor PING tersebut. Berikan penjelasan dari program tersebut.
Tuliskan pada lembar yang sudah disediakan.

( Catatan : Contoh program dapat dilihat di bagian Example pada Arduino


sketch (Arduine IDE) )

D.1 Perakitan Hardware


1. Sambungkan kabel dari sensor PING ke modul Arduino sebagai berikut:
o +5V sensor PING ke 5V Arduino
o GND sensor PING ke GND Arduino
o SIG sensor PING ke digital Pin Arduino sesuai dengan Tugas Pretest-
5

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 15
Praktikum Robotika
(Pastikan sambungan tersebut sudah benar. Kerusakan alat karena kesalahan
penyambungan oleh praktikan menjadi tanggung jawab praktikan)

2. Sambungkan kabel pemrograman dari Arduino ke port USB komputer

D.2. Pemrograman Arduino


1. Buat program Arduino seperti pada Tugas Pretest-5
2. Compile dan Upload ke modul Arduino.
3. Dengan bantuan Serial Monitor di program Arduino–IDE (untuk membaca
jarak objek), lakukan pengukuran sebagai berikut, dan tuliskan hasilnya
pada lembar data:
a. Jarak objek berubah-ubah, posisi sudut sensor tegak lurus ke objek
(papan/dinding/buku)
 Jarak objek = 10 cm
 Jarak objek = 30 cm
 Jarak objek = 50 cm
 Jarak objek = 100 cm
 Jarak objek = 150 cm
b. Bahan dari objek berbeda (Jarak objek = 30 cm)
 Objek dengan bahan dari kertas/karton
 Objek dengan bahan dari plastik
 Objek dengan bahan dari spon

E. Sensor Fototransistor

Tugas Pretest-6 (Kerjakan di rumah)::


Jelaskan perbedaan komponen-komponen di bawah ini (Gambarkan
simbolnya !)
- Fotoresistor
- Fotodiode
- Pototransistor
- Fotovoltaik
Tuliskan program script Arduino untuk membaca data analog dari sensor Line
tracer dan ditampilkan ke Serial Monitor Arduino IDE

Tuliskan pada lembar yang sudah disediakan.

E.1 Perakitan Hardware

1. Berdasarkan data pada lampiran tentang DT-Sense Line Tracking SFH 4 Sensor,
sambungkan kabel dari modul sensor ke modul ke modul Arduino .

(Pastikan sambungan tersebut sudah benar. Kerusakan alat karena kesalahan


penyambungan oleh praktikan menjadi tanggung jawab praktikan)

2. Sambungkan kabel pemrograman dari Arduino ke port USB komputer

E.2. Pemrograman Arduino


1. Buat program Arduino seperti pada Tugas Pretest-5

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 16
Praktikum Robotika
2. Compile dan Upload ke modul Arduino.
3. Tuliskan hasil pengamatan tersebut ketika sensor memdeteksi warna putih dan
hitam.
4. Tentukan nilai batas ambang (threshold) yang dapat digunakan untuk
membedakan warna hitam dan putih.
5. (Optional/Tambahan nilai)
Buat program Arduino yang dapat menampilkan tulisan ”HITAM” atau
”PUTIH” di Serial Monitor ketika sensor mendeteksi warna yang sesuai.

F. Rotary Encoder

Tugas Pretest-7 (Kerjakan di rumah)::


Jelaskan cara kerja Incremental encoder dengan dua Channel-A dan
Channel-B. Jelaskan juga bagaimana cara mendeteksi arah putaran
berdasarkan kedua channel tersebut.

Tuliskan pada lembar yang sudah disediakan.

F.1 Perakitan Hardware

1. Buat rangkaian seperti pada Gambar 1-12. Sambungkan kabel dari Arduino ke
Modul L298 seperti pada gambar, dan ke Rotary Encoder, sebagi berikut:
o Pin-2 Arduino : Channel-A Rotary Encoder
o Pin-3 Arduino : Channel-B Rotary Encoder
o Pin-4 Arduino : Arah-1 putaran motor (lihat Gambar 1-12)
o Pin-5 Arduino : Arah-2 putaran motor (lihat Gambar 1-12)
o Pin-6 Arduino : Kecepatan putaran motor (lihat Gambar 1-12)
o +5VDC Rotary Encoder : +5VDC Arduino
o GND Rotary Encoder : GND Arduino
2. Sambungkan kabel pemrograman dari Arduino ke port USB komputer
3. Hidupkan catu daya 12 Volt yang digunakan untuk mensuplai Modul L293.

Gambar 1-12. Skema Motor DC dan Rotary Encoder.

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 17
Praktikum Robotika
F.2. Pemrograman Arduino

1. Buat program seperti di bawah ini:

int pin_motor_speed = 6;
int pin_motor_dir1 = 4;
int pin_motor_dir2 = 5;

int pin_A=2; //emcoder output A


int pin_B=3; // encoder output B

volatile int jumlah_pulsa = 0;

int jumlah_pulsa_terakhir= 1;

void setup() {
// put your setup code here, to run once:
pinMode(pin_motor_speed, OUTPUT);
pinMode(pin_motor_dir1, OUTPUT);
pinMode(pin_motor_dir2, OUTPUT);
pinMode(pin_A,INPUT_PULLUP);
pinMode(pin_B,INPUT_PULLUP);

attachInterrupt(digitalPinToInterrupt(pin_A), pulsa_A, RISING);


attachInterrupt(digitalPinToInterrupt(pin_B), pulsa_B, RISING);

Serial.begin(9600);
}

void pulsa_A()
{
if (digitalRead(pin_B)==HIGH) //CW
{
jumlah_pulsa=jumlah_pulsa+1;
}
}

void pulsa_B()
{
if (digitalRead(pin_A)==HIGH) //CCW
{
jumlah_pulsa=jumlah_pulsa-1;
}

void loop() {
// put your main code here, to run repeatedly:
// Run motor

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 18
Praktikum Robotika
analogWrite(pin_motor_speed,100);//motor speed : 0 - 255
digitalWrite(pin_motor_dir1,LOW);//change to reverse
digitalWrite(pin_motor_dir1,HIGH);//change to reverse
//
if (jumlah_pulsa_terakhir !=jumlah_pulsa)
{
Serial.println(jumlah_pulsa, DEC);
jumlah_pulsa_terakhir=jumlah_pulsa;
}

2. Compile dan Upload ke modul Arduino.


3. Amati nilai yang ditampilkan di Serial Monitor Arduino IDE
4. Amati juga arah putaran motor.
5. Catat hasilnya di lembar data. (tidak perlu seluruh angka/nilai dicatat)
6. Ubah program di atas supaya berputar dalam arah yang berlawanan (Lihat
Percobaan Modul-1 cara merubah arah putaran)
7. Amati langkah 3 dan 4
8. Berikan analisa di lembar analisa

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 19
Praktikum Robotika

1.5 Lembar Data

A. Percobaan Motor DC

Jawaban Tugas Pretest-1:

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 20
Praktikum Robotika
Jawaban Tugas Pretest-2:

Percobaan A.2 : Mengubah arah putaran motor

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 21
Praktikum Robotika
Percobaan A.2 : Menggerakkan motor dari lambat cepat, lambat lalu berhenti

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 22
Praktikum Robotika
B. Percobaan Motor servo
Jawaban Tugas Pretest-3:

Percobaan B.2.1 : Pengontrolan motor servo dengan “Delay”


Lebar_pulsa Posisi sudut Gambar poros servo
(mikro detik)

600

2400

450

900

Percobaan B.2.2 : Perubahan waktu tunda

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 23
Praktikum Robotika
C. Percobaan Motor stepper
Jawaban Tugas Pretest-4:

Percobaan C.2.1: Pengaktifsan satu phase:


Pengaruh waktu delay:

Program motor stepper berputar dengan arah berlawanan jarum jam :

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 24
Praktikum Robotika
Jumlah step satu putaran penuh:

Percobaan C.2.2: Pengaktifan dua phase:


Program motor stepper berputar dengan arah berlawanan jarum jam :

Jumlah step satu putaran penuh:

Percobaan C.2.3: Pengaktifan half-step:


Program motor stepper berputar dengan arah berlawanan jarum jam :

Jumlah step satu putaran penuh:

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 25
Praktikum Robotika
D. Sensor Ultrasonik (PING)
Jawaban Tugas Pretest-5:

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 26
Praktikum Robotika
Percobaan D.2 : Sensor PING

Tabel 1. Jarak objek berubah-ubah

Jarak
Pengukuran sebenarnya Pengukuran dengan sensor % error
objek
10 cm

30 cm

50 cm

100 cm

150 cm

Tabel 2. Bahan objek berbeda

Pengukuran Pengukuran dengan


Bahan objek % error
sebenarnya sensor
Kertas

Plastik

Spon

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 27
Praktikum Robotika
E. Sensor Ultrasonik (PING)
Jawaban Tugas Pretest-6:

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 28
Praktikum Robotika
Percobaan E.2: Sensor Fototransistor
Nilai hasil pengamatan sensor ketika mendeteksi warna putih:

Nilai hasil pengamatan sensor ketika mendeteksi warna hitam:

Nilai threshold:

(Optional)
Program menampilkan tulisan “HITAM” atau “PUTIH” tergantung warna objek yang
didetksi.

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 29
Praktikum Robotika
F. Rotary Encoder
Jawaban Tugas Pretest-7:

Percobaan F.2: Rotary Encoder


Tampilan nilai ketika motor berputar ke arah …………..

Tampilan nilai ketika motor berputar ke arah …………..

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 30
Praktikum Robotika

KELOMPOK :
NAMA KELOMPOK : NIM: TANGGAL:

1. (………………………..) Instruktur:

2. (………………………..)
3. (………………………..)
4. (………………………..) (………………………..)

1.6. Lembar Analisa

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 31
Praktikum Robotika

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 32
Praktikum Robotika

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 33
Praktikum Robotika
1.7. Kesimpulan

Teknik Elektro ITN Malang Rev 2, April 2017 by Aryuanto, Cholis,Faishol Page 34

Anda mungkin juga menyukai