chapter ii 3

Upload: ramadhansyahputra

Post on 05-Jan-2016

223 views

Category:

Documents


0 download

DESCRIPTION

wew

TRANSCRIPT

BAB 2

DASAR TEORI

2.1 Perangkat Keras

2.1.1 Prinsip Kerja Pembuka/Penutup Pintu

Pintu air sebagai sistem kontrol, yang akan digerakkan oleh motor. Mikrokontroler AT89S51 sebagai pusat proses untuk mengendalikan semua perangkat pada pintu. Mikrokontroler telah diprogram untuk dapat membaca data dan kemudian mengolah semua data tersebut dan selanjutnya mengambil keputusan perangkat mana saja yang harus dikendalikan. Berdasarkan hasil yang diperoleh dari mikrokontroler yaitu bila air dalam bendungan terlalu berlebih dan air mengenai sensor, maka driver motor akan menggerakkan motor dan pintu air akan membuka. Begitu juga sebaliknya, bila air dalam bendungan sudah sama dengan data yang diberikan user dan sensor tidak dikenai air, maka driver motor akan menggerakkan motor yang mengakibatkan pintu air akan menutup. Ketinggian air dalam bendungan akan selalu terjaga. Air dalam bendungan tidak akan berlebihan, karena sudah dikontrol oleh pintu air ini. Bila air berlebihan, air akan dialirkan keluar melalui pintu air, yang selanjutnya akan dialirkan ke sungai.

Universitas Sumatera Utara

2.1.2 Sensor Air Sedehana

Sensor air ini menggunakan prinsip benda terapung. Sensor air berfungi untuk mendeteksi level ketinggian air pada bendungan atau waduk, dimana prinsip kerjanya sama seperti saklar, saat air menyentuh sensor maka sensor akan aktif. Pada sensor ini terdapat sebuah pelampung yang akan bergerak sesuai dengan level ketinggian air yang menekannya dari bawah. Pada pelampung terdapat magnet yang akan menjadi switch atau saklar penghubung antara kabel A dan B. Pada saat posisi pelampung berada di bawah maka kabel A dan B tidak terhubung, atau dengan kata lain posisi ini adalah posisi saklar OFF. Apabila posisi pelampung berada di atas maka akan terjadi medan magnet yang dapat menghubungkan antara kabel A dan B, atau dengan kata lain posisi ini adalah posisi saklar ON. Pada saat pelampung diatas maka kita dapat mengidentifikasi bahwa ketinggian air pada bendungan telah meningkat.

2.1.3 Mikrokontroler AT89S51

Mikrokontroler sebagai suatu terobosan teknologi mikrokontoler dan mikrokomputer hadir memenuhi kebutuhan pasar (market need) dan teknologi baru. Sebagai teknologi baru, yaitu teknologi semikonduktor dengan kandungan transistor yang lebih banyak namun hanya membutuhkan ruang kecil serta dapat diproduksi secara missal (dalam jumlah banyak) sehingga harga menjadi lebih murah (dibandingkan mikroprosesor). Sebagai kebutuhan pasar, mikrokontroller hadir untuk memenuhi selera industri dan para konsumen akan kebutuhan dan keinginan alat-alat bantu dan mainan yang lebih canggih.

Ilustrasi yang mungkin bisa memberikan gambaran yang jelas dalam penggunaan mikrokontroler adalah aplikasi mesin tiket dalam arena permainan yang saat ini terkenal di Indonesia. Jika kita sudah selesai bermain, maka akan diberikan suatu nilai, nilai inilah yang menentukan berapa jumlah tiket yang bisa diperoleh dan jika dikumpulkan dapat ditukar dengan berbagai macam hadiah. Sistem tiket ini ditangani dengan mikrokontroler, karena tidak mungkin menggunakan computer PC yang harus dipasang disamping atau di belakang mesin permainan yang bersangkut an.

Selain sistem tiket, kita juga dapat menjumpai aplikasi mikrokontroler dalam bidang pengukuran jarak jauh atau yang dikenal dengan sistem telemetri. Misalnya pengukuran disuatu tempat yang membahayakan manusia, maka akan lebih nyaman jika dipasang suatu sistem pengukuran yang bisa mengirimkan data lewat pemancar dan diterima oleh stasiun pengamatan dari jarak yang cukup aman dari sumbernya. Sistem pengukuran jarak jauh ini jelas membutuhkan suatu sistem akuisisi data sekaligus sistem pengiriman data secara serial (melalui pemancar), yang semuanya itu bisa diperoleh dari mikrokontroler yang digunakan.

