Anda di halaman 1dari 55

BAB I

PENDAHULUAN

Dalam perkembangan teknologi yang semakin maju maka kita juga

dituntut untuk berkreasi memberikan inofasi dalam dunia teknologi. Penulis

berusaha mengikuti perkembangan teknologi elektronika yang saat ini sedang

barkembang yaitu mikrokontroler.

Mikrokontroler seperi layaknya CPU komputer hanya saja dalam kemasan

yang lebih kecil dan fasilitas yang terdapat didalamnya juga terbatas. Sekarang

banyak sekali perangkat elektronika yang memanfaatkan mikrokontroler seperti

yang di aplikasikan pada permainan time zone, perangkat pengaman anti maling

pada kendaraan. Selain aplikasi tersebut masih banyak aplikasi yang lain yang

menggunakan mikrokontroler.

A. ALASAN PEMILIHAN JUDUL

Motor stepper merupakan motor yang bekerja dengan pulsa – pulsa

listrik. Pada saat melakukan Kerja Praktek penulis pernah membuat

pengontrol untuk motor stepper tetapi masih dengan sistem manual. Pada

sistem manual sulit mengatur kecepatan sesuai kecepatan yang didinginkan.

Oleh karena itulah penulis ingin mengaplikasikan mikrokontroler sebagai

kendali motor stepper agar kecepatan dan mode gerakan dari motor stepper

lebih mudah ditentukan.


B. PERUMUSAN MASALAH

Penulis mencoba mengimplementasikan ide untuk mengatur gerak

sebuah motor stepper menggunakan mikrokontroler. Karena di dalam sebuah

mikrokontroler terdapat fitur yang mungkin sekali digunakan untuk

mengontrol motor stepper. Yang pertama kali harus dipelajari adalah

bagaimana prinsip kerja dari motor stepper dan bagaimana cara

menggerakanya. Hasil yang didapat dari apa yang pernah penulis pelajari

bahwa untuk menggerakan motor stepper diperlukan sebuah driver. Driver ini

mengeluarkan pulsa dengan rentan waktu sesuai dengan clock yang diberikan.

Dalam driver itu sendiri terdapat beberapa pin masukan diantaranya

clock dan arah putar. dari hasil ini dapat disimpulkan untuk mengatur motor

stepper diperlukan driver dan untuk mengatur driver diperlukan sinyal clock

dan sinyal arah. Sinyal clock dan sinyal arah ini yang akan penulis keluarkan

dari mikrokontroler. Dengan tujuan utama memprogram mikrokontrol untuk

mengendalikan motor stepper. Dengan hasil akhir motor stepper bergerak

sesuai dengan program yang ditanam di mikrokontroler.

Dengan sinyal clock dan sinyal arah yang diterima oleh driver

kemudian diterjemahkan menjadi dalam bentuk empat sinyal untuk

menggerakan motor stepper.

C. TUJUAN PENULISAN

1. Sebagai syarat untuk menyelesaikan pendidikan program Diploma III (D3)

pada Sekolah Tinggi Teknik Wiworotomo (STTW purwokerto).


2. Untuk mengaplikasikan teori – teori selama di bangku kuliah.

3. Sebagai sarana untuk menambah ilmu pengetahuan bidang teknik elektro

serta peningkatan kemampuan dan ketrampilan di bidang tersebut.

4. Mengetahui secara pasti perinsip kerja motor stepper dan cara

menggerakannya.

5. Dapat membuat program untuk mengatur gerak motor stepper dengan

mikrokontroler AVR ATMega 8 menggunakan bahasa asembler.

D. RUANG LINGKUP PEMBAHASAN

Pembahasan tugas akhir ini mencakup :

1. Diagram sintem pengontrol motor stepper

2. Komponen yang digunakan, gambar rangkaian dan

prinsip kerja rangkaian

3. Motor Stepper

4. Rangkaian Driver Motor Stepper

5. AVR ATMega 8

6. Pemrograman menggunakan AVR Studio 4

7. Baskom AVR

E. SISTEMATIKA PENULISAN

BAB I PENDAHULUAN
Merupakan bagian yang memuat alasan pemilihan judul,

perumusan masalah, tujuan penulisan, ruang lingkup

pembahasan, dan sistematika penulisan

BAB II LADASAN TEORI

Merupakan bagian yang memuat teori sistem yang dibuat dan

teori dari sistem pengatur kecepatan dan mode gerak motor

stepper.

BAB III METODE DAN TEKNIK PENGUMPULAN DATA

Dalam bab ini memuat teknik yang digunakan dalam

mengumpulkan data yang digunaan sebagai acuan dalam

perencanaan dan pembuatan pengontrol motor stepper.

BAB IV PERANCANGAN DAN PEMBUATAN PIRANTI

Bab ini merupakan bagian yang memuat perancangan sistem,

gambar rangkaian, prinsip kerja rangkaian, pembuatan alat,

pemrograman dan uji coba sistem.

BAB V PENUTUP

Merupakan bagian yang memuat tentang kesimpulan dari hasil

perancangan sampai pembuatan piranti dan saran-saran.

DAFTAR PUTAKA
Merupakan bagian yang memuat tentang data buku – buku dan

referensi yang penulis jadikan bahan acuan dalam pembuatan

Tugas Akhir..

DAFTAR LAMPIRAN

Lampiran A

Memuat data sheet komponen yang digunakan dalam peralatan.

Lampiran B

Memuat instruction set dari mikrokontroler AVR ATMega8.

Lampiran C

Memuat program yang digunakan dalam peralatan.


BAB II

LANDASAN TEORI

Sistem dasar untuk mengendalikan motor stepper memiliki tiga bagian

atau tiga element dasar. Yaitu indexer (kontroler / pengontrol), driver, dan motor

stepper (gambar 1)

Gambar 1 sistem kendali motor stepper.

Dari gambar 1 terdapat 4 element dimana indexer diatur oleh interface.

Bagian user interface sebagai bagian tambahan jika menginginkan pengontrolan

melalui komputer. Pada dasarnya hanya dengan indexer, driver dan motror stepper

saja sudah cukup untuk mengontrol motor stepper.

Indexer adalah bagian yang berfungsi sebagai pemberi perintah untuk

mengatur kecepatan dan mode gerak motor stepper. Sinyal dari indexer akan

dikirimkan ke driver. Dari indexer dapat langsung dikeluarkan empat sinyal atau

hanya dua sinyal. Jika mengeluarkan empat sinyal maka driver hanya berfungsi

untuk menguatkan sinyal tersebut. Jika hanya dua sinyal yang dikeluarkan maka
pada bagian driver diperlukan translator (penerjemah) untuk merubah dua sinyal

perintah menjadi empat sinyal yang sesuai untuk menggerakan motor stepper.

A. MOTOR STEPPER

Motor stepper merupakan motor yang mengubah pulsa listrik yang

diberikan menjadi gerakan rotor yang diskrit disebut step. Misalnya jika satu

derajat per langkah (step) maka motor tersebut memerlukan 360 pulsa untuk

bergerak sebanyak satu putaran (pada intinya stepper motor mengubah pulsa

listrik menjadi suatu perpindahan gerak yang tertentu secara rotasi) . Ukuran

kerja dari stepper biasanya diberikan dalam jumlah langkah per putaran per

detik.
Gambar 2. Konsep Dasar Motor Stepper

Dari gambar diatas terdapat istiah sbb: - stator stator core merupakan

