• Tidak ada hasil yang ditemukan

Pengujian Rangkaian Mikrokontroler AT89S51

PENGUJIAN RANGKAIAN DAN PROGRAM 4.1 Pengujian Rangkaian Catu Daya

4.2 Pengujian Rangkaian Mikrokontroler AT89S51

Pengujian pada rangkaian mikrokontroler AT89S51 ini dapat dilakukan dengan menghubungkan rangkaian ini dengan rangkaian power supplay sebagai sumber tegangan. Kaki 40 dihubungkan dengan sumber tegangan 5 volt, sedangkan kaki 20 dihubungkan dengan ground. Kemudian tegangan pada kaki 40 diukur dengan menggunakan voltmeter. Dari hasil pengujian didapatkan tegangan pada kaki 40

sebesar 5 volt. Langkah selanjutnya adalah memberikan program sederhana pada mikrokontroler AT89S51. Program yang diberikan adalah sebagai berikut :

Loop: Cpl P3.7 Acall Tunda Sjmp Loop Tunda: Mov R7,#255 Tnd: Mov R6,#255 Djnz r6,$ Djnz r7,Tnd Ret

Program di atas akan mengubah logika yang ada pada P3.7 selama selang waktu tunda. Jika logika pada P3.7 high maka akan diubah menjadi low, demikian juga sebaliknya jika logika pada P3.7 low maka akan diubah ke high, demikian seterusnya.

Logika low akan mengaktifkan transistor sehingga LED akan menyala dan logika high akan menonaktifkan transistor, sehingga LED padam. Dengan demikian program ini akan membuat LED berkedip terus-menerus. Jika LED telah berkedip terus menerus sesuai dengan program yang diinginkan, maka

Pengujian Rangkaian Sensor Garis

Pengujian pada rangkaian sensor garis ini dapat dilakukan dengan meletakkan robot diatas line hitam (sensor mengenai line hitam), dan kemudian meletakkan robot di atas lantai putih (sensor mengenai lantai putih),. Dari hasil pengujian, ketika robot diletakkan pada line hitam (sensor mengenai line hitam), maka tegangan pada potodioda 0,3 mV. Tegangan ini tidak dapat mengaktipkan transistor C828 sehingga rangkaian sensor tidak aktip, LED indikator mati dan rangkaian ini akan mengirimkan logika high (1) ke mikrokontroler AT89S51.

Ketika robot diletakkan pada lantai putih (sensor mengenai lantai putih), maka tegangan pada potodioda 1,3 mV. Tegangan ini akan mengaktipkan transistor C828 sehingga rangkaian sensor menjadi aktif, LED indikator menyala dan rangkaian ini akan mengirimkan logika low (0) ke mikrokontroler AT89S51.

Pengujian selanjutnya adalah dengan menghubungkan rangkaian sensor garis ini dengan rangkaian mikrokontroler yang telah diberi program sebagai berikut :

Jnb P2.3,$ Setb P3.7 . . . .

Program di atas akan menunggu adanya sinyal high (1) yang dikirimkan sensor, dimana sensor siang tersebut dihubungkan dengan P2.3. Program akan terus menunggu sampai ada sinyal high yang dikirimkan oleh sensor. Sinyal high

ini menunjukkan behwa sensor pada robot mengenai garis hitam. Jika ada sinyal high yang dikirimkan oleh sensor, maka program akan menghidupkan LED indikator yang dihubungkan ke P3.7.

Pengujian Rangkaian Tombol

Pengujian pada rangkaian ini dapat dilakukan dengan menekan tombol, kemudian mengukur tegangan output dari rangkaian tersebut. Dari hasil pengujian didapatkan pada saat tombol tidak ditekan, maka output dari rangkaian ini adalah 4,9 volt. Ketika terjadi penekanan tombol, maka output dari rangkaian ini adalah 0 volt. Dengan demikian rangkaian ini telah berfungsi dengan baik.

Pengujian selanjutnya adalah dengan menghubungkan rangkaian tombol ini dengan rangkaian mikrokontroler yang telah diberi program sebagai berikut :

Jb P1.0,$ Setb P3.7 . . . .

Program di atas akan menunggu adanya sinyal low yang dikirimkan tombol, dimana tombol tersebut dihubungkan dengan P1.0. Program akan terus

menunggu sampai ada sinyal low yang dikirimkan oleh tombol. Jika ada sinyal low yang dikirimkan oleh tombol, maka program akan menghidupkan LED indikator yang dihubungkan ke P3.7.

