• Tidak ada hasil yang ditemukan

KENDALI MOTOR STEPPER DENGAN KOMUNIKASI SERIAL BERBASIS MIKROKONTROLER AT89S51 TUGAS AKHIR - Kendali motor stepper dengan komunikasi serial berbasis mikrokontroler AT89S51 - USD Repository

N/A
N/A
Protected

Academic year: 2019

Membagikan "KENDALI MOTOR STEPPER DENGAN KOMUNIKASI SERIAL BERBASIS MIKROKONTROLER AT89S51 TUGAS AKHIR - Kendali motor stepper dengan komunikasi serial berbasis mikrokontroler AT89S51 - USD Repository"

Copied!
84
0
0

Teks penuh

(1)

i

KENDALI MOTOR STEPPER DENGAN KOMUNIKASI SERIAL

BERBASIS MIKROKONTROLER AT89S51

TUGAS AKHIR

STENLY HUTUBESSY

985114001

PROGRAM STUDI TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2006

STEPPER MOTOR CONTROL WITH SERIAL

COMMUNICATION BASED ON MICROCONTROLLER

(2)

ii

FINAL PROJECT

In partial fulfillment of the requirements for the Degree SARJANA TEKNIK Electrical Engineering Study Program

STENLY HUTUBESSY

985114001

ELECTRICAL ENGINEERING STUDY PROGRAM

ELECTRICAL ENGINEERING DEPARTMENT

ENGINEERING FACULTY

SANATA DHARMA UNIVERSITY

(3)
(4)
(5)
(6)

vii

HALAMAN PERSEMBAHAN

Karya ini kupersembahan teristimewa kepada Tuhan Yesus Kristus Terima Kasih Tuhan atas Semua Hal yang engkau berikan bagi ku, Terima Kasih atas Tuntunan dan Penyertaan-Mu dalam hidup yang begitu penuh

rahasia ini sehingga hamba dapat menyelesaikan Karya ini Tuhan, Terima Kasih Tuhan Yesus hidupku berarti hanya dalam Tangan-Mu.

Untuk Papa dan Mama

Terima Kasih untuk kasih sayang yang tiada batasnya, pengorbanan,pengertian,perlindungan

dan kepercayaan untukku,

(7)
(8)

viii

KATA PENGANTAR

Dalam nama Tuhan Yesus Kristus segala hormat dan kemuliaan, Puji syukur Kepada Allah Bapa di Surga yang memberikan rahmat sehingga penulis dapat menyelesaikan skripsi ini dengan baik.

Penulis mengucapkan terima kasih kepada:

1. Bapak Ir. Iswanjono, MT selaku pembimbing Tugas Akhir yang telah membantu dan membimbing dalam pembuatan Tugas Akhir ini.

2. Bapak Ir. Linggo Sumarno, MT yang selalu memberikan semangat untuk penulis.

3. Seluruh dosen dan karyawan Fakultas Teknik Universitas Sanata Dharma yang telah membantu dalam pembuatan Tugas Akhir ini.

4. Papa, Mama, Kakak-kakakku Adel, Kenny, Gerald, Charlie, Shirley dan Keponakan tersayang Maryo yang selalu memberikan perhatian dan kasih sayang, doa, dan masukan hingga terselesaikannya skripsi ini.

5. Adik-adikku Valen Latumahina, Marchello Pelamonia, Bendjamin Manuputty, Franky Likumahwa,Yuyun Likumahwa, Ansye Likumahwa, Stanley Likumahwa, Jemmy Likumahwa, Ivan Ahuluheluw Bersandar selalu pada Tuhan.

(9)
(10)

x KENDALI MOTOR STEPPER DENGAN KOMUNIKASI SERIAL BERBASIS

MIKROKONTROLER AT89S51

Oleh

STENLY HUTUBESSY 985114001

INTISARI

Kendali Motor Stepper berbasis mikrokontroler dapat mengendalikan posisi atau sudut tertentu. Putaran mo tor stepper pada setiap penekanan tombol pada keypad sudah ditentukan besaran sudut yang diinginkan. Mikrokontroler pengirim hanya perlu mengakses data masukan dari keypad. Data- data yang diambil kemudian ke mikrokontroler penerima sebagai indeks data dari data-data yang berfungsi untuk mengendalikan putaran motor stepper..

Dari hasil percobaan diketahui bahwa alat mampu menggerakan sudut putaran motor yang diinginkan sesuai dengan besaran sudut yang ditentukan. Setiap penekanan tombol pada keypad akan ditampilkan oleh seven segmen sebagai penampil dalam alat ini.

(11)

xi

STEPPER MOTOR CONTROL WITH SERIAL COMMUNICATION

BASED ON MICROCONTROLLER AT89S51

STENLY HUTUBESSY 985114001

Abstract

Stepper Motor control based on Microcontroller get the whip hand of the certain angle. Stepper motor rotation an each a press button of keypad has been determined by mulberry angle wanted. Microcontroller cosignor only data access input require to from keypad. The data which taken later to microcontroller receiver as an index data from functioning data to control the rotation of stepper motor.

Result from the experiment known that the appliance able to control of motor angle rotation which to determined mulberry angle wanted. An each a press button of keypad will be shown by seven segment as display in this appliance.

(12)

xii

DAFTAR ISI

HALAMAN

JUDUL………..i

LEMBAR PERSETUJUAN……….iii

LEMBAR PENGESAHAN………...iv

LEMBAR PERNYATAAN KEASLIAN KARYA………..v

PERSEMBAHAN………....vi

KATA PENGANTAR………vii

INTISARI………...ix

ABSTRACT………...x

DAFTAR ISI………...xi

DAFTAR GAMBAR………xvi

DAFTAR TABEL………..xviii

DAFTAR LAMPIRAN………xix

BAB I. PENDAHULUAN I.1 Latar Belakang………..1

I.2 Perumusan Masalah……….………...1

I.3 Pembatasan Masalah…..………...2

I.4 Tujuan Penelitian………..2

(13)

xiii

I.6 Sistimatika Penulisan………3

BAB II. DASAR TEORI II.1 Keypad………...5

II.2 Mikrokontroler AT89S51………...6

II.2.1 Memori Mikrokontroler AT89S51………...7

II.2.1.1 Memori Program………...8

II.2.2 Special Function Register (SFR)………..9

II.2.2.1 Accumulator………..9

II.2.2.2 Register B………10

II.2.2.3 Register Port………10

II.2.2.4 Register Timer……….10

II.2.2.5 Program Status Word (PSW)………...10

II.2.2.6 Data Pointer………...11

II.2.2.7 Stack Pointer (SP)………11

II.2.2.8 Serial Data Buffer………12

II.2.3 Mode Pengalamatan………....12

II.2.3.1 Pengalamatan langsung………12

II.2.3.2 Pengalamatan tak langsung………..13

II.2.3.3 Pengalamatan Segera………13

II.2.3.4 Pengalamatan Bit………..14

II.2.3.5 Pengalamatan Kode………..14

II.2.4 Timer………15

(14)

xiv

II.3 Motor Stepper………16

II.3.1 Motor Stepper dengan eksitasi tunggal………18

II.3.2 Motor Stepper dengan eksitasi ganda………..19

II.3.2.1 Full Step………...19

II.3.2.2 Half Step………20

II.3.2.3 Metode Langkah Seperempat………21

II.3.2.4 Metode Langkah Seperdelapan Mikro………..22

II.4 Operasi Serial Port……….23

II.4.1 Baud Rate……….29

II.5 Penampil Tujuh Segmen………30

BAB III. PERANCANGAN ALAT III.1 Perancangan Perangkat Keras (Hardware)………...32

