alat bantu belajar motor langkah - usd repository

109
ALAT BANTU BELAJAR MOTOR LANGKAH TUGAS AKHIR Diajukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Teknik pada Program Studi Teknik Elektro Disusun oleh Nama Mahasiswa : ANDI SUSANTO Nomor Mahasiswa : 025114025 PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2007 i

Upload: others

Post on 03-Oct-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

ALAT BANTU BELAJAR MOTOR LANGKAH

TUGAS AKHIR

Diajukan untuk memenuhi salah satu syarat

memperoleh gelar Sarjana Teknik pada

Program Studi Teknik Elektro

Disusun oleh

Nama Mahasiswa : ANDI SUSANTO

Nomor Mahasiswa : 025114025

PROGRAM STUDI TEKNIK ELEKTRO

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2007

i

Page 2: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

STEPPER MOTOR LEARNING TOOL

FINAL PROJECT

Presented as Partial Fulfillment of the Requirements

to obstain the Sarjana Teknik Degree

in Electrical Engineering

By :

Student Name : ANDI SUSANTO

Student Number : 025114025

ELECTRICAL ENGINEERING STUDY PROGRAM

SCIENCE AND TEGNOLOGI FACULTY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2007

ii

Page 3: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

iii

Page 4: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

iv

Page 5: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

PERNYATAAN KEASLIAN KARYA

“Saya menyatakan dengan sesungguhnya bahwa tugas akhir yang saya tulis ini

tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam

kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah”

Yogyakarta, September 2007

Penulis,

Andi Susanto

v

Page 6: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

HALAMAN MOTTO

Tidak ada hal yang tidak mungkin….

Banggakanlah Orang tuamu.........

Kill or to be killed………………… Dengan doa, Aku pintar…..….. Aku bisa………… Aku sanggup……

vi

Page 7: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

HALAMAN PERSEMBAHAN

KUPERSEMBAHKAN KARYA TULIS INI KEPADA:

Sang juru selamatku

&

vii

Page 8: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

INTISARI

Salah satu dari pembelajaran motor elektrik didalam teknik elektro adalah

motor stepper. Untuk mempelajara cara kerja motor stepper lebih baik digunakan alat

bantu belajar. Tujuan dari alat belajar atau alat pelatian adalah membantu masyarakat

yang ingin mempelajari teknologi dengan mudah dan cepat.

Skripsi ini membahas tentang alat bantu belajar motor stepper. Peralatan ini

terdiri dari saklar untuk memilih mode, motor stepper dengan jarum penunjuk sudut,

LCD untuk menampilkan informasinya dan indicator LED. Piranti pengendali yang

lain adalah tombol START dan tombol RESET. Ada dua jenis waktu tunda: waktu

tunda otomatis dan waktu tunda manual. LCD digunakan untuk tampilan kendali pola

motor stepper danbesar pulsa juga arah putaran motor stepper. Mode untuk

mengoperasikan motor stepper adalah langkah penuh eksitasi tunggal, langkah penuh

eksitasi ganda, langkah setengah. Indicator LED digunakan untuk mendeteksi adanya

aktivitas dari koil. Pengendali utama digunakan mikrokontroler AT89S51.

Hasilnya adalah motor stepper bekerja dengan baik. Dengan menggunakan

control panel pengguna dapat belajar mengoperasikan motor stepper dengan mudah

dan cepat.

Kata kunci: motor stepper, alat Bantu belajar, aplikasi mikrokontroler.

viii

Page 9: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

ABSTRACT One of the electric motor studied in electrical engineering is stepper motor. To

learn how stepper motor works it better using trainer board. The purpose of teaching tools or trainer board is help people who want learn the technology easily and fast.

This paper discussed about stepper motor learning tool. This equipment consists of switch to select mode, stepper motor with angle pointer, LCD to display information and some LED indicator. Another control device are START button and RESET button. There are two options for delay generation : automatic delay time and manual delay time. LCD used to display motor stepper control pattern and number of pulses also stepper motor direction. Mode for Motor stepper operation are FULL STEP single excitation, FULL STEP double excitation , HALF STEP. LED indicator used to indicate activity of coil. The main controller used a AT89S51 microcontroller.

The results are motor stepper work well. Using control panel user can learn the operation of motor stepper easily and fast. Keywords: motor stepper, trainer board, microcontroller application.

ix

Page 10: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

KATA PENGANTAR

Puji syukur penulis panjatkan kepada tuhan yesus kristus atas berkat dan

rahmat-Nya, sehingga penulis akhirnya dapat menyelesaikan tugas akhir ini dengan

baik.

Dalam penulisan tugas akhir ini penulis menyadari bahwa ada begitu banyak

yang telah memberikan bimbingan, dorongan, tenaga, perhatian dan bantuan sehingga

tugas akhir ini dapat terselesaikan. Oleh karena itu dengan segala kerendahan hati

penulis ingin mengucapkan terima kasih kepada:

1. Tuhan Yesus kristus atas rahmat, penyertaan dan keajaiban-keajaiban yang

telah diberikan-Nya.

2. Bapak Ir. Greg. Heliarko, S.J., S.S., B.ST., M.A., M.Sc. selaku dekan

fakultas sains dan teknologi.

3. Bapak Augustinus Bayu Primawan, ST., M.Eng. selaku ketua jurusan

fakultas sains dan teknologi.

4. Bapak B.Djoko Untoro S., SSi., M.T selaku pembimbing I terima kasih

atas ide-ide, bimbingan dan dorongan yang tidak henti-hentinya sehingga

sekripsi ini dapat selesai dengan baik.

5. seluruh dosen Teknik Elektro atas ilmuyang telah diberikan selama kuliah

di Universitas Sanata Dharma Yogyakarta.

6. Seluruh staff sekretariat Fakultas Sains dan Teknologi, terutama Pak Djito

yang dengan sabar dan keramahan memberikan semua yang dibutuhkan.

7. Papa dan mama yang tercinta, terimakasih atas dorongan, semangat dan

dukungan, pengorbanan, dan doanya.

8. Kakak dan adikku yang kusayangi terimakasih atas doanya, dan

dukungannya.

9. Angga, Gompis trima kasih buat sumbangan pikirannya dan

kebanyolannya.

10. Suming alias Samiung, trima kasih Scannernya.

11. Anak-anak kost “PATRIA” kompak terus dengan ide-ide yang tidak

masuk akal : Dadiet, Seul, Dedi, Joe (Burung), Angga, Andi (Kura2

ngebut), Si bro, Gompis, Ade, dan masih banyak lagi.

x

Page 11: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

12. Roby, terima kasih bantuan nyelesaikan hardwarenya dan Ido alias Bendol

terima kasih buat info halaman-halaman skripsi

13. PC-ku dan DOTA-ku alat pembantu penghilang stress.

14. Teman-teman seperjuangan teknik elektro 2002 : Wawan or Ticus, Harex,

yoga, Alex, Andek, Ari(Gepeng), Clemen, Plentong, Ari.W, Kobo,

Mikael, Danni (Lele laut) dan temen-temen yang lain semuanya.

Terimakasih sepiritnya.

15. Dan seluruh pihak yang telah ambil bagian dalam proses penulisan tugas

akhir ini yang terlalu banyak jika disebutkan satu-persatu.

Dengan rendah hati penulis menyadari bahwa tugas akhir ini masih jauh dari

sempurna, oleh karena itu berbagai kritik dan saran untuk perbaikan tugas akhir ini

sangat diharapkan. Akhir kata semoga tugas akhir ini dapat bermanfaat bagi semua

pihak. Terima kasih.

Yogyakarta, 24 September 2007

Penulis

xi

Page 12: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

DAFTAR ISI

Halaman

JUDUL ……………………………………………………………… i

HALAMAN PERSETUJUAN……………………………………... iii

HALAMAN PENGESAHAN……………………………………… iv

PERNYATAAN KEASLIAN KARYA……………………………. v

HALAMAN MOTTO………………………………………………. vi

HALAMAN PERSEMBAHAN…………………………………….vii

INTIARI….......................................................................................... viii

ABSTRACT………………………………………………………….ix

KATA PENGANTAR……………………………………………….x

DAFTAR ISI………………………………………………………... xii

DAFTAR GAMBAR……………………………………………….. xv

DAFTAR TABEL…………………………………………………... xvii

BAB I PENDAHULUAN…………………………………………....1

1.1 Latar Belakang Masalah………………………………...1

1.2 Tujuan Penelitian………………………………………..2

1.3 Manfaat Penelitian………………………………………2

1.4 Perumusan Masalah……………………………………..2

1.5 Batasan Masalah………………………………………...2

1.6 Metodologi Penelitian…………………………………..2

1.7 Sistematika Penulisan………………………………….. 3

BAB II LANDASAN TEORI………………………………………. 4

2.1 Motor Stepper………………………………………….. 4

2.1.1 Metode langkah penuh (Full step)………………. 6

2.1.1.1 Metode langkah penuh eksitasi tunggal… 6

2.1.1.2 Metode langkah penuh eksitasi ganda….. 7

2.1.2 Metode langkah setengah (half step)……………. 8

xii

Page 13: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

2.2 LCD(Liquid Crystal Display)………………………….. 9

2.2.1 LCD M1632…………………………………….. 9

2.2.2 Register………………………………………….. 9

2.2.3 DDRAM (Display Data RAM)………………….. 9

2.2.4 CGRAM (Character Generator RAM)…………..10

2.2.5 Pin-pin pada LCD……………………………….. 11

2.2.6 Pengoperasian instruksi…………………………. 11

2.3 Mikrokontroler AT89S51……………………………… 13

2.3.1 Struktur Memori………………………………… 14

2.3.2 Set instruksi dan pemograman assembly………... 14

2.3.3 Set instruksi dalam MCS51………………………15

2.3.3.1 Kelompok penyalinan data………………15

2.3.3.2 Kelompok instruksi aritmatik……………15

2.3.3.3 Kelompok instruksi logika……………… 16

2.3.3.4 Kelompok instruksi jump………………..16

2.3.3.5 Kelompok SUB – RUTIN……………….17

2.3.3.6 Kelompok instruksi loncat bersyarat…….17

2.3.3.7 Kelompok instruksi proses dan test……...17

2.4 Penguat arus motor stepper…………………………….. .17

BAB III RANCANGAN PENELITIAN……………………………19

3.1 Diagram Blok……………………………………………19

3.2 Perancangan hardware…………………………………..20

3.2.1 Rangkaian saklar………………………………… .20

3.2.2 Rangkaian tombol…………………………………21

3.2.3 Rangkaian mikrokontroler AT89S51…………….. 21

3.2.4 Penguat arus……………………………………… 22

3.2.5 Rangkaian indicator LED………………………… 24

3.3 Perancangan software…………………………………… 24

xiii

Page 14: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

3.3.1 Pemograman AT89S51 untuk kendali LCD……… 26

3.3.2 Pemograman untuk mencari nilai pola dan sudut… 28

3.3.3 Pemograman untuk delay………………………… 30

BAB IV HASIL DAN PEMBAHASAN……………………………. 31

4.1 Pengujian perangkat keras……………………………… 31

4.1.1 Rangkaian Catu Daya............................................. 31

4.1.2 Rangkaian kendali (Mikrocontroler AT89S51)...... 32

4.1.3 Pengujian indicator………………………………. 37

4.1.4 Pengujian penguat arus…………………………… 37

4.1.5 Pengujian tampilan LCD…………………………. 38

4.1.6 Pengujian putaran motor…………………………. 40

4.2 Pengujian alat oleh pengguna…………………………… 41

4.2.1 Pengoperasian alat……………………………….. 41

4.2.2 Pemahaman motor stepper……………………….. 42

4.2.3 Pemahaman tampilan…………………………….. 42

4.2.4 Kendala pengoperasian…………………………… 43

4.2.5 Kemasan (Box)…………………………………… 43

4.2.6 Kekurangan………………………………………. 43

4.2.7 Kaitan dengan dunia pendidikan…………………. 44

BAB V PENUTUP…………………………………………………… 45

5.1 Kesimpulan……………………………………………… 45

5.2 Saran-saran……………………………………………… 46

DAFTAR PUSTAKA

xiv

Page 15: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

DAFTAR GAMBAR

Halaman

Gambar 2.1 Konstruksi Motor stepper………………………………. . 4

Gambar 2.2 Mode fullstep eksitasi tunggal…………………………… 7

Gambar 2.3 Langkah penuh eksitasi ganda………………………….. . 8

Gambar 2.4 Diagram alir proses instruksi……………………………. 12

Gambar 2.5 konfigurasi pin mikrokontroler AT89S51………………. 14

Gambar 2.6 Penguat arus motor stepper……………………………… 18

Gambar 3.1. Diagram blok stepper motor learning tool……………… 19

Gambar 3.2 Panel kendali…………………………………………….. 20

Gambar 3.3. Rangkaian saklar………………………………………… 20

Gambar 3.4 Rangkaian tombol……………………………………….. 21

Gambar 3.5. Gambar rangkaian mikrokontroler AT89S51…………… 21

Gambar 3.6 Rangkaian penguat arus…………………………………. 23

Gambar 3.7 Rangkaian indicator LED……………………………….. 24

Gambar 3.8 Diagram alir secara umum ……………………………… 25

Gambar 3.9 Diagram alir inisialisasi LCD…………………………… 26

Gambar 3.10 Subrutine bersih layar LCD……………………………. 27

Gambar 3.11 Diagram alir menampilkan karakter pada LCD………. . 27

Gambar 3.12 Diagram alir mengubah karakter pada LCD…………… 27

Gambar 3.13 Mencari besar nilai pola……………………………….. 28

Gambar 3.14 Mencari besar pulsa……………………………………. 29

Gambar 3.15 Menghitung besar nilay delay otomatis………………... 30

