Pengujian Rangkaian Sensor Pengujian Motor Stepper a. Menentukan Arah Perputaran Motor Stepper

Loop: mov p0,55h P0 0 1 0 1 0 1 0 1 acall tunda mov P0,0AAH P0 1 0 1 0 1 0 1 0 acall tunda sjmp Loop Short jump to loop tunda: mov r7,255 tnd: mov r6,255 Djnz r6, Djnz r7,tnd ret Program diatas hanya program sederhana yang diisikan kedalam mikrokontroller, dimana program diatas akan menghidupkan LED yang terhubung ke pin P0.0, P0.2, P0.4 dan P0.6 berhenti sesaat lalu menghidupkan LED yang terhubung ke pin P0.1, P0.3, P0.5 dan P0.7 dan berhenti sesaat kemudian kembali lagi menghidupkan LED yang terhubung ke pin P0.0, P0.2, P0.4 dan P0.6. Demikian seterusnya. Rutin tunda berfungsi sebagai waktu berhenti sesaat sebelum LED lainnya dihidupkan. Dengan mengisikan nilai yang berbeda pada Port 0, maka tampilannya juga berbeda. Pengujian yang sama juga dilakukan pada Port 1, Port 2 dan Port 3. Apabila LED atau mikrokontroller telah berjalan sesuai dengan program yang diisikan kedalamnya maka rangkaian mikrokontroller ini telah berfungsi dengan baik dan siap untuk digunakan.

4.1.2 Pengujian Rangkaian Sensor

Pengujian rangkaian sensor dapat dilakukan dengan cara menghubungkan salah satu lempeng yang ada pada sensor ini. Dalam hal ini yang berfungsi sebagai input sensor adalah lempeng A dan yang berfungsi sebagai output sensor adalah lempeng B. Pada lempeng A akan dihubungkan dengan sumber tegangan +5 Volt dan outputnya akan diumpankan ke kaki basis transistor dimana transistor disini akan digunakan sebagai rangkaian pengkondisi sinyal. Gambar 4.2 Rangkaian Sensor A B +5V +5V 4K7 V out 1K Dari hasil pengujian sensor yang dilakukan, maka diperoleh tegangan yang dihasilkan pada kaki basis. Data yang diperoleh ini yang akan dimanfaatkan dengan menggunakan prinsip kerja dari transistor. Berikut data yang diperoleh pada saat pengukuran tegangan basis, sebagai berikut : Tabel 4.1 Hasil pengukuran Tegangan Basis V B Karakteristik V B Keadaan sensor yang dihasilkan Tegangan basis Emitter pada saat saturasi I B = 0,2 mA 1,5 V Logika 0 Low Tegangan basis Emitter pada saat cut-off I B = 0 0 V Logika 1 High Saat kedua lempeng terhubung oleh air, maka pada lempeng B dihasilkan tegangan sebesar 1,5 Volt. Tegangan inilah yang cukup untuk mengaktifkan transistor. Sehingga tegangan dari Vc akan mengalir ke V E , dan Vout akan menjadi 0 volt. Kondisi 0 inilah yang dianggap sebagai data high yang akan dikirimkan ke mikrokontroller. Sebaliknya, saat kedua lempeng tidak terhubung oleh air, maka tegangan dilempeng B sebesar 0 volt, sehingga transistor tidak akan aktif maka tidak ada tegangan yang mengalir dari V c ke V E dan V out akan menjadi 5 volt. Sehingga tegangan 5 volt ini yang digunakan sebagai data low yang akan diolah pada mikrokontroller.

4.1.3 Pengujian Motor Stepper a. Menentukan Arah Perputaran Motor Stepper

Untuk mengetahui arah perputaran dari motor stepper adalah dengan mengisikan program ke mikrokontroller sebagai berikut : Putar_kiri : Mov a,01H loop : Mov P0,a RL a acall tunda_step Sjmp loop tunda_step : Mov r7,255 Mov r6,255 tnd : Djnz r6, Djnz r7,tnd Ret Program diatas akan mengatur gerakan motor stepper agar berputar kearah kiri atau berlawanan dengan putaran jarum jam. Putar_kanan : Mov a,01H Loop : Mov P0,a RR a acall tunda_step Sjmp loop tunda_step : Mov r7,255 Mov r6,255 tnd : djnz r6, djnz r7,tnd ret Program diatas akan mengatur gerakan roler agar berputar terus ke arah kanan atau searah dengan arah putaran jarum jam. Rutin tunda dengan perintah call step_tunda merupakan lama waktu perputaran motor untuk satu step atau langkah. Perintah Mov r6,255 dan Mov r7,255 masing-masing terdiri dari 2 siklus mesin. Perintah djnz juga terdiri dari 2 siklus mesin. Sedangkan perintah ret terdiri dari 1 siklus mesin. Perintah djnz r6, maksudnya adalah mengurangi nilai pada r6 sampai bernilai 0, berarti perintah djnz r6, pada program diatas dilakukan sebanyak 255 kali, atau 225 x 2 = 510 µd. Setelah nilai r6 bernilai 0 maka nilai r7 berkurang 1 nilai karena adanya perintah djnz r7, kemudian program akan kembali mengurangi nilai pada r6 sampai bernilai 0 kembali ke tunda_step sehingga perintah ini dilakukan sebanyak 255 kali. Dengan demikian dapat diketahui hasilnya adalah 510 x 255 = 65025 µd. Hasil dari perkalian ini kemudian ditambahkan dengan 5 siklus berikutnya mov r6 = 2 siklus, mov r7 = 2 siklus, dan ret = 1 siklus sehingga hasil akhir didapatkan 65025 + 5 = 65030 µd. Jadi waktu tunda yang diberikan untuk satu step adalah 65030 µd atau 0,065detik.

b. Menentukan beban maksimum yang dapat digerakkan motor stepper.