Anda di halaman 1dari 25

BAB VI

PERCOBAAN 5
AVR MOTOR DC, SERVO DAN STEPPER
6.1 Tujuan
1. Memahami prinsip dan cara kerja Motor Stepper.
2. Mengetahui logika dan pengendalian putaran Motor Stepper
3. Memahami prinsip dan cara kerja Motor Servo.
4. Mengetahui logika dan pengendalian putaran Motor Servo.
5. Memahami logika dan pengendalian motor DC.
6. Mengetahui penggunaan timer dan PWM sebagai pengendali kecepatan
motor DC.
6.2 Dasar Teori
6.2.1 Timer
Timer merupakan sebuah hardware khusus yang disediakan oleh Atmel
untuk menghitung/mencacah suatu nilai tertentu hingga nilai maksimal yang
diatur saat melakukan flash source code ke dalam mikrokontroller. Ia dapat
bekerja parallel walau mikrokontroller sedang mengeksekusi suatu perintah.
Pada saat selesai berhitung, interrupt akan diaktifkan agar mikrokontroller
tahu dan beranjak untuk mengeksekusi perintah terkait timer tersebut.
6.2.1.1 Normal Overflow
Memilih mode ini dgn cara mengatur semua bit WGM (Waveform
Generation Mode) bit ke-1 = 0 dan WGM bit ke-0 = 0, pada register TCCR
(Timer/Counter Control Register).

Gambar 6.1 Grafik Mode normal

Dalam mode normal ini timer mencacah hitungan ke atas (counting up)
hingga mencapai nilai top lalu akan terjadi overflow dan hitungan kembali ke

0x00. Hal ini menyebabkan flag TOV (Timer/Counter Overflow Flag) secara
otomatis menjadi set. Interupsi akan terjadi jika interupsi timer overflow
diaktifkan. Nilai inisialisasi awal TCNT dapat ditentukan oleh programmer.

6.2.1.2 Clear Timer On Compare Match (CTC)


Pada mode ini counter TCNT akan bergulir/mencacah naik kemudian akan
kembali 0 saat nilai register TCNT = OCR. Untuk menghasilkan gelombang
kotak pada pin OC kita atur OC toggle yaitu dgn memberi nilai COM1 = 0
dan COM0 = 1 di register TCCR.

Gambar 6.2 Grafik ctc

6.2.2 PWM
Pulse Width Modulation (PWM) secara umum adalah sebuah cara
memanipulasi lebar sinyal yang dinyatakan dengan pulsa dalam suatu
perioda, untuk mendapatkan tegangan rata-rata yang berbeda. Beberapa
contoh aplikasi PWM adalah pemodulasian data untuk telekomunikasi,
pengontrolan daya atau tegangan yang masuk ke beban, regulator tegangan,
audio effect dan penguatan, serta aplikasi-aplikasi lainnya. Aplikasi PWM
berbasis mikrokontroler biasanya berupa pengendalian kecepatan motor DC,
pengendalian motor servo, pengaturan nyala terang LED dan lain sebagainya.

Sinyal PWM pada umumnya memiliki amplitudo dan frekuensi dasar yang
tetap, namun memiliki lebar pulsa yang bervariasi. Lebar Pulsa PWM
berbanding lurus dengan amplitudo sinyal asli yang belum termodulasi.
Artinya, Sinyal PWM memiliki frekuensi gelombang yang tetap namun duty
cycle bervariasi (antara 0% hingga 100%).

Gambar 6.3 Sinyal PWM dan rumus perhitungannya

Pulse Width Modulation (PWM) merupakan salah satu teknik untuk