Gambar 4.1 Perangkat keras dengan bagian-bagiannya……………… 31

Gambar 4.2 Grafik tombol saat ditekan selama 1 detik……………… 35

Gambar 4.3 Tampilan utama…………………………………………. 38

xv

Page 16: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

Gambar 4.4 Tampilan full step eksitasi tunggal…………………….. 38

Gambar 4.5 Tampilan full step eksitasi ganda ……………………… 39

Gambar 4.6 Tampilan half step……………………………………… 39

xvi

Page 17: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

DAFTAR TABEL

Halaman

Tabel 2.1 Pemberian tegangan untuk full step eksitasi tunggal……… 6

Tabel 2.2 Pemberian tegangan untuk full step eksitasi ganda………... 7

Tabel 2.3 Tabel pemberian tegangan untuk langkah setengah ……… 8

Tabel 2.4 Peta memori (memory map)……………………………….. 10

Tabel 2.5 Tabel sandi ASCII untuk setiap karakter………………….. 10

Tabel 2.6 Pin-pin LCD M1632……………………………………….. 11

Tabel 2.7 Register penyeleksi ………………………………………… 12

Tabel 2.8 Operational code LCD……………………………………… 13

Tabel 4.1 Pengamatan level tegangan catu............................................ 32

Tabel 4.2 Pengujian level tegangan port 3 pada half step…………….. 33

Tabel 4.3 Pengujian level tegangan pada full step eksitasi tunggal…. .. 34

Tabel 4.4 Pengujian level tegangan pada full step eksitasi ganda….. .. 35

Tabel 4.5 Pengujian tegangan saklar…………………………………. 36

Tabel 4.6 Pengujian indikator LED…………………………………… 37

Tabel 4.7 pengujian arus dari rangkaian penguat arus………………... 37

Tabel 4.8 Pengujian putaran motor…………………………………… 40

xvii

Page 18: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

BAB I

PENDAHULUAN

1.1 LATAR BELAKANG

Perkembangan teknologi yang pesat sekarang ini motot stepper banyak kita

jumpai pada alat-alat yang membutuhkan putaran sebagai kendalinya. Motor stepper

banyak juga kita jumpai didalam dunia industri dan keamanan. Antara lain kita dapat

jumpai pada printer, plotter, lengan robot, monitoring keadaan ruang, dan masih

banyak lagi yang lain yang menggunakan motor stepper sebagai penggeraknya. Motor

stepper lebih banyak digunakan sebagai penggerak dibandingkan dengan motor

induksi, dikarenakan motor stepper dapat diatur arah gerak putarannya, baik

berlawanan arah jarum jam (counter clock wise, CCW) maupun searah jarum

jam(clock wise, CW), serta dapat diatur pada posii atau sudut berapakah motor

stepper akan berhenti. Motor stepper berhenti tanpa ada pengereman.

Mikrokontroler didalam dunia teknologi sangat dibutuhkan karena dapat

menggantikan beberapa macam fungsi dari IC digital. Hingga saat ini mikrokontroler

dikembangkan terus sehingga kita hanya perlu satu chip saja untuk menjalankan suatu

rangkaian elektronika. MCS51 merupakan sebagai dasar untuk kita belajar agar kita

dapat dengan mudah mempelajari dari perkembangan mikrokontroler yang semakin

maju.

Penampil suatu keluaran alat dikembangkan hingga saat ini agar tampilan

keluaran dari suatu alat lebih menarik dan juga agar keluaran dapat lebih dimengerti

dan dibaca. LCD banyak digunakan dalam alat – alat yang menggunakan rangkaian

digital. LCD bentuknya lebih ramping, ringan dan mudah diatur tampilannya

dibandingkan dengan layar tabung.

1

Page 19: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

1.2 Tujuan Tujuan dari penelitian ini adalah untuk membuat alat stepper motor learning

tool.

1.3 Manfaat

Manfaat yang dapat dicapai dari pembuatan stepper motor learning tool

adalah untuk memudahkan kita mempelajari cara kerja motor stepper.

1.4 Rumusan masalah

Permasalahan yang dapat dirumuskan pada pembuatan alat ini adalah sebagai berikut:

1. Interface yang digunakan untuk menyambungkan motor stepper dengan

mikrokontroler.

2. Mengembalikan kedudukan motor stepper ke posisi semula.

1.5 Batasan masalah

1. Penampil pola dan pulsa digunakan LCD M1632.

2. AT89S51 digunakan sebagai pengendali untuk mengeluarkan tampilan pola

dan besar pulsa pada LCD dan sebagai pengendali putaran motor stepper.

3. Motor stepper bergerak searah jarum jam(CW) dan berlawanan jarum

jam(CCW).

4. Ada dua metode untuk menjalankan motor stepper yaitu half step dan full

step.

5. Metode full step dibagi menjadi dua yaitu eksitasi tunggal dan eksitasi ganda.

6. Setelah motor stepper berputar 1 kali (400 step untuk mode half step dan 200

step untuk mode full step) maka mikrokontroler akan kembali ke awal

program.

1.6 Metodologi penelitian

Metode yang digunakan dalam pembuatan alat ini adalah mengumpulkan

sejumlah referensi atau literature dari perpustakaan, internet, dan sebagainya,

merancang pembuatan rangkaian saklar dan tombol ke mikrokontroler, membuat

program per modenya, merancang pembuatan rangkaian interface dengan

menggunakan transistor.

2

Page 20: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

1.7 Sistematika penulisan Sistematika penulisan laporan ini adalah sebagai berikut:

BAB I : PENDAHULUAN

Latar belakang, tujuan manfaat, batasan masalah, rumusan

masalah, metodologi penelitian dan sistematika penulisan.

BAB II : DASAR TEORI

Motor stepper, metode langkah penuh (full step), metode langkah

setengah (half step), LCD (Liquid Crystal Display), LCD M1632,

mikrokontroler AT89S51, penguat arus motor stepper.

BAB III : PERANCANGAN ALAT

Berisi tentang blok diagram perancanga, perancangan perangkat

keras (hardware) dan perancangan perangkat lunak (software) dari

alat yang akan dibuat.

BAB IV : HASIL DAN PEMBAHASAN

Berisi hasil perancangan, hasil pengujian, dan pembahasan analisa.

BAB V : KESIMPULAN DAN SARAN

Bab yang berisi tentang kesimpulan akhir dan saran – saran penulis

tentang alat yang dibuat.

3

Page 21: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

BAB II

LANDASAN TEORI 2.1 Motor stepper

Motor stepper merupakan salah satu jenis motor elektrik yang dapat

dikendalikan posisi sudutnya secara diskrit. Prinsip kerja motor stepper mirip dengan

DC motor, yaitu sama-sama dicatu dengan tegangan DC untuk memperoleh medan

magnet. Perbedaan antara motor stepper dengan motor dc yaitu motor dc mempunyai

magnet tetap pada stator, sedangkan motor stepper mempunyai magnet tetap pada

rotor. Untuk konstruksi motor stepper diperlihatkan pada gambar 2.1.

Gambar 2.1 Konstruksi Motor Stepper

Motor stepper tidak dapat bergerak dengan sendirinya. Motor stepper bergerak

secara step by step sesuai dengan spesifikasinya, dan bergerak dari satu step ke step

berikutnya memerlukan waktu. Motor stepper pada kecepatan yang rendah akan

menghasilkan torsi yang besar.

Kita dapat mengatur sudut dengan cara mengatur banyak pulsa yang

dimasukkan secara bergantian dan berurutan pada setiap lilitan. Untuk setiap langkah

penuh pemberian pulsa pada motor stepper tertentu memiliki besar sudut sebesar 1.80

(derajat). Motor stepper memiliki beberapa keuntungan yang dibutuhkan dalam

pembuatan alat yang membutuhkan ketepatan tinggi ,dikarenakan motor stepper

mempunyai ketelitian dan ketepatan serta keterulangan yang tinggi. Penggunaan

motor stepper banyak digunakan dalam pengendalian gerak putaran dalam dunia

industri.

Motor stepper tidak merespon sinyal clock, motor stepper mempunyai

beberapa lilitan dimana lilitan-lilitan tersebut harus dicatu (tegangan) dahulu dengan

4

Page 22: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

suatu urutan tertentu agar dapat berotasi. Membalik urutan pemberian tegangan

tersebut akan menyebabkan putaran motor stepper yang berbalik arah. Jika sinyal

kontrol tidak terkirim sesuai dengan perintah maka motor stepper tidak akan berputar

atau tidak bergerak.

Karakteristik dari motor stepper adalah sebagai berikut:

• Voltage

Tiap motor stepper mempunyai tegangan rata-rata yang biasanya

tertulis pada tiap unitnya atau tercantum pada datasheet masing-

masing motor stepper. Tegangan rata-rata ini harus diperhatikan

dengan seksama karena bila melebihi dari tegangan rata-rata ini akan

menimbulkan panas yang terlalu besar pada motor stepper yang

menyebabkan kinerja putarannya tidak maksimal atau bahkan motor

stepper akan rusak dengan sendirinya.

• Resistance

Resistance ini akan menentukan arus yang mengalir, selain itu juga

akan mempengaruhi torsi dan kecepatan maksimum dari motor

stepper.

• Degrees step by step

Derajat per langkahnya adalah faktor terpenting dalam pemilihan

motor stepper sesuai dengan aplikasinya. Dalam pengoperasiannya kita

dapat menggunakan 2 prinsip yaitu full-step atau half-step. Dengan

full-step berarti motor stepper akan berputar sesuai dengan spesifikasi

derajat step by step, sedangkan half-step berarti motor stepper akan

berputar setengah derajat step by step dari spesifikasi motor stepper

tersebut.

Untuk mengendalikan motor stepper tergantung pada cara kita memberikan

sinyal tegangan pada lilitan tiap motor. Ada beberapa metode yang dapat kita

gunakan dalam pengendalian motor stepper yaitu : metode full step dan

metode half step.

5

Page 23: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

2.1.1 Metode langkah penuh (Full step) Metode ini ada dua bagian yaitu:

2.1.1.1 Metode langkah penuh eksitasi tunggal Pemberian tegangan dilakukan secara bergantian pada setiap lilitan atau

kumparan dari motor stepper tersebut pada setiap langkahnya. Pemberian tegangan

untuk bekerja full step eksitasi tunggal dengan arah CW (Clock Wise) dan dengan

arah CCW (Counter Clock Wise) dapat dilihat dalam tabel 2.1:

Tabel 2.1 Pemberian tegangan untuk bekerja full step eksitasi tunggal

Fullstep eksitasi tunggal Tegangan yang diberikan pada lilitan

Arah putar searah jarum

jam

Arah putar berlawanan

arah jarum jam

L3 L2 L1 L0 L3 L2 L1 L0

1 1 0 0 0 0 0 0 1

2 0 1 0 0 0 0 1 0

3 0 0 1 0 0 1 0 0

4 0 0 0 1 1 0 0 0

Pada fullstep, suatu titik pada sebuah kutub magnet di rotor akan kembali

mendapat tarikan medan magnet stator pada lilitan yang sama setelah step ke 4

berikutnya dapat diberikan lagi mulai dari step 1. setiap step, rotor bergerak searah

atau berlawanan dengan jarum jam sebesar spesifikasi derajat step by step dari motor

stepper. Setiap step hanya menarik sebuah kutub saja.

Untuk motor stepper yang digunakan didalam tugas akhir ini dengan sudut

1,80 setiap langkahnya. Pada gambar 2.2 ditunjukkan ilustrasi pemberian tegangan

pada lilitan untuk mode fullstep.

6

Page 24: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

Gambar 2.2 Mode fullstep eksitasi tunggal

2.1.1.2 Metode langkah penuh eksitasi ganda Pemberian tegangan dilakukan sekaligus untuk dua kumparan atau lilitan

pada setiap langkahnya. Pemberian tegangan untuk bekerja full step eksitasi ganda

dengan arah CW (clock wise) dan dengan arah CCW (counter clock wise) dapat

dilihat dalam tabel 2.2:

Tabel 2.2 Pemberian tegangan untuk bekerja fullstep eksitasi ganda

Fullstep eksitasi ganda Tegangan yang diberikan pada lilitan

Arah putar searah jarum

jam

Arah putar berlawanan

arah jarum jam

L3 L2 L1 L0 L3 L2 L1 L0

1 1 1 0 0 0 0 1 1

2 0 1 1 0 0 1 1 0

3 0 0 1 1 1 1 0 0

4 1 0 0 1 1 0 0 1

Untuk ilustrasi gerak rotor dapat dilihat gambar 2.3 dengan besar sudutnya

adalah sebesar 1.80 setiap langkanya.

7

Page 25: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

Gambar 2.3 Langkah penuh eksitasi ganda.

2.1.2 Metode langkah setengah (half step) Metode ini merupakan gabungan dari dua metode yaitu metode langkah penuh

eksitasi tunggal dan metode langkah penuh eksitasi ganda. Untuk memutar motor

dengan metode ini ialah dengan menggunakan cara pemberian tegangan pada satu dan

dua lilitan secara bergantian. Pada metode ini setiap langkah menghasilkan sudut

sebesar 0,90. kita dapat melihat tabel 2.3 untuk metode langkah setengah sebagai

berikut:

Tabel 2.3 Tabel pemberian tegangan untuk langkah setengah

Fullstep eksitasi ganda Tegangan yang diberikan pada lilitan

Arah putar searah jarum

jam

Arah putar berlawanan

arah jarum jam

L3 L2 L1 L0 L3 L2 L1 L0

1 1 0 0 0 0 0 0 1

2 1 1 0 0 0 0 1 1

3 0 1 0 0 0 0 1 0

4 0 1 1 0 0 1 1 0

5 0 0 1 0 0 1 0 0

6 0 0 1 1 1 1 0 0