struktur bagian terluar dan memiliki enam poles/teeth. - rotor merupakan

bagian dalam (inner device) yang terdiri dari empat poles. Baik stator maupun

rotor dibuat dari soft steel. Pada gambar nampak bahwa stator memiliki tiga

set windings (dict: “an electrical conductor that is wound around a magnetic

material, esp. one encircling part of the stator or rotor of an electric motor or

generator or forming part of a transformer”). Satu set dari windings dikatakan


sebagai satu phase, dengan demikian gambar diatas merupakan motor tiga

fase. Arus disuplai darisumber tegangan DC melalui switch I, II, dan III.

Motor stepper banyak digunakan dalam bidang industri terutama

dipakai pada suatu mesin atau peralatan kontrol digital yang membutuhkan

ketepatan posisi. Keunggulan motor stepper lainnya adalah frekuensi pulsa

input-nya tidak tergantung pada beban. Perputaran motor stepper adalah

perputaran yang diskrit dan arah perputarannya dapat searah ataupun

berlawanan dengan arah jarum jam. Stuktur sederhana dari motor stepper

tampak pada Gambar 3 dalam penampang melintang :

Gambar 3. Struktur Motor Stepper Sederhana

Jika dilihat dari prinsipnya motor stepper terbagi menjadi tiga jenis

motor, dimana 3 jenis motor stepper memiliki karakteristik yang berbeda-

beda. Sedangkan jika dilihat dari lilitan yang ada didalamnya motor stepper

dapat dibagi menjadi 2 jenis.

1. Berdasarkan prisnsip kerjanya ketiga jenis motor stepper tersebut adalah :

a. Permanent Magnet (PM)

Motor stepper berjenis PM adalah motor stepper yang rotornya

merupakan magnet yang permanen, stator memperoleh medan magnet

dari lilitan yang melingkari stator tersebut sehingga stator

menghasilkan kutub – kutub magnet. Dengan adanya interaksi antara

fluks rotor dengan gaya magnet stator maka motor stepper ini akan
bergerak atau beroperasi. Terjadinya fluks dikarenakan pembiasan dari

magnet rotor. Ciri – ciri dari motor stepper bejenis PM adalah pada

saat keadaan tidak ada aliran arus (biasa disebut keadaan tanpa

eksitasi) maka jika motor ini diputar terdapat torsi yang menahan atau

melawan.

Gambar 4. Konstruksi Motor Stepper Magnet Permanent

Gambar 4 tersebut merupakan magnet permanent sederhana 90

derajat motor magnet permanent dengan empat phase (A-D).

b. Variable Reluctance (VR)

Motor stepper jenis ini memiliki bentuk rotor yang unik yaitu

berbentuk silinder dan pada semua unitnya memiliki gerigi yang

memiliki hubungan dengan kutub-kutub stator. Rotor pada magnet tipe

ini tidak menggunakan magnet permanent. Stator terlilit oleh lilitan

sehingga pada saat teraliri arus, stator akan menghasilkan kutub

magnet. Jumlah gerigi pada rotor akan menentukan langkah atau step

motor. Perbedaan motor stepper berjenis PM dengan VR yaitu motor

berjenis VR memiliki torsi yang relatif lebih kecil dibanding dengan


motor stepper berjenis PM. Hal lain yang dapat dilihat adalah sisa

kemagnetan sangat kecil sehingga pada saat motor stepper tidak dialiri

arus maka ketika diputar tidak ada torsi yang melawan. Sudut langkah

motor stepper berjenis VR ini bervariasi yaitu sekitar sampai dengan

30o. Motor stepper berjenis VR ini memiliki torsi yang kecil. Sering

ditemukan pada printer dan instrumen-instrumen pabrik yang ringan

yang tidak membutuhkan torsi yang besar.

Gambar 5. Konstruksi Motor Stepper Variable Reluctance

Seperti pada gambar 5 motor mempunyai 3 pasang kutub stator

(A, B, C) yang diset terpisah 15 derajat. Arus dialirkan ke kutub A

melalui lilitan motor yang menyebabkan tarikan magnetic yang

menyejajarkan gigi rotor kekutub A. jika kita memberi energi kekutub

B maka akan menyebabkan rotor berputar 15 derajat sejajar kutub B.

proses ini akan berlanjut kekutub C dan kembali kekutub A searah

dengan jarum jam.

c. Permanent Magnet – Hybrid (PM-H)

Permanent magnet hybrid merupakan penyempurnaan motor

stepper di mana motor stepper ini memiliki kecepatan 1000step/detik


namun juga memiliki torsi yang cukup besar sehingga dapat dikatakan

bahwa PM-H merupakan motor stepper kombinasi antara PM dan VR

motor stepper. Motor hybrid mengkombinasikan karakteristik terbaik

dari motor variable reluktansi dan motor magnet permanent. Motor ini

dibangun dengan kutub stator yang banyak-gigi dan rotor magnet

permanent. Motor hybrid standar mempunyai 200 gigi rotor dan

berputar pada 1,8 derajat sudut step. Karena memperlihatkan torsi

tinggi dan dinamis serta berputar dengan kecepatan yang tinggi maka

motor ini digunkan pada aplikasi yang sangat luas.

Gambar 6. Konstruksi Motor Stepper Jenis PM-hybrid

2. Dilihat dari lilitannya motor stepper terbagi menjadi 2 jenis yaitu :

a. Motor Stepper Unipolar


Motor stepper unipolar terdiri dari dua lilitan yang memiliki

center tap. Center tap dari masing masing lilitan ada yang berupa kabel

terpisah ada juga yang sudah terhubung didalamnya sehingga center

tap yang keluar hanya satu kabel. Untuk motor stepper yang center

tapnya ada pada masing – masing lilitan kabel inputnya ada 6 kabel.

Namun jika center tapnya sudah terhubung di dalam kabel inputannya

hanya 5 kabel. Center tap dari motor stepper dapat dihubungkan ke

pentanahan atau ada juga yang menghubungkannya ke +VCC hal ini

sangat dipengaruhi oleh driver yang digunakan. Sebagai gambaran

dapat dilihat konstruksi motor stepper unipolar pada gambar 7.

Gambar 7. Kostruksi Motor Stepper Unipolar

b. Motor Stepper Bipolar

Motor stepper bipolar memiliki dua lilitan perbedaaan dari tipe

unipolar adalah bahwa pada tipe bipolar lilitannya tidak memiliki

center tap. Keunggulan tipe bipolar yaitu memiliki torsi yang lebih

besar jika dibandingkan dengan tipe unipolar untuk ukuran yang sama.

Pada motor stepper tipe ini hanya memiliki empat kabel masukan.

Namun untuk menggerakan motor stepper tipe ini lebih rumit jika
dibandingkan dengan menggerakan motor stepper tipe unipolar.

Sebagai gambaran dapat dilihat konstruksi motor stepper bipolar pada

gambar 8.

Gambar 8. Konstruksi Motor Stepper Bipolar

Bentuk asli dan susunan motor stepper dapat dilihat pada gambar 9.

Gambar 9. Bentuk Motor Stepper


Gambar 10. Bagian Motor Stepper.

Dari gambar 10 dapat dilihat bagian-bagian dari motor stepper yaitu

tersusun atas rotor, stator, bearing, casing dan sumbu. sumbu merupakan

pegangan dari rotor dimana sumbu merupakan bagian tengah dari rotor,