mendapatkan signal analog dari sebuah piranti digital. Sebenarnya Sinyal
PWM dapat dibangkitkan dengan banyak cara, dapat menggunakan metode
analog dengan menggunakan rankaian op-amp atau dengan menggunakan
metode digital. Dengan metode analog setiap perubahan PWM-nya sangat
halus, sedangkan menggunakan metode digital setiap perubahan PWM
dipengaruhi oleh resolusi dari PWM itu sendiri. Resolusi adalah jumlah
variasi perubahan nilai dalam PWM tersebut. Misalkan suatu PWM memiliki
resolusi 8 bit berarti PWM ini memiliki variasi perubahan nilai sebanyak 28 =
256 variasi mulai dari 0 255 perubahan nilai yang mewakili duty cycle 0
100% dari keluaran PWM tersebut.

6.2.2.1 Fast PWM


Dalam mode ini dapat dihasilkan sinyal PWM dengan bentuk digital/pulsa.
Adapun nilai duty cycle yaitu perbandingan antara lama pada saat pulsa high
dibandingkan dengan periode satu gelombang pulsa.

Gambar 6.4 Fast PWM Timing Diagram

Timer/counter0 dalam mode ini digunakan untuk mengatur lama waktu


pulsa high (on) dan lama waktu pulsa low (off) melalui register pembanding
OCR. Output PWM pada timer/counter0 adalah pin OC.
Pada mode Fast PWM maka nilai TCNT akan terus dicacah mulai dari
0x00 hingga 0xFF kemudian kembali lagi ke 0x00 dan mulai mencacah lagi
hingga 0xFF. Begitu seterusnya proses yang terjadi.

Pada mode non inverting PWM maka nilai pada pin output PWM yaitu
OC akan low jika TCNT sama dengan nilai OCR. Pin OC akan menjadi set
(high) kembali jika TCNT kembali lagi ke nilai 0x00 (TCNT==0x00).
Sedangkan mode inverting PWM merupakan kebalikan dari mode noninverting PWM. Pin OC akan high jika TCNT = OCR dan akan low jika
TCNT = 0x00.

Adapun frekuensi pin OC untuk fast PWM dapat dihitung sesuai


persamaan:

Rumusnya ada yg salah


Programmer dapat melakukan update pada nilai OCR walaupun timer0
sedang beroperasi.

6.2.2.2 Phase Correct PWM

Gambar 6.5 Ph. PWM Timing Diagram

Secara prinsip dasarnya mode ini sama dengan mode fast PWM. Yang
berbeda adalah operasi pencacahan pada mode phase correct PWM adalah
dual slope. TCNT akan mencacah dari nilai 0x00 hingga mencapai 0xFF.
Kemudian TCNT akan melakukan pencacahan kebawah (pengurangan) dari
nilai 0xFF menjadi nilai 0x00 lagi. Begitu seterusnya sehingga grafik yang
terbentuk adalah dual slope.
Pada mode inverting PWM output pada pin OC akan memiliki nilai high
jika TCNT sama dengan OCR pada waktu proses counting up. OC akan
bernilai low jika TCNT sama dengan OCR pada waktu counting down.
Sedangkan pada mode non-inverting PWM sebaliknya. Pin OC akan
memiliki nilai high jika TCNT sama dengan OCR pada waktu proses
counting down. OC akan bernilai low jika TCNT sama dengan OCR pada
waktu counting up.

Adapun nilai frekuensi pada mode Phase Correct PWM dapat dihitung
sesuai persamaan :

Rumusnya ada yang salah


6.2.3 Motor DC
Motor DC adalah perangkat mesin pertama yang mengkonversi besaran
listrik menjadi besaran mekanik. Putaran dan torsi pada motor DC dihasilkan
dari gaya tarik-menarik dan gaya dorong yang dihasilkan oleh medan
magnetik pada motor DC tersebut. Berdasarkan pada gambar 6.6, motor DC
terdiri dari 6 bagian utama antara lain : Axis atau poros motor DC, bagian
yang berputar yang disebut rotor, bagian yang tetap yang di sebut stator,
komuntator, Field Magnets, dan brushes.

Gambar 6.6 Motor DC

Perancangan motor DC berbeda-beda, ada motor DC dengan bagian rotor


