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.