sehingga ketika rotor berputar sumbu ikut berputar. Stator memiliki dua

bagian yaitu pelat inti dan lilitan. Plat inti dari motor stepper ini biasanya

menyatu dengan casing. Casing motor stepper terbuat dari aluminium dan ini

berfungsi sebagai dudukan bearing dan stator pemegangnya adalah baud

sebanyak empat buah. Di dalam motor stapper memiliki dua buah bearing

yaitu bearing bagian atas dab bearing bagian bawah.


Gambar 11. Bagian Stator Motor stepper

Gambar 12. Bagian Rotor Motor stepper


Gambar 13. Kabel Masukan Dari Motor Stepper

B. DRIVER

Untuk menggerakan motor stepper berbeda dengan menggerakan

motor dc, dimana untuk menggerakan motor stepper diperlukan rangkaian

driver yang fungsinya untuk memberikan catu ke motor stepper. Driver tidak

hanya mengeluarkan tegangan, namun tegangan yang dikeluarkan juga harus

dalam bentuk pulsa. Karena motor stepper bergerak step by step sesuai

dengan pulsa. Bentuk pulsa yang dikeluarkan oleh driver dapat dilihat pada

Gambar 14 dan gambar 15.


Gambar 14. Pulsa Driver Bipolar mode Full Step

Gambar 15. Pulsa Driver Unipolar mode Full Step

Bentuk pulsa seperti gambar 14 dan 15 harus dapat dikeluarkan oleh

driver sebagai syarat untuk dapat menggerakan motor stepper. tinggi pulsa

yang dikeluarkan juga harus sesuai dengan spesifikasi tegangan motor stepper

yaitu kisaran 5 sampai 36 volt. Pada gambar 14 dan 15 sebenarnya memiliki

bentuk yang sama hanya saja susunannya berbeda. pada gambar 14 adalah

susunan pulsa untuk menggerakan motor stepper tipe bipolar, sedangkan pada
gambar 15 adalah susunan pulsa untuk menggerakan motor stepper tipe

unipolar.

Driver untuk motor stepper unipolar lebih sederhana dari driver tipe

bipolar karena untuk motor stepper tipe unipolar driver cukup dengan dilalui

arus satu arah saja sedangkan untuk tipe bipolar driver harus dapat dilalui oleh

arus dengan dua arah. Dari alasan ini motor stepper tipe unipolar lebih banyak

digunakan karena untuk menggerakannya lebih sederhana. Driver untuk motor

stepper unipolar data menggunakan IC ULN2003, ULN2004 atau dapat juga

dengan menggunakan transistor. Jika menggunakan transistor, maka transistor

difungsikan sebagai saklar untuk menghubungkan motor stepper ke Vcc atau

ke ground tergantung dari hubungan common motor stepper. Untuk

menggerakan motor stepper tipe bipolar dapat menggunakan IC L293, L298

atau menggunakan transistor yang dibuat rangkaian push pull.

Driver dapat menggunakan empat masukan langsung atau hanya

dengan dua masukan saja. Jika menggunakan empat masukan secara langsung

maka driver berfungsi untuk menguatkan sinyal tersebut. Namun jika

menggunakan dua masukan saja maka masih diperlukan Translator

(penerjemah) yang fungsinya

C. MIKROKONTROLER AT MEGA8

Mikrokontroler At Mega8 merupakan mikrokontroler keluaran dari

Atmel Corporation. Mikrokontrol tipe ini termasuk dalam jenis AVR (Alf and
Vegard’s Risc processor). Mikrokontroler AVR memiliki arsitektur RISC 8

bit, dimana semua instruksi dikemas dalam kode 16-bit dan sebagian besar

instruksi dieksekusi dalam satu siklus clock berbeda dengan instruksi MCS51

yang membutuhkan 12 siklus clock untuk mengeksekusi satu perintah.

Perbedaan ini terjadi karena kedua jenis mikrokontroler tersebut memiliki

arsitektur yang berbeda AVR sudah menggunakan teknologi RISC (Reduced

Instruction Set Computing) sedangkan MCS51 menggunakan tipe CISC

(Complex Instruction Set Computing)

Mikrokontroler AVR keluaran dari atmel terbagi menjadi tiga

kelompok yaitu: AT90S, ATTiny, dan ATMega. Yang penulis pakai disini

adalah termasuk dalam kelompok ATMega, dengan seri ATMega8.

1. Arsitektur CPU AVR At Mega 8


• Gambar 16. Arsitektur At Mega8

2. Fitur

a. Saluran I/O sebanyak 23 buah terbagi menjadi 3 port.

b. ADC sebanyak 6 saluran dengan 4 sluaran 10 bit dan 2 saluran 8

bit.

c. Tiga buah timer counter, dua diantaranya memiliki fasilitas

pembanding.

d. CPU dengan 32 buah register.

e. Watchdog timer dan oscilator internal.

f. SRAM sebesar 1K byte

g. Memori flash sebesar 8K Bytes system Self-programable Flash.

h. Unit interupsi internal dan eksternal

i. Port antarmuka SPI


j. EEPROM sebesr 512 byte.

k. Port USART (Universal Syncronous and Asyncronous serial

Receiver and Transmiter) untuk komunikasi serial.

3. Konfigurasi Pin

Gambar 17. Konfigurasi Pena At Mega8

a. Vcc merupakan pin yang berfungsi sebagai suply catu daya.

b. GND merupakan pin ground.

c. Port B (PB0 - PB7) merupakan I/O dua arah dan dapat difungsikan

sebagai XTAL1/XTAL2/TOSC1/TOSC2.

d. Port C (PC0 – PC5) merupakan I/O dua arah dapat juga

difungsiksn sebagai ADC0 – ADC5

e. Port C 6 / RESET pin untuk mereset mikrokontroler.

f. Port D (PD0 – PD7) merupakan pin I/O dua arah dan juga

memiliki fungsi khusus yang dapat digunakan jika parameternya diset.

g. AVCCmerupakan pin masukan tegangan untuk ADC

h. AREF merupakan pin masukan tegangan referensi ADC.


BAB III

METODE DAN TEKNIK PENGUMPULAN DATA

Dalam pembuatan piranti dan laporan untuk Tugas Akhir, penulis

memerlukan banyak materi sebagai bahan acuan dalam pembuatan sistem yang

akan dibuat. Sebagai landasan untuk perancangan dan untuk memperkuat hasil

dari Tugas akhir maka sangat dibutuhkan materi pendukung. Dalam Tugas Akhir

ini yang merupakan bagian objek adalah motor stepper dan piranti uama lainnya

yaitu driver dan mikrokontroler. Untuk dapat membuat piranti ini maka penulis

harus memiliki materi dari piranti – piranti yang akan digunakan. Adapun dalam

pencarian materi yang diperlukan penulis menggunakan beberapa metode yaitu :

A. METODE OBSERVASI ( pengamatan )

Metode observasi yaitu metode mencari data dengan melakukan

pengamatan terhadap alat / piranti yang berkaitan dengan sistem guna

membantu menentukan sistem yang akan dibuat. Materi dan pengetahuan dari

hasil pengamatan, penulis kumpulkan kemudian penulis olah dan penulis

gunakan sebagai salah satu acuan dalam pembuatan sistem yang penulis

gunakan untuk Tugas Akhir.

Dalam melakukan pengamatan tidak selalu harus mengamati sitem

yang sama, namun dapat mengamati piranti yang lain namun memiliki salah
satu bagian yang sama dengan sitem yang akan dibuat. Meskipun hanya salah