merupakan kumparan kawat dan bagian stator adalah magnet permanen motor
jenis ini disebut motor magnet permanen (permanent magnet motor). Adapula
motor DC dengan bagian rotor merupakan magnet permanen dan bagian
stator adalah terdiri dari kumparan kawat, motor jenis ini disebut wound-field
motor.
Mengendalikan kecepatan putaran motor DC ada 3 cara antara lain :

Metode On Off.
Menggunakan Variabel tegangan.
Menggunakan PWM (Pulse Width Modulation).
6.2.4 Motor Stepper

Gambar 6.7 Motor Stepper

Motor Stepper adalah motor listrik sinkron yang mengubah data pulsa
digital ke rotasi mekanik dan 1 putaran penuhnya terbagi dalam banyak
langkah (step). Banyaknya rotasi yang dilakukan sebanding dengan pulsa
digital yang diberikan dan kecepatan putaran sebanding dengan frekuensi
pulsa digital tersebut. Motor stepper dapat diatur posisi sudutnya dengan teliti
tanpa perlu ada mekanime umpan balik (open-loop controller) selama motor
stepper tersebut dikendalikan dengan hati-hati.
Beberapa karakteristik motor stepper antara lain :
Motor stepper adalah perangkat dengan tenaga tetap (constant power
device).
Kecepatan motor stepper berbanding terbalik dengan torsi yang dihasilkan,
semakin cepat putarannya maka semakin kecil torsinya.
Kurva torsi motor stepper bisa diperluas dengan menggunakan perangkat
pembatas arus dan meningkatkan tegangan kendalinya.
Motor stepper menghasilkan getaran lebih besar dibandingkan tipe motor
lainnya.
Getaran yang dihasilkan bisa buruk untuk kecepatan tertentu dan
menyebabkan kehilangan torsi atau kehilangan arah (posisi) sehingga
membutuhkan metode tertentu untuk mengurangi getaran tersebut.
Motor stepper dengan banyak phase menghasilkan pergerakan yang lebih
halus dibandingkan dengan motor stepper sedikit phase.

Berdasarkan karakteristik tersebut maka beberapa motor stepper dalam


suatu sistem tertentu ditambahkan umpan balik berupa encoder atau resolver,
hal ini bertujuan agar motor stepper dapat dikendalikan dengan kecepatan dan
torsi maksimal serta mengetahui posisi motor stepper dengan tepat. Ada 3 tipe
utama motor stepper, yaitu :
Variable Reluctance Stepper (VR) : terdiri dari rotor dan stator yang
memiliki gerigi dengan jumlah yang berbeda dan saling terhubung. Rotor
tidak memiliki magnet permanen sehingga dapat berputar dengan bebas
jika statornya tidak dialiri arus. VR memiliki torsi yang kecil sehingga
biasanya digunakan pada perangkat dengan beban ringan dan jarang
digunakan pada industri.
Permanent Magnet Stepper (PM) : Motor stepper yang menggunakan
magnet permanen sebagai rotornya dan statornya serupa dengan VR
stepper.
Hybrid Synchronous Stepper : merupakan kombinasi dari teknik PM dan
VR, metode ini mendapatkan kekuatan maksimum dengan ukuran motor
yang kecil.
Motor stepper ada 2 jenis berdasarkan lilitan kumparannya yaitu motor
stepper unipolar dan motor stepper bipolar. Motor stepper unipolar memiliki
2 pengawatan setiap phasenya, dengan total 2 phase dan memiliki common.
Jika kedua common pada setiap phasenya terhubung secara internal maka
hanya terdapat 5 buah terminal. Unipolar menggunakan logika kontrol yang
sederhana.

Gambar 6.8 Motor Stepper unipolar 5 terminal.

Motor stepper bipolar memiliki 1 pengawatan setiap phasenya, dengan