Tidak seperti sistem komputer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolah kata, pengolah angka dan lain sebagainya), mikrokontroler hanya bisa digunakan untuk satu aplikasi tertentu saja. Perbedaan lainnya terletak pada perbandingan RAM-nya dan ROM. Pada sistem computer perbandingan RAM dan ROM-nya besar, artinya program program pengguna disimpan dalam ruang RAM yang relative besar, sedangkan rutin rutin antarmuka perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan pada mikrokontroler, perbandingan ROM dan RAM-nya yang besar artinya program kontrol disimpan dalam ROM (bisa Masked ROM atau Flash PEROM) yang

ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpanan sementara, termasuk register register yang digunakan pada mikrokontroler yang bersangkut an.

Mikrokontroler AT89S51 merupakan salah satu keluarga dari MCS-51 keluaran ATMEL. Jenis Mikrokontroler ini pada prinsipnya dapat digunakan untuk mengolah data perbit ataupun data 8 bit secara bersamaan.

Pada prinsipnya program pada mikrokontroller dijalankan bertahap, jadi pada program itu sendiri terdapat beberapa set instruksi dan tiap instruksi itu dijalankan secara bertahap atau berurutan.

Beberapa fasilitas yang dimiliki oleh mikrokontroler AT89S51 adalah sebagai berikut :1. Sebuah Central Processing Unit 8 bit

2. Osilatc : internal dan rangkaian pewaktu

3. RAM internal 128 byte

4. Flash memori 4 Kbyte

5. Lima buah jalur interupsi (dua buah interupsi eksternal dan tiga buah interupsi internal)6. Empat buah programable port I/O yang masing-masing terdiri dari delapan buah jalur I/O7. Sebuah port serial dengan kontrol serial full duplex UART

8. Kemampuan untuk melaksanakan operasi aritmatika dan operasi logika

9. Kecepatan dalam melaksanakan instruksi per siklus 1 mikrodetik pada frekuensi

12 MHz.

2.1.3.1 Kontruksi AT89S51

Mikrokontroler AT89S51 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1 kr istal serta catu daya 5 volt. Kapasitor 10 mikro farad dan resistor 10 kilo Ohm dipakai untuk membentuk rangkaian riset. Dengan adanya rangkaian riset ini AT89C4051 otomatis diriset begitu rangkaian menerima catu daya. Kristal dengan frekuensi maksimum 24MHz dan kapasitor 30 mikro-farad dipakai untuk melengkapi rangkaian oscilator pembentuk clock yang menentukan kecepatan kerja mikrokontroller. Memori merupakan bagian yang sangat penting pada mikrokontroller. Mikrokontroller memiliki dua macam memori yang sifatnya berbeda.

Read Only Memory (ROM) yang isinya tidak berubah meskipun IC kehilangan catu daya. Sesuai dengan keperluannya, dalam susunan MCS-51 memori penyimpanan program ini dinamakan sebagai memori program. Ada berbagai jenis ROM. Untuk mikrokontroller dengan program yang sudah baku dan diproduksi secara massal, program diisikan kedalam ROM pada saat IC Mikrokontroller dicetak dipabrik IC. Untuk keperluan tertentu mikrokontroller menggunakan ROM yang dapat diisi ulang atau Programble Eraseable ROM yang disingkat menjadi PROM (PEROM). Dulu banyak UV-EPROM (Ultra Violet Eraseable Programble ROM) yang kemudian dinilai mahal dan ditinggalkan setelah ada flash PEROM yang harganya jauh lebih murah.

Random Access Memory (RAM) isinya akan sirna begitu IC kehilangan catu daya, dipakai untuk menyimpan data pada saat program bekerja. RAM yang dipakai

untuk menyimpan data ini disebut sebagai memori data. Jenis memori yang dipakai untuk memori program AT89S51 adalah flash PEROM, program untuk mengendalikan Mikrokontroler diisikan ke memori itu lewat bantuan alat yang dinamakan sebagai AT89C4051 flash PEROM Programmer. Memori data yang disediakan dalam chip AT89S51 sebesar 128 kilo byte meskipun hanya kecil saja tapi untuk banyak keperluan memori kapasitas itu sudah cukup.

AT89S51 dilengkapi UART (Universal Asyncronous Receiver/Transmiter) yang biasa dipakai untuk komunikasi data secara seri. Jalur untuk komunikasi data seri (RXD dan TXD) diletakkan berhimpitan dengan P1.0 dan P1.1 pada kaki nomor 2 dan 3, sehingga kalau sarana input/output bekerja menurut fungsi waktu. Clock penggerak untaian pencacah ini bisa berasal dari oscillator kristal atau clock yang diumpan dari luar lewat T0 dan T1/T0 dan T1 berhimpitan dengan P3.4 dan P3.5, sehingga P3.4 dan P3.5 tidak bisa dipakai untuk jalur input/output paralel kalau T0 dan T1 dipakai.