7 0 0 0 1 1 0 0 0

8 1 0 0 1 1 0 0 1

8

Page 26: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

2.2 LCD(Liquid Crystal Display) Liquid Crystal Display atau yang sering disingkat sebagai LCD ini merupakan

suatu alat yang banyak digunakan sebagai penampil karakter. Pemakaian daya LCD

lebih rendah daripada pemakaian daya pada Light Emitting Dioda atau yang sering

disingkat dengan LED. Sedangkan kekurangan dari pemakaian LCD ialah salah

satunya pada layer LCD, karena pada umumnya sukar dapat dilihat dalam kondisi

ruangan yang sedikit pencahayaannya. Kontras gambar akan terlihat buruk jika

pencahayaannya kurang dan layar akan lebih sukar untuk dibaca. Lifetime LCD

tergantung pada pencahayaannya (illumination). LCD paling banyak digunakan

adalah LCD monokrom dengan satu warna.

2.2.1 LCD M1632 Pada alat tugas akhir kuliah ini LCD yang digunakan adalah LCD buatan

Seiko dengan seri M1632. M1632 adalah LCD dot matrik yang membutuhkan daya

yang kecil. LCD M1632 mempunyai 16 karakter, dua baris matrik 5 x7 . Kapasitas

RAM adalah sebesar 80 byte atau 80 karakter maksimum. Dibangun dengan reset

otomatis saat power dihidupkan. Membutuhkan tegangan +5V. dengan suhu saat

beroperasi sebesar 00C hingga 500C.

2.2.2 Register Ada dua jenis pengontrol dari register delapan bit yaitu : instruction register

(IR) dan the data register (DR). Register-register tersebut dipilih oleh register select

(RS).

Instruction register (IR) menyimpan kode-kode instruksi antara lain

membersihkan karakter pada layer, menggeser cursor, memberikan informasi alamat

dari display data RAM (DD RAM) dan character generator RAM (CG RAM).

Data register (DR) menyimpan data sementara untuk ditulis ke DDRAM atau

CG RAM, atau membaca dari DD RAM atau CG RAM.

2.2.3 DDRAM (Display Data RAM) DD RAM mempunyai kapasitas 80 x 8 bits atau 80 byte ndan menyimpan data

tampilan sebanyak 80 byte karakter. DDRAM menyimpan karakter-karakter yang

9

Page 27: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

dikirim (sandi ASCII) dan yang akan ditampilkan pada layer LCD. Peta memori

(memory map) dari DDRAM dapat digambarkan pada tabel 2.4 sebagai berikut:

Tabel 2.4 Peta memori (memory map) Posisi kursor 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Baris satu 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95

Baris dua C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF

2.2.4 CGRAM (Character Generator RAM) CG RAM merupakan penghasil karakter dengan menggunakan sandi ASCII kemudian dikirim ke DDRAM untuk ditampilkan ke layer LCD. Untuk sandi ASCII pada setiap karakter ditunjukkan pada tabel 2.5.

Tabel 2.5 Tabel sandi ASCII untuk setiap karakter

Pada tabel 2.4 diatas, 16 sandi pertama yaitu sandi 0000 0000 hingga 0000

1111 (00h-ffh) merupakan CGRAM yang digunakan untuk karakter grafis. Sandi

0001 0000 hingga 0001 1111 (10h-1fh) tidak digunakan dan hanya menampilkan

karakter kosong. Sandi karakter ASCII yang umum digunakan adalah mulai sandi

0010 0000 hingga 0111 1111 (20h-7fh). Sandi 1000 0000 hingga sandi 1001 1111

(80h-9fh) digunakan untuk menampilkan karakter kosong dan kode 1010 000

hingga 1101 1111 (A0h-Dfh) merupakan karakter jepang.

10

Page 28: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

2.2.5 Pin-pin pada LCD Pada tabel 2.6 ditunjukkan pin-pin yan digunakan dalam LCD M1632.

Tabel 2.6 Pin-pin LCD M1632

Pada tabel 2.6 diatas kaki 1 dan 3 disambungkan dengan 0v atau ground

sedangkan dari kaki 2 disambungkan dengan vcc power suplly 5v dengan toleransi

sebesar 10% atau sebesar 4,5v hingga sebesar 5,5v. Agar LCD dapat mengetahui

apakah yang dikirim merupakan data atau instruksi maka digunakan kaki 4 (RS).

Untuk RS diberi sinyal high maka LCD membaca masukan sebagai data, sedangkan

jika RS diberi sinyal low maka LCD akan membaca masukan sebagai instruksi. Kaki

5 merupakan kaki yang digunakan untuk menulis data ke LCD atau membaca data

dari LCD. Pada alat TA stepper motor learning tool data dari LCD tidak pernah

dibaca oleh MCS51 maka pada pin 5 disambungkan dengan ground. Pin 6 merupakan

pin enable, pin ini digunakan untuk memberikan sinyal detak (clock) ke LCD bahwa

sedang dilakukan pengiriman data. Pin 7 hingga pin 14 merupakan pin untuk data.

Sedangkan pin 15 dan pin 16 merupakan pin untuk mengatur kontras dari layer LCD.

2.2.6 Pengoperasian instruksi Mode pengoperasia terdiri atas pengoperasian 8 bit atau 4 bit, hal ini

tergantung dari mode pengoperasian yang dipilih oleh pengguna alat. Pada

pengoperasian 8 bit dibutuhkan 8 jalur data yaitu pin DB0 hingga pin DB7 untuk

melakukan pengiriman data, sedangkan pada pengoperasian 4 bit pin yang dibutuhkan

juga 4 jalur yaitu DB0 hingga pin DB3 untuk mengirimkan data 4 bit. Pengoperasian

11

Page 29: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

internal pada LCD dikontrol oleh keadaan jalur RS dan R/W. untuk pengoperasian-

pengoperasian dapat dilihat pada tabel 2.7 sebagai berikut:

Tabel 2.7 Register penyeleksi RS R/W Pengoperasian

0 0 IR(instruction register)menulis penoperasian

internal

0 1 Membaca busy flag (DB7)dan pencacahan

alamat (DB0 ke DB6)

1 0 DR(Data register)menulis sebagai

pengoperasian

1 1 DR(data register)membaca sebagai

pengopersaian internal

Sebelum menampilkan karakter pada LCD dibutuhkan beberapa instruksi untuk proses inisialisasi dan konfigurasi LCD terlebih dahulu, agar jalur-jalur atau pin-pin pada LCD tersebut dapat berfungsi sebagai mana mestinya. Proses inisialisasi ini digunakan untuk mengenali LCD yang akan digunakan apakah tampilan satu baris atau dua baris, untuk mengenali mode pengiriman data dan juga untuk mengenali pola matriksnya. Untuk melihat proses inisialisasi pada LCD dapat digambarkan secara diagram alir pada gambar 2.4

RS = 1

Start

Instruksi inisialisasidisiapkan

E = 0

Instruksi diterima LCD

E = 1

finish

RS = 0

Gambar 2.4 Diagram alir proses instruksi

Sedangkan untuk melihat beberapa sandi-sandi operasional untuk instruksi-

instruksi dapat dilihat dalam tabel2.8. Dalam tabel2.8 diperlihatkan beberapa instruksi

yang digunakan dalam pengaturan tampilan LCD antara lain membersihkan layer dan

kursor kembali ke posisi semula, menggeser kursor, mengembalikan kursor ke kolom

satu baris satu (alamat 80h), membuat kursor berkedip.

12

Page 30: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

Tabel 2.8 Operational code LCD

2.3 Mikrokontroler AT89S51 AT89S51 adalah mikrokontroler keluaran Atmel dengan 4K byte flash

PEROM (Programmable And Read Only Memory), AT89S51 merupakan memori

dengan teknologi nonvolatile memory, isi memori tersebut dapat diisi ulang ataupun

dihapus berkali-kali. Gambar 2.5 menunjukkan konfigurasi pin-pin untuk

mikrokontroller AT89S51.

13

Page 31: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

Gambar 2.5 Konfigurasi pin mikrokontroler AT89S51

2.3.1 Struktur memori AT89S51 mempunyai struktur memori yang terdiri atas:

• RAM internal, memori sebesar 128 byte yang biasanya digunakan untuk

menyimpan variable atau data yang bersifat sementara.

• Special Function Register (Register fungsi khusus), memori yang berisi

register-register yang mempunyai fungsi-fungsi khusus yang disediakan

oleh mikrokontroler tersebut. Seperti timer, serial dan lain-lain.

• Flash PEROM, memori yang digunakan untuk menyimpan instruksi-

instruksi MCS51.

2.3.2 Set instruksi dan pemograman assembly Operan dalam pemograman mikrokontroler adalah data yang tersimpan

dalam memori, register dan input/output (I/O). instruksi yang dikenal secara umum

dikelompokkan menjadi beberapa kelompok yaitu instruksi untuk memindah data,

aritmatika, operasi logika, pengaturan aliran program dan beberapa hal khusus.

Kombinasi dari instruksi dan operan itulah yang membentuk instruksi pengatur kerja

mikrokontroler.

Data atau operan biasa berada ditempat yang berbeda sehingga dikenal

beberapa cara untuk mengakses data/operan tersebut yang dinamakan sebagai mode

pengalamatan (addressing mode). Mode pengalamatan ada 5 macam yaitu:

1. Pengalamatan segera (immediate addressing).

2. Pengalamatan langsung (direct addressing).

14

Page 32: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

3. Pengalamatan tidak langsung (indirect addressing).

4. Pengalamatan register (register addressing).

5. Pengalamatan kode tidak langsung (code indirect addressing)

2.3.3 Set instruksi dalam MCS51 Secara keseluruhan MCS51 mempunyai 255 macam instruksi, instruksi

tersebut dikelompokkan sebagai berikut:

2.3.3.1 Kelompok penyalinan data Instruksi dasar untuk kelompok ini adalah MOV, singkatan dari move yang

artinya memindah, meskipun demikian lebih tepat instruksi ini diartikan sebagai

menyalin data.

2.3.3.2 Kelompok instruksi aritmatik Instruksi-instruksi dalam kelompok ini selalu melibatkan accumulator.

Instruksi ini terdiri dari berbagai macam antara lain:

• Instruksi ADD dan ADDC

Kedua instruksi ini selalu melibatkan akumulator. Isi akumulator A

ditambah dengan suatu bilangn (dalam ukuran 1 byte) maka hasil

penjumlahan akan ditampung kembali pada akumulator. Dalam operasi

ini carry (C flag dalam PSW – program status word) berfungsi sebagai

penampung limpahan (overflow) hasil jumlahan. ADDC sama dengan

ADD hanya saja instruksi ADDC nilai bit carry dalam proses

sebelumnya dijumlahkan bersamaan.

• Instruksi SUBB

Instruksi akumulator A dikurangi dengan bilangan (1 byte) beserta

dengan nilai bit carry. Hasil pengurangan akan ditampung kembali

dalam akumulator.

• Instruksi DA A

Instruksi DA A (Decimal Adjust) dipakai setelah instruksi ADD, ADDC,

atau SUBB, digunakan untuk merubah nilai biner 8 bit yang tersimpan

dalam akumulator menjadi 2 digit bilangan dalam format BCD (Binary

Coded Decimal).

15

Page 33: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

• Instruksi mul AB

Bilangan biner 8 bit dalam akumulator A dikalikan dengan bilangan

biner 8 bit dalam register B. hasil perkalian berupa biner 16 bit, 8 bit

bilangan biner yang bagian atas (hight byte) disimpan di register B,

sedangkan 8 bit yang lainnya (low byte) disimpan di akumulator A.

• Instruksi DIV AB

Bilangan biner 8 bit dalam akumulator A dibagi dengan bilangan biner 8

bit dalam register B. hasil pembagian berupa bilangan biner 8 bit

ditampung di akumulator A, sedangkan sisa pembagian berupa bilangan

biner 8 bit di tampung di register B.

• Instruksi DEC dan INC

Instruksi DEC digunakan untuk menurunkan suatu nilai (1 byte), yang

tersimpan dalam salah satu dari empat macam: akumulator, register, nilai

langsung dan tidak langsung. Sedangkan INC digunakan untuk

menaikkan satu nilai (1 byte).

• Instruksi INC DPTR

Instruksi ini adalah satu-satunya instruksi penaikkan (increment) yang

bekerja pada data 16 bit yaitu DPTR. Yaitu menaikan penunjuk data

sebesar 1.

2.3.3.3 Kelompok instruksi logika Kelompok instruksi ini dipakai untuk melakukan operasi logika, yaitu operasi AND

(instruksi ANL), operasi OR (instruksi ORL), operasi exclusive-OR (instruksi XRL),

operasi clear (instruksi CLR), instruksi negasi atau komplemen (instruksi CPL),

operasi penggeseran kanan atau kiri (instruksi RR, RRC, RL, RLC) serta operasi

penukaran data (instruksi SWAP).

2.3.3.4 Kelompok instruksi jump Mikrokontroler MCS51 mempunyai 3 macam instruksi jump, yakni instruksi

LJMP (long jump), instruksi AJMP (absolute jump) dan instruksi SJMP (short jump).

Perbedaan dari ketiga instruksi ini adalah instruksi LJMP mepunyai ukuran 3 byte,

sedangkan instruksi AJMP dan SJMP hanya 2 byte.

16

Page 34: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

2.3.3.5 Kelompok SUB – RUTIN Sub-rutin merupakan kumpulan instruksi yang karena berbagai pertimbangan

dipisahkan dari program utama. Bagian-bagian deprogram utama akan ‘memanggil’

(CALL) sub-rutin, artinya mikrokontroler sementara meningggalkan aliran program

utama untuk mengerjakan instruksi-instruksi dalam sub-rutin, selesai mengerjakan

