ALAT BANTU BELAJAR MOTOR LANGKAH

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

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

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

  HALAMAN MOTTO Tidak ada hal yang tidak mungkin…. Banggakanlah Orang tuamu......... Kill or to be killed………………… Dengan doa, Aku pintar…..….. Aku bisa………… Aku sanggup……

HALAMAN PERSEMBAHAN

  KUPERSEMBAHKAN KARYA TULIS INI KEPADA: Sang juru selamatku &

  

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.

  

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.

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 (Kura

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

  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

  

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 Latar Belakang Masalah………………………………...1

  1.1 Tujuan Penelitian………………………………………..2

  1.2 Manfaat Penelitian………………………………………2

  1.3 Perumusan Masalah……………………………………..2

  1.4 Batasan Masalah………………………………………...2

  1.5

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

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

  BAB II LANDASAN TEORI………………………………………. 4 Motor Stepper………………………………………….. 4

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

  2.1.1 Metode langkah penuh eksitasi tunggal… 6

  2.1.1.1

  2.1.1.2 Metode langkah penuh eksitasi ganda….. 7

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

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

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

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

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

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

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

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

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

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

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

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

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

  2.3.3.6 Kelompok instruksi loncat bersyarat…….17

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

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

  2.3.3.3 Kelompok instruksi logika……………… 16

  2.3.3.2 Kelompok instruksi aritmatik……………15

  2.3.3.1 Kelompok penyalinan data………………15

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

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

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

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

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

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

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

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

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

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

  3.3.1 Pemograman AT89S51 untuk kendali LCD……… 26

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

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

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

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

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

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

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

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

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

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

  3.3.2 Pemograman untuk mencari nilai pola dan sudut… 28

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

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

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

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

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

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

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

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

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

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

DAFTAR PUSTAKA

  

DAFTAR GAMBAR

Halaman

Gambar 2.1 Konstruksi Motor stepper………………………………. . 4Gambar 2.2 Mode fullstep eksitasi tunggal…………………………… 7Gambar 2.3 Langkah penuh eksitasi ganda………………………….. . 8Gambar 2.4 Diagram alir proses instruksi……………………………. 12Gambar 2.5 konfigurasi pin mikrokontroler AT89S51………………. 14Gambar 2.6 Penguat arus motor stepper……………………………… 18Gambar 3.1. Diagram blok stepper motor learning tool……………… 19Gambar 3.2 Panel kendali…………………………………………….. 20Gambar 3.3. Rangkaian saklar………………………………………… 20Gambar 3.4 Rangkaian tombol……………………………………….. 21Gambar 3.5. Gambar rangkaian mikrokontroler AT89S51…………… 21Gambar 3.6 Rangkaian penguat arus…………………………………. 23Gambar 3.7 Rangkaian indicator LED……………………………….. 24Gambar 3.8 Diagram alir secara umum ……………………………… 25Gambar 3.9 Diagram alir inisialisasi LCD…………………………… 26Gambar 3.10 Subrutine bersih layar LCD……………………………. 27Gambar 3.11 Diagram alir menampilkan karakter pada LCD………. . 27Gambar 3.12 Diagram alir mengubah karakter pada LCD…………… 27Gambar 3.13 Mencari besar nilai pola……………………………….. 28Gambar 3.14 Mencari besar pulsa……………………………………. 29Gambar 3.15 Menghitung besar nilay delay otomatis………………... 30Gambar 4.1 Perangkat keras dengan bagian-bagiannya……………… 31Gambar 4.2 Grafik tombol saat ditekan selama 1 detik……………… 35Gambar 4.3 Tampilan utama…………………………………………. 38Gambar 4.4 Tampilan full step eksitasi tunggal…………………….. 38Gambar 4.5 Tampilan full step eksitasi ganda ……………………… 39Gambar 4.6 Tampilan half step……………………………………… 39

  

DAFTAR TABEL

Halaman

Tabel 2.1 Pemberian tegangan untuk full step eksitasi tunggal……… 6Tabel 2.2 Pemberian tegangan untuk full step eksitasi ganda………... 7Tabel 2.3 Tabel pemberian tegangan untuk langkah setengah ……… 8Tabel 2.4 Peta memori (memory map)……………………………….. 10Tabel 2.5 Tabel sandi ASCII untuk setiap karakter………………….. 10Tabel 2.6 Pin-pin LCD M1632……………………………………….. 11Tabel 2.7 Register penyeleksi ………………………………………… 12Tabel 2.8 Operational code LCD……………………………………… 13Tabel 4.1 Pengamatan level tegangan catu............................................ 32Tabel 4.2 Pengujian level tegangan port 3 pada half step…………….. 33Tabel 4.3 Pengujian level tegangan pada full step eksitasi tunggal…. .. 34Tabel 4.4 Pengujian level tegangan pada full step eksitasi ganda….. .. 35Tabel 4.5 Pengujian tegangan saklar…………………………………. 36Tabel 4.6 Pengujian indikator LED…………………………………… 37Tabel 4.7 pengujian arus dari rangkaian penguat arus………………... 37Tabel 4.8 Pengujian putaran motor…………………………………… 40

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.2 Tujuan

  Tujuan dari penelitian ini adalah untuk membuat alat stepper motor learning tool.

   Manfaat

  1.3 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.

  Batasan masalah

  1.5 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.

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.

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.8 (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 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.

2.1.1 Metode langkah penuh (Full step)

  Metode ini ada dua bagian yaitu:

   Metode langkah penuh eksitasi tunggal

2.1.1.1 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 Arah putar berlawanan

jam 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,8 setiap langkahnya. Pada gambar 2.2 ditunjukkan ilustrasi pemberian tegangan pada lilitan untuk mode fullstep.

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 Arah putar berlawanan

jam 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.8 setiap langkanya.

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,9 . 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 Arah putar berlawanan

jam 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

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 0 C hingga 50 C.

  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.

   DDRAM (Display Data RAM)

  2.2.3 DD RAM mempunyai kapasitas 80 x 8 bits atau 80 byte ndan menyimpan data

  tampilan sebanyak 80 byte karakter. DDRAM menyimpan karakter-karakter yang 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

CGRAM (Character Generator RAM)

2.2.4 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.

  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

  

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 inisialisasi

disiapkan

  

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.

Tabel 2.8 Operational code LCD

   Mikrokontroler AT89S51

2.3 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.

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).

  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 ).
  • 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.

  2.3.3.5 Kelompok SUB – RUTIN