AT89S51 mempunyai enam sumber pembangkit interupsi, dua diantaranya adalah sinyal interupsi yang diumpankan ke kaki INT0 dan INT1. Kedua kaki ini berhimpitan dangan P3.2 dan P3.3 sehingga tidak bisa dipakai sebagai jalur input/output paralel kalau INT0 dan INT1 dipakai untuk menerima sinyal interupsi. Port1 dan 2, UART, Timer 0, Timer 1 dan sarana lainnya merupakan yang secara fisik merupakan RAM khusus, yang ditempatkan di Special Function Register (SFR).

2.1.3.2 Pin-Pin pada Mikrokontroler AT89S51

Deskr ipsi pin-pin pada Mikrokontroler AT89S51 :

Gambar 2.1 IC Mikrokontroler AT89S51

1. VCC (Pin 40)

Suplai tegangan

2. GND (Pin 20 )

Ground

3. Port 0 (Pin 39-Pin 32)t

Port 0 dapat berfungsi sebagai I/O biasa, low order multiplex address/data ataupun penerima kode byte pada saat flash progamming. Pada fungsi sebagai I/O biasa port ini dapat memberikan output sink ke delapan buah TTL input atau dapat diubah sebagai input dengan memberikan logika 1 pada port tersebut.

Pada fungsi sebagai low order multiplex address/data, port ini akan mempunya i internal pull up. Pada saat flash programming diperlukan eksternal pull up, terutama pada saat verifikasi program.

4. Port 2 (Pin 21 pin 28)

Port 2 berfungsi sebagai I/O biasa atau high order address, pada saat mengakses memori secara 16 bit. Pada saat mengakses memori 8 bit, port ini akan mengeluarkan isi dari P2 special function register. Port ini mempunyai internal pull up dan berfungsi sebagai input dengan memberikan logika 1. Sebagai output, port ini dapat memberikan output sink keempat buah input TTL.

5. Port 3 (Pin 10 pin 17)

Port 3 merupakan 8 bit port I/O dua arah dengan internal pull up. Port 3 juga mempunyai fungsi pin masing-masing, yaitu sebagai berikut :

Tabel 2.1 Fungsi Masing-masing Pin pada Port 3 Mikrokontroler

Nama PinFungsiAlternatif

P3.0 (pin 10)RXDUntuk menerima data port serial

P3.1 (pin 11)TXDUntuk mengirim data port serial

P3.2 (pin 12)INT0Interupsi Eksternal waktu pencacah 0

P3.3 (pin 13)INT1Interupsi Eksternal waktu pencacah 1

P3.4 (pin 14)T0Input Eksternal waktu pencacah 0

P3.5 (pin 15)T1Input Eksternal waktu pencacah 1

P3.6 (pin 16)WRJalur menulis memori data eksternal

P3.7 (pin 17 )RDJalur membaca memori data eksternal

6. RST (pin 9)

Reset akan aktif dengan memberikan input high selama 2 cycle.

7. ALE/PROG (pin 30)

Address latch Enable adalah pulsa output untuk me - latch byte bawah dari alamat selama mengakses memori eksternal. Selain itu, sebagai pulsa input progam (PROG) selama memprogam Flash.

8. SEN (pin 29)

Progam store enable digunakan untuk mengakses memori progam eksternal.

9. EA (pin 31)

Pada kondisi low, pin ini akan berfungsi sebagai EA yaitu mikrokontroler akan menjalankan progam yang ada pada memori eksternal setelah sistem direset. Jika kondisi high, pin ini akan berfungsi untuk menjalankan progam yang ada pada memori internal. Pada saat flash programming, pin ini akan mendapat tegangan 12Volt.

10. XTAL1 (pin 19)

Input untuk clock internal.

11. XTAL2 (pin 18)

Output dari osilator.

2.1.4 Driver Motor stepper

Motor stepper yang digunakan pada contoh ini bertipe hibrid unipolar, memiliki empat fasa dan panjang langkah sebesar 1,80 per langkah. Motor diharapkan dapat berputar dalam dua arah dan memiliki dua kecepatan. Karena itu diperlukan pengendali motor stepper yang memiliki empat keluaran pulsa dengan kemampuan dua arah perputaran dan dua macam frekuensi pulsa guna mengatur kecepatan motor.