satu bagian saja namun sebagai bahan acuan sudat temasuk hal yang penting.

Karena dari bagian sistem itu dapat kita

B. METODE INTERVIEW ( wawancara )

Metode interview merupakan metode pencarian data melalui

wawancara / tanya jawab dengan orang yang lebih mengetahui tentang sistem

dari piranti yang akan dibuat. Data yang didapat dari hasil wawancara yang

behubungan dengan sistem penulis catat dan dijadikan sebuah acuan untuk

pembuatan piranti

C. METODE KEPUSTAKAAN

Metode kepustakaan merupakan pengumpulan data dari buku, artikel

dan bacaan lain yang berhubungan dengan sistem yang akan di bangun. Tidak

semua materi didapat dari buku, sehingga diperlukan materi bacaan yang

banyak untuk melengkapi materi yang belum ada tentang sistem yang akan

dibangun. Dapat dengan membeli buku yang dianggap mengandung materi

yang diperlukan, membaca diperpustakkaan, majalah atau dapat juga

melakukan pencarian di internet. Semakin banyak materi pendukung maka


akan semakin banyak juga pengetahuan yang didapat dan akan semakin

menguasasi materi untuk pembuatan Tugas Akhir.

BAB IV

PERANCANGAN SISTEM

Perancangan sistem ialah tahap awal dalam proses pembuatan alat.

Alat yang akan dibuat terpisah menjadi beberapa bagian yaitu indexer, driver

dan motor stepper. Tahap awal ini menentukan komponen yang akan

digunakan untuk membuat sistem tersebut. Indexer sebagai pengontrol akan

menggunakan mikrokontroler ATMega8. Driver merupakan bagian

pemrosesan dimana menerima perintah dari indexer dan mengolahnya menjadi

sinyal untuk menggerakan motor stepper. Motor stepper merupakan objek

yang akan diatur kecepatan putar dan mode geraknya.

Untuk dapat mengatur gerakan dari motor stepper diperlukan sebuah

sistem pengontrol yang terdiri dari beberapa bagian. Bagian - bagian tersebut

yaitu : indexer (pemberi perintah), driver (kendali) dan motor stepper. setiap

bagian dari sistem memiliki fungsi yang saling terkait. Diagram blok dari

sistem yang digunakan dapat dilihat pada gambar 1.

Indexer (At Mega8) Driver Motor Stepper

Gambar 1. Diagram Blok Sistem


Indexer (pemberi perintah) bagian ini memberikan perintah untuk

menentukan kecepatan dan mode gerak motor stepper. Perintah dari indexer

diberikan ke driver untuk diterjemahkan menjadi bentuk empat sinyal yang sesuai

untuk menggerakan motor stepper. Driver terbagi menjadi dua bagian, translator

dan driver. Translator bagian yang fungsinya menerjamahkan dari sinyal clock

dan arah menjadi empat sinyal dengan bentuk yang sesuai untuk menggerakan

motor stepper. Driver sebagai penguat yang menguatkan sinyal yang diterima dari

translator untuk kemudian menggerakan motor stepper. Jika menggunakan sistem

indexer langsung mengeluarkan empat sinyal maka pengaturan kecepatan dan

mode gerakan akan lebih rumit. Oleh karena itu Sistem yang akan penulis

gunakan adalah indexer mengeluarkan dua buah sinyal (clock dan arah).

Mikrokontroler ATMega8 sebagai indexer memberikan perintah ke driver

berapa kecepatan putar motor stepper dan kapan saat ber balik arah.

Mikrokontroler mengeluarkan dua buah sinyal yang diberikan kepada driver.

Sinyal pertama yaitu clock untuk menentukan kecepatan gerak dari motor stepper

dan sinyal kedua adalah sinyal untuk merubah arah putaran dari motor stepper.

Mikrokontroler akan mengatur kecepatan motor stepper dari lambat,

kemudian bertambah cepat (memberikan percepatan) setelah mencapai kecepatan

yang paling tinggi sesuai program motor stepper akan berputar konstan sebanyak

jumlah putaran yang ditentukan program setelah tercapai maka mikrokontroler

akan memberikan perintah lagi ke motor stepper untuk mengurangi kecepatan

(perlambatan) saat sampai pada kondisi paling lambat menurut program, motor
stepper memberikan perintah lagi yaitu merubah arah putaran dan seperti itu

seterusnya.

A. PERANCANGAN PIRANTI

Piranti pada aplikasi mikrokontroler avr atmega8 sebagai pengatur

kecepatan dan mode gerak motor stepper menggunakan Mikrokontroler AVR

ATMega8 sebagai indexer, IC L297 dan L298 sebagai driver, motor stepper

sebagai objek yang diatur, dan rangkaian catu daya sebagai sumber tegangan

dari sistem.

1. Mikrokontroler AVR ATMega8

Rangkaian untuk mikrokontroler AVR ATMega8 dapat dibuat

sendiri rangkaiannya atau dengan menggunakan ATMega8 Development

board. jika menggunakan ATMega8 development board maka hanya

tinggal menambahkan kabel jumper untuk tegangan, ISP untuk melakukan

programing dan jumper sinyal keluaran dari board.


Gambar 2. ATMega8 Development board.

Mikrokontroler ini sudah memilki oscilator internal sehingga

mikrokontroler ini dapat bekerja tanpa tambahan oscilator eksternal. Board

ATMega8 tersebut sudah terdapat konektor untuk port keluaran dan

konektor lain yang dapat digunakan. Namun pada sistem pengontrol motor

stepper ini tidak semua fasilitas yang ada di board ATMega8 digunakan.

2. Driver

Untuk meggerakan motor stepper diperlukan tegangan yang

berbentuk pulsa karena motor stepper bergerak bukan berdasarkan besar

tegangan tapi lebih dipengaruhi oleh kecepatan pulsa. Besar teganggan dan

arus memang sangat mempengaruhi namun bukan pada kecepatan

melainkan pada torsi atau daya. Untuk menghasilkan torsi yang besar

diperlukan arus dan tegangan yang besar, dengan catatan tidak melebihi

kemempuan motor stepper.

Untuk menggerakan motor stepper biasanya menggunakan

tegangan mulai dari +5 – 24 volt. Untuk mengatur kecepatan motor

stepper ini driver harus dapat mengeluarkan pulsa dengan tinggi pulsa

sesuai tegangan yang digunakan untuk menggerakan motor stepper

tersebut (+5 -24Volt). Untuk tipe bipolar driver juga harus dapat dilewati

arus secara bolak-balik, tetapi untuk menggerakan motor stepper tipe


unipolar hanya searah. Bentuk pulsa yang harus dikeluarkan driver dapat

dilihat pada gambar.

Gambar 3 Pulsa Driver Bipolar mode Full Step

Gambar 4 Pulsa Driver Unipolar mode Full Step

Tugas Akhir ini akan menggunakan motor stepper tipe bipolar dan

menggunakan ICL297 dan L298 sebagai driver dari motor stepper

tersebut. Dari gabungan dua buah IC ini maka akan dihasilkan pulsa

keluaran seperti gambar 3. Sinyal masukan dari mikrokontroler akan

diproses oleh IC L297, dari IC L297 akan dikeluarkan 4 sinyal namun

masih lemah dan diperlukan penguat yaitu IC L298. komponen yang

digunakan sebagai driver yaitu :

Tabel 1. Komponen Driver