III.1.1 Koneksi Keypad 3x4 dengan mikrokontroler AT89S51……34

III.1.2 Komunikasi serial Antar Mikrokontroler AT89S51………...36

III.1.3 Koneksi Tujuh Segmen dengan Mikrokontroler……….37

III.2 Diagram Alir Program………..38

III.3 Rangkaian Lengkap Komunikasi Serial………42

BAB IV. ANALISA DAN PEMBAHASAN IV.1 Pengujian Keypad Matriks 4x3……….43

IV.2 Pengujian Mikrokontroler AT89S51………49

(15)

xv BAB V. PENUTUP

V.1 esimpulan………...56

V.2 Saran………....56

DAFTAR PUSTAKA……….58

(16)

xvi

DAFTAR GAMBAR

Gambar2.1. Keypad Matriks 3x4……….……….6

Gambar 2.2. Peta Memori rogram……….………..8

Gambar .3. Program Status Word ……...………...11

Gambar 2.4. Peta Register TMOD …...………..15

Gambar .5. Struktur Dasar Motor Stepper ……….…………...17

Gambar .6. Motor Stepper Bipolar dan Unipolar...17

Gambar .7. Metode Langkah Eksitasi Tungga l………...19

Gambar .8. Eksitasi Ganda dengan Metode Langkah Penuh……….20

Gambar .9. Metode Langkah Setengah………..21

Gambar 2.10. Metode Langkah Seperempat………...22

Gambar 2.11. Metode Langkah Mikro berupa Pulsa………..23

Gambar 2.12. Langkah Seperdelapan Mikro Berupa Step………..23

Gambar 2.13. Susunan Bit dalam SCON………....26

Gambar 2.14. Penampil tujuh segmen………31

Gambar 3.1. Diagram Kotak pengendalian motor stepper……….32

Gambar 3.2. Keypad matriks 4x3………...35

Gambar 3.3. Rangkaian Komunikasi Serial………42

(17)

xvii

DAFTAR TABEL

Tabel2.1. Eksitasi Tunggal……….………...17

Tabel 2.2. Eksitasi Ganda dengan Metode Langkah Penuh ………...19

Tabel 2.3. Metode Langkah Setengah (Half Step)………..20

Tabel 2.4. Penentuan mode kerja port serial ……….………...27

Tabel 2.5. Baud Rate yang sering dipakai yang dihasilkan timer 1…………...30

Tabel 4.1. Hasil pengujian tombol keypad matrik 4x3 ………...45

(18)

xviii

DAFTAR LAMPIRAN

Lampiran 1 Gambar Rangkaian Lengkap Komunikasi Serial Lampiran 2. Listing Program Lengkap Komunikasi Serial Lampiran 3. Data sheet Atmel AT89S51

(19)

BAB I PENDAHULUAN

1.1 Latar Belakang

Seiring dengan perkembangan teknologi, timbul kecenderungan diterapkannya sistem pengendalian secara otomatis dalam proses industri modern. Juga dalam kehidupan sehari- hari banyak ditemukan peralatan-peralatan yang bekerja berdasarkan pada posisi atau sudut yang sesuai kebanyakan masih dilakukan secara manual. Oleh karena itu dalam model ini akan dibuat suatu model pengaturan posisi atau sudut yang bekerja secara elektronis.

Perpaduan antara mikrokontroler ( software ) dengan peralatan mekanis dan elektronis ( hardware ) merupakan dimensi baru yang sedang marak digemari orang. Sistem pengendalian yang digunakan adalah dengan komunikasi serial berbasis mikrokontroler. Mikrokontroler AT89S51 merupakan sebuah kompone n elektronika yang dapat bekerja sesuai dengan program yang diisikan ke dalam memorinya.

Dengan demikian penulis mencoba menggunakan keunggulan mikrokontroler ini sebagai pengendali posisi motor stepper sesuai dengan sudut yang diinginkan.

1.2 Perumusan masalah

(20)

akan diatur untuk arah putara n searah putaran jarum jam dan arah putaran berlawanan dengan arah putaran jam.

1.3 Pembatasan Masalah

Dalam penulisan Tugas Akhir ini, penulis hanya menjelaskan sebatas tahap perancangan dan prinsip dari alat pengendali posisi motor stepper yang merupaka n salah satu aplikasi yang dapat dibuat dengan teknologi mikrokontroler yang dihubungkan secara serial dimana setiap penekanan tombol pada keypad akan berputar sebesar kelipatan 10º.

1.4 Tujuan Penelitian

1. Mampu menggerakan motor stepper dengan berbagai sudut dengan arah searah putaran jarum jam.

2. Mampu membuat prototype aplikasi komunikasi serial mikrokontroler sebagai model penggerak motor stepper.

1.5 Manfaat Penelitian

Adapun manfaat yang dapat diambil dalam melakukan penelitian ini adalah :

1. Mengaplikasikan ilmu yang telah diperoleh kedalam suatu bentuk karya nyata.

(21)

1.6 Sistimatika Penulisan

Penulisan ini akan dibagi dalam beberapa bagian, anatara lain: BAB I Pendahuluan

Bab ini berisi latar belakang, perumusan masalah, pembatasan masalah, tujuan penelitian, dan sistematika yang digunakan dalam penulisan ini.

BAB II. Dasar Teori

Bab ini berisi teori-teori yang digunakan dalam penelitian ini, antara lain membahas tentang Keypad matriks, Penampil 7 Segment, motor stepper, driver motor, Operasi port serial dan penjelasan singkat tentang mikrokontroler AT89S51.

BAB III. Perancangan Pengendali Posisi Motor Stepper.

Bab ini menjelaskan perangkat keras dan perangkat lunak yang digunakan untuk perancangan alat pengendali posisi motor stepper yang terdiri dari, papan tombol, driver motor, rangkaian pengendali tujuh segment, penggerak motor stepper.

BAB IV. Hasil Pengamatan dan Analisa.

(22)

BAB V. Kesimpulan.

(23)

BAB II DASAR TEORI

Untuk mencapai titik atau posisi tertentu, biasanya dilakukan pengaturan atau pengendalian, begitu juga dengan pengendali posisi motor stepper. ini dimaksudkan sebagai suatu pengendali posisi dengan menggunakan motor stepper sebagai komponen utama.

II.1 Keypad

Keypad adalah salah satu alat yang biasa digunakan untuk memberikan

masukan pada mikrokontroler. Keypad terdiri dari beberapa saklar yang dihubungkan dengan port-port pada mikrokontroler.

Keypad yang digunakan biasanya bertipe matriks yang terdiri dari beberapa

(24)

Gambar 2.1 keypad matriks 3x4

II.2 Mikrokontroler AT89S51

Mikrokontroler AT89S51 ialah mikrokomputer CMOS 8 bit dengan 4 KB

Flash Programmable and Erasable Read Only Memory (PEROM). Mikrokontroler

berteknologi non-volatile MCS-51 (seperti mikrokontroler 8051 yang terkenal dan banyak digunakan beberapa waktu lalu) yang telah menjadi standar industri, baik dalam jumlah pin IC maupun set instruksinya.

AT89S51 mempunyai memori yang terdiri dari RAM internal dan Special

Function Register. RAM internal berukuran 128 byte dan beralamatkan 00H-7H serta

dapat diakses menggunakan RAM address register. RAM internal terdiri dari delapan buah register (R0-R7) yang membentuk register banks. Special Function Register

yang berjumlah 21 buah berada di alamat 80H-FFH. RAM ini berbeda lokasi dengan

Flash Perom dengan alamat 000H-7FFH.