Gambar 2.2 (a) bentuk pulsa keluaran dari driver motor stepper (b) penerapan pulsa driver pada motor stepper dan arah putaran yang bersesuaian

Arah putaran motor dapat diatur dengan mengatur kondisi logika masukan pada pena 13 dari IC 74LS86. Jika diterapkan logika 0, maka motor akan berputar berlawanan dengan arah jarum jam (counter clock wise) sedangkan jika diterapkan logika 1, maka motor akan berputar dengan arah sesuai dengan arah jarum jam (clock wise).

Kecepatan motor ditentukan oleh frekuensi masukan clock yang berbentuk gelombang persegi empat. Pulsa clock ini dibangkitkan oleh rangkaian osilator pembangkit pulsa berbasis IC timer 555.

Gambar 2.3 bentuk gelombang keluaran rangkaian pembangkit pulsa

Pulsa di atas memiliki frekuensi dan periode yang konstan. Periode dari satu gelombang penuh adalah Tt (Time total). Th (Time high) adalah periode sinyal positif atau tinggi sedangkan Tl (Time low) adalah periode sinyal nol atau rendah. Periode gelombang keluaran tersebut ditentukan oleh VR1, VR2, R1, R2 dan C1. Kapasitor C2 hanya berfungsi sebagai penstabil rangkaian. Untuk menghitung Periode keluaran, dapat dilakukan dengan rumus berikut ini:

Th = 0,693 C1 (VR1 + R1 + R2) Tl = 0,693 C1 R2Tt = Th + T

Jadi periode gelombang (Tt) adalah:

f = 1Tt

dimana f adalah frekunsi (Hz)

Tt adalah time total ( sekon )

Karena motor yang digunakan terdiri atas 4 phase dan memiliki kecepatan sudut 1,80 per langkah, maka:

v = f

dimana : v adalah kecepatan motor ( rpm )

f adalah frekuensi (Hz )

digunakan transistor bipolar (BJT) tipe TIP31 yang disusun sebagai open collector switch. Transistor TIP31 adalah tergolong transistor daya menengah yang mampu mengalirkan arus puncak hingga 5 A. Transistor-transistor ini harus dilengkapi oleh lempengan pendingin dari aluminium untuk mengurangi panas yang terjadi akibat besarnya arus yang mengalir. L1 - L4 adalah lilitan (wound) dalam motor stepper. Dioda D1 - D4 berfungsi sebagai pelindung rangkaian dari tegangan tinggi (back EMF) yang mungkin timbul dari lilitan motor setepper.

Keluaran dari rangkain pengendali motor stepper (phase1 - phase4) dihubungkan ke masukan dari empat transistor tersebut melalui R1 - R2. Jika masukan bernilai sinyal rendah, maka transistor akan berada pada keadaan cut-off sehingga arus dalam lilitan motor stepper tidak mengalir. Jika masukan bernilai tinggi (diatas tegangan ambang transistor), maka transistor akan ON sehingga tegangan antara kolektor dengan emitor (VCE) turun dan arus dapat mengalir ke tanah (ground). Dengan begitu motor stepper berputar. Jika sinyal keluaran dari pengendali motor stepper berbentuk seperti L4 akan dialiri arus secara berurutan. Dengan begitu rotor dari motor stepper akan berputar sesuai dengan arah urutan.

2.1.5 Motor Stepper

2.1.5.1 Pengertian Motor Stepper

Motor stepper adalah perangkat elektromekanis yang bekerja dengan mengubah pulsa elektronis menjadi gerakan mekanis diskrit. Motor stepper bergerak berdasarkan urutan pulsa yang diberikan kepada motor. Karena itu, untuk menggerakkan motor

stepper diperlukan pengendali motor stepper yang membangkitkan pulsa pulsa periodik. Sudut rotasi motor proporsional dengan pulsa masukan sehingga lebih mudah diatur

Stepper motor merupakan salah satu tipe motor yang sangat populer digunakan sebagai peralatan penggerak/pemutar (movement unit/actuator) dalam sistem kontrol otomatis di indu stri, instrumentasi, bahan printer yang sering kita pakai sehari-hari. Motor stepper dikendalikan sepenuhnya oleh mikrokontroller, karena mikrokontroller hanya mampu memberikan supplay tegangan 5 Volt dan dengan arus sekitar 20 mA, jadi mikrokontroler tidak mampu untuk menggerakkan motor stepper.maka digunakan driver penggerak untuk mensupplay arus yang dibutuhkan motor stepper tersebut.