No. Nama Komponen Spesifikasi Jumlah
1 IC L298 1
L297 1
5 Dioda 1N5402 8
6 Resistor 4k7 6
0.5ohm/2watt 2
22Kohm 1
7 Capasitor 100nF 1
33uF/16Volt 1
3n3 1
8 Jumper Kawat
9 Kabel
10 Pendingin 1
11 Soket Isi 2 2
12 Terminal Isi 2 5
13 PCB Titik pin IC 1
14 Motor Stepper Tipe Unipolar 1
15 Spacer 10mm 4

Gambar 5. Driver Motor Stepper.

3. Motor Stepper

Motor stepper merupakan objek dari sistem yang dibuat. Motor

stepper akan bergerak sesuai dengan bentuk pulsa atau susunan pulsa dan

kecepatan pulas yang dikeluarkan oleh driver. Dimana driver

mengeluarkan empat sinyal yang diberikan ke motor stepper ini.


Urutan sinyal, kecepatan sinyal yang dikeluarkan oleh driver

bergantung sekali dengan sinyal yang diterima driver dari mikrokontroler.

Motor steppr yang digunakan adalah motor stepper dengan type bipolar.

Alasan mengapa menggunakan motor stepper bipolar aadalah tipe ini

memiliki torsi yang lebih besar jika dibandingkan dengan tipe unipolar.

4. Catu Daya

Catu daya merupakan bagian yang penting dalam sebuah sistem

karena tanpa catu daya sistem tidak akan bekerja. Dalam sistem pengatur

motor stepper ini catu daya yang digunakan memiliki dua buah tegangan

keluaran yaitu : +5Volt dan +18Volt. +5Volt digunakan untuk mencatu

board dari mikrokontroler dan IC driver, sedangkan +18Volt digunakan

untuk mencatu motor stepper.

Tabel 3. Komponen Catu daya


No. Nama Komponen Spesifikasi Jumlah
1 Transformator 3 Ampere 1
2 Dioda Bridge 3 Ampere 1
3 IC LM 7805 1
LM 317 1
4 Resistor 240 ohm 1
Variable 5k ohm 1
5 Kapasitor 100nf 1
10nf 1
6 Eclo 3300uf / 50V 1
330uf / 50V 1
100uf / 16V 1
7 PCB Titik pin IC 1
8 Spacer 10mm 4
9 Terminal Isi 3 1
10 Soket Isi 2 2
11 Jumper + kabel - -
12 Saklar On/off 1

Gambar 6. Rangkaian Catu Daya

B. PERANCANGAN PROGRAM

Sebelum membuat program untuk menggerakan motor stepper maka

yang ditentukan terlebih dahulu adalah mode gerak yang akan digunakan.

Pada program yang akan penulis buat adalah mode gerak trapesium. Diagram

dari mode gerak yang akan dibuat dapat dilihat pada gambar 6.

Putar kanan Putar kanan Putar kanan


start
percepatan kecepatan tetap perlambatan

Putar kiri Putar kiri Putar kiri


perlambatan kecepatan tetap percepatan

Gambar 7. Diagram Mode Gerak Motor Stepper


Dari gambar 6 dapat dilihat mode garak yang akan digunakan. Ini

gunakan sebagai acuan untuk mermbuat program mikrokontroler.

Fitur yang dimiliki mikrokontroler ini yang akan digunakan pada

Tugas Akhir ini adalah :

1. Timer counter dengan prescaler dan compare mode

2. Unit interupsi

3. Saluran keluaran pada PORTD.

4. Oscilator internal.

5. 32 x 8 register serbaguna.

6. 1K Byte internal SRAM.

Timer counter yang digunakan ialah timer counter 1 dimana memiliki

16-bit dengan fasilitas compare mode. Timer dan counter ini digunakan untuk

menentukan kecepatan dari motor stepper dengan mengaktifkan intrupsi setiap

match. Pada saat terjadi interupsi mikrokontroler akan mengeluarkan sinyal

dari PORTD. Keluaran dari PORTD menggunakan PIND0 dan PIND1. PIND

0 akan mengeluarkan clock, sedangkan PIND1 mengeluarkan sinyal arah.

Sinyal arah akan berubah setelah syarat yang ditentukan program terpenuhi

yaitu satu proses percepatan, kecepatan tetap kemudian perlambatan.

Mikrokontroler ini menggunakan internal oscilator 4MHz. Untuk merubah

percepatan memanfaatkan SRAM untuk menyimpan nilai yang dijadikan

acuan kecepatan. Nilai ini diambil kemudian dimasukan ke program timer

counter.
C. METODE PENGERJAAN

Metode pengerjaan tugas akhir ini tergambar seperti diagram :

Mulai

Perancangan Sistem
Piranti & Program

Pembuatan Piranti

Uji Coba Piranti

Ok?

Pembuatan Program+simulasi

Download Program ke At
Mega8

Uji Coba Sistem

Ok?

Selesai

Gambar 8 Diagram Proses Pembuatan Alat


BAB V

PEMBUATAN SISTEM

Piranti yang akan dibuat tersusun atas beberapa bagian yaitu :

mikrokontroler, driver dan catu daya. Bagian bagian tersebut merupakan bagian

yang penting dalam piranti yang akan dibuat. Didalam pembuatan piranti yang

pertama dibuat adalah catu daya karena bagian ini merupakan sumber tegangan

dari bagian yang lain sehingga tanpa bagian ini tidak dapat mencoba bagian yang

lain. Langkah kedua adalah pembutan driver dan langkah ketiga adalah

pembuatan rangkaian mikrokontrol. Setelah semua bagian selesai dibuat langkah

berikutnya adalah membuat progrram dan merakit bagian – bagian tersebut

menjadi sistem yang diinginkan.

A. PEMBUATAN CATU DAYA

Banyak Rangkaian catu daya yang dikenal dalam bidang elektronika.

Untuk pembuatan catu daya diperlukan rangkaian yang disesuaikan dengan

beban yang akan diterima oleh rangkaian catu daya. Dalam piranti yang

penulis buat beban utama dari catu daya yaitu : motor stepper dengan

tegangan 18Volt dan mikrokontroler + driver dengan tegangan 5volt. Untuk

mensuplai tegangan yang sesuai maka digunakan dua buah regulator dengan

gambar rangkaian seperti gambar 6. Dari hasil perancangan catu daya telah
ditentukan gambar rangkaian dan komponen yang akan digunakan dalam

pembuatannya berarti mengimplementasikan dari gambar rangkaian yang

telah ada menjadi catu daya dalam bentuk yang sebenarnya. Dalam pembuatan

catu daya menggunakanak board PCB titik (pin IC) sebagai tempat peletakan

komponennya. Penggunaan pcb titik ini karena untuk mempersingkat waktu.

Board PCB titik yang digunakan (6.5cm x 14.5cm). Langkah awal dari

pembuatan catu daya ini adalah :

1. Membuat lubang untuk spacer pada empat sudut PCB.

2. Menentukan letak komponen dan memasang komponen pada

Board PCB (pada pemasangan IC regulator diperlukan juga heat sink

sewhingga diperlukan jarak yang panjang dari komponen yang lain).

(diperlukan gambar.)

3. Menyolder kaki komponen tarhadap PCB.

4. Memotong kaki – kaki komponen yang telah disolder. Potongan

dari kaki komponen jangan langsung dibuang sebab diperlukan sebagai