total dua buah phase dan tidak memiliki common. Bipolar menggunakan
logika kontrol dan rangkaian pengendalian yang lebih rumit, biasanya
menggunakan rangkaian H-Bridge. Pengawatan pada Bipolar lebih baik
dibandingkan Unipolar untuk berat yang sama, karena bentuk fisik
pengawatannya. Dibandingkan Bipolar, Unipolar menggunakan banyak kabel
2 kali lipat untuk luas bidang yang sama tetapi hanya digunakan separuhnya
saja pada satu waktu dan menghasilkan efisiensi 50% (kira-kira mencapai
70% pada torsi output yang ada).

Gambar 6.9 Motor Steper bipolar

Gambar 6.10 Sinyal kontrol pengendalian motor stepper

6.2.5 Motor Servo


Motor servo adalah sebuah motor DC yang dilengkapi rangkaian kendali
dengan sistem closed feedback yang terintegrasi dalam motor tersebut. Pada
motor servo posisi putaran sumbu (axis) dari motor akan diinformasikan
kembali ke rangkaian kontrol yang ada di dalam motor servo.

Gambar 6.11 Motor Servo

Gambar 6.12 Time Diagram servo dan sudut servo

Untuk mengendalikan servo dibutuhkan pulsa dengan periode 20ms


kemudian untuk mengatur sudut melalui pengaturan duty cycle. Apabila
menggerakan servo sebesar 0o maka digunakan lebar duty cycle sebesar 1ms
sedangkan untuk menggerakan servo sebesar 180o maka digunakan lebar duty
cycle sebesar 2ms.

6.3 Alat dan Bahan


1. Modul praktikum MCU EduBoard v1.02.1109
2. Komputer dan software CodeVision AVR v2.03.9
3. Chipboot GUI
4. Motor DC
5. Motor Servo
6. Motor Stepper
6.4 Cara Kerja
6.4.1 Motor DC
1. Membuka code wizard AVR
2. Mengatur timer dengan mode Ph. Corrrect PWM
3. Menentukan set pin yang tersambung menuju output
4. Memilih Generate, save exit
5. Menulis data OCR
7. Melakukan download program dengan aplikasi chipboot GUI
8. Mengukur kecepatan motor DC
6.4.2

Motor Stepper
1. Membuka code wizard AVR
2. Mengatur timer dengan mode CTC TOP=OCR
3. Mengatur pin yang tersambung menuju output
4. Memilih Generate, save exit
5. Menulis data OCR
6. Melakukan download program dengan aplikasi chipboot GUI
7. Menghitung waktu putaran motor

6.4.3

Motor Servo
1. Membuka code wizard AVR
2. Menentukan timer dengan mode Ph. Corrrect PWM
3. Menentukan set pin yang tersambung menuju output
4. Memilih Generate, save exit
5. Memasukkan rutin fungsi sudut servo
6. Memasukkan data sudut
7. Melakukan download program dengan aplikasi chipboot GUI
9. Mengukur sudut servo

6.5 Tabel Percobaan


6.5.1 Motor DC
Tabel 6.1 Data Percobaan Motor DC

Nilai OCR
255
150
50
6.5.2

Kecepatan
Cepat
Sedang
Lambat

Motor Stepper
Tabel 6.2 Data Percobaan Motor Stepper

Putaran
90o
180o
6.5.3

Waktu (detik)
5,0
9,8

Motor Servo
Tabel 6.3 Data Percobaan Motor Servo

Variasi
1
2
3

Sudut pada program


60
120
180

Sudut pada motor


60
120
170

6.6 Analisa dan Pembahasan


6.6.1 Percobaan 1: Mengatur Kecepatan Motor DC
6.6.1.1 Listing Program
#include <mega2560.h>

// Menyertakan library mega2560.h

#include <delay.h>

// Menyertakan library delay.h

void main(void)

// Program utama