Motor Stepper merupakan motor DC yang dapat diatur posisinya dengan akurat pada posisi tertentu dan dapat berputar kearah yang diinginkan dengan memberi sinyal - sinyal pulsa dengan pola tertentu. Biasanya motor stepper digunakan untuk aplikasi - aplikasi yang membutuhkan torsi kecil dengan akurasi yang tinggi, seperti pada penggerak head pada flopy disk drive atau pada CD-ROM

2.1.5.2 Konstruksi Motor Stepper

Motor stepper adalah motor listrik yang dikendalikan dengan pulsa-pulsa digital, bukan dengan memberikan tegangan yang terus-menerus. Deretan pulsa diterjemahkan menjadi putaran shaft, dimana setiap putaran membutuhkan jumlah pulsa yang ditentukan. Satu pulsa menghasilkan satu kenaikan putaran atau step, yang merupakan bagian dari satu putaran penuh. Oleh karena itu, perhitungan jumlah pulsa

dapat diterapkan untuk mendapatkan jumlah putaran yang diinginkan. Perhitungan pulsa secara otomatis menunjukkan besarnya putaran yang telah dilakukan, tanpa memerlukan informasi balik (feedback).

Gambar 2.4 Pulsa keluaran motor stepper

Ketepatan kontrol gerak motor stepper terutama dipengaruhi oleh jumlah step tiap putaran, semakin banyak jumlah step, semakin tepat gerak yang dihasilkan. Untuk ketepatan yang lebih tinggi, beberapa driver motor stepper membagi step normal menjadi setengah step (half step) atau mikro step.

Gambar 2.5 Mikro step dan bagian dari motor stepper

Bagian-bagian dari motor stepper yaitu tersusun atas rotor, stator, bearing, casing dan sumbu.

Rotor pada motor stepper terdiri dari poros, roda dan sudu gerak.

Stator terdiri dari beberapa kutub. Setiap kutub memilki lilitan yang menghasilkan medan magnet yang akan menggerakkan rotor. Pemberian arus yang berurutan pada kutub kutubnya menyebabkan medan magnet berputar yang akan menarik rotor ikut berputar. Stator juga memiliki dua bagian plat yaitu plat inti dan plat lilitan. Plat inti dari motor stepper ini biasanya menyatu dengan casing.

Casing motor stepper terbuat dari aluminium dan ini berfungsi sebagai dudukan bearing dan stator pemegangnya adalah baud sebanyak empat buah. Di dalam motor stapper memiliki dua buah bearing yaitu bearing bagian atas dan bearing bagian bawah.

Sumbu merupakan pegangan dari rotor dimana sumbu merupakan bagian tengah dari rotor, sehingga ketika rotor berputar sumbu ikut berputar.

Gambar 2.6 Bagian stator motor dan rotor motor stepper

Pada motor stepper umumnya tertulis spesifikasi Np (pulsa/rotasi). Sedangkan kecepatan pulsa diekspresikan sebagai pps (pulsa per second) dan kecepatan putar umumnya ditulis sebagai (rotasi/menit atau rpm). Kecepatan putar motor stepper (rpm) dapat diekspersikan menggunakan kecepatan pulsa (pps) sebagai berikut.

Oleh karena 1 rotasi = 360o, maka tingkat ketelitian motor stepper dapat diekspresikan dalam rumus sebagai berikut:

2.1.5.3 Prinsip Kerja Motor Stepper

Pada dasarnya, prinsip kerja stepper motor ini sama dengan DC Motor, yaitu pembangkitan medan magnit untuk memperoleh gaya tarik ataupun gaya lawan dengan menggunakan catu tegangan DC pada lilitan/kumparannya. Perbedaanya terletak pada gaya yang digunakan. Bila DC Motor menggunakan gaya lawan untuk melawan atau mendorong fisik kutub magnet yang dihasilkan maka stepper motor menggunakan gaya tarik untuk menarik fisik kutub magnet yang berlawanan sedekat mungkin ke posisi kutub magnet dihasilkan oleh kumparan. Oleh karena itu, pada DC Motor, putaranya relatif tidak terkendali, jarak tolakannya sangat relatif, tergantung pada besar medan magnet yang dihasilkan. Sebaliknya pada stepper motor, gerakan

motor terkendali karena begitu kutub yang berlawanan tadi sudah tarik-menarik dalam posisi yang paling dekat, gerakan akan berhenti dan direm.