jumper apabila pada saat pembuatan jalur menenmukan kebuntuan.

5. Membuat jalur dengan menghubungkan antar kaki komponen

sesuai dengan gambar rangkaian. Dalam pembuatan jalur harus dengan

sangat teliti untuk menghindari kesalahan. Jika terjadi kesalahan sedikit

maka akan kesulitan memperbaikinya, ini merupakan kelemahan dari

penggunaan PCB titik.


6. Beri tanda atau kode pada soket atau terminal untuk masukan dan

keluaran untuk yang 5 volt dan yang 18 volt untuk memudahkan pada saat

uji coba dan instalasi ke rangkaian yang lain nantinya.

7. Setelah semua jalur antar komponen terangkai dengan benar maka

tinggal melakukan ujicoba. Hubungkan input tegangan transformator ke

jala-jala listrik, tekan saklar pada posisi ON, lalu ukur tegangan keluaran

menggunakan multimeter. Ada dua buah keluaran yaitu 5volt dan 18 volt,

pada keluaran 18volt kurang atau lebih dari 18 volt putar resistor variabel

sehingga keluaran menjadi 18 volt. Jika masih terjadi kesalahan atau

keluaran tidak sesuai berarti ada kesalahan pada ranmgkaian, cek kembali

semua jalur dari rangkaian.

B. PEMBUATAN DRIVER

Driver untuk motor stepper dapat menggunakan IC yang khusus untuk

menggerakan motor stepper. Dalam kesempatan ini driver yang penulis

gunakan yaitu menggunakan IC L297 dan L298. IC driver ini dapat untuk

motor stepper bipolar. Pembuatan driver ini sesuai dengan hasil rancangan

seperti pada gambar 7. Didalam pembuatan driver ini karena waktu yang

terbatas dan singkat maka penulis membuat rangkaian drivernya

menggunakan PCB titik dengan ukuran board PCB (6.5 x 14.5cm). Pada IC

L297 memiliki 20 pin (gambar sedangkan IC L298 memiliki 15 pin. Yang

menyusahkan adalah pin pada IC L298 dikarenakan susunan pin dengan 13

pin di depan dan 12 pin dibelakang dan posisi yang tidak sejajar. Jika
menggunakan PCB titik pin IC ini perrlu dibuat sejajar, cukup dengan

memaksa menggeser pin yang bagian depan digeser sehingga sejajat dengan

pin yang dibelakang. Langkah – langkah dalam pembuatan driver ini yaitu:

1. Membuat lubang untuk spacer pada empat sudut PCB.

2. Menentukan letak komponen dan memasang komponen pada

Board PCB. Pada langkah ini yang perlu ditentukan dulu yang utama

adalah terminal untuk masukan dan keluaran dari driver yang harus

diposisikan di tepi untuk memudahkan merangkai dengan bagian lain.

Yang kedua adalah IC L298 karena pada IC ini diperlukan pendingin

sehingga diperlukan jarak dari komponen lain. Bagian berikutnya adalah

IC L297 dan komponen pendukung ditentukan sekiranya tampak rapi.

Pada IC L297 baiknya menggunakan soket untuk memudahkan

pemasangan atau pelepasan pada saat terjadi kerusakan.(diperlukan

gambar.)

3. Menyolder kaki komponen pada PCB. Pada saat menyolder IC

usahakan agar tidak terlalu lama agar panas solder tidak merusak IC.

4. Memotong kaki – kaki komponen yang telah disolder. Potongan

dari kaki komponen jangan langsung dibuang sebab diperlukan sebagai

jumper apabila pada saat pembuatan jalur menenmukan kebuntuan.

5. Membuat jalur dengan menghubungkan antar kaki komponen

sesuai dengan gambar rangkaian. Dalam pembuatan jalur harus dengan

sangat teliti untuk menghindari kesalahan. Jika terjadi kesalahan sedikit


maka akan kesulitan memperbaikinya, ini merupakan kelemahan dari

penggunaan PCB titik.

6. Beri tanda atau kode pada tiap terminal atau soket untuk

memudahkan instalasi.

7. Sebelum uji coba driver diperlukan catu daya (telah dibuat

sebelumnya), motor stepper, dan pembangkit pulsa. Pembangkit pulsa

dapat dibuat dengan timer 555 seperti gambar 9.

Gambar 9. Rangkaian Timer

8. Jika semua bagian yang digunakan untuk menguji driver lengkap,

maka rankailah driver dengan bagian yang lain. Langkah pengujiannya

dalah :

a. Buatlah jumper untuk tegangan dua buah. Jikas sudah

hubungkan soket tegangan dari catu daya ke driver. Ada dua buah

tegangan jangan sampai terbalik.


b. Hubungkan keluaran driver ke motor stepper. ada urutan

dalam pemasangannya ada 4 kabel (2 pasang) pasang sesuai urutan.

Satu pasang kabel motor stepper dengan satu pasang driver.

c. Hubungkan jumper half/full driver ke positif, cw/ccw ke

netral, dan clock ke keluaran dari timer.

d. Jika sudah terangkai dengan benar tinggal nyalakan

rangkaian. Jika rangkaian sudah benar maka motor stepper akan

berputar. Jika motor stepper tidak bergerak maka kemungkinan ada

kesalahan pada rangkaian, cek kembali.

C. MIKROKONTROLER ATMega8

Penggunaan rangkaian mikrokontroler ATMega8 ada dua pilihan,

dengan menggunakan board ATMega8 develompment board yang sudah ada

dipaaran atau dengan membuat sendiri rangklaian mikrokontroler tersebut.

Jika menggunakan rangkaian mikrokonter yang sudah tersedia dipasaran maka

akan memepersingkat waktu pembuatan sistem, karena hanya tinggal membeli

rangkaian berupa kit dan hanya tinggal menggunakannya.

D. PEMBUATAN PROGRAM

Sebelum membuat program tentukan dulu bahasa pemrograman yang

akan digunakan. Pada Tugas Akhir ini penulis menggunakan bahasa asembler

untuk membuat program mikrokontroler dengan menggunakan AVR Studo4

sebagai pemrogramnya.
1. Pengenalan AVR Studio 4

Untuk membuat program mikrokontroler AVR ATMega8 dapat

menggunakan bahasa AVR Studio4. Software ini menggunakan bahasa

asembler khusus untuk mikrokontroler AVR.

Gambar 10 Lambang AVR Studio 4.

AVR Studio 4 sudah dilengkapi dengan simulator sehingga

memudahkan dalam pembuatan program. Program yang telah dibuat dapat

disimulasikan menggunakan AVR Studio 4 ini, sehingga pada saat terjadi

kesalahan dapat diketahui sebelum di download ke mikrokontroler.

Didalam membuat program yang pertama kali harus diketahui

adalah struktur dari pemrograman, dan instruksi-instruksi yang digunakan

kemudian pengoperasian piranti lunak yang digunakan. Untuk instruksi

pemrograman dapat dilihat pada Data Sheet atau manual book dari

mikrokontroler. Untuk mikrokontroler ATMega8 memiliki kurang lebih

130 instruksi dan memiliki 19 interupsi.

2. Pengoperasian AVR Studio4

Untuk memulai pembuatan program menggunakan AVR Studio4

pertama kita buka program AVR Studio 4 dari start menu. Pada awal
sebelum masuk ke jendela pemrograman akan muncul jendela untuk

memilih apakah kita akan membuat program baru atau akan membuka

program yang telah tersimpan. Pilih “New Project” untuk membuat

program baru dan “Open” untuk membuka program yang telah tersimpan

lihat gambar 11.

Gambar 11. Tampilan Awal AVR Studio 4

Jika memilih “New Project” berarti membuat program baru maka

dari AVR Studio akan muncul lagi jendela untuk memberi nama program

lihat gambar 12. Pada jendela akan terlihat beberapa pilihan pertama
“Project type” pilihlah “Atmel AVR Asembler” kemudian “project name”

tulislah nama program yang akan dibuat, pada initial file akan sama

dengan project name. Setelah itu pilih lokasi untuk menyimpan program

yang akan dibuat. Jika semua sudah diseting baru klik next.

Gambar 12. Pembuatan Nama Program Baru

Langkah selanjutnya adalah menentukan mikrokontroler yang akan

digunakan pada tampilan akan terlihat “Select debug platform and device”

lihat gambar 13. Pada bagian debug platform pilih “AVR Simulator”

kemudian pada bagian device terdapat nama – nama mikrokontroler yang

dapat disimulasikan di AVR Studio4, pilihlah ATmega8 kemudian klik

finish.
Gambar 13. Pemilihan Mikrokontroler Yang Digunakan

Gambar 14. Tampilan Penulisan Program Asembler (AVR)


Untuk menuliskan program dapat langsung dituliskan pada jedela

program sebelah kanan. Dalam menulis program pada AVR Studio harus
sesuai dengan ketentuan bahasa pemrograman AVR. Urutan penulisan

program dapat dibaca pada Instruksi Dalam Asembler AVR.

3. Instruksi Asembler AVR

Dalam pembuatan program menggunakan AVR studio4 perlu

mengetahui terlebih dahulu perintah - perintah yang digunakan dalam

AVR Studio4 dan tata cara penulisannya. Dalam penulisan program

berbeda dengan saat menulis untuk catatan, dalam penulisan program

terdapat prosedur yang harus dipenuhi. Dalam setiap penulisan perintah

dalam program harus mengikuti empat buah ketentuan dibawah ini :

a. [label:] directive [operand] [komentar]

b. [label:] instruction [operand] [komentar]

c. Komentar

d. Baris kosong

Penulisan komentar dalam program juga memiliki ketentuan,

dimana komentar harus ditulis setelah tanda ‘;’. Tanda ‘;’ merupakan batas

dimana karakter setrelah tanda tersebut tidak akan dianggap sebagai

perintah.

Contoh :

.DEF TEMP=R16 ; R16 diberi nama TEMP (baris komentar)

LDI R16,$60 ; Memasukan nilai 60heksa ke register16

Instruksi untuk AVR Asembler terbagi menjadi beberapa

kelompok antara lain : instruksi perpindahan data, instruksi percabangan,

dan instruksi untuk bit.


a. Instruksi Perpindahan Data

Instruksi penyalinan data yaitu instruksi untuk memasukan data

atau memindah data antar register, dari register ke I/O atau

memasukan konstanta nilai ke register. Instruksi yang termasuk dalam

kelompok perpindahan data yang sering digunakan adalah :

1) LDI (Load Imidiete) untuk memasukan nilai konstanta ke