1 2 3

4 5 6

7 8 9

* 0 #

P0.1

P0.0 P0.3

P0.2

(25)

Beberapa fasilitas yang dimiliki oleh mikrokontroler AT89S51 adalah sebagai berikut:

• Sebuah Central Processing Unit 8 bit.

• Osilator internal dan rangkaian pewaktu.

• RAM internal 128 byte. • Flash memori 4 Kbyte.

• Lima buah jalur interupsi (dua buah interupsi eksternal dan tiga buah interupsi internal).

• Emapt buah programable port I/O yang masing- masing terdiri dari delapan buah jalur I/O.

• Sebuah port serial dengan kontrol serial full duplex UART.

• Kemampuan untuk melaksanakan operasi aritmetika dan operasi logika.

• Kecepatan dalam melaksanakan operasi aritmetika dan operasi logika.

• Kecepatan dalam melaksanakan instruksi per siklus 1 mikrodetik pada frekuensi 12 MHz.

II.2.1 Memori Mikrokontroler AT89S51

(26)

II.2.1.1 Memori Program

Program mikrokontroler disimpan dalam FPEROM yang sering kali disebut memori program. ROM merupakan memori yang hanya dapat dibaca. Isi ROM tidak akan berubah walau mikrokontroler kehilangan catu daya (volatile memory).

Memori program yang tersedia dalam chip Mikrokontroler AT89S51 hanya sebesar 4 kb (internal memory). Namun tersedia jalur ekspansi untuk memperbesar kapasitas memori tersebut sampai 64 kB dengan menambah ROM (external memory).

Diagram memori program dalam mikrokontroler AT89S51 ditunjukan pada gambar dibawah ini:

FFFF FFFF

!000

+ atau

0FFF

0 0

(27)

II.2.2 Special Function Register (SFR)

Special function register (SFR) adalah register-register yang mempunyai fungsi khusus, diantaranya ada yang digunakan untuk mengatur input output data dari mikrokontroler. Selain itu, ada juga Special Function Register yang digunakan untuk mengatur dan memantau kondisi UART, yaitu pada register SCON. Register yang digunakan untuk mengatur kerja timer adalah register timer adalah register TCON.

Special function register terdapat pada ruang memori RAM yang mempunyai alamat 80H sampai FFH. Tidak semua alamat itu dipakai oleh Special Function Register. Pada special Function Register terdapat beberapa alamat yang bisa dialamati secara bit dan ada yang tidak bisa dialamati secara bit. Pada Special Function Register yang bisa dialamati secara bit, alamat pada digit keduanya adalah digit 0 atau 8, misalnya 80H, 88H, 90H, 98H, dan F8H. Special Function Register Akumulator adalah salah satunya yang sering dipakai untuk dialamati secara bit dan mempunyai alamat E0H, misalnya A.0, A.1, A.2, A.3, A.4, A.5, A.6, dan A.7. Register ialah penampung data sementara yang terletak dalam CPU. Mikrokontroler AT89S51 mempunyai register-register sebagai berikut:

II.2.2.1 Accumulator

(28)

logika, pengambilan data dan pengiriman data. Accumulator ialah sebuah register 8 bit yang merupakan pusat dari semua operasi accumulator.

II.2.2.2 Register B

Register B dapat digunakan untuk proses aritmetika dan dapat juga difungsikan sebagai register biasa.

II.2.2.3 Register Port

pada register ini terdapat 4 buah yaitu register port 0, port 1, port 2, dan port 3. Register port ini digunakan sebagai sarana input/output untuk menyimpan data dari atau ke port untuk masing- masing P0, P1, P2, dan P3.

II.2.2.4 Regis ter Timer

Mikrokontroler AT89S51 mempunyai dua buah 16 bit timer, yaitu Timer 0 dan Timer 1. Timer 0 dibentuk oleg register TH0 dan TL0.Timer 1 dibentuk oleh register TH1 dan TL1. Perilaku dari register TH0, TH1, TL0 dan TL1 diatur oleh register TMOD dan regsiter TCON.

II.2.2.5 PSW (Program Status Word)

(29)

meliputi Carry Bit, The Auxiliary Carry dua bit pemilih bank register yaitu: RS0 dan RS1, Overflow, Flag sebuah bit paritas adalah 1 (p = 1), bila cacah logic 1 pada accumulator genap maka p=0 sehingga bit paritas ini menjadi agar cacah logic 1 selalu genap. Sedangkan dua bit sisanya yaitu PSW 1 dan PSW 5 adalah bit yang tidak terikat sehingga dapat digunakan sebagai flag serbaguna. Register ini berisi beberapa bit ststus yang mencerminkan keadaan mikrokontroler. Definisi dari bit-bit dalam PSW dijelaskan dalam gambar dibawah ini:

CY AC F0 RS1 RS2 OV - P

Gambar.2.3 Program Status Word II.2.2.6 Data Pointer

Data Pointer atau DPTR merupakan register 16 bit yang terletak di alamat 82H untuk DPL (data pointer low) dan 83H untuk DPH (data pointer high). Biasanya data Pointer digunakan untuk mengakses data atau source code yang terletak di memori eksternal.

II.2.2.7 Stack Pointer (SP)

(30)

tiap kali data didorong masuk ke dalam lokasi penumpukan dan selalu bertambah dua tiap kali data ditarik ke luar dari lokasi penumpukan.

II.2.2.8 Serial Data Buffer

Serial Data Buffer terletak pada lokasi 99h yang dibagi menjadi dua regsiter yang terpisah, yaitu transmit buffer dan receive buffer. Saat data disalin ke serial data buffer maka data sesungguhnya diterima dan diteruskan ke dan dari serial port.

II.2.3 Mode Pengalamatan

Untuk mengakses data dan program yang disimpan di dalam memori, diperlukan pengalamatan agar tidak terjadi kesalahan dalam pengambilan data. Pengaksesan memori data dan memori program pada AT89S51 menggunakan pengalamatan yang berbeda untuk membedakan antara data yang tersimpan di memori data dan memori program. Mode pengalamatan yang didukung oleh AT89S51 adalah :

II.2.3.1 Penga lamatan Langsung (Direct Addressing Mode)

(31)

Contoh:

Mov A, 10H, instruksi ini melakukan operasi memindahkan data pada alamat 10H ke dalam akumulator.

Add A,R1, instruksi ini melakukan operasi penambahan data pada register R1 dengan data pada akumulator dan hasilnya disimpan di akumulator.

II.2.3.2 Pengalamatan Tak Langsung (Indirect Addressing Mode)

Pada pengalamatan tak langsung, instruksi menunjuk pada sebuah register yang berisi alamat memori yang akan dituju. Pengalamatan tak langsung ini biasanya mengguakan simbol @ yang maksudnya menunjuk alamat memori yang terdapat pada register tersebut.

Contoh:

Dec @R0, inistruksi ini melakukan operasi pengurangan data dari alamat memori yang ditunjuk oleh register R0 dengan 1.

Mov A, @R1, instruksi ini melakukan operasi memindahkan data dari alamat memori yang ditunjuk oleh register R1 ke akumulator.

II.2.3.3 Pengalamatan Segera

(32)

Contoh :

Mov A, #10H, instruksi ini melakukan operasi memindahkan data 10H kedalam akumulator.

Mov R1, #20H, instruksi ini melakukan operasi memindahkan data 20H ke dalam register R1.

II.2.3.4 Pengalamatan Bit

Pengalamatan bit pada sebuah operasi digunakan untuk mengalamati suatu alamat secara bit. Pengalamatan bit ialah penunjukan menggunakan simbol (.) yang menunjuk alamat lokasi bit, baik dalam RAM internal atau perangkat keras.