Bila kumparan mendapat tegangan dengan analogi mendapat logika 1, maka akan dibangkitkan kutub magnet yang berlawanan dengan kutub magnet tetap pada rotor. Dengan demikian, posisi kutub magnet rotor akan ditarik mendekati lilitan yang menghasilkan kutub magnet tetap pada rotor itu akan berpindah posisi menuju kutub magnet lilitan yang dihasilkan sekarang. Berarti, telah terjadi gerakan 1 step. Bila langkah ini diulang terus-menerus, dengan memberikan tegangan secara bergantian ke lilitan-lilitan yang bersebelahan, rotor akan berputar.

Logika perputaran rotor tersebut dapat dianalogikan secara langsung dengan data 0 atau 1 yang diberikan secara serentak terhadap semua lilitan stator motor. Hal ini sangat memudahkan bagi sistem designer dalam menciptakan putaran-putaran stepper motor secara bebas dengan hanya mempermainkan bit-bit pada data yang dikirimkan ke rangkaian interface stepper motor tersebut.

Untuk stepper motor 4 fase, pada prinsipnya ada dua macam cara kerja, yaitu full stef dan half stef. Penjabatan formasi logika dalam tabel ini adalah untuk mewakili putaran 360 relatif terhadap fase dari motor.

Stepper Motor yang dijumpai di pasaran sebagian besar melipatgandakan jumlah kutub magnit kumparannya dengan memperbanyak kumparan stator sejenis melingkar berurutan dalam konfigurasi penuh 360 rill terhadap poros rotor ( dengan

jumlah fase tetap). Hal ini dilakukan untuk memperoleh efek rill putaran 1 stef yang lebih presisi, misalnya 3,6/stef atau 1,8/stef.

Untuk memperoleh efek cekraman yang lebih kuat, modus data yang diberikan pada mode full wave dapat dimanipulasi dengan memberikan double aktif bits pada setiap formasi. Dengan cara ini, torsi yang dihasilkan akan lebih besar. Namun demikian, penggunaan arus akan berlipat dua karena pada saat yang bersamaan dua lilitan mendapatkan arus kemudi. Dalam aplikasinya, sumber daya yang tersedia perlu diperhatikan.

Tabel 2.2 Formasi tegangan/logika pada Stepper Motor

Stef kefull stefHalf stef

110001000

201001100

300100100

400010110

5

Berulang ke stef 10010

60011

70001

81001

Berulang ke stef 1

Tabel 2.3 Formasi double active bit untuk mode putaran full step

Stef keFull step

11100

20110

30011

41001

Pada full step, suatu titik pada sebuah kutub magnet dirotor akan kembali mendapat tarikan medan magnet stator pada lilitan yang sama setelah step 4. Berikutnya, dapat diberikan lagi mulai dari stef satu 1. Untuk Half step semua kutub magnet pada rotor akan kembali mendapatkan tarikan dari medan magnet lilitan yang sama setelah step 8. Berikutnya mulai step 1.

2.1.5.4 Aplikasi Motor Stepper

Aplikasi penggunaan motor stepper dapat juga di jumpai dalam bidang industri atau untuk jenis motor stepper kecil dapat digunakan dalam perancangan suatu alat mekatronik atau robot. Motor stepper berukuran besar digunakan, misalnya, dalam proses pengeboran logam yang menghendaki ketepatan posisi pengeboran, dalam hal ini dilakuka n oleh sebuah robot yang memerlukan ketepatan posisi dalam gerakan lengannya dan lain-lain.

Motor Stepper merupakan motor DC yang dapat diatur posisinya dengan akurat pada posisi tertentu dan dapat berputar kearah yang diinginkan dengan memberi sinyal - sinyal pulsa dengan pola tertentu. Biasanya motor stepper digunakan untuk aplikasi - aplikasi yang membutuhkan torsi kecil dengan akurasi yang tinggi, seperti pada penggerak head pada flopy disk drive atau pada CD-ROM

Pada gambar di bawah ditunjukkan dasar susunan sebuah motor stepper.

ABCU D

A

B

S

Gambar 2.7 Diagram motor stepper

Magnet permanen N-S berputar kearah medan magnet yang aktif. Apabila kumparan stator dialiri arus sedemikian rupa, maka akan timbul medan magnet dan rotor akan berputar mengikuti medan magnet tersebut. Setiap pengalihan arus ke kumparan berikutnya menyebabkan medan magnet berputar menurut suatu sudut tertentu, biasanya informasi besar sudut putar tertulis pada badan motor stepper yang bersangkut an. Jumlah keseluruhan pengalihan menentukan sudut perputaran motor. Jika pengalihan arus ditentukan, maka rotor akan berhenti pada posisi terakhir. Jika kecepatan pengalihan tidak terlalu tinggi, maka slip akan dapat dihindari. Sehingga tidak di perlukan umpan balik (feedback) pada pengendalian motor stepper.