dalam register.

Contoh :
ldi r16,$FF ; Memasukan FF heksa ke r16
ldi r16,100 ; Memasukan 100 desimal ke r16

2) MOV (Move Between Register) perintah untuk

memindahkan nilai satu register ke register yang lain.

Contoh :
ldi r16,$FF ; Memasukan FF heksa ke r16
mov r17,r16 ; Memindahkan isi r16 ke r17

3) LPM (Load Program Memori) perintah untuk mengambil

nilai yang tersimpan di lokasi memori ke register 0.

Contoh :
lpm r0,Z+ ; Memasukan nilai pada alamat yang
ditunjukan oleh pointerZ ke r0.

4) IN perintah memasukan nilai dari port atau flag register

ke register.

Contoh :
in r16,portd ; Memasukan portd ke r16
5) OUT perintah untuk mengeluarkan nilai di register ke

port.

Contoh :
ldi r16,$FF ; Memasukan FF heksa ke r16
out portd,r16 ; Mengeluarkan isi r16 ke portd
6) PUSH perintah untuk memasukan nilai register ke stack.

Contoh :
in r16,SREG ; Nilai status register ke r16
push r16,100 ; Menyimpan nilai r16 ke stack

7) POP perintah untuk mengembalikan nilai register dari

stack.

Contoh :
pop r16 ; Mengembalikan nilai Stack ke r16
out SREG,r16 ; Memasukan 100 desimal ke r16

b. Instruksi Percabangan

Intruksi percabangan sebenarnya digunakan untuk mengatur

alur dari program agar urutan perintah yang dieksekusi sesuai dengan

yang diinginkan. Dalam instruksi percabangan dikelompokan dalam

menjadi dua yaitu : instruksi percabangan tak bersyarat dan instruksi

percabangan bersyarat.

1) Instruksi Percabangan Tak Bersyarat

Didalam percabangan tak bersyarat tidak diperlukan syarat tertentu

untuk melakukan percabangan. Yang termasuk instruksi

percabangan tak bersyarat antara lain : RJMP, JMP DAN IJMP.

Berikut adalah contoh penggunaan instruksi percabangan :

contoh :
ldi r19,$5A ; isi r19 dengan 5A heksa
out portd,r19 ; keluarkan r19 ke portd
rjmp contoh ; lompat ke contoh

2) Instruksi Percabangan Bersyarat


Instruksi percabangan bersyarat merupakan instruksi dimana akan

melompat ke rutin yang ditunjuk jika syarat terpenuhi. Instruksi ini

memanfaatkan flag SREG sebagai syarat yang harus dipenuhi, ada

dua pilihan percabangan yaitu : bercabang jika flag set atau

bercabang jika flag clear. Instruksi percabangan banyak sekali

digunakan dalam pembuatan program dengan bahasa asembler.

Yang termasuk instruksi percabangan bersyarat misalnya : BRNE

(Branch if not equal) dan BREQ (Branch if equal)

.................... ; instruksi sebelumnya


cpi r22,$01 ; bandingkan r22 dengan 01
breq naik ; jika sama lompat ke naik
brne turun ; jika tidak sama lompat ke turun
naik: ; rutin naik
................. ; instruksi dalam rutin naik
turun : ; rutin turun
................ ; instruksi dalam rutin turun

Pada penggalan program diatas dapat dilihat pemakain inststruksi

breq. Pada penggalan program yaitu mambandingkan r22 dengan

01 jika r22 sama dengan 01 maka lompat ke naik. Sedangkan jika

r22 tidak sama dengan 01 maka akan melompat ke turun.

c. Instruksi Bit

Pada instruksi untuk AVR asembler terdapat juga instruksi untuk

mengaktifkan dan menonaktifkan suatu bit pada register, port I/O atau

pada flag register. Contoh pwenggunaan instruksi Bit misalnya :

Contoh :
Swap R0 ; memindahkan nible atas ke nible
bawah
SBI portd,4 ; set bit portd4
Sei ; set bit I pada SREG
Contoh diatas merupakan salah satu dari instruksi bit yang ada pada

Asembler untuk AVR.

4. Pembuatan Program

Setelah memahami benar penggunaan AVR Studio4 dan mengenal

instruksi yang digunakan maka dapat melanjutkan langkah berikutnya