sub-rutin mikrokontroler kembali ke aliran program utama. Satu-satunya cara untuk

kembali ke program dari eksekusi sub-rutine adalah menggunakan instruksi ret pada

akhir sub-rutin. Sedangkan untuk memanggil sub-rutin digunakan ACALL atau

LCALL.

2.3.3.6 Kelompok instruksi loncat bersyarat

Instruksi jump bersyarat merupakan instruksi inti bagi mikrokontroler, tanpa

kelompok instruklsi ini program yang ditulis tidak banyak berarti. Instruksi-instruksi

yaitu antara lain: jz, jnz, jc, jnc, jb, jnb dan jbc.

2.3.3.7 Kelompok instruksi proses dan test Instruksi-instruksi ini melakukan suatu proses terlebih dahulu, kemudian

memantau hasil proses untuk menentukan apakah harus melompat atau tidak. Ada dua

instruksi proses dan test yaitu instruksi DJNZ dan instruksi CJNE.

2.4 Penguat arus motor stepper Untuk menggerakkan motor stepper dibutuhkan daya yang besar. Daya

keluaran dari MCS51 belum mampu menggerakkan motor stepper, untuk itu

diperlukan rangkaian tambahan yang dapat menghasilkan daya yang dapat cukup

untuk menggerakkan motor stepper tersebut. Rangkaian penggerak motor stepper

terdiri dari resistor, transistor dan dioda. Transistor yang digunakan adalah transistor

daya tipe NPN. Basis transistor akan memberikan arus basis yang menyebabkan

transistor akan bekerja. Dioda diperlukan untuk membuang energi dalam bentuk

medan listrik yang timbul pada lilitan motor pada saat transistor dalam keadaan tidak

bekerja sehingga tidak merusak transistor.

17

Page 35: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

Gambar 2.6 Penguat arus motor stepper.

Transistor difungsikan sebagai penguat arus dengan membuat transistor

bekerja didaerah aktif. Diasumsikan bahwa besar arus maksimum yang diserap motor

stepper sama dengan arus Ic saat saturasi. Maka kita dapat menentukan besar Ic

maksimum dengan persamaan 2.1 sebagai berikut:

RcVccII satcmaksc == )()( …………………………………..persamaan 2.1

dengan persamaan 2.1 maka besarnya arus basis maksimum yang terjadi adalah:

β)(maksc

b

II = …………………………………………….persamaan 2.2

dari persamaan 2.2 diatas kita dapat menentukan besarnya Rb sebagai berikut:

b

bebb I

VVR −= …………………………………………...persamaan 2.3

18

Page 36: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

BAB III

RANCANGAN PENELITIAN

3.1 Diagram Blok

Gambar 3.1 dibawah ini merupakan gambar diagram blok dari rangkaian

stepper motor learning tool:

saklar

Tombol reset

Tombol start

AT89S51

LCD

Indikator LED

Motor stepper

Penguat arus

Tombolnext

Gambar 3.1. Diagram blok stepper motor learning tool

Mikrokontroler membaca urutan saklar yang digunakan untuk mengatur jenis

masukan yang akan digunakan untuk menjalankan motor stepper. Untuk menjalankan

motor stepper terdapat dua jenis waktu tunda yang digunakan, yaitu dengan rangkaian

RC dan dengan tombol next. Waktu tunda yang menggunakan rangkaian RC dapat

kita atur waktu untuk menjalankan motor stepper perlangkahnya. Sedangkan waktu

tunda dengan tombol next waktu dari step ke step tergantung kapan kita menekan

tombol next. LCD pada rangkaian stepper motor learning tool dipergunakan untuk

mempermudah untuk melihat tampilan, tanpa menggunakan LCD kita masih dapat

menjalankan motor stepper. Pada rangkaian stepper motor learning tool dilengkapi

dengan indicator yang berupa rangkaian LED untuk dapat melihat pola dari motor.

Arus yang keluar dari mikrokontroler AT89S51 belum dapat menjalankan motor

stepper untuk itu dipergunakan penguat arus. Arus keluaran dari port mikrokontroler

AT89S51 di supply oleh penguat arus untuk agar arus cukup menjalankan motor

stepper.

19

Page 37: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

Gambar untuk susunan panel kendali ditunjukkan pada gambar 3.2 dibawah

ini:

Gambar 3.2 Panel kendali

3.2 Perancangan hardware

3.2.1 Rangkaian saklar Perancangan saklar ini dirancang sedemikian rupa sehingga saat dipilih, pada

port mikrokontroler diberikan keadaan low (0) ataupun high(1). Untuk itu agar saklar

memberikan sinyal low (0) ataupun high(1) maka satu kaki pada saklar disambungkan

dengan ground dan kaki yang lain pada Vcc. Saat salah satu kaki saklar yang tidak

dipilih maka kondisi yang terjadi pada kaki mikrokontroler adalah mendapatkan

tegangan high (1). Saat kaki port pada mikrokontroler tidak tersambung dengan

rangkaian atau jalur apapun (no connect) maka kaki mikro tersebut berkeadaan high

(1). Untuk gambar 3.3 dibawah ini merupakan rangkaian saklar yang akan dipasang

pada mikrokontroler.

Gambar 3.3. Rangkaian saklar

20

Page 38: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

3.2.2 Rangkaian tombol Rangkaian tombol ini fungsinya sama dengan rangkaian saklar yaitu

memberikan nilai keadaan high (1) dan low (0). Hanya saja pada rangkaian tombol

memberikan nilai keadaan hanya sesaat ditekan, saat dilepas akan kembali kenilai

keadaan semula. Nilai keadaan high diperoleh saat tombol tidak ditekan sedangkan

untuk nilai keadaan low diperoleh saat tombol ditekan. Pada gambar 3.4 ditunjukkan

gambar rangkaian tombol yang salah satu kakinya terhubung pada ground.

Gambar 3.4 Rangkaian tombol

3.2.4 Rangkaian mikrokontroler AT89S51 Pada gambar 3.5 ditunjukkan gambar rangkaian mikrokontroler AT89S51

yang digunakan untuk mengendalikan putaran pada motor stepper, mengolah data

input yang berupa tombol dan saklar, mengatur tampilan dari LCD.

Gambar 3.5. Gambar rangkaian mikrokontroler AT89S51

21

Page 39: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

Port-port yang digunakan untuk memberikan nilai masukan pada

mikrokontroler adalah port2 dan port3. Pada port3 tidak digunakan semuanya untuk

memberi masukan dalam hal ini yang digunakan sebagai masukan p3.0, p3.1, p3.2

sedangkan p3.3 dan p3.4 digunakan sebagai kendali untuk waktu tunda dan p3.6 dan

p3.7 sebagai kendali LCD. Port-port yang digunakan sebagai keluaran adalah port0

dan port2. port0 digunakan sebagai kendali memutar motor stepper, fungsi yang

dikeluarkan oleh port0 ini antara lain menjalankan motor stepper searah jarum jam

ataupun berlainan jarum jam, dengan metode step yang digunakan adalah full step

eksitasi tunggal, full step eksitasi ganda dan half step.

Sedangkan port2 digunakan untuk mengendalikan tampilan pada LCD. LCD

membutuhkan 10 bit masukan yaitu 1 bit enable, 1 bit RS dan 8 bit data. Untuk itu

digunakan 2 port untuk mengendalikan LCD antara lain port 2 dan sisanya pada port

3. Pada port 3 hanya digunakan 2 bit saja yaitu p3.6 sebagai enable yaitu yang

berfungsi sebagai pemberian sinyal clock setelah selesai memberikan data. P3.7

sebagai RS yang berfungsi untuk memberi informasi kepada LCD bahwa data yang

dikirim berupa data atau berupa instruksi.

3.2.1 Penguat arus Untuk menggerakkan motor stepper dibutuhkan daya yang besar. Keluran arus

maksimal pada mikrokontroler adalah sebesar 1mA, sedangkan arus yang dibutuhkan

untuk menggerakkan motor stepper adalah sebesar 0,9 A. Daya keluaran dari MCS51

belum mampu menggerakkan motor stepper, untuk itu diperlukan rangkaian

tambahan yang dapat menghasilkan daya yang dapat cukup untuk menggerakkan

motor stepper tersebut. Rangkaian penggerak motor stepper terdiri dari resistor,

transistor dan dioda. Transistor yang digunakan adalah transistor daya tipe NPN.

Basis transistor akan memberikan arus basis yang menyebabkan transistor akan

bekerja. Dioda diperlukan untuk membuang energi dalam bentuk medan listrik yang

timbul pada lilitan motor pada saat transistor dalam keadaan tidak bekerja sehingga

tidak merusak transistor.

Rangkaian penguat arus berfungsi untuk menguatkan arus untuk menjalankan

motor stepper. Pada gambar 3.6 diperlihatkan rangkaian penguat arus motor stepper.

22

Page 40: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

Gambar 3.6 Rangkaian penguat arus

Transistor difungsikan sebagai penguat arus dengan membuat transistor

bekerja didaerah aktif. Diasumsikan bahwa besar arus maksimum yang diserap motor

stepper adalah 1A. Maka kita dapat menentukan besarnya Ic dengan mengetahui arus

yang dibutuhkan untuk menggerakkan motor, yaitu Ic sebesar 1A maka kita dapat

mencari β dengan persamaan 3.1 sebagai berikut:

= CI bIβ ………………………………persamaan 3.1

β = b

c

II

= mAA

11

= 1000

Dengan persamaan 3.1 maka besarnya Rc adalah:

Rc = cI

Vcc ……………………………persamaan 3.2

= A1

12

= 12Ω

Dari persamaan 3.2 diatas kita dapat menentukan besarnya Rbsebagai berikut:

Rb = b

beb

IVV − …………………………..persamaan 3.2

Rb = 310.14.15−

Rb = 3,6 KΩ

23

Page 41: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

3.2.5 Rangkaian indicator LED Rangkaian ini terdiri dari 4 led yang pada kaki katoda dijadikan satu (common

katoda) dan disambungkan dengan tegangan ground. Sehingga LED akan menyala

saat diberika kondisi high (1). Resistor dalam rangkaian LED digunakan sebagai

pembatas arus dan nilainya didapat dari persamaan 3.4sebagai berikut:

ILED = R

VV LEDCC − ………………………persamaan 3.4

Sehingga ,

R = LED

LEDCC

IVV − ………………………persamaan 3.5

Diketahui nilai VCC = 5v , VLED adalah 2,2 v dan ILED sebesar 10mA, maka

dari persamaan (2.1) didapat nilai R:

R = 310.102,2-5

= 280 Ω …………………………….persamaan 3.6

untuk mendapatkan nilai resistor yang sesuai dengan pasaran yang ada maka

digunakan resistor sebesar 270 Ω. Pada gambar 3.7 ditunjukkan rangkaian indicator

LED.

Gambar 3.7 Rangkaian indicator LED

3.3 Perancangan software Pada gambar 3.8 ditunjukkan diagram alir secara umum untuk keseluruhan

program mikrokontroler. Untuk pertamakali alat dihidupkan maka pengguna alat akan

diberikan pilihan untuk menekan tombol start, penggunaan tombol start ini agar

pengguna dapat memberikan pilihan mode dan arah yang akan digunakan sebelum

motor stepper berjalan. Setelah tombol start ditekan maka mikrokontroler akan mulai

membaca pilihan pada saklar. Untuk pertama pembacaan saklar mikrokontroler akan

membaca delay yang akan digunakan untuk menjalankan motor stepper, apakah

24

Page 42: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

waktu tunda yang digunakan secara manual atau secara otomatis. Jika pengguna

menggunakan waktu tunda manual maka mikrokontroler akan menjalankan motor dan

memberi tampilan pada LCD setelah mendapatkan perintah dari user dengan menekan

tombol next. Sedangkan waktu tunda yang digunakan otomatis maka mikrokontroler

akan mengendalikan rangkaian RC dan menjalankan motor dan menampilkan pada

LCD setelah rangkaian RC memberikan nilai keadaan high (1) pada mikrokontroler.

Start

Masukkan delay, metode,arah, besar delay yg akan

digunakan

Baca saklar metode, arah, besar delay

Tombol start ditekan?

Jalankan delay

Putar motor CW

Tombol nextditekan?

Tombol resetditekan?

Ya

Ya

Tidak

Tidak

A

A

Ya

Ya

Tidak

Tampilkan pola danbesar pulsa pada

LCD

Sudah 400step?

Tidak

A

CW atauCCW?Ya

Putar motor CCW

Tidak

Tidak

Menghitungbesar pulsa

Mencari besarnilai pola

CW ?

Hitung besarnilai delayotomatis

Sudah 400step?

tidak

Tidak

A

Manual?

YaYa

Gambar 3.8 Diagram alir secara umum

25

Page 43: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

3.3.1 Pemograman AT89S51 untuk kendali LCD Pada perancangan untuk mengendalikan LCD maka kita dapat memprogram

AT89S51 untuk memberikan keluaran sebagai pengendali enable, RS, data masukan,

dan waktu tunda.

Untuk pertamakali sesaat setelah LCD dinyalakan maka kita perlukan untuk

menginisialisasi LCD terlebih dahulu. Secara diagram alir digambarkan pada gambar

3.9. Untuk pemberian instrupsi enable kita dapat membuat sebuah subrutine karena

pada program enable ini akan digunakan beberapakali dalam pemograman. Untuk

gambar 3.9a merupakan diagram alir untuk inisialisasi secara keseluruhan, sedangkan

untuk gambar 3.9b merupakan diagram alir subrutine untuk enable, dan gambar 3.9c

merupakan diagram alir untuk inisialisasi LCD dengan memanggil subroutine.

S tart

R S = 0

Ins truks i d is iapkan

E = 0

T unda 5m s

E = 1

fin ish

S ta rt

E = 0

Tunda 5m s

E = 1

fin ish

S ta rt

R S = 0

Instruks i d is iapkan

C a ll enab le

fin ish

(a ) (b ) (c ) Gambar 3.9 Diagram alir inisialisasi LCD

Setelah penginisialisasian LCD maka kita perlu untuk membersihkan layar

LCD. Pemberian program untuk membersihkan LCD ini diberikan diawal

dikarenakan saat program mendapat pilihan reset maka program akan meloncat pada

awal program, maka LCD harus dibersihkan terlebih dahulu untuk tampilan

selanjutnya.

Pada gambar 3.10 dibawah ini merupakan diagram alir dari subrutine program

untuk menghapus layar LCD dan kursor kembali ke kolom satu baris satu. Pada

program untuk membersihkan layar juga dibuat subrutine dikarenakan akan

digunakan beberapakali dalam pemograman.

26

Page 44: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

S ta r t

R S = 0

D a ta 0 1 h

C a ll e n a b le

fin is h Gambar 3.10 Subrutine bersih layar LCD

Agar mudah dan untuk memperkecil memori mikrokontroleryang digunakan

maka dalam menampilkan karakter-karakter dalam LCD digunakan subrutine-

subrutine sehingga kita dapat memanggil sewaktu-waktu saat kita membutuhkan

tampilan karakter tersebut. Pada gambar 3.11 ditunjukkan diagram alir untuk

menampilkan karakter pada LCD. S ta r t

R S = 1

D a ta k a ra k te rA S C II d ik ir im k a n

C a ll e n a b le

F in is h Gambar 3.11 Diagram alir menampilkan karakter pada LCD

Saat menjalankan motor stepper dan menampilkannya pada LCD, tampilan

akan tetap sama tiap stepnya hanya yang berubah adalah pola dan besar pulsa saja.

Untuk itu kita dapat menetapkan alamat yang akan dirubah karakternya pada tampilan

LCD. Gambar 3.12 adalah diagram alir untuk mengubah karakter yang berubah pada

LCD yaitu pola dan besar pulsanya. S t a r t

R S = 0

D a t a in s t r u k s ia la m a t y a n g a k a n

d i r u b a hk a r a k t e r n y a d ik i r im

C a l l e n a b le

F in is h

D a t a k a r a k t e r b a r ud ik ir im

R S = 1

C a l l e n a b le

Gambar 3.12 Diagram alir mengubah karakter pada LCD

27

Page 45: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

3.3.2 Pemograman untuk mencari nilai pola dan besar sudut Untuk mencari nilai-nilai pola kita dapat menggunakan satu mode yaitu mode

half step karena pada setiap langkah ganjil pada half step merupakan mode full step

untuk eksitasi tunggal, sedangkan setiap langkah genap pada half step merupakan

mode full step untuk eksitasi ganda. Untuk menampilkan nilai pada LCD besar

polanya kita harus mencari nilai pada setiap bit pada nilai pola yang akan ditampilkan.

Untuk arah CW (clock wise) dan CCW ( counter clock wise) diagram alirnya hampir

sama hanya saja pada CCW akan berbeda saat penambahan nilai pola setelah 3X

motor stepper melangkah, pada arah CCW ditambah dengan 08h. Gambar 3.13

merupakan diagram alir mencari nilai pola tiap langkahnya dan mencari nilai tiap bit

pada nilai pola yang akan ditampilakan pada LCD dengan mode half step.

Start

Putar nilai pola

Membagi nilai pola denganbilangan 2 hexsa kemudianmenyimpan setiap nilai bit

pada memori yang berbedauntuk setiap nilai pola ganjil

dan nilai pola genap

Apakah sudah3X?

Nilai pola genap ditambahdengan 8 heksa

Ya

Tidak

Putar nilai pola

Baca saklar metode, mode,arah

finish

Menampilkanpada LCD

Menampilkanpada LCD

Gambar 3.13 Mencari besar nilai pola

28

Page 46: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

Untuk mencari besar pulsa yang telah digunakan untuk menjalankan motor

stepper kita dapat menambahkan dengan bilangan 1 heksa untuk setiap kali motor

stepper melangkah. Saat akan menampilkan besar pulsa pada LCD untuk setiap

langkahnya maka kita harus mencari perbitnya agar dapat ditampilkan pada LCD

secara satu persatu secara berurutan. Pada gambar 3.14 merupakan diagram alir untuk

mencari besar pulsa yang akan digunakan untuk setiap langkahnya.

Start

3 byte alamat memory untukmenyimpan besar pulsa

Byte pertam ditambah denganbilangan 1 heksa

Finish

Byte pertamasudah 0a

heksa

Byte kedua ditambah denganbilangan 1 heksa

Ya

Byte keduasudah 0a

heksa

Byte ketiga ditambah denganbilangan 1 heksa

Ya Tidak

Tidak

Menampilkan padaLCD

Gambar 3.14 Mencari besar pulsa

29

Page 47: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

3.3.3 Pemograman untuk delay delay yang digunakan pada rangkaian stepper motor learning tool ada dua

jenis antara lain delay dengan tombol next dan delay otomatis. Untuk delay dengan

menggunakan tombol next merupakan delay manual yaitu waktu tunda yang

tergantung dari user menekan tombol next. Sedangkan delay otomatis yaitu waktu

tunda yang telah ditetapkan oleh user sehingga user hanya menekan nilay delay sekali

saja untuk menjalankan motor stepper. Pada gambar 3.15 ditunjukkan diagram alir

dari pemograman nilai delay otomatis.

start

Masukkannilai delay

Baca tombol delay

Delay 1s

Delay 2s

Delay 3s

Delay 4s

Tidak

Tidak

Tidak

Jalankan besardelay 2s

Jalankan besardelay 1s

Jalankan besardelay 3s

Jalankan besardelay 4s

Ya

Ya

Ya

Ya

Tidak

finish

Gambar 3.15 Menghitung besar nilay delay otomatis

30

Page 48: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

BAB IV HASIL DAN PEMBAHASAN

4.1 Pengujian perangkat keras Pengujian perangkat keras dilakukan untuk memastikan bahwa alat yang

dirancang bekerja sesuai dengan kondisi-kondisi yang ditetapkan dalam perancangan.

Pengujian perangkat keras ini meliputi tiga bagian, yaitu bagian catu daya, bagian

kendali (AT89S51), bagian penampil LED (Indikator), bagian penampil LCD, bagian

saklar, bagian tombol, dan bagian motor. Pada gambar 4.1 ditunjukkan gambar

perangkat keras hasil perancangan dan bagian-bagiannya.

Motor stepper Penampil LCD

Indicator LED Tombol

Saklar on/off

Saklar menu

Delay automatik

Gambar 4.1 Perangkat keras dengan bagian-bagiannya

4.1.1 Rangkaian Catu Daya Level tegangan dc yang digunakan dalam perancangan hardware (perangkat

keras), yang masuk pada rangkaian ada dua level tegangan yaitu level tengangan +5V

dan level tegangan +12V. Untuk menyuplai tegangan +5 Vdc, digunakan IC 7805

yang secara konsisten menyediakan suplai tegangan +5 Vdc, level tegangan +5 Vdc

digunakan sebagai Vcc bagi mikrokontroler. Sedangkan tegangan +12 Vdc digunakan

31

Page 49: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

untuk tegangan Vcc pada penguat arus yang nantinya digunakan untuk menggerakkan

motor stepper.

Data dari pengamatan dapat diambil dengan mengukur tegangan keluaran dari

IC 7805 dan pada tegangan catu 12Vdc. Hasil pengamatan dapat dilihat pada tabel 4.1

Tabel 4.1 Pengamatan level tegangan catu

Catu 12V IC 7805

Tegangan (Volt) 12,2 5,1

Untuk tegangan catu antara pengamatan dengan perancangan terdapat Error

sebesar 0,2 Vdc, maka didapatkan error sebesar %6,1%10012

2,0=×=Ε sedangkan

untuk toleransi sebesar %5%10012

6.0=×=Τ maka error yang terjadi pada tegangan

catu 12Vdc hasil pengamatan masih masuk dalam toleransi.

Untuk tegangan IC 7805 antara pengamatan dengan perancangan terdapat

error sebesar 0,1Vdc. Pada data sheet mikrokontroler tegangan minimum 2,2V dan

tegangan maksimum 5,5V, sehingga tegangan error pada IC 7805 masih tidak

melewati batas minimum dan maksimum.

Sedangkan untuk data sheet pada LCD untuk tegangan Vcc sebesar 5Vdc

dengan toleransi sebesar 10%. Untuk error 0,1 maka error adalah sebesar

%2%10051,0

=×=Ε error tegangan keluaran IC 7805 tidak melewati batas toleransi

teganngan Vcc LCD.

4.1.2 Rangkaian kendali (Mikrocontroler AT89S51) a. Pengujian port3 mikrokontroler AT89S51

Pada port 3 mikrokontroler digunakan untuk menjalankan motor stepper

dan indikator LED. Port 3 untuk menjalankan motor adalah P3.0, P3.1, P3.2,

dan P3.3 , sedangkan port 3 untuk menjalan kan indicator LED yaitu P3.4,

P3.5, P3.6, dan P3.7. Pengujian tegangan kaki port 3 mikrokontroler bertujuan

untuk mengetahui apakah program yang ditulis untuk memberikan logika 1

pada output telah bekerja sesuai yang diharapkan atau sebaliknya. Dari data

sheet mikrokontroler dapat diambil batas-batas tegangan keluaran

mikrokontroler.

32

Page 50: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

• Untuk level tegangan low memiliki batas maksimum yaitu:

Batas maksimum = 0,45 V

• Untuk level tegangan high memiliki batas minimal yaitu:

Batas minimal = 0,9 Vcc

= 0,9 x 5,1

= 4,59 V

Pada tabel 4.2 ditunjukkan level tegangan pada port 3 saat program

berada pada half step searah jarum jam dan berlawanan arah jarum jam yang

didapat dari pengamatan.

Tabel 4.2 Pengujian level tegangan port 3 pada half step

Half step

Arah putar searah jarum jam Arah putar berlawanan arah jarum jam

P3.0 &

P3.4 (Volt)

P3.1 &

P3.5 (Volt)

P3.2 &

P3.6 (Volt)

P3.3 &

P3.7 (Volt)

P3.0 &

P3.4 (Volt)

P3.1 &

P3.5 (Volt)

P3.2 &

P3.6 (Volt)

P3.3 &

P3.7 (Volt)

1 4,8 0,2 0,2 0,4 0,2 0,2 0,2 4,7

2 4,7 4,7 0,4 0,2 0,2 0,2 4,7 4,6 3 0,2 4,8 0,2 0,1 0,3 0,2 4,9 0,2 4 0,2 4,6 4,7 0,2 0,1 4,7 4,7 0,2 5 0,2 0,2 4,85 0,2 0,2 4,8 0,2 0,4 6 0,4 0,3 4,8 4,7 4,7 4,7 0,2 0,1 7 0,2 0,2 0,2 4,7 4,7 0,2 0,2 0,2 8 4,7 0,2 0,2 4,6 4,7 0,1 0,2 4,7

Dari hasil pengamatan didapatkan level tegangan low yaitu sebesar 0,1 V

hingga 0,4 V. Besar tegangan low hasil pengamatan ini masih sesuai karena

tidak melebihi batas tegangan keluaran low maksimal dari data sheet yaitu

sebesar 0,45.

Dari hasil pengamatan juga didapatkan level tegangan high sebesar 4,7V

hingga 4,9V. Besar tegangan keluaran high hasil pengamatan ini masih sesuai

karena tidak kurang dari batas tegangan masukan high minimal dari data sheet

yaitu sebesar 4,59V.

33

Page 51: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

Pada tabel 4.3 ditunjukkan hasil pengamatan level tegangan port 3 untuk

menjalankan motor pada saat program full step eksitasi tunggal untuk arah

searah jarum jam dan berlawanan arah jarum jam.

Tabel 4.3 Pengujian level tegangan port 3 pada full step eksitasi tunggal

Full step eksitasi tunggal Arah putar searah jarum

jam Arah putar berlawanan

arah jarum jam P3.0

& P3.4

(Volt)

P3.1 &

P3.5 (Volt)

P3.2 &

P3.6 (Volt)

P3.3 &

P3.7 (Volt)

P3.0 &

P3.4 (Volt)

P3.1 &

P3.5 (Volt)

P3.2 &

P3.6 (Volt)

P3.3 &

P3.7 (Volt)

1 4,8 0,2 0,3 0,15 0,2 0,2 0,4 4,8

2 0,1 4,8 0,3 0,2 0,2 0,2 4,95 0,15

3 0,2 0,1 4,95 0,1 0,2

4,8 0,3 0,2

4 0,1 0,1 0,3 4,8 4,8

0,15 0,4 0,3

Dari hasil pengamatan didapatkan level tegangan low yaitu sebesar 0,1 V

hingga 0,3 V. Besar tegangan low hasil pengamatan ini masih sesuai karena

tidak melebihi batas tegangan keluaran low maksimal dari data sheet yaitu

sebesar 0,45.

Dari hasil pengamatan juga didapatkan level tegangan high sebesar 4,8V

hingga 4,95V. Besar tegangan keluaran high hasil pengamatan ini masih

sesuai karena tidak kurang dari batas tegangan masukan high minimal dari

data sheet yaitu sebesar 4,59V.

Pada tabel 4.4 ditunjukkan hasil pengamatan level tegangan port 3 untuk

menjalankan motor pada saat program half step untuk arah searah jarum jam

dan berlawanan arah jarum jam.

34

Page 52: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

Tabel 4.4 Pengujian level tegangan port 3 pada full step eksitasi ganda

Full step eksitasi ganda Arah putar searah jarum

jam Arah putar berlawanan

arah jarum jam P3.0

& P3.4

(Volt)

P3.1 &

P3.5 (Volt)

P3.2 &

P3.6 (Volt)

P3.3 &

P3.7 (Volt)

P3.0 &

P3.4 (Volt)

P3.1 &

P3.5 (Volt)

P3.2 &

P3.6 (Volt)

P3.3 &

P3.7 (Volt)

1 4,7 4,6 0,4 0,2 0,2 0,2 4,7 4,7

2 0,2 4,7 4,7 0,2 0,2 4,7 4,8 0,2

3 0,2 0,2 4,8 4,7 4,7 4,7 0,3 0,2

4 4,7 0,2 0,3 4,7 4,7 0,2 0,3 4,7

Dari hasil pengamatan didapatkan level tegangan low yaitu sebesar 0,2 V

hingga 0,4 V. Besar tegangan low hasil pengamatan ini masih sesuai karena

tidak melebihi batas tegangan keluaran low maksimal dari data sheet yaitu

sebesar 0,45.

Dari hasil pengamatan juga didapatkan level tegangan high sebesar 4,7V

hingga 4,8V. Besar tegangan keluaran high hasil pengamatan ini masih sesuai

karena tidak kurang dari batas tegangan masukan high minimal dari data sheet

yaitu sebesar 4,59V.

b. Pengujian tombol

Tombol tersambung dengan mikrokontroler pada port 1 yaitu P1.0, P1.1,

dan P1.2. cara kerja tombol yaitu memberikan sinyal low pada port

mikrokontroler. Pada gambar 4.2 ditunjukkan gambar grafik tegangan

terhadap waktu yang didapat mdari hasil pengamatan tombol.

Gambar 4.2 Grafik tombol saat ditekan selama 1 detik

35

Page 53: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

Agar level tegangan pada tombol dapat dibaca oleh mikrokontroler maka

besar tegangan tidak boleh melebihi batas-batas yang ada pada data sheet.

Dari data sheet mikrokontroler dapat diambil batas-batas tegangan masukan

mikrokontroler.

• Untuk level tegangan low memiliki batas minimum dan maksimum

yaitu:

Batas minimum = ─ 0,5V

Batas maksimum = 25,02,0 −Vcc

= 25,01,52,0 −×

= 0,77 Vdc

• Untuk level tegangan high memiliki batas minimal dan maksimum yaitu:

Batas minimal = 12,0 +Vcc

= 11,52,0 +×

= 2,02 Vdc

Batas maksimum = 5,0+Vcc

= 5,01,5 +

= 5,6 Vdc

Pada pengujian tombol didapat data level tegangan low sebesar 0,2 V

sedangkan level teganngan high sebesar 4,8 V. Data level tegangan yang

didapat dari pengamatan atau pengujian dapat dibaca dengan baik oleh

mikrokontroler karena tidak melebihi batas minimal dan maksimalnya.

c. Pengujian saklar

Saklar terletak pada port 1 mikrokontroler yaitu P1.3, P1.4, P1.5, dan

P1.6. cara kerja saklar yaitu memberikan pilihan sinyal tegangan high atau

low. Pada tabel 4.5 ditunjukkan data pengamatan besar tegangan yang

diberikan pada mikrokontroler. Untuk batas-batas minimal dan maksimal

tegangan masukan pada mikrokontroler dari data sheet yaitu:

• Untuk level tegangan low yaitu: ─0,5 V hingga 0,77 V

• Untuk level tegangan high yaitu : 2,02 V hingga 5,6 V

36

Page 54: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

Tabel 4.5 Pengujian tegangan saklar

P1.3 P1.4 P1.5 P1.6

Low 0.1 0.1 0.15 0.1

High 4.9 4.7 4.7 4.8

Dari data pengamatan pada tabel 4.4 diatas maka didapatkan tegangan

low dari pengamatan sebesar 0,1V hingga 0,15V. Data level tegangan low ini

masih sesuai karena tidak melewati batas tegangan low minimal dan maksimal

pada data sheet yaitu sebesar ─0,5 V hingga 0,77 V.

Dari data pengamatan pada tabel 4.4 dapat diamati bahwa tegangan 4.7

hingga 4.8 masih sesuai untuk level teganngan high dikarenakan masih berada

pada batas level tegangan high minimal dan maksimal dari data sheet yaitu

sebesar 2,02 V hingga 5,6 V.

4.1.3 Pengujian indicator Pengujian indikator dilakukan dengan asumsi bahwa untuk logika “1” maka

indikator LED akan mati, sedangakn jika logika “0” penampil LED akan menyala.

Untai indikator menggunakan LED yang diseri dengan resistor pembatas arus. Pada

tabel 4.6 ditunjukkan mengenai besar hasil pengujian arus dan tegangan untuk tiap

LED.

Tabel 4.6 Pengujian indikator LED

LED

menyala

LED

padam

Arus LED 11,2 mA 0 A

Pada perancangan arus ILED = 10mA ini diambil untuk batas minimal dari arus LED

agar menyala maksimal. Sedangkan untuk batas maksimal arus masukan LED adalah

sebesar 55mA. Arus LED hasil dari pengujian atau pengamatan terdapat error

sebesar 1,2mA namun arus hasil pengamatan ini tidak melebihi batas maksimal dan

batas minimal LED, sehingga LED dapat menyala dangan baik.

37

Page 55: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

4.1.4 Pengujian penguat arus Keluran arus maksimal pada mikrokontroler adalah sebesar 1mA, sedangkan

arus yang dibutuhkan untuk menggerakkan motor stepper adalah sebesar 1 A. Pada

tabel 4.7 merupakan tabel pengukuran arus pada basis dan kolektor.

Tabel 4.7 pengujian arus dari rangkaian penguat arus.

IB IC

On 0,8mA 0,91A

Off 0,01mA 0,01mA

Data perancangan:

Besar arus IC = 1A

Besar arus IB = 1mA

Error IC = %1001

91,01×

−A

AA

= %9

Error IB = %1001

88,01×

−m

mm

= 11%

Arus yang dibutuhkan untuk menjalankan motor stepper adalah sebesar 1A

namun dalam hasil pengamatan hanya terdapat 0,91A. hal ini menyebabkan motor

dapat bergerak namun tidak maksimal.

4.1.5 Pengujian tampilan LCD

Macam-macam mode untuk menjalakan motor stepper antara lain mode full

step eksitasi tunggal , full step eksitasi ganda dan half step. Pada gambar 4.3

ditunjukkan untuk tampilan pertama kali pada LCD saat alat dihidupkan dan setelah

melakukan reset. Tampilan ini digunakan untuk memberikan kesempatan bagi

pengguna agar dapat mengatur menu terlebih dahulu sebelum menekan tombol start.

Gambar 4.3 Tampilan utama.

38

Page 56: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

Untuk tampilan pertamakali pada LCD telah sesuai dengan diagram blok

perancangan. Sehingga saat pertamakali LCD dihidupkan dan setelah reset maka

tampilan pada LCD tertuliskan ”Motor Stepper Trainer”

Pada gambar 4.4 ditunjukkan gambar tampilan LCD untuk mode full step

eksitasi tunggal.

Gambar 4.4 Tampilan full step eksitasi tunggal

234

15

6

Untuk keterangan gambar 4.4 adalah sebagai berikut:

1. Posisi jarum pada motor untuk pulsa sebesar 0.

2. Posisi jarum penunjuk pada motor setelah diberikan 57 pulsa.

3. Tampilan pola yang dikirimkan oleh mikrokontroler untuk menjalankan

motor.

4. Tampilan untuk mode yang sedang digunakan.

5. Tampilan untuk arah putaran motor yang sedang dijalankan.

6. Menampilkan besarnya pulsa yang telah dikirimkan untuk menjalankan

motor tiap stepnya.

Pada gambar 4.5 ditunjukkan untuk tampilan pada LCD untuk mode full step

eksitasi ganda.

Gambar 4.5 Tampilan full step eksitasi ganda

1

34

2 5

6

Untuk keterangan gambar 4.5 adalah sebagai berikut:

1. Posisi jarum pada motor untuk pulsa sebesar 0.

2. Posisi jarum penunjuk pada motor setelah diberikan 50 pulsa.

39

Page 57: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

3. Tampilan pola yang dikirimkan oleh mikrokontroler untuk menjalankan

motor.

4. Tampilan untuk mode yang sedang digunakan.

5. Tampilan untuk arah putaran motor yang sedang dijalankan.

6. Menampilkan besarnya pulsa yang telah dikirimkan untuk menjalankan

motor tiap stepnya.

Pada gambar 4.6 ditunjukkan gambar tampilan LCD untuk mode full step

eksitasi tunggal.

Gambar 4.6 Tampilan half step

1

34

2 5

6

Untuk keterangan gambar 4.6 adalah sebagai berikut:

1. Posisi jarum pada motor untuk pulsa sebesar 0.

2. Posisi jarum penunjuk pada motor setelah diberikan 111 pulsa.

3. Tampilan pola yang dikirimkan oleh mikrokontroler untuk menjalankan

motor.

4. Tampilan untuk mode yang sedang digunakan.

5. Tampilan untuk arah putaran motor yang sedang dijalankan.

6. Menampilkan besarnya pulsa yang telah dikirimkan untuk menjalankan

motor tiap stepnya.

Tampilan LCD untuk mode full step eksitasi tunggal, mode full step eksitasi

ganda, dan mode half step, telah sesuai dengan perancangan, sehingga pada layar

LCD akan ditampilkan pola, arah putaran, mode yang digunakan dan besar pulsa yang

telah dicapai.

4.1.6 Pengujian putaran motor Dari data pengamatan putaran motor diambil data pulsa untuk setiap motor

berputar sebesar 360% yang ditunjukkan pada tabel 4.8.

40

Page 58: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

Tabel 4.8 Pengujian putaran motor

Berputar 3600

(pulsa)

Full step eksitasi tunggal 202

Full step eksitasi ganda 203

Half step 402

Data perancangan:

Mode full step eksitasi tunggal = 200 pulsa

Mode full step eksitasi ganda = 200 pulsa

Mode half step = 400 pulsa

Error terjadi pada mode full step eksitasi tunggal sebesar 2 pulsa (3,60) maka

untuk setiap stepnya terdapat error sebesar 00

018,0200

6,3=

Error pada mode full step eksitasi ganda sebesar 3 pulsa (5,40) maka untuk

setiap stepnya terdapat error sebesar 00

027,0200

4,5=

Error pada mode half step sebesar 2 pulsa (1,80) maka untuk setiap stepnya

terdapat error sebesar 00

0045,0400

8,1=

4.2 Pengujian alat oleh pengguna Dalam pengambilan data dari alat tugas akhir “stepper motor learning tool”

saya melakukan survey dengan menyebarkan angket ke sepuluh orang pengguna alat

tugas akhir “stepper motor learning tool” secara acak pada mahasiswa Universitas

Sanata Dharma jurusan teknik elktro angkatan 2002, 2003, dan 2005. Untuk melihat

angket-angket yang telah diisikan oleh kesepuluh pengguna dapat dilihat pada

lampiran. Pengambilan data ini dilakukan untuk mengetahui apakah dengan alat

motor stepper trainer ini pengguna dapat memahami tentang pola-pola untuk

menjalankan motor stepper, untuk mengetahui pengguna dapat mudah dalam

mengoperasikan alat stepper motor learning tool, dan untuk mengetahui sejauh mana

peranan motor stepper didalam dunia pendidikan.

41

Page 59: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

4.2.1 Pengoperasian alat a) Pada pertanyaan pada angket untuk no.1 diberikan pertanyaan mengenai