Contoh:

Clr A.2, instruksi ini memberi data bit pada alamat A.2 dari akumulator dengan nilai nol.

Setb A.1, instruksi ini memberi data bit pada alamat A.1 dari akumulator dengan nilai 1.

II.2.3.5 Pengalamatan Kode

Pada pengalamatan kode ini, proses pengalamatannya ditujukan langsung pada kode atau sering disebut dengan rutin. Pengalamatan kode terjadi ketika operand merupakan alamat dari instruksi JUMP dan CALL.

Contoh :

Ajmp start, instruksi melakukan lompatan ke subrutin start.

(33)

II.2.4 Timer

Timer berfungsi untuk mengatur waktu kerja yang dibutuhkan AT8 9S51. terdapat dua buah timer, yaitu timer 0 dan timer 1. masing- masing timer terdiri dari 16 bit counter yang dapat diprogram. Register-register timer meliputi :

II.2.4.1 TMOD (Timer Mode Register)

Timer ini tidak dapat diakses secara bit (not bit addressable), dan beralamat di 89H.

Gate(1) C/T (1) M1 (1) M0 (1) Gate (0) C/T (0) M1 (0) M0(0)

Timer 1 Timer 0

Gambar. 2.4 Peta Register TMOD

• Gate : Timer akan berjalan jika bit ini diset dan INT0 (untuk Timer 0) atau INT1 (untuk Timer 1) berkondisi High.

• C/T : jika bernilai 1 maka timer akan bertindak sebagai counter dan jika bernilai 0 maka timer akan bertindak sebagai timer.

(34)

II.3 Motor Stepper

Motor stepper merupakan motor khusus yang digunakan dalam pengendalian posisi yang memerlukan ketelitian. Selain motor stepper masih terdapat satu jenis lagi yang dapat digunakan yaitu motor servo. Namun motor servo mengacu pada sistem umpan balik analog, seperti penggunaan potensiometer sebagai umpan balik pengendalian posisi rotor dan terdapat juga rangkaian pengendalian arus motor.

Motor stepper dapat digunakan pada sistem kalang terbuka untuk pengoperasian dengan kecepatan rendah dan beban tetap, untuk sistem kalang tertutup memungkinkan pengendalian motor stepper pada kecepatan tinggi dan beban bervariasi. Pada motor stepper jika beban yang diberikan tidak sebanding dengan

torque (torsi) motor, maka pada sistem kalang tertutup dapat menyebabkan posisi

rotor tidak terdeteksi sehingga perlu di inisialisasi sedangkan motor servo tidak menjadi masalah.

Motor stepper pada dasarnya sama dengan motor- motor listrik pada umumnya yaitu memiliki bagian yang berputar disebut rotor dan bagian yang tidak berputar disebut stator. Pada bagian yang berputar (rotor) berupa sebuah ma gnet dan pada bagian yang tidak bergerak (stator) berupa kumparan. Kumparan pada stator ini bila dialiri arus listrik akan membentuk medan magnet.

(35)

N

S

Com m on L4 (kum paran 4 ) L3 ( kumparan 3 ) L2 (kumparan 2 ) L1 ( kum paran 1)

Rotor Medan Putar Rotor

Kumparan pada stator

Gambar 2.5 Struktur Dasar Motor Stepper.

Motor stepper adalah suatu jenis motor elektrik yang dapat dikendalikan

posisi sudutnya. Posisi sudut yang dibentuk tergantung pada banyaknya pulsa yang

diberikan pada motor stepper untuk mengendalikan langkah (step). Untuk jenis motor

stepper tertentu mempunyai karakteristik 1,8º setiap langkahnya (step). Motor stepper

ada 2 jenis yaitu motor stepper unipolar dan motor stepper bipolar, perbedaan antara

2 jenis motor stepper tersebut dapat dilihat pada gambar 2.6.

(36)

Motor stepper yang digunakan dalam perakitan alat adalah motor stepper

jenis unipolar. Pada jenis motor stepper unipolar, arus mengalir searah dan perubahan arah putar motor tergantung dari lilitan (koil) yang dialiri arus. Lilitan yang ada terpisah dalam 2 bagian dan masing-masing bagian hanya dilewati arus dalam satu arah saja. Jenis unipolar memerlukan rangkaian driver yang lebih sederhana dan banyak dipasaran. Cara pengendalian motor stepper pada intinya adalah memberikan tegangan pada kumparan motor stepper dengan urutan tertentu. Ada 2 cara pemberian tegangan pada kumparan yaitu :

II.3.1. Motor stepper dengan eksitasi tunggal

Urutan pemberian tegangan pada kumparan eksitasi tunggal seperti pada tabel 2.1.

Tabel 2.1 Eksitasi Tunggal

Langkah Lilitan I Lilitan II Lilitan III Lilitan IV

1 1 0 0 0

2 0 1 0 0

3 0 0 1 0

4 0 0 0 1

(37)

L1

Gambar 2.7 Metode Langkah Eksitasi Tunggal II.3.2 Motor stepper dengan eksitasi ganda

Pada motor stepper dengan kumparan eksitasi ganda terdapat empat buah metode urutan pemberian tegangan yaitu :

II.3.2.1 Full Step

Metode langkah penuh akan menghasilkan sudut penuh sesuai dengan spesifikasi motor stepper, misalnya motor stepper dengan sudut 1,8º akan menghasilkan sudut 1,8º. Pemberian tegangan dilakukan sekaligus untuk dua kumparan atau lilitan pada setiap langkahnya. Hal ini dapat dilihat dalam tabel 2.2.

Tabel 2.2 Eksitasi Ganda dengan Metode Langkah Penuh Langkah Lilitan I Lilitan II Lilitan III Lilitan IV

1 1 1 0 0

2 0 1 1 0

3 0 0 1 1

(38)

L1

Gambar 2.8 Eksitasi Ganda dengan Metode Langkah Penuh

II.3.2.2 Half Step

Metode setengah langkah akan menghasilkan sudut paruh dari sudut spesifikasi motor, misalnya sudut 1,8° akan menghasilkan sudut 0,9°. Hal ini dapat dilihat pada tabel 2.3.

Tabel 2.3 Metode Langkah Setengah (Half Step)

(39)

Untuk metode half step hanya ada satu perubahan pemberian tegangan kumparan pada setiap langkahnya.

L1 Gambar 2.9 Metode Langkah Setengah

II.3.2.3 Metode Langkah Seperempat (Seperempat Micro Step)

(40)

L1

Gambar 2.10 Metode Langkah Seperempat

II.3.2.4 Metode Langkah Seperdelapan Mikro (Mikro Step)

(41)

Gambar 2.11 Metode Langkah Mikro berupa pulsa

Gambar 2.12 Metode Langkah Seperdelapan Mikro Berupa Step

II.4 Operasi Serial Port

Pada Mikrokontroler AT89S51 mempunyai On Chip Serial Port yang dapat digunakan untuk komunikasi data secara Full-Duplex sehingga port serial ini masih dapat menerima data pada saat proses pengiriman data terjadi. Untuk menampung data yang diterima atau dat yang akan dikirimkan, 89S51 mempunyai sebuah register, yaitu SBUF yang terletak pada alamat 99h. register ini berfungsi sebagai buffer

(42)

sehingga pada saat mikrokontroler ini membaca data yang pertama dan data kedua belum diterima secara penuh, data ini tidak akan hilang.