yaitu pembuatan program. Seperti yang telah digambarkan pada bab

perancangan sistem, program akan mengatur kecepatan motor stepper

dengan memberikan dua buah sinyal ke driver. Dua buah sinyal yang

dikirim oleh ATMega8 akan mengisyaratkan agar motor stepper bergerak

ke kanan dengan percepatan, kekanan dengan kecepatan konstan, kekanan

dengan perlambatan, kemudian berbalik ke kiri dengan percepatan, putar

kiri dengan kecepatan konstan, putar kiri dengan perlambatan dan

kemudian berbalik arah lagi. Dalam praktek untuk mencapai akhir

program sesuai yang diinginkan kita memerlukan algoritma untuk

pembuatan program.

Percobaan awal yang penulis lakukan sebelum mencapai program

yang utama adalah menggerakan motor stepper dengan menggunakan 4

sinyal keluaran dari mikrokontroler yang diseting pada portd. Pada

program tersebuat menggunakan delay untuk penundaan antar rentan

sinyal yang dikeluarkan oleh mikrokontroler. Program tersebut adalah :


; Program Kendali Motor Stepper Dengan Empat Sinyal
.include "m8def.inc"
.def T = r16
.def R = r17
.def I = r18
.def D = r19
.def P = r20
.def U = r21
.def K = r22

.equ kanan = $10


.equ kiri = $10
.equ delay = $02

.org $0000
rjmp main
main:
ldi T,LOW(RAMEND)
out SPL,T
ldi T,HIGH(RAMEND)
out SPH,T
ldi T,$FF
out DDRD,T
ser T
out PORTB,T
step: ldi D,kanan
ldi P,kiri
arah_kanan:
ldi T,(1<<PD3 | 0<<PD2 | 0<<PD1 | 1<<PD0)
out PORTD,T
rcall tunda1
ldi T,(1<<PD3 | 1<<PD2 | 0<<PD1 | 0<<PD0)
out PORTD,T
rcall tunda1
ldi T,(0<<PD3 | 1<<PD2 | 1<<PD1 | 0<<PD0)
out PORTD,T
rcall tunda1
ldi T,(0<<PD3 | 0<<PD2 | 1<<PD1 | 1<<PD0)
out PORTD,T
rcall tunda1
dec D
brne arah_kanan
stopr:
ldi K,$00
out PORTD,K
rcall tunda1
arah_kiri:
ldi T,(0<<PD3 | 1<<PD2 | 1<<PD1 | 0<<PD0)
out PORTD,T
rcall tunda1
ldi T,(1<<PD3 | 1<<PD2 | 0<<PD1 | 0<<PD0)
out PORTD,T
rcall tunda1
ldi T,(1<<PD3 | 0<<PD2 | 0<<PD1 | 1<<PD0)
out PORTD,T
rcall tunda1
ldi T,(0<<PD3 | 0<<PD2 | 1<<PD1 | 1<<PD0)
out PORTD,T
rcall tunda1
dec P
brne arah_kiri

stopl:
ldi K,$00
out PORTD,K
rcall tunda1
rjmp step

tunda1:
ldi R,Delay
time1: ; Register B diisi dengan 05(00000101)
ldi I,$02 ; Register C diisi dengan 04(00000100)
Time2: ;
dec I ; Isi Register C dikurangi 1
brne Time2 ; Jika tidak sama melompat ke time2
dec R
brne time1 ; Isi Register B dikurangi 1
ret

Program empat sinyal tersebut merupakan program awal yang

merupakan program untuk uji coba driver dan mikrokontroler. Dari hasil

program tersebut didapat piranti mikrokontrol dapat bekerja dan driver

motor stepper juga dapat bekerja. Kelemahan dari program pertama

tersebuat adalah sulit untuk memperhitungkan kecepatan dari motor

stepper karena masih menggunakan delay sebagai penundaan sinyalnya.


Pada tahap berikutnya delay yang digunakan akan dirubah menggunakan

mode interupt timer dan counter. Pada perencanaan program ini terbagi

menjadi dua bagian yaitu : program untuk aktifasi interupt dan program

lanjutan. Dalam Tugas Akhir yang penulis lakukan dibawah bimbingan

Dr. Estiko Rijanto, penulis bekerja sama dengan mahasiswa lain dari STT

Telkom. Dalam pengerjaaan program kami bekerja sama untuk

menghasilkan program yang sesuai dengan keinginan.

Dari hasil kerjasama yang penulis lakukan dengan Muhamad Eko

Utomo (Mahsiswa STT TELKOM) kami berhasil membuat program

sesuai dengan keingginan. Penulis bertugas mengerjakan hardware dan

program untuk motor stepper sedangkan Eko bekerja membuat

komunikasi serial dengan PC guna mengatur kecepatan motor stepper

dengan PC. Dari kerja sama tersebut penulis mengambi sebagian hasil dari

penelitian untuk dijadikan laporan Tugas Akhir dengan judul “Aplikasi

Mikrokontroler Atmega8 Sebagai Pengatur Kecepatan Dan Mode Gerak

Motor Stepper”. Program untuk piranti yang penulis buat pada Tugas

Akhir penulis lampirkan.

5.

E. DOWNLOAD SOFTWARE KE AT MEGA8

Untuk mendownload program yang telah kita buat di AVR Studio 4,

kita dapat menggunakan piranti lunak BASCOM. Untuk memulainya kita

dapat membuka BASCOM melalui start menu. Setelah terbuka untuk


mengaktifkan menu download program, kita harus membuka terlebih dahulu

salah satu program berekstensi bas (*.bas) yang terdapat dalam folder

“example” di folder tempat BASCOM diinstal.

Setelah itu kita pasang kabel downloader ke soket ISP Programming

dan ke komputer. Setelah itu kita hidupkan catu daya untuk mengaktifkan

rangkaian ATMega8. Kemudian kita klik menu “Program-Send to chip” atau

tombol hotkey F4, akan muncul jendela “AVR Programmer” kemudian

identify chip, jika teridentifikasi maka rangkaian benar dan program dapat di

download ke mikrokontroler.

Gambar 10 Pengaktifan Menu Download


Kemudian buka folder program yang telah kita buat, saat membuka

file kita pilih dahulu file type dengan memilih intelHEX. Setelah itu pilih

progrtam yang akan dikirim ke ATMega8.

Gambar 11 Jendela Untuk Membuka Program

Kemudian untuk mendownloadnya, pertama kita hapus terlebih dahulu

memori yang ada dalam ATMega8 dengan cara mengklik menu “Chip-Erase”.

Kemudian klik menu “Chip-Write buffer into chip”.

Untuk memeriksanya, pertama kita hapus dahulu buffer, dengan jalan

mengklik menu “Buffer-Clear”. Setelah itu kita klik menu berikut, “ Chip-

Read chipcode into buffer” untuk membaca code yang ada dalam

mikrokontroler

F. UJI COBA SYSTEM

Ini adalah langkah terakhir dari pembuatan alat. Setelah program di

tanam ke mikrokontroler maka kita dapat merangkai piranti dari sistem yaitu :

mikrokontroler ATMega8, driver dan motor stepper. Gabungkan semua


rangkaian dengan benar sesuai sistem. Setelah semua dirangkai dengan benar

maka tinggal menghidupkan catu daya untuk menjalankannya. Dari hasil itu

dapat dilihat apakah sistem bekerja sesuai dengan perencanaan. Jika sesuai

maka pembuatan peralatan sudah selesai