Pengujian Rangkaian Display Seven Segmen

Pengujian pada rangkaian ini dapat dilakukan dengan menghubungkan rangkaian ini ke rangkaian mikrokontroler AT89S51. Dimana kaki 2 pada IC 4094 dihubungkan dengan kaki 10 (P3.0) mikrokontroler AT89S51 dan kaki 3 pada IC 4094 dihubungkan dengan kaki 11 (P3.1) mikrokontroler AT89S51.

Seven segmen yang digunakan adalah aktif low, ini berarti segmen akan hidup jika diberi data low (0) dan segmen akan mati jika diberi data high (1). Untuk menampilkan angka pada seven segmen, maka data yang harus diberikan adalah sebagai berikut:

 Untuk menampilkan angka nol, data yang harus dikirim adalah

20h

 Untuk menampilkan angka satu, data yang harus dikirim adalah

0ech

 Untuk menampilkan angka dua, data yang harus dikirim adalah

18h

 Untuk mengosongkan tampilan, data yang harus dikirim adalah

Langkah selanjutnya memberikan program sederhana untuk menampilkan angka pada seven segmen tersebut.

bil0 equ 20h bil1 equ 0ech bil2 equ 18h bilkosong equ 0ffh Display: mov sbuf,#bil0 jnb ti,$ clr ti ret

Progran di atas akan menampilkan nilai 0 pada display seven segmen. Dan nilai berapapun yang diisikan ke serial buffer (sbuf) akan ditampilkan pada display seven segmen.

Pengujian Pengendali Pergerakan Motor (Jembatan H)

Pengujian pada rangkaian ini dapat dilakukan dengan menghubungkan input rangkaian ini ke rangkaian mikrokontroler AT89S51 dan menghubungkan output dari rangkaian ini ke motor DC.

Langkah selanjutnya adalah mengisikan pada mikrokontroler program sederhana untuk memutar motor DC tersebut. Program yang diisikan ke

Clr P0.1

Perintah Setb P0.0 akan memberikan logika high ke P0.0 dan perintah Clr P0.1 akan memberikan logika low ke P0.1. Untuk membuat motor berputar kearah sebaliknya adalah,

Clr P0.0 Setb P0.1

Perintah Clr P0.0 akan memberikan logika low ke P0.0 dan perintah Setb P0.1 akan memberikan logika high ke P0.1. Dengan demikian arah perputaran motor sudah dapat dikendalikan oleh program yang diisikan ke mikrokontroler AT89S51.

Pengujian Rangkaian Driver Motor Stepper

Pengujian pada rangkaian jembatan H ini dilakukan dengan menghubungkan input rangkaian driver motor stepper ini dengan rangakaian mikrokontroler AT89S51 dan menghubungkan output dari rangkaian driver motor stepper ini dengan motor stepper, kemudian memberikan program sebagai berikut:

motor1 Bit P0.4 motor2 Bit P0.5 motor3 Bit P0.6 motor4 Bit P0.7 angkat_lift: setb motor1 Clr motor4

acall tunda setb motor2 Clr motor1 acall tunda setb motor3 Clr motor2 acall tunda setb motor4 Clr motor3 acall tunda Sjmp angkat_lift Tunda: Mov R7,#50 Tnd: Mov R6,#255 Djnz r6,$ Djnz r7,Tnd Ret

Program di atas akan memberikan logika high secara bergantian pada input dari rangkaian driver motor stepper, dimana input dari jembatan masing-masing dihubungkan ke P0.4, P0.5, P0.6 dan P0.7. Dengan program di atas maka motor akan bergerak searah dengan arah putaran jarum jam (mengangkat lift). Untuk memutar dengan arah sebaliknya, maka diberikan program sebagai berikut :

Turun_Lift:

Clr motor4 acall tunda setb motor2 Clr motor3 acall tunda setb motor1 Clr motor2 acall tunda Sjmp Turun_Lift Tunda: Mov R7,#50 Tnd: Mov R6,#255 Djnz r6,$ Djnz r7,Tnd Ret

Dengan program di atas, maka motor akan berputar berlawanan arah dengan arah putaran jarum jam (menurunkan lift). Tunda digunakan untuk mengatur kecepatan putar dari motor. Semakin besar nilai yang diberikan pada tunda, maka perputaran motor akan semakin lambat, dan sebaliknya.

BAB V

KESIMPULAN DAN SARAN

Dokumen terkait