pengoperasian stepper motor learning tool tanpa diberikan petunjuk ataupun

contoh pengoperasian terlebih dahulu. Ada 40% pengguna yang menyatakan

bahwa jika tidak diberikan petunjuk pemakaian alat terlebih dahulu pengguna

merasa kebingungan. Untuk itu pada alat stepper motor learning tool

dibutuhkan modul untuk memberikan langkah-langkah yang benar dalam

mengoperasikan alat.sedangkan untuk pengguna 60% mereka mampu

mengoperasikan alat tanpa diberikan petunjuk terlebih dahulu.

b) Dalam pertanyaan angket no.2 diberikan pertanyaan apakah setelah diberikan

petunjuk dalam pengoperasian alat pengguna dapat mengoperasikan dan

mengendalikan alat stepper motor learning tool. Dari 100% pengguna

semuanya memberikan pernyataan bahwa pengguna dapat dengan mudah

untuk mengoperasikan alat.

Dari data pengguna dapat disimpulkan bahwa alat stepper motor learning tool

mudah untuk dioperasikan bagi mahasiswa elektro semester akhir.

4.2.2 Pemahaman motor stepper a) Pada pertanyaan angket no.3 diberikan pertanyaan kepada pengguna, apakah

pengguna setelah mengoperasikan alat stepper motor learning tool pengguna

dapat memahami tentang pola-pola dari motor stepper. Dari 100% pengguna

semuanya memberikan pernyataan yang sama yaitu pengguna dapat

memahami lebih lanjut mengenai pola-pola untuk mengendalikan motor

stepper.

b) Pada pertanyaan angket no.4 diberikan pertanyaan untuk mengetahui apakah

pengguna setelah mengoperasikan alat dapat memahami, pulsa yang diberikan

untuk membentuk sudut sesuai keiinginan dari pengguna. Dari 100%

pengguna 40% mengatakan tidak dapat membaca sudut yang telah dibentuk,

40% lagi mengatakan bahwa mereka dapat membaca sudut dengan

mengalikan antara pulsa dengan sudut yang dibentuk tiap stepnya. Sedangkan

20% menyatakan ragu-ragu karena terdapat dua sudut yang dibentuk dari 2

pola menjalankan motor stepper.

42

Page 60: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

Dari data dapat disimpulkan bahwa setelah mahasiswa elektro semua angkatan