{
#pragma optsizeCLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif
PORTH=0b10000000;

// PORTH.7 dijadikan output high

DDRH=0xff;

// PORTH semua dijadikan output

TCCR4A=0x81;

// Mengatur register timer 4 mode Phase correct


PWM top=0xffh(255)

TCCR4B=0x03;

// Mode non-inverted

ACSR=0x80;
while (1)
{
OCR4AL=255;delay_ms(5000); // inisialisasi OCR4AL=150,tunda 5 detik
OCR4AL=150;delay_ms(5000); // inisialisasi OCR4AL=50,tunda 5 detik
OCR4AL=50;delay_ms(5000); // inisialisasi OCR4AL=0,tunda 5 detik
};
}

6.6.1.2 Flowchart
Start

Inisiasi
-Timer mode PWM
-Set PORTH.7 logika 1
-Set DDRH menjadi output

While(1)

OCR4AL=..
Delay_ms(5000)
Gambar 6.12 Flowchart Percobaan Motor DC

6.6.1.3 Analisis
Tabel 6.4 Data Percobaan Motor DC

Nilai OCR
255
150
50

Kecepatan
Cepat
Sedang
Lambat

Pada percobaan, motor DC variasi pertama diinputkan OCR4AL =


255 dan dengan pengaturan delay_ms(5000) yang terjadi adalah motor
bergerak dengan cepat karena OCR besar maka duty cylce besar dan
mengakibatkan motor bergerak cepat selama 5 detik. Kemudian bergerak
lebih lambat karena variasi berubah menjadi OCR4AL = 150 dan 5 detik
kemudian bergerak sangat lambat karena OCR4AL = 50 lalu bergerak
kembali 5 detik kemudian.
6.6.1.4 Aplikasi
Aplikasi motor DC sebagai penggerak pintu geser pada otomatisasi
sistem monitoring ruangan penyimpanan database menggunakan PLC

omron CPM1A I/O 30. Penggerak pintu pada sistem penggerak pintu geser
pada otomatisasi sistem monitoring penyimpanan database menggunakan
PLC omron CPM1A I/O 20 yang digunakan adalah motor DC. Untuk
menggerakkan motor DC diperlukan driver motor DC yaitu driver HBridge yang digunakan untuk mengatur motor agar dapat berputar dalam
dua arah yaitu forward (searah jarum jam) dan Reverse(berlawanan arah
jarum jam). Berputarnya motor DC juga dipengaruhi oleh terhalang
tidaknya sensor PIR pada pintu. Ketika sensor PIR terhalangi maka motor
akan membalik putarannya sehingga akan membuka pintu. Jika pintu
dibuka secara paksa maka alarm akan menyala dikarenakan sensor PIR
terhalangi oleh benda.

6.6.2 Percobaan 2: Motor Stepper


6.6.2.1 Listing Program
#include <mega2560.h>>

// Menyertakan library mega2560.h

interrupt [TIM0_COMPA] void timer0_compa_isr(void) // Rutin interupsi


{
PORTL=PORTL<<1;

// PORTL digeser 1 bit ke kiri untuk menghasilkan


sinyal yang menggerakkan motor stepper

if(PORTL==0b10000000)PORTL=0b00001000; // Kalau PORTL sudah


0b10000000, kembali lagi ke
awal, PORTL = 0b00001000
}
void main(void)
{
#pragma optsizeCLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif
DDRL=0xff;

// PORTL dijadikan output semua

ACSR=0x80;
PORTL=0b00001000;

// Nilai awal PORTL sebelum digeser

TCCR0A=0x02;

// Mengatur timer mode CTC top=OCR0A dengan


frekuensi 10800Hz

TCCR0B=0x05;
OCR0A=0x6C;

// Set top sebesar 0x6C atau bernilai 108

TIMSK0=0x02;

// Register timer interupt mask untuk mengaktifkan


interupsi timer0 mode CTC

#asm("sei")
}

// Enable global interrupt

6.6.2.2 Flowchart
Start

Inisiasi
-Timer mode CTC
-Intterupt CTC
-Set PINL Output
-Set OCR=0x6C

Interupsi
=1

PORTL<<1

PORTL=0b10000000

y
PORTL=0b00001000
Gambar 6.13 Flowchart Percobaan Motor Stepper

