Anda di halaman 1dari 9

Pengaturan Motor Servo

I. Tujuan :
1. Mengetahui cara kerja motor servo
2. Mengetahui cara mengendalikan motor servo
3. Mengetahui algoritma pemrograman pengaturan motor servo

II. Teori :
Motor servo adalah perangkat yang banyak digunakan dalam pengaturan posisi.
Pada umumnya, sistem motor servo terdiri dari sebuah motor DC, potentiometer, dan
perangkat elektronik yang berupa error detection amplifier. Diagram blok rangkaian
motor servo ditunjukkan pada Gambar 1.

Sumber : qncctech.blogspot.com
Gambar 1 Diagram blok rangkaian motor servo

Ketika posisi yang diinginkan diberikan, error detection amplifier membandingkan


antara posisi yang diinginkan dengan posisi yang ditunjukkan oleh potentiometer. Selisih
atau perbedaan antara keduanya akan menyebabkan motor DC berputar ke arah yang
berbeda. Jika posisi yang dinginkan lebih besar daripada posisi yang ditunjukkan
potentiometer, maka putaran motor akan menuju ke satu arah (misalnya cw / clock wise /
searah dengan putaran jarum jam). Sebaliknya, jika posisi yang diinginkan lebih kecil
daripada posisi yang ditunjukkan potentiometer, maka motor akan berputar dengan arah
sebaliknya (misalnya ccw/ counter clock wise). Jika setelah perputaran, nilai posisi yang
diinginkan menjadi sama dengan nilai yang ditunjukkan potentiometer, motor akan
berhenti berputar.

Pengaturan Motor Servo 1


Pada percobaan ini, motor servo yang akan digunakan merupakan salah satu motor
servo pada lengan robot eurobtec R5 yang tampilannya ditunjukkan dalam Gambar 2.
Lengan robot Eurobtec R5 mempunyai 5 sendi (5 derajat kebebasan) dan sebuah grip.
Tiap sendi digerakkan oleh sebuah motor servo. Tiap motor DC memerlukan tegangan
suplai 6 V.

Gambar 2 Lengan robot Eurobtec R5

Untuk mengatur motor DC dan membaca nilai potentiometer pada sendinya, robot
Eurobtec R5 menyediakan soket female 6 pin seperti yang ditunjukkan pada Gambar 3.
Dua pin yang terletak pada kabel berwarna merah terkoneksi dengan potentiometer,
sementara dua pin yang terletak di sisi berlawanan mempunyai koneksi dengan motor.

Gambar 3 Soket female pada robot Eurobtec R5

III. Alat Percobaan :


 Komputer atau Laptop
 Board Arduino Uno
 Kabel USB
 Lengan robot Eurobtec R5
 Resistor 1 k Ω
 IC ULN 2003

Pengaturan Motor Servo 2


 2 buah relay DPDT 5 V
 Kabel penghubung

IV. Langkah Percobaan :


1. Hubungkan potentiometer dan resistor 1 kΩ dengan pin analog Arduino dengan
rangkaian seperti dalam Gambar 4.

Gambar 4 Rangkaian percobaan sensor posisi

1. Bukalah IDE Arduino, kemudian hubungkan computer dengan board Arduino


dengan menggunakan kabel USB.

2. Tuliskan program berikut pada editor IDE. Program asli terdapat dalam website
arduino.cc
// the setup routine runs once when you press reset:
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
}

Pengaturan Motor Servo 3


// the loop routine runs over and over again forever:
void loop() {
// read the input on analog pin 0:
int sensorValue = analogRead(A0);
// print out the value you read:
Serial.println(sensorValue);
delay(100); // delay in between reads for stability
}

3. Compile dan upload program ke board Arduino.


4. Klik menu Tools dan pilih menu Serial Monitor.
5. Saat muncul window Serial Monitor, pilih kecepatan 9600 baud sesuai dengan
kecepatan data serial yang ditentukan dalam program di atas. Maka akan muncul
tampilan angka pada window Serial Monitor.
6. Gerakkan lengan robot secara perlahan hingga mencapai batas gerakannya (catat
sebagai batas bawah dan batas atas).
7. Tambahkan rangkaian penggerak motor seperti Gambar 5.

Gambar 5 Rangkaian percobaan penggerak motor

Pengaturan Motor Servo 4


8. Tuliskan program berikut pada IDE Arduino. Gantilah nilai btAtas dan btBawah
menjadi sesuai dengan data yang didapat pada prosedur no 6. Pastikan juga bahwa
setPos (posisi yang diinginkan) berada dalam range antara btBawah dan btAtas.

const int btBawah = 420;


const int btAtas = 620;
int setPos = 430;
int posPos;
const int power = 4;
const int dir = 3;
int dev = 10; //deviation

// the setup routine runs once when you press reset:


void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
pinMode (power, OUTPUT);
pinMode (dir, OUTPUT);
}

// the loop routine runs over and over again forever:


void loop() {
posPos = analogRead(A0);
Serial.println(posPos);

if(setPos >= btBawah && setPos <= btAtas) {


if (posPos - setPos >= dev || setPos - posPos >= dev) {
if (posPos < setPos )
{
digitalWrite(power, HIGH);
digitalWrite(dir, HIGH);
}
else if (posPos > setPos ) {
digitalWrite(power, HIGH);
digitalWrite(dir, LOW);
}
else
{
digitalWrite(power, LOW);
digitalWrite(dir, LOW);
}
}

else

Pengaturan Motor Servo 5


{
digitalWrite(power, LOW);
digitalWrite(dir, LOW);
}
delay (100);
}
else
{
Serial.println("Setup position is out of the range !! Give a new value !!");
digitalWrite(power, LOW);
digitalWrite(dir, LOW);
}
}

9. Compile dan upload program ke board Arduino.


10. Klik menu Tools dan pilih menu Serial Monitor.
11. Saat muncul window Serial Monitor, pilih kecepatan 9600 baud sesuai dengan
kecepatan data serial yang ditentukan dalam program di atas.
12. Amati gerakan yang terjadi pada lengan robot serta tampilan angka pada window
Serial Monitor.
13. Jelaskan apa yang terjadi.
14. Ubahlah nilai dev menjadi 0, kemudian upload kembali program di atas.
15. Jelaskan apa yang terjadi ketika lengan robot bergerak.
16. Jelaskan mengapa hal tersebut terjadi.
17. Berdasarkan pengamatan, jelaskan fungsi variable dev.

V. Data Hasil Percobaan dan Analisa :

Pengaturan Motor Servo 6


Pengaturan Motor Servo 7
Pengaturan Motor Servo 8
VI. Kesimpulan :

Pengaturan Motor Servo 9

Anda mungkin juga menyukai