mengoperaskian alat maka mahasiswa mengerti akan pola-pola dan sudut yang

dibentuk.

4.2.3 Pemahaman tampilan a) Pada pertanyaan angket no.5 diberikan pertanyaan untuk mengetahui sejauh

mana para pengguna dapat membaca tampilan yang berada pada LCD. Dari

100% pengguna semua dapat dengan mudah membaca dan memahami

tampilan pada LCD

b) Pada pertanyaan angket no.6 diberikan pertanyaan untuk mengetahui sejauh

mana para pengguna tanpa melihat tampilan pada LCD dapat membaca dan

memahami penampil berupa indicator LED. Dari 100% pengguna semuanya

memberikan pernyataan bahwa pengguna sanggup memahami dan membaca

tampilan pada LED tanpa memperhatikan LCD.

Dari data dapat disimpulkan bahwa setelah mahasiswa elektro semua angkatan

mengoperaskian alat maka mahasiswa dapat dengan mudah untuk membaca tampilan

LCD dan indicator LED.

4.2.4 Kendala pengoperasian Untuk mengetahui kendala-kendala yang dialami oleh pengguna dalam

mengoperasikan alat stepper motor learning tool, pada pertanyaan angket no.7

diberikan pertanyaan mengenai kendala pengoperasian alat sebelum diberikan

petunjuk mengenai pengoperasian alat. Dari 100% pengguna, 80% pengguna

mengatakan bahwa urutan menu tidak berurutan sehingga kesulitan dalam urutan

pengoperasian. 40% pengguna mengatakan bahwa pengaturan menu masih terlalu

manual sehingga banyak tombol atau saklar yang perlu diatur ini menyebabkan alat

tidak simple.

Dari data pengamatan oleh pengguna maka dapat disimpulkan bahwa motor

stepper alat stepper motor learning tool masih terdapat kendala untuk mengoprasikan

yaitu pada aturan dan urutan menu.

43

Page 61: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

4.2.5 Kemasan (Box) Untuk mengetahui kelayakan kemasan untuk alat stepper motor learning tool

maka pada angket no.8 diberikan pertanyaan mengenai bentuk dari kemasan.

Pengguna yang mengatakan bahwa kemasan alat stepper motor learning tool masih

kasar, bentuknya terlalu simple, kurang menarik, dan rangkaiannya masih terlihat

tidak rapi, ada 60% pengguna. Sedangkan 40% pengguna mengatakan kemasannya

bagus dan menarik.

Dari data angket pengguna dapat disimpulkan bahwa kemasan dari alat

stepper motor learning tool masih perlu diperbaiki dan diperhalus .

4.2.6 Kekurangan Untuk mengetahui kekurangan-kekurangan dari alat stepper motor learning

tool ini maka pada angket no.9 diberikan pertanyaan mengenai kekurangan dari alat.

70% mengatakan bahwa alat lebih baik lagi jika menu ditata secara berurutan dan

kemasan dirapikan, 30% mengatakan untuk memperbesar dan memperjelas untuk

tulisan pilihan menu. 40% pengguna mengatakan untuk memberikan tampilan derajat

atau sudut yang telah dibentuk sehingga lebih mudah lagi dalam memahami motor

stepper. 50 % pengguna mengatakan untuk membuat menu yang lebih simple.

Pada data angket dapat disimpulkan bahwa masih banyak kekurangan pada

alat stepper motor learning tool yaitu pada urutan menu, penulisan label, dan pada

penampil sudut yang tidak ada.

4.2.7 Kaitan dengan dunia pendidikan Untuk mengetahui alat stepper motor learning tool ini dapat membantu dalam

dunia pendidikan, maka pada angket no.10 diberikan pertanyaan mengenai alat

stepper motor learning tool ini dapat mendukung dan diperlukan dalam dunia

pendidikan. 100% pengguna mengatakan bahwa alat stepper motor learning tool

sangat diperlukan dalam dunia teknologi yang serba maju ini, alat ini dapat digunakan

sebagai modul pembelajaran bagi orang yang sedang mempelajari tentang motor

stepper.

44

Page 62: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

Dari data angket dapat disimpulkan bahwa alat stepper motor learning tool

sangat berguna dalam dunia pendidikan untuk mempermudah dalam mempelajari

mode-mode serta pola-pola motor stepper.

45

Page 63: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

BAB V

PENUTUP

Dari pembahasan yang telah diuraikan pada bagian hasil dan pembahasan,

maka pada bab ini akan diambil beberapa kesimpulan dan saran yang berguna untuk

penyempurnaan dan pengembangan alat stepper motor learning tool. Untuk

spesifikasi alat stepper motor learning tool sebagai berikut:

• Motor stepper : 3,7 Vdc, 1 Adc, unipolar. • Penampil : LCD M1632 dan indikator 4 LED. • Pilihan menu : 4 saklar. • Tombol kendali : 2 tombol. • Delay : 1 rotari switch, 1 tombol next. • Mode : Full step eksitasi tunggal dan eksitasi ganda, half step. • Arah motor : CW(Clock Wise), CCW(Counter Clock Wise). • Pengendali : AT89S51

5.1 Kesimpulan Dari hasil penelitian dan analisis data dapat diambil kesimpulan sebagai berikut:

1. Data hasil pengamatan masih terjadi error namun masih dalam batas

toleransi.

2. Pada putaran motor terjadi error untuk setiap stepnya ini dikarenakan motor

tidak bekerja dengan maksimal karena arus yang disupply ke motor kurang

maksimal.

3. Alat stepper motor learning tool sangat berguna dalam dunia pendidikan

bagi yang menginginkan untuk mempelajari tentang teknologi motor

stepper.

4. Dari data pengguna dapat disimpulkan bahwa alat stepper motor learning

tool mudah untuk dioperasikan bagi mahasiswa elektro semester akhir.

5. Setelah mahasiswa elektro semua angkatan mengoperaskian alat maka

mahasiswa mengerti akan pola-pola , sudut, memahami tampilan LCD, dan

memahami tampilan indicator LED yang dibentuk

6. Alat stepper motor learning tool sangat berguna bagi mahasiswa elektro

semester akhir untuk mempermudah dalam mempelajari mode-mode serta

pola-pola dari motor stepper.

46

Page 64: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

5.2 Saran-saran 1. Untuk menambahkan tampilan sudut maka, tampilan kata-kata yang tidak

perlu dihilangkan saja dan digantikan dengan tampilan sudut. Namun

langkah ini mungkin akan membuat pengguna yang benar-benar baru belajar

akan lebih mengalami kesulitan.

2. Tampilan sudut dapat juga berupa penggaris busur yang diletakkan tepat

dibawah motor stepper.

3. Untuk memberikan tampilan kemasan yang lebih rapi maka kita dapat

gunakan box yang sudah jadi yang terdapat dipasaran, tentu saja ini akan

memakan lebih banyak biaya yang dikeluarkan.

4. Untuk membuat pilihan menu lebih simple kita dapat ubah dari saklar

menjadi dua tombol digital saja untuk mengatur menu pilihan. Namun saat

LCD rusak maka kita tidak dapat mengatur menu pilihan tanpa melihat

tampilan LCD.

47

Page 65: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

DAFTAR PUSTAKA

1. Agfianto Eko Putra, Belajar Mikrokontoler AT89C51/52/55 (Teori dan

Aplikasi), Yogyakarta:Penerbit Gava Media, 2004.

2. Boylestad, Nashelsky, Electronic Devices & Circuit Theory 7thEdition, New

Jersey:Prentice Hall, 1999.

3. Http://pdf.alldatasheet.com/datasheet-pdf/view/101830/TI/TCM5089.html

(diakses Januari 2006).

4. http://www.delta-electronic.com/Design/Apnote/Pengendali%20Stepper.PDF

(diakses Januari 2006).

5. http://www.innovativeelectronics.com/innovative_electronics/download_files/

manual/Quick%20Start%20SPC%20Stepper%20Motor.pdf (diakses

Februari 2006).

6. http://www.keil.com/dd/docs/datashts/atmel/at89s51_ds.pdf (diakses

Februari 2006).

7. http://www.datasheetcatalog.com/datasheets_pdf/B/D/6/7/BD677A.shtml

(diakses Februari 2006).

8. http://en.wikipedia.org/wiki/Stepper_motor#Micro_Stepping (diakses

Februari 2006).

1

Page 66: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

1

LAMPIRAN

Page 67: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

2

Page 68: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

PROGRAM AT89S51 org 0 ratusan equ 100 cacah equ -10000 satuan equ 5 pencacah equ -1000 peratus equ 400 percacah equ -1000 mov tmod,#01h acall tunda1s utama: mov p3,#0f0h acall inisialisasi acall bersih acall t_utama start: jnb p1.2,hidup sjmp start hidup: acall inisialisasi acall bersih mulai: jb p1.4,hs ljmp fs ;----------------------------------------------------------------------------------------- ; Program untuk menjalankan pilihan Half step hs: acall inisialisasi_diawal cjne a,#01h,hs1 ; untuk membaca arah putar acall data_pola_cw sjmp hs2 hs1: acall data_pola_ccw hs2: mov 74h,#04h ; untuk memberikan batas 4x hs3: mov a,54h cjne a,#01h,hs4 acall t_lcd_cw sjmp hs5 hs4: acall t_lcd_ccw hs5: acall k_hs

3

Page 69: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

acall t_lcd_mode hs6: acall c_d cjne a,#01h,hs7 ; membaca delay yang digunakan acall delay_manual sjmp hs8 hs7: acall delay_auto hs8: mov 74h,#04h acall c_arah cjne a,#01h,hs9 mov a,53h acall data_pola_cw sjmp hs10 hs9: mov a,53h acall data_pola_ccw hs10: acall c_arah1 cjne a,#01h,hs11 acall c_arah2 sjmp hs12 hs11: acall c_arah3 hs12: acall tampil_pl acall tampil_pls hs13: acall c_d cjne a,#01h,hs14 acall delay_manual sjmp hs15 hs14: acall delay_auto hs15: djnz 74h,hs19 hs16: mov 75h,a acall c_arah4 cjne a,#01h,hs17 mov a,#00001000b sjmp hs18 hs17: mov a,#00000001b hs18: acall tam_r4 mov a,75h hs19: acall tampil_pl1

4

Page 70: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

acall tampil_pls hs20: acall c_d cjne a,#01h,hs21 acall delay_manual sjmp hs22 hs21: acall delay_auto hs22: acall batas4x cjne a,#00h,hs10 acall batas_akhir cjne a,#04h,hs8 mov a,76h ljmp start ;------------------------------------------------------------- ; Program untuk menjalankan pilihan fullstep fs: acall inisialisasi_diawal cjne a,#01h,fs1 ; untuk membaca arah motor acall data_pola_cw sjmp fs2 fs1: acall data_pola_ccw fs2: mov 74h,#04h ; batas 4x fs3: mov a,54h cjne a,#01h,fs4 acall t_lcd_cw sjmp fs5 fs4: acall t_lcd_ccw fs5: acall c_f cjne a,#00,fs6 ; untuk membaca step eksitasi

tunggal atau ganda mov a,59h acall k_fss sjmp fs7 fs6: mov a,59h acall k_fsg fs7: acall t_lcd_mode fs8: acall c_d cjne a,#01h,fs9 ; membaca delay yang digunakan

5

Page 71: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

acall delay_manual sjmp fs10 fs9: acall delay_auto fs10: mov 5eh,#04h mov 74h,#04h acall c_arah cjne a,#01h,fs11 mov a,53h acall data_pola_cw sjmp fs12 fs11: mov a,53h acall data_pola_ccw fs12: acall c_arah1 cjne a,#01h,fs13 acall c_arah2 sjmp fs14 fs13: acall c_arah3 fs14: acall c_f cjne a,#00,fs15 mov a,59h acall tampil_pl sjmp fs19 fs15: djnz 5eh,fs18 mov 75h,a acall c_arah4 cjne a,#01h,fs16 mov a,#00001000b sjmp fs17 fs16: mov a,#00000001b fs17: acall tam_r4 mov a,75h fs18: acall tampil_pl1 fs19: acall tampil_pls fs20: acall c_d cjne a,#01h,fs21 acall delay_manual sjmp fs22 fs21:

6

Page 72: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

acall delay_auto fs22: djnz 74h,fs12 acall batas_akhir cjne a,#02h,fs10 mov a,76h ljmp start ;--------------------------------------------------------------------- ; Program untuk mereset program rst: jnb p1.4,rst_fs ; membaca mode yang digunakan sjmp rst_hs rst_hs: acall ck_ganjil ; mengecek jumlah pulsa ganjil atau

genap mov a,57h cjne a,#00h,rst_hs6 sjmp rst_hs11 rst_hs1: mov 74h,#04h mov a,54h cjne a,#01h,rst_hs2 acall data_pola_cw sjmp rst_hs3 rst_hs2: acall data_pola_ccw rst_hs3: mov a,54h cjne a,#01h,rst_hs4 acall put_pola_cw sjmp rst_hs5 rst_hs4: acall put_pola_ccw rst_hs5: mov p3,63h acall hit_pulsa rst_hs6: djnz 74h,rst_hs10 rst_hs7: mov 75h,a acall c_arah4 cjne a,#01h,rst_hs8 mov a,#00001000b sjmp rst_hs9 rst_hs8: mov a,#00000001b rst_hs9:

7

Page 73: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