6.6.2.3 Analisis
Untuk mengeluarkan sinyal full drive pada motor stepper yaitu
dengan cara awal bergerak pada PORTL=0b00001000 akan bergeser 1 bit
kiri secara terus menerus hingga PORTL=0b10000000 setiap 10ms yang
dijalankan

pada

waktu

interupsi.

Bila

mencapai

kondisi

PORTL=0b10000000 maka PORTL akan kembali ke kondisi awal atau


PORTL=0b00001000.
Tabel 6.5 Data Percobaan Motor Stepper

Putaran
90o
180o

Waktu (detik)
5,0
9,8

Pada data percobaan diatas untuk mencapai putaran dari 0-90


derajat dengan pergeseran bit setiap 10ms dibutuhkan 5 detik sedangkan
untuk mencapai posisi 180 derajat membutuhkan waktu 9,8 detik. Ini
membuktikan bahwa semakin besaran putaran yang dihasilkan maka
semakin lama pula waktu yang dibutuhkan.
6.6.2.4 Aplikasi
Motor stepper banyak digunakan dalam berbagai aplikasi,
dipergunakan apabila dikehendaki jumlah putaran yang tepat atau
diperlukan sebagian dari putaran motor. Aplikasi penggunaan motor
stepper dapat juga dijumpai dalam bidang industri. Penggunaan motor
stepper memiliki beberapa keunggulan dibandingkan dengan penggunaan
motor DC biasa.
Motor Stepper merupakan motor DC yang dapat diatur posisinya
dengan akurat pada posisi tertentu dan dapat berputar ke arah yang
diinginkan dengan memberi sinyal-sinyal pulsa dengan pola tertentu.
Biasanya

motor

stepper

digunakan

untuk

aplikasi-aplikasi

yang

membutuhkan torsi kecil dengan akurasi yang tinggi, seperti pada


penggerak head pada floppy disk drive atau CD-ROM.
Motor Stepper merupakan motor DC yang yang tidak memiliki
komutator. Secara tipikal hanya memiliki kumparan pada statornya,
sedangkan pada bagian rotornya merupakan magnet permanen. Stator
terdiri

dari

beberapa

kutub, makin

banyak

kutub

makin

sulit

konstruksinya. Setiap kutub memilki lilitan yang menghasilkan medan


magnet yang akan menggerakkan rotor. Pemberian arus yang berurutan
pada kutubkutubnya menyebabkan medan magnet berputar yang akan
menarik rotor ikut berputar.

6.6.3 Percobaan 3: Motor Servo


6.6.3.1 Listing Program
#include <mega2560.h>

// Menyertakan library mega2560.h

void sudutservo(float sudut_degree_phi)

// Fungsi untuk mengkonversi


masukan sudut ke lebar pulsa
PWM

{
float pulsa_sudut;
int pwm;
pulsa_sudut=sudut_degree_phi*7.122;

// Konstanta nilai OCR/derajat

if

// Batas minimal nilai pulsa

(pulsa_sudut<0) pulsa_sudut=0;

else if (pulsa_sudut>1282)pulsa_sudut=1282;

// Batas maksimal nilai pulsa

pwm=376+(int)pulsa_sudut;

// Memasukkan nilai pulsa ke variabel PWM

OCR4CL=pwm&0xff;

// Pemisahan nilai low lalu masuk register

OCR4CH=(pwm>>8)&0xff;

// Pemisahan nilai high lalu masuk register

}
void main(void)
{
#pragma optsizeCLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif
DDRH=0xff;

// Mengatur semua PORTH jadi output

TCCR4A=0x08; // Set timer mode phase and frequency correct PWM top = ICR4
TCCR4B=0x12; // Mode non-inverted

ICR4H=0x36;

// Topnya = 0x3600 agar periode pulsa PWM 20ms

ICR4L=0x00;
ACSR=0x80;
while (1)
{
sudutservo(60);

// Memasukkan nilai sudut

};
}
6.6.3.2 Flowchart
Start