Pada kenyataannya, register SBUF terdiri atas dua buah register yang ternyata menempati alamat yang sama, yaitu 99h. register tersebut adalah Transmit Register yang bersifat write only (hanya dapat dibaca saja). Pada proses penerimaan data dari port serial, data yang masuk ke dalam port serial akan ditampung pada Receive Register terlebih dahulu dan akan diteruskan ke jalur bus internal pada saat pembacaan register SBUF sedangkan pada proses pengiriman data ke serial port, data yang ditulis dari bus internal akan ditampung pada Transmit Register terlebih dahulu sebelum dikirimkan ke port serial.

Pada port serial AT89S51 dapat digunakan untuk komunikasi data secara sinkron maupun asinkron. Komunikasi data serial secara simkron merupakan bentuk komunikasi data serial yang memerlukan sinyal clock untuk sinkronisasi. Sinyal clock tersebut akan tersulut pada setiap bit pengiriman data, sedangkan komunikasi asinkron tidak memerlukan sinyal clock untuk sinkronisasi. Pengiriman data pada komunikasi serial 89S51 dilakukan mulai dari bit yang paling rendah (LSB) hingga bit yang paling tinggi (MSB).

(43)

a. Mode0 : mode ini bekerja secara sinkron, data serial dikirim dan diterima melalui kaki P3.0 (RxD), sedangkan kaki P3.1 (TxD) dipakai untuk menyalurkan detak pendorong data serial yang dibangkitkan AT89S51. data dikirim atau diterima 8 bit sekaligus, dimulai dari bit yang bobotnya paling kecil atau LSB (bit 0) dan diakhiri dengan bit yang bobotnya paling besar atau MSB (bit 7). Kecepatan pengiriman data ( Baud rate ) adalah 1/12 dari frekuensi kristal yang digunakan. b. Mode1 : dimode ini, yang digunakan untuk pengiriman datatetap