Motor stepper banyak digunakan untuk aplikasi-aplikasi yang biasanya cukup menggunakan torsi yang kecil, seperti untuk penggerak piringan disket atau piringan CD. Dalam hal kecepatan, kecepatan motor stepper cukup cepat jika dibandingkan dengan Motor DC. Motor stepper merupakan Motor DC yang tidak memiliki komutator. Pada umumnya motor stepper hanya mempunyai kumparan pada statornya sedangkan pada bagian rotornya merupakan permanen magnet. Dengan model motor seperti ini maka motor stepper dapat diatur posisinya pada posisi tertentu dan/atau berputar ke arah yang diinginkan, searah jarum jam atau sebaliknya.

Kecepatan motor stepper pada dasarnya ditentukan oleh kecepatan pemberian data pada komutatornya. Semakin cepat data yang diberikan maka motor stepper akan semakin cepat pula putarannya. Pada kebanyakan motor stepper kecepatannya dapat diatur dalam daerah frekuensi audio dan akan menghasilkan putaran yang cukup cepat.

2.1.5.5 Motor Stepper Sebagai Pengendali Pintu Bendungan

Motor stepper yang digunakan merupakan motor stepper jenis hibrid unipolar. Motor stepper unipolar terdiri dari dua lilitan yang memiliki center tap. Center tap dari masing-masing lilitan ada yang berupa kabel terpisah ada juga yang sudah terhubung didalamnya sehingga center tap yang keluar hanya satu kabel. Untuk motor stepper yang center tapnya ada pada masing masing lilitan kabel inputnya ada 6 kabel. Namun jika center tapnya sudah terhubung di dalam kabel inputannya hanya 5 kabel.

Center tap dari motor stepper dapat dihubungkan ke pentanahan atau ada juga yang menghubungkannya ke +VCC hal ini sangat dipengaruhi oleh driver yang digunakan. Sebagai gambaran dapat dilihat konstruksi motor stepper unipolar pada gambar di bawah ini:

Gambar 2.9 Motor Stepper Unipolar

Motor stepper unipolar terdiri dari dua buah motor yang masing-masing mempunyai dua buah kumparan sedangkan motor stepper bipolar terdiri dari sebuah motor dengan dua buah kumparan.

Pada pintu bendungan digunakan sebuah penggerak motor yang akan menggerakkan motor stepper sehingga dapat membuka atau menutup pintu bendungan tersebut. Pengaturan gerak pintu air dapat dikontrol secara digital menggunakan mikrokontroler. Ketinggian air di bendungan akan selalu stabil sesuai dengan range ketinggian air yang telah ditentukan sebelumnya.

Pada stepper motor, gerakan motor terkendali karena begitu kutub yang berlawanan tadi sudah tarik-menarik dalam posisi yang paling dekat, gerakan akan berhenti dan direm. Pergerakan stepper motor berdasarkan perubahan logika pada input lilitan-lilitanya maka menjadi mudah bagi programmer untuk mengubah arah gerakan dan kedudukan rotor pada posisi yang akurat. Ini adalah salah satu

keuntungan dari penggunaan stepper motor. Untuk membuat gerakan yang lebih presisi, biasanya jumlah batang magnet di rotor diperbanyak dan lilitan dibuat berpasangan sesuai posisi kutub magnet rotor. Cara lain adalah menggunakan sistem gear pada poros rotor tanpa mengubah karakteristik stepper motornya.

Kecepatan motor stepper pada dasarnya ditentukan oleh kecepatan pemberian data pada komutatornya. Semakin cepat data yang diberikan maka motor stepper akan semakin cepat pula berputarnya. Pada kebanyakan motor stepper kecepatannya dapat diatur dalam daerah frekuensi audio dan akan menghasilkan putaran yang cukup cepat. Untuk mengatur gerakan motor per step-nya dapat dilakukan dengan 2 cara berdasarkan simpangan sudut gerakannya yaitu full step dan half step.

Ketepatan kontrol gerak motor stepper terutama dipengaruhi oleh jumlah step tiap putaran, semakin banyak jumlah step maka semakin tepat gerak yang dihasilkan. Untuk ketepatan yang lebih tinggi, beberapa driver motor stepper membagi step normal menjadi setengah step (half step) atau mikro step.

2.2 Perangkat lunak

2.2.1 Bahasa Assembly MCS-51

Bahasa yang digunakan untuk memprogram IC mikrokontroler AT89S51 adalah bahasa assembly untuk MCS-51. angka 51 merupakan jumlah instruksi pada bahasa ini hanya ada 51 instruksi, antara lain yaitu :