Inisiasi
-Timer mode Phase correct PWM
-Intterupt CTC
-Atur nilai TOPICR
-Tulis fungsi sudut servo
-

While(1)

Masukkan nilai sudut servo


Gambar 6.14 Flowchart Percobaan Motor Servo

6.6.3.3 Analisis
7
Pada percobaan ini mikro mengeluarkan pulsa PWM yang bisa kita
atur lebar duty cyclenya dengan cara mengganti nilai pada fungsi konversi
sudutservo(). Sehingga sudut servo itu akan berubah dengan sudut yang
kita masukkan.
8

Tabel 6.3 Data Percobaan Motor Servo

V
ar
ia

12
15
18

si
1
2
3

10

Sudut pada program

13
16
19

60
120
180

11

Sudut pada
motor
14
17
20

60
120
170

21
22

Dapat dilihat pada tabel percobaan, nilai sudut yang

dimasukkan terlihat sama dengan yang diatur pada motor servo. Namun
pada variasi ke-3, sudut pada program berbeda sedikit dari sudut pada
motor. Hal ini dikarenakan adanya precision loss pada konversi bilangan
dan pembulatan nilai pulsa yang kurang sempurna.
23
6.6.3.4 Aplikasi
24

Pembuatan lengan robot ini memerlukan beberapa motor

servo sebagai penggerak lengan robot, untuk mengerakkan motor servo


tersebut diperlukan suatu modul servo controller untuk mengatur
pergerakan lengan robot agar dapat mengikuti gerak lengan manusia secara
bersamaan. Salah satu robot yang memiliki sistem gerak seperti manusia
adalah lengan robot. Lengan robot tersebut dirancang agar dapat mengikuti
gerak lengan manusia, serta mampu bergerak secara seimbang dengan
menggerakkan motor servo pada setiap sendi robot secara bersamaan.
Robot ini dikedalikan dengan menggunakan suatu pengendali yang disebut
mikrokontroler, sehingga sistem gerak dari robot ini menjadi otomatis.
25

Lengan robot ini menggunakan sistem kontrol gerak

holomonic. Gerak holomonic merupakan gerak yang serupa dengan gerak


ujung pensil atau pulpen ke segala arah di permukaan kertas sesuai dengan
keinginan. Penerapan sistem gerak holomonic memungkinkan gerak

lengan robot dapat menjangkau segala arah dengan mudah. Lengan robot
yang dibuat ini lebih menitik beratkan pada jenis kontrol kinematika
dengan memanfaatkan program pada mikrokontroller karena memiliki
struktur dinamika yang rumit.
26

6.7

Kesimpulan
1. Untuk mengatur kecepatan motor DC bisa dengan menggunakan timer
dengan mode PWM.
2. Mode PWM yang digunakan dalam percobaan motor DC adalah Phase
Correct PWM Top=0xff yang mempunyai nilai mulai dari 0 sampai
3.
4.
5.
6.

dengan 255.
Pada program, nilai PWM diberikan pada OCR4AL.
Aplikasi motor DC dapat digunakan untuk dimanfaatkan perputarannya.
Untuk mengatur gerakan motor stepper digunakan setting timer CTC.
Pada motor stepper, kondisi awal PORTL=0b00001000 dan bergerak

terus hingga kondisi PORTL=0b10000000 lalu kembali ke kondisi awal.


7. Untuk mengatur gerakan motor servo digunakkan setting timer Phase
correct PWM Top=ICR4.
8. Mikrokontroller ATmega 2650 dapat digunakan untuk mengontrol motor
DC, motor stepper, dan motor servo.
9. Aplikasi motor servo dapat digunakan sebagai aktuator lengan robot.
10. Aplikasi motor stepper dapat digunakan untuk kepentingan industri yang
membutuhkan akurasi tinggi, misal menggerakkan alat solder otomatis.
11. +2 kesimpulan
27
28

Anda mungkin juga menyukai