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
STEPPER MOTOR LEARNING TOOL
FINAL PROJECT
Presented as Partial Fulfillment of the Requirements to obstain the Sarjana TeknikDegree
in Electrical Engineering
By :
Student Name : ANDI SUSANTO Student Number : 025114025
ELECTRICAL ENGINEERING STUDY PROGRAM
SCIENCE AND TEGNOLOGI FACULTY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
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,
HALAMAN MOTTO
Tidak ada hal yang tidak mungkin….
Banggakanlah Orang tuamu...
Kill or to be killed………
Dengan doa,
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.
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.
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.
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
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.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.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 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
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
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.
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
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 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.
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.
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.
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 fullstepeksitasi 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
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
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)
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
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
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
Tabel 2.8 Operational code LCD
2.3
Mikrokontroler 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:
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 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
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
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:
Rc Vcc I
Ic(maks) = c(sat) = ………..persamaan 2.1 dengan persamaan 2.1 maka besarnya arus basis maksimum yang terjadi adalah:
β
) (maks c b
I
I = ……….persamaan 2.2 dari persamaan 2.2 diatas kita dapat menentukan besarnya Rb sebagai berikut:
b be b b
I V V
BAB III
RANCANGAN PENELITIAN
3.1 Diagram Blok
Gambar 3.1 dibawah ini merupakan gambar diagram blok dari rangkaian steppermotor learning tool:
saklar
Tombol reset
Tombol start
AT89S51
LCD
Indikator LED
Motor stepper Penguat arus
Tombol
next
Gambar 3.1. Diagram blok steppermotor learning tool
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.
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.
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.
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: =
C
I βIb………persamaan 3.1
β = b c I I = mA A 1 1
= 1000
Dengan persamaan 3.1 maka besarnya Rc adalah:
Rc =
c I Vcc ………persamaan 3.2 = A 1 12
= 12Ω
Dari persamaan 3.2 diatas kita dapat menentukan besarnya Rbsebagai berikut:
Rb =
b be b I V V − ………..persamaan 3.2
Rb = 3
10 . 1 4 . 1 5 − −
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 V VCC − LED
………persamaan 3.4 Sehingga ,
R =
LED LED CC I V V − ………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 = 3
10 . 10 2,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
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 next
ditekan? Tombol reset ditekan? Ya Ya Tidak Tidak A A Ya Ya Tidak
Tampilkan pola dan besar pulsa pada
LCD Sudah 400 step? Tidak A CW atau CCW? Ya
Putar motor CCW Tidak Tidak Menghitung besar pulsa Mencari besar nilai pola CW ? Hitung besar nilai delay otomatis Sudah 400 step? tidak Tidak A Manual? Ya Ya
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 ta rt
R S = 0
In s tru k s i d is ia p k a n
E = 0
T u n d a 5 m s
E = 1
fin is h
S ta rt
E = 0
T u n d a 5 m s
E = 1
fin is h
S ta rt
R S = 0
In s tru k s i d is ia p k a n
C a ll e n a b le
fin is h
(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.
S ta r t
R S = 0
D a t a 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 t a k a r a k te r A 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 i n s t r u k s i a l a m a t y a n g a k a n
d i r u b a h k a r a k t e r n y a d i k i r i m
C a l l e n a b l e
F i n i s h D a t a k a r a k t e r b a r u
d i k i r i m R S = 1
C a l l e n a b l e
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 dengan bilangan 2 hexsa kemudian menyimpan setiap nilai bit pada memori yang berbeda untuk setiap nilai pola ganjil
dan nilai pola genap
Apakah sudah 3X?
Nilai pola genap ditambah dengan 8 heksa
Ya Tidak
Putar nilai pola Baca saklar metode, mode,
arah
finish
Menampilkan pada LCD
Menampilkan pada LCD
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 untuk menyimpan besar pulsa
Byte pertam ditambah dengan bilangan 1 heksa
Finish Byte pertama
sudah 0a heksa
Byte kedua ditambah dengan bilangan 1 heksa
Ya
Byte kedua sudah 0a
heksa
Byte ketiga ditambah dengan bilangan 1 heksa
Ya Tidak
Tidak
Menampilkan pada LCD
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
Masukkan nilai delay
Baca tombol delay
Delay 1s
Delay 2s
Delay 3s
Delay 4s Tidak
Tidak
Tidak
Jalankan besar delay 2s Jalankan besar
delay 1s
Jalankan besar delay 3s
Jalankan besar delay 4s Ya
Ya
Ya
Ya Tidak
finish
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
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 100 % 1,6%
12 2 ,
0 × =
=
Ε sedangkan
untuk toleransi sebesar 100 % 5%
12 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 % 100 5 1 ,
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
• 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,20,2
4,72 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.
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,82 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,24 0,1 0,1 0,3
4,8
4,8 0,15 0,4 0,3Dari 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.
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.
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 = 0,2Vcc−0,25
= 0,2×5,1−0,25
= 0,77 Vdc
• Untuk level tegangan high memiliki batas minimal dan maksimum yaitu: ¾ Batas minimal = 0,2Vcc+1
= 0,2×5,1+1
= 2,02 Vdc
¾ Batas maksimum = Vcc+0,5
= 5,1+0,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
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
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 = 100%
1 91 , 0 1 × − A A A
= 9%
Error IB = 100%
1 88 , 0 1 × − m m m
= 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.
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 2
3 4 1
5
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
3 4
2 5
6
Untuk keterangan gambar 4.5 adalah sebagai berikut: 1. Posisi jarum pada motor untuk pulsa sebesar 0.
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
3 4
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
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 0 0 018 , 0 200 6 , 3 =
¾ Error pada mode full step eksitasi ganda sebesar 3 pulsa (5,40) maka untuk
setiap stepnya terdapat error sebesar 0 0 027 , 0 200 4 , 5 =
¾ Error pada mode half step sebesar 2 pulsa (1,80) maka untuk setiap stepnya
terdapat error sebesar 0 0 0045 , 0 400 8 , 1 =
4.2
Pengujian alat oleh pengguna
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.
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.
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
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
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.
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).
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 t_lcd_mode hs6:
acall c_d
cjne a,#01h,hs7 ; membaca delay yang dig