digunakan kaki pin P3.1 (TxD) dan diterima melalui kaki pin P3.0 (RxD). Pada mode 1 ini p[engiriman data dilakukan secara asinkron, dimana pada mode ini data dikirim dan diterima 10 bit sekaligus, diawali 1 bit start, disusul dengan 8 bit data yang dimulai dari bit yang bobotnya paling kecil (bit 0), diakhiri dengan 1 bit sto p. Adalah RB8 pada register SCON. Kecepatan pengiriman data ( baud rate ) bisa diatur sesuai keperluan. Pada mode inilah (mode2 dan mode3) dikenal secara umum sebagai UART (universal Asynchronous Receiver or Transmitter).

(44)

lebih lanjut, diakhiri dengan 1 bit stop. Pada AT89S51 yang berfungsisebagai pengirim, bit 9 tersebut berasal dari bit TB8 pada register SCON, sedangkan pada bit stop tidak ditampung tetapi diabaikan. Kecepatan pengiriman data (baud rate) bisa dipilih antara 1/32 atau 1/64 dari frekuensi kristal yang digunakan.

d. Mode3 : pada mode 3 ini bekerja seperti halnya dengan mode 2, tetapi untuk kecepatan pengiriman data (baud rate) bisa diatur sesuai dengan keperluan seperti mode 1.

Register kontrol dan ststus untuk port serial berada dalam SCON ( Serial Port Control Register ) dapat dilihat pada gambar dibawah.

Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0

SM0 SM1 SM2 REN TB8 RB8 T1 R1

Reset 0 0 0 0 0 0 0 0 Gambar 2.13 Susunan Bit dalam SCON

Keterangan :

(45)

Tabel 2.4 Penentuan mode kerja port serial

SM0 SM1 Mode Keterangan Baud Rate

0 0 0 Register geser Tetap (fosc/12)

0 1 1 UART 8-bit Bisa diubah-ubah

(dengan Timer

1 0 2 UART 9-bit Tetap (fosc/64) atau

fosc/32)

1 1 3 UART 9-bit Bisa diubah-ubah

(dengan Timer)

b. bit REN (Bit 4) dipakai untuk mengaktifkan kemampuan port serial untuk menerima data. Pada mode0 kaki RxD (P3.0) dipakai untuk mengirim data serial dan juga untuk menerima data serial. Sifat ini terbawa pula pada saat port serial bekerja pada mode1, mode2 dan mode3, meskipun pada mode-mode tersebut kaki RxD hanya dipakai untuk mengirim data, agar kaki RxD bisa dipakai untuk menerima data, terlebih dahulu harus dibuat REN = ‘1’. Setelah di-reset bit REN bernilai ‘0’.

c. Pada mode2 dan mode3, port serial bekerja dengan 9 bit data (dari 11 bit, 1 bit untuk start dan bit 1 untuk s top), SBUF yang kapasitasnya 8 bit tidak cukup untuk keperluan ini. Bit ke-9 yang akan dikirim terlebih dahulu diletakan di TB8 (bit3), sedangkan bit RB8 (bit2) merupakan bit yang dipakai untuk menampung bit ke-9 yang diterima port serial.

(46)

(framing error). Kalau bit SM2 (bit 5) berniali ‘1’ pada mode1, jika terjadi kesalahan frame, R1 tidak akan menjadi ‘1’ (aktif) meskipun SBUF sedah berisi data dari port serial (bit stop diterima dengan benar). Bit ke-9 dapat dipakai sebagai bit paritas, hanya saja bit paritas yang dikirim harus ditentukan sendiri dengan program dan diletakan pada TB8 dan bit paritas yang diterima pada RB8 dipakai untuk menentukanintegritas data secara program pula. Tidak seperti pada UART standart, semua dikerjakan pada perangkat keras dalam UART.

e. Bit TI (bit1) merupakan sinyal yang setara dengan sinyal THRE (Transmitter Holding Register Empty) yang umum dijumpai pada UART standart. Setelah port serial selesai mengirim data yang tersimpan pada SBUF, maka pada bit TI akan bernilai ‘1’ secara otomatis, kemudian bit ini harus di-nolkan dengan program agar dapat dipakai untuk memantau keadaan SBUF pada pengiriman data berikutnya.

(47)

II.4.1 BAUD RATE

Baud Rate untuk mode0 nilainya tetap dan mengikuti persamaan berikut ini:

Baud Rate Mode0 = Frekuensi Kristal/12 ………. (II.1)

Baud Rate untuk Mode2 bergantung dari nilai bit SMOD pada register PCON. Jika SMOD bernilai ‘0’, baud rate-nya 1/64 dari frekuensi kristal, jika SMOD bernilai ‘1’ maka baud rate-nya 1/32 frekuensi kristal, pada baud rate mode2 mengikuti persamaan:

Baud Rate mode2 = 2SMOD/64 x Frekuensi Kristal ……….(II.2) Untuk menentukan baud rate dari mode1 dan mode3, pada AT89S51 tergantung dari laju (rate) limpahan Timer 1.

Pada timer 1 dapat digunakan untuk generator baud rate, maka baud rate pada mode1 dan mode3 ditentukan berdasarkan laju limpahan timer 1 dan nilai dari SMOD dari gambar dibawah, dengan persamaan:

(48)

Tabel 2.5 Baud Rate yang sering dipakai yang dihasilkan timer 1

II.5 Penampil Tujuh Segmen

(49)

Menurut cara pemberian tegangan, maka suatu tujuh segmen terdiri dari dua macam, yaitu: anoda bersama dan katoda bersama. Perbedaan antara keduanya hanya terletak pada penyambungan antara LED yang terdapat pada segmen yang satu dengan yang lain. Pada anoda bersama, anoda dari ketujuh LED terhubung menjadi satu gambar.

Pada umumnya, ketujuh LED pada tujuh segmen diberi label A sampai G seperti disajikan pada gambar 2.15

Gambar 2.14. Penampil tujuh segmen A

F B G

E C

(50)

BAB III

PERANCANGAN ALAT

III.1 Perancangan Perangkat Keras (Hardware)

Sistem Pengendali Motor Stepper terdiri atas 4 bagian utama yaitu Keypad Matriks, mikrokontroller sebagai pengontrol/pengolah data yang di dalamnya terdapat program-program, penguat arus motor stepper dalam hal ini menggunakan Driver Motor Stepper ULN 2003 dan piranti-piranti output yang terdiri dari Seven Segment dan motor stepper. Diagram blok sistem pengendali motor stepper dapat dilihat pada gambar 3.1.

(51)

Penjelasan secara umum dari diagram kotak pada gambar 3.1 adalah sebagai berikut:

1. Bok Keypad 3x4

Pada perancangan keypad digunakan untuk memberikan data masukan untuk mikrokontroler AT89S51, masukan dari keyp ad akan mengatur putaran motor stepper. Keypad yang digunakan pada perancangan ini adalah keypad type matriks 3x4, keypad terdiri dari beberapa saklar yang terhubung dengan port-port dari mikrokontroler AT89S51. pembacaan keypad tipe matriks dapat dilakukan dengan cara scanning proses atau dengan cara metode polling biasa. Menekan tombol pada keypad berarti menghubungkan suatu baris dengan suatu kolom pada keypad tersebut. Setelah data yang diambil valid, maka program akan menunggu tombol keypad dilepaskan dengan menunggu kondisi FFh kembali serta melakukan konversi berdasarkan tabel keypad setelah kondisi tersebut terpenuhi. Proses konversi tabel keypad dilakukan dengan menganggap data dari keypad sebagai suatu alamat memori. Isi dari alamat tersebut berupa data yang dianggap sebagai tanda saat tombol tersebut ditekan.

2. Blok mikrokontroler AT89S51

(52)

3. Blok Driver Motor Stepper ULN 2003

Bagian ini merupakan driver dari motor stepper yang akan menggerakan motor stepper dengan penguatan arus maksimal 500mA.

4. Blok Motor Stepper

Motor stepper dengan 5 buah kabel atau 6 buah kabel yang commonnya dijadikan satu, dipilih jenis ini karena paling mudah pengoperasiannya. Inti motor dan switch pada masing- masing kumparan, dengan membuka dan menutup switch tersebut maka inti motor dapat berputar dengan arah tertentu.

5. Blok Penampil 7 Segment

Bagian ini berfungsi untuk menampilakn nomer dari keypad yang akin ditekan. Bagian ini langsung terhubung atau tersambung melalui port 0 dari mikroikontroler.

III.1.1 Koneksi Keypad 3x4 dengan mikrokontroler

(53)

1 2 3

4 5 6

7 8 9

* 0 #

P0.1

P0.0 P0.3

P0.2

P0.6 P0.5 P0.4

Dengan rangkaian seperti pada gambar 3.2, pada kondisi tidak terjadi penekanan tombol pada keypad, maka kondisi logika pada port 1 adalah logika ‘1’ pada setiap bitnya. Saat salah satu tombol dari keypad tertekan, baris dan kolom yang terhubung akin terhubung ke ground sehingga kondisi dan kolom tersebut akin berlogika ‘0’. Setiap tombol pada keypad akin memberikan logika ‘0’ pada baris dan kolom tertentu sehingga setiap tombol akin membentuk data tertentu pada port 1.

Gambar 3.2 Keypad matriks 4x3

(54)

mengetahui apakah data yang dikeluarkan dari keypad sudah valid. Pada program dapat diberikan delay untuk melihat apakah data yang dikirimkan dari keypad sudah valid atau belum. Untuk setiap penekanan tombol pada keypad diberikan delay 20 ms pada setiap penekanan tombol.

Setelah data yang diambil valid, maka program akin menunggu tombol keypad dilepaskan dengan menunggu kondisi FFh kembali serta melakukan konversi. Proses konversi tabel keypad dilakukan dengan menganggap data dari keypad sebagai suatu alamat memori. Isi dari alamat tersebut berupa data yang dianggap sebagai tanda saat tombol tersebut ditekan.

III.1.2 Komunikasi Serial Antar Mikrokontroler AT89S51

(55)

III.1.3 Koneksi 7 Segment dengam mikrokontroler

7segment digunakan untuk menampilkan data dari keypad yang akan ditekan. Untuk menampilkan data pada 7segment digunakan metode scanning display. Pada metode ini dapat menampilkan data pada sebuah 7segment. Data yang akan ditampilkan pada 7segment sesuai dengan data masukan dari keypad, setelah melalui proses dari mikrokontroler. Port 2 dari mikrokontroler akan berfungsi untuk mengirimkan data segment, yang akan menghubungkan common dari 7segment dengan port2, dari port yang saling terhubung akan menghasilkan data, yang selanjutnya akan ditampilkan pada display 7segment.

Nilai R dari rangkaian 7segment, dapat dihitung dengan rumusan sbb:

R = Vcc-Vled/Iled ; Iled = 10 mA, Vcc = 5 V, V led = 1.7 V R = 5V- 1.7V/ 0.10mA

(56)

III.2 Diagram Alir Program.

Mulai

Inisialiasi Port

Inisialiastimer 1 mode 2

Nilai baud rate F9H

Aktifkan timer 1

Pilih serial mode 1

(57)

C

A = BBH ?

Tampilkan angka 4

Isi register 0 = 40

B

A = DBH ?

Tampilkan angka 5

Isi register 0 = 50

B

A = EBH ?

Tampilkan angka 6

Isi register 0 = 60

B

A = BDH ?

Tampilkan angka 7

Isi register 0 = 70

B

A = DDH ?

Tampilkan angka 8

Isi register 0 = 80

Isi register 0 = 90

B

A = BEH ?

Tampilkan angka 0

(58)

B

Matikan intrupsi serial

Kosongkan akumulator

Salin isi R0 ke A

Isi register 2 = 10

Aktifkan motor stepper 10 x

1,8' Mulai

Isi register 2 = 20

Aktifkan motor stepper 20 x

1,8'

A = 30 ?

(59)

D

A = 40 ?

Isi register 0 = 40

Aktifkan motor stepper 40 x 1,8'

A = 50 ?

Isi register 0 = 50

Aktifkan motor stepper 50 x 1,8'

A = 60 ?

Isi register 0 = 60

Aktifkan motor stepper 60 x 1,8'

A = 70 ?

Isi register 0 = 70

Aktifkan motor stepper 70 x 1,8'

A = 80 ?

Isi register 0 = 80

Aktifkan motor stepper 80 x 1,8' Tidak

Tidak Tidak Tidak Tidak

Ya Ya Ya Ya Ya

A = 90 ?

Isi register 0 = 90

Aktifkan motor stepper 90 x 1,8'

(60)

III.3 Rangkaian Lengkap komunikasi Serial

(61)

BAB IV

ANALISA DAN PEMBAHASAN

Pada bagian ini akan dibahas analisis hasil pengujian rangkaian secara perblok dari keseluruhan aplikasi mikrokontroler AT89S51 sebagai komunikasi serial untuk pengendali besarnya derajat putaran motor stepper unipolar. Masukan data dari keypad matrik 4x3 sebagai input pengendali besarnya derajat putaran motor stepper. Setiap data/tombol keypad masukan akan dibaca oleh mikrokontroler AT89S51, kemudian hasilnya langsung ditampilkan kedalam seven segment satu digit. Register 0 sebagai media penyimpan data sementara besarnya derajat putaran motor stepper sebelum dikirim melalui serial buffer. Bila alat sudah siap, maka langkah selanjutnya adalah melakukan pengujian per blok rangkaian. Pengujian alat dapat dilakukan secara hardware maupun software. Pengujian dilakukan sesudah semua komponen dan rangkaian yang dirancang tersebut dipastikan benar.

4.1 Pengujian Keypad Matrik 4x3

(62)

1 2 3

4 5 6

7 8 9

* 0 #

P0.1

P0.0 P0.3

P0.2

P0.6 P0.5 P0.4

Gambar 4.1 Rangkaian dari keypad matrik 4x3

Pengujian keypad dilakukan dengan cara melakukan penekanan setiap tombol, dan kaki ground dihubungkan dengan ground, kaki P0.0 – P0.6 dihubungkan dengan multimeter, maka dapat diketahui kondisi keluaran pada P0.0 sampai P0.6 apakah berlogika high atau low saat terjadi penekanan setiap tombol. Jika terjadi penekanan pada tiap tombol keypad, maka kaki port 0 pada baris dan kolom terhubung ke ground sehingga baris dan kolom akan berlogika low. Proses pengambilan data dari keypad yaitu dengan cara membandingkan data awal keypad sebelum terjadi penekanan, dengan data setelah penekanan pada keypad dengan bantuan multimeter analog.

(63)

Tabel 4.1 Hasil pengujian tombol keypad matrik 4x3

Pengujian secara software juga dapat dilakukan yaitu dengan cara memprogram mikrokontroler AT89S51 untuk membaca tombol keypad yaitu membandingkan data masukan/penekanan dengan data yang Hexa yang disimpan dalam memori program/ram melalui proses scanning. Jika tombol ditekan, jika data masukan sama dengan data dalam memori program/ram, maka akan menampilkan angka yang sesuai dengan angka tombol yang ditekan kedalam seven segment. Listing program proses pembacaan tombol keypad secara lengkap seperti dibawah ini :

key:

clr a ; Pengosongan akumulator

mov a,p0

(64)

jmp kirim key1:

cjne a,#0d7h,key2 ; Pemeriksaan tombol 2 mov p2,#10100100b ; Tampilkan angka 2 mov r0,#20

jmp kirim key2:

cjne a,#0e7h,key3 ; Pemeriksaan tombol 3 mov p2,#10111000b ; Tampilkan angka 3 mov r0,#30

jmp kirim key3:

cjne a,#0bbh,key4 ; Pemeriksaan tombol 4 mov p2,#10011001b ; Tampilkan angka 4 mov r0,#40

jmp kirim key4:

cjne a,#0dbh,key5 ; Pemeriksaan tombol 5 mov p2,#10010010b ; Tampilkan angka 5 mov r0,#50

(65)

key5:

cjne a,#0ebh,key6 ; Pemeriksaan tombol 6 mov p2,#10000011b ; Tampilkan angka 6 mov r0,#60

jmp kirim key6:

cjne a,#0bdh,key7 ; Pemeriksaan tombol 7 mov p2,#11110000b ; Tampilkan angka 7 mov r0,#70

jmp kirim key7:

cjne a,#0ddh,key8 ; Pemeriksaan tombol 8 mov p2,#10000000b ; Tampilkan angka 8 mov r0,#80

jmp kirim key8:

cjne a,#0edh,key9 ; Pemeriksaan tombol 9 mov p2,#10010000b ; Tampilkan angka 9 mov r0,#90

(66)

key9:

cjne a,#0beh,key10 ; Pemeriksaan tombol 0 mov p2,#11000000b ; Tampilkan angka 0 mov r0,#100

jmp kirim key10:

jmp key Keterangan program :

Secara garis besar langkah – langkah diatas yaitu membandingkan data masukan tombol dengan data pada memori program mikrokontroler AT89S51. Pertama membaca setiap penekanan tombol kemudian disimpan dalam akumulator untuk dibandingkan dengan data pada memori program D7H bila tidak sama, maka program lompat ke label key1, jika sama dengan data D7H maka tampilkan angka 1 melalui port 2. Pada label key1 akan membandingkan isi akumulator dengan data D7H, bila tidak sama maka akan lompat ke label key2, jika sama dengan data D7H maka tampilkan angka 2.

(67)

data DBH maka tampilkan angka 4. Pada label key5 akan membandingkan isi akumulator dengan data EBH, bila tidak sama maka akan lompat ke label key6, jika sama dengan data EBH maka tampilkan angka 5. Pada label key6 akan membandingkan isi akumulator dengan data BDH, bila tidak sama maka akan lompat ke label key7, jika sama dengan data BDH maka tampilkan angka 6. Pada label key7 akan membandingkan isi akumulator dengan data DDH, bila tidak sama maka akan lompat ke label key8, jika sama dengan data DDH maka tampilkan angka 7. Pada label key8 akan membandingkan isi akumulator dengan data EDH, bila tidak sama maka akan lompat ke label key9, jika sama dengan data EDH maka tampilkan angka 8. Pada label key9 akan membandingkan isi akumulator dengan data BEH, bila tidak sama maka akan lompat ke label key10, jika sama dengan data BEH maka tampilkan angka 9. Pada label key10 program lompat ke label key untuk melakukan scanning pembacaan ulang.

4.2 Pengujian Mikrokontroler AT89S51

(68)

16

8923 merupakan nilai baud rata actual dengan ralat sebesar 7 %.

Sistim pengiriman data melalui kaki P3.1 (TxD) dan di terima melalui kaki P3.2 (RxD), secara asinkron. Pada mode 1 data dikirim/diterima dimulai dari bit yang paling terkecil (bit 0). Program subrutin yang dipakai untuk mengirim data adalah sebagai berikut :

kirim:

clr es ; matikan intrupsi serial clr a

mov a,r0 ; data baru yang akan dikirim mov sbuf,a ; kirim data baru

jnb TI,$ ; tunggu data sebelumnya selesai dikirim clr TI ; sinyal ada pengiriman baru

ljmp key

(69)

memantau keadaan SBUF pada pengiriman data berikutnya, maka TI harus dinolkan secara manual.

Program untuk menerima data serial yang telah dikirim menggunakan subrutin penerima data sebagai berikut:

Terima:

clr es ; matikan serial intrupsi

jnb RI,$ ; tunggu SBUF berisi data baru clr RI ; pertanda data sudah diambil clr a

mov a,sbuf ; ambil data

setb es ; aktifkan kembali serial intrupsi

Subrutin serial intrupsi dipakai untuk menerima data serial (untuk semua mode) JNB RI,$ menunggu RI menjadi 1 (aktif), untuk memastikan sudah ada data baru yang diterima pada SBUF. Pada intruksi MOV SBUF,A adalah proses mengambil data serial dari buffer. Agar RI dipakai untuk memantau keadaan SBUF pada pengiriman data berikutnya, maka RI harus di nolkan secara manual.

4.3 Pengujian Motor Stepper

(70)

mempunyai sudut derajat sebesar 1,20. Arah putaran motor stepper hanya satu arah dan setiap penekanan tombol keypad akan mempengaruhi besarnya sudut putar. Pengujian motor stepper bisa menggunakan secara hardware maupun secara software. Secara hardware dengan memberi tegangan sebesar 5 volt pada setiap kutub dan pengujian secara software dengan memberi pulsa ke setiap kutub motor melalui program pada mikrokontroler. Program untuk mengendalikan putaran motor stepper adalah sebagai berikut:

banding:

cjne a,#10,banding1

mov r2,#8 ; data pulsa motor berputar sebesar 100 call putar_kanan

banding1:

cjne a,#20,banding2

mov r2,#17 ; data pulsa motor berputar sebesar 200 call putar_kanan

banding2:

cjne a,#30,banding3

(71)

banding3:

cjne a,#40,banding4

mov r2,#34 ; data pulsa motor berputar sebesar 400 call putar_kanan

banding4:

cjne a,#50,banding5

mov r2,#42 ; data pulsa motor berputar sebesar 500 call putar_kanan

banding5:

cjne a,#60,banding6

mov r2,#50 ; data pulsa motor berputar sebesar 60 call putar_kanan

banding6:

cjne a,#70,banding7

mov r2,#59 ; data pulsa motor berpoutar sebesar 700 call putar_kanan

banding7:

cjne a,#80,banding8

(72)

banding8:

cjne a,90,banding9

mov r2,#75 ; data pulsa motor berputar sebesar 900 call putar_kanan

banding9:

cjne a,#0,selesai ljmp selesai selesai:

reti putar_kanan:

mov a,r3 rl a

cjne a,#0feh,terus mov r3,#0efh mov a,#0efh. Keterangan :

(73)

P0,30FFH adalah perintah untuk mema tikan motor stepper setiap satu kali pulsa yang diberikan. Kemudian isi R2 dikurangi 1 dan dibandingkan dengan data nol jika tidak sama maka lompat ke label putar_kanan, isi R2 menentukan besarnya sudut putar. Analiasa perhitungannya adalah :

Derajat putar = 1,2 x jumlah pulsa

Untuk memutarkan motor stepper sebesar 100 maka membutuhkan jumlah pulsa seba nyak :

Tabel 4.2 Sudut Putaran Motor Stepper dengan Masukan Keypad

Tombol Keypad Besaran Sudut

(74)

BAB V PENUTUP

5.1 Kesimpulan

Setelah dilakukan pengamatan seperti pada bab IV terhadap alat yang dibuat baik secara hardware maupun software maka diperoleh beberapa kesimpulan yaitu:

• Setiap data masukan akan dibaca oleh mikrokontroler AT89S51, dan langsung ditampilkan dalam seven segment satu digit.

• Perubahan posisi sudut putar motor stepper setiap kelipatan 10º, sesuai dengan masukan pada memori mikrokontroler dimana setiap tombol pada keypad sudah diisi besaran sudut yang diinginkan.

• Putaran motor stepper akan kembali ke posisi semula apabila ditekan tombol 0 pada keypad.

5.2 Saran

Kendali motor stepper berbasis mikrokontroler AT89S51 dengan tampilan seven segment merupakan salah satu aplikasi dari mikrokontroler namun yang ditampilkan hanya besaran sudut putar motor stepper.

Perancangan secara hardware sebaiknya didahului dengan perancangan

software, hal ini dilakukan guna mengurangi kemungkinan kesalahan dan penekanan

(75)
(76)

DAFTAR PUSTAKA

Agfianto Eko Putra. Belajar Mikrokontroler AT89C51/52/55 (Teori dan Aplikasi), Penerbit Gava Media, Yogyakarta.

Paulus Andi Nalwan. Panduan Praktis Teknik Antarmuka dan Pemrograman

Mikrokontroler AT89C51, PT Elek Media Komputindo, Jakarta.

Wasito S. Pelajaran Elektronika Jilid 1A, Penerbit Karya Utama, Jakarta.

Suhata, ST. Aplikasi Mikrokontroler Sebagai Pengendali Peralatan Elektronik Via

Line Telepon, Penerbit Elex Media Komputindo, Jakarta

Terpadu Linear oleh Ir. Herman Widodo Soemitro, Penerbit Erlangga,

Jakarta.

http://www.maxim-ic. com

(77)
(78)

Listing Program Lengka p Komunikasi serial Program secara lengkap adalah sebagai berikut:

org 0h

ljmp utama org 23h clr es jnb RI,$ clr RI clr a mov a,sbuf setb es banding:

cjne a,#10,banding1 mov r2,#10

call putar_kanan banding1:

cjne a,#20,banding2 mov r2,#20

call putar_kanan banding2:

(79)

call putar_kanan banding3:

cjne a,#40,banding4 mov r2,#40

call putar_kanan banding4:

cjne a,#50,banding5 mov r2,#50

call putar_kanan banding5:

cjne a,#60,banding6 mov r2,#60

call putar_kanan banding6:

cjne a,#70,banding7 mov r2,#70

call putar_kanan banding7:

cjne a,#80,banding8 mov r2,#80

(80)

banding8:

cjne a,90,banding9 mov r2,#90

call putar_kanan banding9:

cjne a,#0,selesai mov r2,#100 call putar_kanan ljmp selesai selesai:

reti

(81)

setb es

key:

clr a mov a,p0

cjne a,#0b7h,key1 mov p2,#0f9h mov r0,#10 jmp kirim key1:

cjne a,#0d7h,key2 mov p2,#10100100b mov r0,#20

jmp kirim key2:

cjne a,#0e7h,key3 mov p2,#10111000b mov r0,#30

jmp kirim key3:

(82)

mov p2,#10011001b mov r0,#40

jmp kirim

key4:

cjne a,#0dbh,key5 mov p2,#10010010b mov r0,#50

jmp kirim key5:

cjne a,#0ebh,key6 mov p2,#10000011b mov r0,#60

jmp kirim key6:

cjne a,#0bdh,key7 mov p2,#11110000b mov r0,#70

jmp kirim key7:

(83)

mov r0,#80 jmp kirim key8:

cjne a,#0edh,key9 mov p2,#10010000b mov r0,#90

jmp kirim key9:

cjne a,#0beh,key10 mov p2,#11000000b mov r0,#100

jmp kirim

key10:

jmp key kirim:

(84)

ljmp key putar_kanan:

mov a,r3 rl a

cjne a,#0feh,terus mov r3,#0efh mov a,#0efh terus:

mov p1,a mov r3,a call delay mov p1,#0ffh djnz r2,putar_kanan ret

delay:

mov r6,#15 delay1:

mov r7,#0h djnz r7,$ djnz r6,delay1 ret

Gambar

Gambar 2.1 keypad matriks 3x4
gambar dibawah ini:
Gambar. 2.4 Peta Register TMOD
Gambar 2.5 Struktur Dasar Motor Stepper.
+7

Referensi

Dokumen terkait

Dalam menerapkan bauran pemasaran produk yang dilakukan oleh Kelompok Tani Ternak Nandini Asri belum sepenuhnya berjalan dengan baik dan lancar, karena didalamnya

[r]

[r]

simulasi yang dilakukan pada aplikasi “Sistem Pakar Pendeteksi Kerusakan Mesin Mobil Daihatsu Zebra Espass S91”, penulis dapat mengambil kesimpulan:. Sebuah software

Analisis Pengujian Dimensi Empathy Pada Kualitas Layanan Terhadap Kepuasan Konsumen..... Analisis Pengujian Dimensi Kualitas Layanan

Tujuan dari penelitian ini adalah untuk menganalisis struktur biaya, pendapatan, dan efisiensi usahatani bawang merah di lahan pasir dengan menggunakan 22 petani sampel

Analysis of 5-year survival of patients treated for breast cancer at Sardjito Hospital in Yogyakarta province, Indonesia.. Evi Susanti Sinaga , Riris Andono Ahmad 1 ​ 1 ​ ,

Yangmenar i k,padakaj i ani nij uga di t emukan bahwa dal am BMD ket i ka ber t ut ur dapat di duga kepada si apa seseor ang ber t ut ur , di per i ngkat yang manaseseor angi t