acall tam_r4 mov a,75h rst_hs10: mov p3,64h acall hit_pulsa rst_hs11: acall batas4x cjne a,#00h,rst_hs3 acall batas_akhir cjne a,#04h,rst_hs1 mov a,76h ljmp reset_selesai rst_fs: sjmp rst_fs10 rst_fs0: mov 5eh,#04h mov 74h,#04h mov a,54h cjne a,#01h,rst_fs1 acall data_pola_cw sjmp rst_fs2 rst_fs1: acall data_pola_ccw rst_fs2: mov a,54h cjne a,#01h,rst_fs3 acall put_pola_cw sjmp rst_fs4 rst_fs3: acall put_pola_ccw rst_fs4: acall c_f cjne a,#00,rst_fs5 mov a,59h mov p3,63h sjmp rst_fs9 rst_fs5: djnz 5eh,rst_fs8 mov 75h,a mov a,54h cjne a,#01h,rst_fs6 mov a,#00001000b sjmp rst_fs7 rst_fs6: mov a,#00000001b rst_fs7: acall tam_r4 mov a,75h

8

Page 74: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

rst_fs8: mov p3,64h rst_fs9: acall hit_pulsa rst_fs10: djnz 74h,rst_fs2 acall batas_akhir cjne a,#02h,rst_fs0 mov a,76h sjmp reset_selesai ck_ganjil: mov a,r0 mov b,#02h div ab mov 57h,b ret reset_selesai: ljmp utama ;************************************************************** ;Penyederhanaan program inisialisasi_diawal: mov r0,#00h mov r1,#00h mov r2,#00h acall cek_arah mov a,54h ret isi_besar_pola: mov 63h,r3 mov 64h,r4 ret data_pola_cw: mov r3,#00010000b mov r4,#00011000b acall isi_besar_pola ret data_pola_ccw: mov r3,#10000000b mov r4,#10000001b acall isi_besar_pola ret c_d: acall cek_delay mov a,60h ret c_arah:

9

Page 75: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

mov a,76h acall c_arah4 ret c_arah1: mov a,50h acall c_arah4 ret c_arah2: mov a,53h acall put_pola_cw ret c_arah3: mov a,53h acall put_pola_ccw ret c_arah4: mov 53h,a mov a,54h ret tampil_pl: mov p3,63h acall hit_pola_r3 acall hit_indi_r3 acall alamat_87 acall tamp_pola_r3 ret tampil_pls: acall hit_pulsa acall tamp_pulsa ret tam_r4: add a,64h mov 64h,a ret tampil_pl1: mov p3,64h acall hit_pola_r4 acall hit_indi_r4 acall alamat_87 acall tamp_pola_r4 ret batas4x: mov 50h,a mov a,74h ret batas_akhir: mov a,50h mov 76h,a mov a,r2 ret

10

Page 76: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

c_f: acall cek_fs mov 59h,a mov a,58h ret ;++++++++++++++++++++++++++++++++++++++++++++++++++++++ cek_arah: jnb p1.6,cw mov 54h,#00h sjmp cek_arah1 cw: mov 54h,#01h cek_arah1: ret ;--------------------------------------------- cek_fs: jnb p1.5,fs_single mov 58h,#01h sjmp cek_fs1 fs_single: mov 58h,#00h cek_fs1: ret ;--------------------------------------------- cek_delay: jnb p1.3,manual auto: mov 60h,#00h sjmp cek_delay1 manual: mov 60h,#01h cek_delay1: ret ;============================================================ cek_besar_delay_auto: jnb p2.0,1s jnb p2.1,2s jnb p2.2,3s 4s: mov 7fh,#04h sjmp cek_besar_delay_auto1 3s: mov 7fh,#03h sjmp cek_besar_delay_auto1 2s: mov 7fh,#02h sjmp cek_besar_delay_auto1 1s: mov 7fh,#01h cek_besar_delay_auto1:

11

Page 77: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

ret delay_auto: acall cek_besar_delay_auto mov 50h,a mov a,7fh cjne a,#01h,delay_auto_2s mov 51h,#01h sjmp jalankan_delay_auto delay_auto_2s: cjne a,#02h,delay_auto_3s mov 51h,#02h sjmp jalankan_delay_auto delay_auto_3s: cjne a,#03h,delay_auto_4s mov 51h,#03h sjmp jalankan_delay_auto delay_auto_4s: mov 51h,#04h jalankan_delay_auto: acall tunda1s jnb p1.1,merst djnz 51h,jalankan_delay_auto mov a,50h ret merst: ljmp rst ;============================================================ delay_manual: jnb p1.0,delay_manual1 jnb p1.1,merst1 acall tunda500ms sjmp delay_manual delay_manual1: acall tunda500ms ret merst1: ljmp rst ;----------------------------------------------------------------------- hit_pulsa: inc r0 mov 70h,a mov a,r0 cjne a,#0ah,hit_pulsa1 mov r0,#00h inc r1 mov a,r1 cjne a,#0ah,hit_pulsa1

12

Page 78: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

mov r1,#00h inc r2 hit_pulsa1: mov a,70h ret tamp_pulsa: mov a,70h mov 5ah,r0 mov 5bh,r1 mov 5ch,r2 mov a,#30h add a,5ah mov 5ah,a mov a,#30h add a,5bh mov 5bh,a mov a,#30h add a,5ch mov 5ch,a acall alamat_c5 mov p0,5ch acall e_nya mov p0,5bh acall e_nya mov p0,5ah acall e_nya mov 70h,a ret tamp_pola_r3: mov p0,6ah acall e_nya mov p0,69h acall e_nya mov p0,68h acall e_nya mov p0,67h acall e_nya ret tamp_pola_r4: mov p0,7ah acall e_nya mov p0,79h acall e_nya mov p0,78h acall e_nya mov p0,77h acall e_nya ret

13

Page 79: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

hit_indi_r3: mov 6fh,a mov a,6ah cjne a,#31h,hit_indi_r31 clr p3.4 sjmp hit_indi_r32 hit_indi_r31: setb p3.4 hit_indi_r32: mov a,69h cjne a,#31h,hit_indi_r33 clr p3.5 sjmp hit_indi_r34 hit_indi_r33: setb p3.5 hit_indi_r34: mov a,68h cjne a,#31h,hit_indi_r35 clr p3.6 sjmp hit_indi_r36 hit_indi_r35: setb p3.6 hit_indi_r36: mov a,67h cjne a,#31h,hit_indi_r37 clr p3.7 sjmp hit_indi_r38 hit_indi_r37: setb p3.7 hit_indi_r38: mov a,6fh ret hit_indi_r4: mov 6fh,a mov a,7ah cjne a,#31h,hit_indi_r41 clr p3.4 sjmp hit_indi_r42 hit_indi_r41: setb p3.4 hit_indi_r42: mov a,79h cjne a,#31h,hit_indi_r43 clr p3.5 sjmp hit_indi_r44 hit_indi_r43: setb p3.5

14

Page 80: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

hit_indi_r44: mov a,78h cjne a,#31h,hit_indi_r45 clr p3.6 sjmp hit_indi_r46 hit_indi_r45: setb p3.6 hit_indi_r46: mov a,77h cjne a,#31h,hit_indi_r47 clr p3.7 sjmp hit_indi_r48 hit_indi_r47: setb p3.7 hit_indi_r48: mov a,6fh ret hit_pola_r3: mov 66h,r0 mov 65h,a mov r0,#67h mov a,63h mov 5dh,#00h hit_pola_r3_1: mov b,#02h div ab mov 6fh,a mov a,#30h add a,b mov @r0,a mov a,6fh inc r0 inc 5dh cjne a,#00h,hit_pola_r3_1 hit_pola_r3_2: mov a,5dh cjne a,#08h,hit_pola_r3_3 mov r0,66h mov a,65h ret hit_pola_r3_3: mov @r0,#30h inc r0 inc 5dh sjmp hit_pola_r3_2 hit_pola_r4: mov 71h,r0 mov 72h,a mov r0,#77h

15

Page 81: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

mov a,64h mov 5dh,#00h hit_pola_r4_1: mov b,#02h div ab mov 6fh,a mov a,#30h add a,b mov @r0,a mov a,6fh inc r0 inc 5dh cjne a,#00h,hit_pola_r4_1 hit_pola_r4_2: mov a,5dh cjne a,#08,hit_pola_r4_3 mov r0,71h mov a,72h ret hit_pola_r4_3: mov @r0,#30h inc r0 inc 5dh sjmp hit_pola_r4_2 put_pola_cw: mov 62h,a mov a,63h rr a mov 63h,a mov a,64h rr a mov 64h,a mov a,62h ret put_pola_ccw: mov 62h,a mov a,63h rl a mov 63h,a mov a,64h rl a mov 64h,a mov a,62h ret

16

Page 82: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

;---------------------------------------------------------------------------------------------- ;untuk tampilan pada lCD t_lcd_cw: setb p2.7 acall k_pola acall k_0000 acall k_cw acall baris2 ret t_lcd_ccw: setb p2.7 acall k_pola acall k_0000 acall k_ccw acall baris2 ret t_lcd_mode: acall k_000 acall k_pulsa ret k_pola: mov p0,#50h ;P acall e_nya mov p0,#4fh ;O acall e_nya mov p0,#4ch ;L acall e_nya mov p0,#41h ;A acall e_nya mov p0,#20h ; acall e_nya mov p0,#3dh ;= acall e_nya mov p0,#20h ; acall e_nya ret k_cw: mov p0,#43h ;C acall e_nya mov p0,#57h ;W acall e_nya ret k_ccw: mov p0,#43h ;C acall e_nya acall k_cw ret

17

Page 83: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

k_fs: mov p0,#46h ;F acall e_nya mov p0,#53h ;S acall e_nya ret k_ttkkoma: mov p0,#2ch ;, acall e_nya mov p0,#20h ; acall e_nya ret k_fss: acall k_fs mov p0,#53h ;S acall e_nya acall k_ttkkoma ret k_fsg: acall k_fs mov p0,#47h ;G acall e_nya acall k_ttkkoma ret k_hs: mov p0,#48h ;H acall e_nya mov p0,#53h ;S acall e_nya mov p0,#20h ; acall e_nya acall k_ttkkoma ret k_pulsa: mov p0,#20h ; acall e_nya mov p0,#50h ;P acall e_nya mov p0,#75h ;u acall e_nya mov p0,#6ch ;l acall e_nya mov p0,#73h ;s acall e_nya mov p0,#61h ;a acall e_nya ret k_000: mov p0,#30h ;0 acall e_nya

18

Page 84: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

mov p0,#30h ;0 acall e_nya mov p0,#30h ;0 acall e_nya ret k_0000: acall k_000 mov p0,#30h ;0 acall e_nya mov p0,#20h ; acall e_nya mov p0,#2ch ;, acall e_nya ret ;--------------------------------------------------------------------------------------------- ;instruksi-instruksi LCD inisialisasi: clr p2.7 mov p0,#00111000b acall e_nya mov p0,#00001110b acall e_nya mov p0,#00000110b acall e_nya ret bersih: clr p2.7 mov p0,#00000001b acall e_nya ret e_nya: acall tunda5ms setb p2.6 acall tunda5ms clr p2.6 acall tunda5ms ret baris2: clr p2.7 mov p0,#11000000b acall e_nya setb p2.7 ret alamat_c5: clr p2.7 mov p0,#0c5h acall e_nya setb p2.7 ret alamat_87:

19

Page 85: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

clr p2.7 mov p0,#87h acall e_nya setb p2.7 ret ;---------------------------------------------------------------------------------------------- ;sebagai waktu tunda untuk LCD tunda1s: mov 30h,#ratusan tunda1s1: mov th0,#high cacah mov tl0,#low cacah setb tr0 tunda1s2: jnb tf0,tunda1s2 clr tf0 clr tr0 djnz 30h,tunda1s1 ret tunda5ms: mov 30h,#satuan tunda5ms1: mov th0,#high pencacah mov tl0,#low pencacah setb tr0 tunda5ms2: jnb tf0,tunda5ms2 clr tf0 clr tr0 djnz 30h,tunda5ms1 ret tunda500ms: mov 30h,#peratus tunda500ms1: mov th0,#high percacah mov tl0,#low percacah setb tr0 tunda500ms2: jnb tf0,tunda500ms2 clr tf0 clr tr0 djnz 30h,tunda500ms1 ret

20

Page 86: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

;------------------------------------------------------------ ;untuk tampilan perrama setelah LCD dinyalakan t_utama: setb p2.7 mov p0,#22h ;" acall e_nya mov p0,#4dh ;M acall e_nya mov p0,#6fh ;o acall e_nya mov p0,#74h ;t acall e_nya mov p0,#6fh ;o acall e_nya mov p0,#72h ;r acall e_nya mov p0,#20h ; acall e_nya mov p0,#53h ;S acall e_nya mov p0,#74h ;t acall e_nya mov p0,#65h ;e acall e_nya mov p0,#70h ;p acall e_nya mov p0,#70h ;p acall e_nya mov p0,#65h ;e acall e_nya mov p0,#72h ;r acall e_nya acall baris2 mov p0,#20h ; acall e_nya mov p0,#20h ; acall e_nya mov p0,#20h ; acall e_nya mov p0,#20h ; acall e_nya mov p0,#54h ;T acall e_nya mov p0,#72h ;r acall e_nya mov p0,#61h ;a acall e_nya mov p0,#69h ;i

21

Page 87: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

acall e_nya mov p0,#6eh ;n acall e_nya mov p0,#65h ;e acall e_nya mov p0,#72h ;r acall e_nya mov p0,#22h ;" acall e_nya ret

22

Page 88: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

23

Page 89: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

24

Page 90: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

25

Page 91: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

26

Page 92: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

27

Page 93: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

28

Page 94: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

29

Page 95: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

30

Page 96: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

31

Page 97: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

32

Page 98: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

33

Page 99: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

34

Page 100: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

35

Page 101: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

36

Page 102: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

37

Page 103: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

38

Page 104: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

39

Page 105: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

40

Page 106: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

41

Page 107: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

42

Page 108: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

43

Page 109: ALAT BANTU BELAJAR MOTOR LANGKAH - USD Repository

44