1. Instruksi MOV

Perintah ini merupakan perintah untuk mengisikan nilai ke alamat atau register tertentu. Pengisian nilai dapat secara langsung atau tidak langsung.Contoh pengisian nilai secara langsung

MOV R0,#20h

Perintah di atas berarti : isikan nilai 20 Heksadesimal ke register 0 (R0). Tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah nilai. Contoh pengisian nilai secara tidak langsungMOV 20h,#80h

...........

............

MOV R0,20h

Perintah di atas berarti : isikan nilai yang terdapat pada alamat 20

Heksadesimal ke register 0 (R0).

Tanpa tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah alamat.

2. Instruksi DJNZ

Insruksi DJNZ (DECREAMENT JUMP IF NOT ZERO) ini merupakan perintah untuk mengurangi nilai register tertentu dengan 1 dan lompat jika hasil pengurangannya belum nol. Contoh ,MOV R0,#80h

Loop: ...........

............

DJNZ R0,Loop

............

R0 -1, jika belum 0 lompat ke loop, jika R0 = 0 maka program akan meneruskan ke perintah pada baris berikutnya.

3. Instruksi ACALL

Instruksi ACALL ini berfungsi untuk memanggil suatu rutin tertentu. Contoh :

.............

ACALL TUNDA

............. TUNDA:.................

4. Instruksi RET

Instruksi RETURN (RET) ini merupakan perintah untuk kembali ke rutin pemanggil setelah instruksi ACALL dilaksanakan. Contoh,ACALL TUNDA

............. TUNDA:................. RET

5. Instruksi JMP

Instruksi JMP (JUMP) ini merupakan perintah untuk lompat ke alamat tertentu. Contoh,Loop:

.................

.............. JMP Loop

6. Instruksi JB

Instruksi JB (JUMP IF BIT) ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika high (1). Contoh,Loop:

JB P1.0,Loop

.................

7. Instruksi JNB

Instruksi JNB (JUMP IF NOT BIT) ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika Low (0). Contoh,Loop:

JNB P1.0,Loop

.................

8. Instruksi CJNE

Instruksi CJNE (COMPARE JUMP IF NOT EQUAL) ini berfungsi untuk membandingkan nilai dalam suatu register dengan suatu nilai tertentu. Contoh,

Loop:

................

CJNE R0,#20h,Loop

................

Jika nilai R0 tidak sama dengan 20h, maka program akan lompat ke rutin Loop. Jika nilai R0 sama dengan 20h,maka program akan melanjutkan instruksi selanjutnya.

9. Instruksi DEC

Instruksi DEC (DECREAMENT) ini merupakan perintah untuk mengurangi nilai register yang dimaksud dengan 1. Contoh,MOV R0,#20h R0 = 20h

................

DEC R0 R0 = R0 1

.............

10. Instruksi INC

Instruksi INC (INCREAMENT) ini merupakan perintah untuk menambahkan nilai register yang dimaksud dengan 1. Contoh,MOV R0,#20h R0 = 20h

................

INC R0 R0 = R0 + 1

..............

2.2.2 Software 8051 Editor, Assembler, Simulator

Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada sebuah editor, yaitu 8051 Editor, Assembler, Simulator. Tampilannya seperti di bawah ini.

Gambar 2.9 Software 8051 Editor, Assembler, Simulator

Setelah program selesai ditulis, kemudian di-save dan kemudian di-Assemble (di-compile). Pada saat di-assemble akan tampil pesan peringatan dan kesalahan. Jika masih ada kesalahan atau peringatan, itu berarti ada kesalahan dalam penulisan perintah atau ada nama subrutin yang sama, sehingga harus diperbaiki terlebih dahulu sampai tidak ada pesan kesalahan lagi.

Software 8051IDE ini berfungsi untuk merubah program yang kita tuliskan ke dalam bilangan heksadesimal, proses perubahan ini terjadi pada saat peng-compile-an. Bilangan heksadesimal inilah yang akan dikirimkan ke mikrokontroller.

2.2.3 Software Downloader

Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroller digunakan software ISP- Flash Programmer 3.0a yang dapat didownload dari internet. Tampilannya seperti gambar di bawah ini

Gambar 2.10 ISP- Flash Programmer

Cara menggunakannya adalah dengan meng-klik Open File untuk mengambil file heksadesimal dari hasil kompilasi 8051IDE, kemudian klik Write untuk mengisikan hasil kompilasi tersebut ke mikrokontroller.