Breaking News

Jumat, April 27, 2012

Sistem Kendali Jarak Jauh Motor Stepper Melalui RS-232 Berbasis Mikrokontroler MCS-51


P1010056
Sebuah system kendali jarak jauh melalui RS-232 untuk motor stepper dengan spesifikasi hardware:
  • Sistem minimum AT89S51 dengan clock 11.0592 MHz dilengkapi dengan downloader ISP dan komunikasi serial RS-232 ke PC.

  • Motor stepper tipe unipolar 4 fase (kutub) 1.8 derajat/step dengan driver transistor/uln 2803 dan tegangan supplai 12 V.
  • Sistem terhubung via RS-232 ke PC dengan pengaturan via hyperterminal pada baudrate 19200bps.
Cara kerja system :
Bila salah satu tombol [0] s.d [9] pada keyboard PC ditekan maka motor akan berputar searah jarum jam. Semakin besar nilai tombol maka motor stepper tersebut berputar lebih cepat dan bila ditekan tombol ‘0’ maka motor berhenti.
Kecepatan putar stepper = nilai tombol * RPM (putaran/menit).
Solusi :
1. Perhitungan Baudrate
Listing program untuk inisialisasi baudrate :
Mensetting register TMOD dengan nilai 20H, menggunakan timer 8 bit mode 2, auto reload jadi saat overflow nilai TH-1 sama dengan nilai saat disetting. Pada saat auto reload ini, TH yang diisikan dengan nilai awalan cacahan akan menyalin isinya pada TL. Yang selanjutnya TL akan selalu mencacah mulai dari nilai seperti isi TH. Sementara itu isi TH sendiri tidak berubah. Listing program : MOV TMOD,#20h ;Timer-1, Mode-2, auto-reload
Register SCON adalah register 8-bit yang digunakan untuk memprogram bit start dan bit stop pada pembingkaian data, dan hal lainnya. Register SCON diisi dengan nilai 52h, yang berarti serial mode-1, 8-bit data yang dibingkai dengan start dan stop bit. Listing program : MOV SCON,#52h.
Dengan tidak mengubah frekuensi kristal osilator, kita dapat mendua-kalikan baud rate dengan membuat SMOD menjadi = 1 . Saat bit SMOD pada register PCON ini = 1, peralatan serial beralih menggunakan frekuensi yang 1/16 dari siklus mesin ( sebelumnya
1/32 ). Sehingga perhitungannya menjadi MC (Siklus Mesin) = 11.0592 MHz / 12 = 921600 Hz. Baud dasar = 921.6 kHz / 16 = 57,600 Hz (SMOD =1) sehingga untuk menghasilkan frekuensi yang diinginkan yaitu 19200 maka 57600/3= 19200. Nilai 3 diisikan pada register TH1= -3.
Listing program :
MOV A,PCON ;A = PCON
SETB ACC.7 ;Buat D7 = 1 (Double rate)
MOV PCON,A ;
MOV TH1,#-3 ;dengan SMOD=1 === 57600/3 = 19200
2. Perhitungan Kecepatan motor
Pada motor stepper dengan spesifikasi 1,8 derajat/step. Sehingga untuk mencapai satu putaran penuh membutuhkan : 1 putaran = 360 derajat maka banyak step dalam 1 putaran 360/1.8 = 200 step. Crystal yang dipakai yaitu 11059200 Hz. Timer yang akan digunakan yaitu Timer 0 mode 1 sehingga TH0 dan TL0 dapat diisi masing-masing 8 bit.
Kecepatan putar stepper = nilai Tombol * 10 RPM (putaran/menit). Maka untuk mendapatkan nilai yang diisi pada register TH0 adalah dengan perhitungan :
11059200/12 = 921600 Hz sehingga 1 langkah/klik timer 1/921600= 1,085 us. Untuk 10 RPM maka jumlah step 200 step * 10 = 2000 step . Maka tiap step membutuhkan waktu :
60/2000 = 0.03. Untuk mendapatkan nilai TL0 dan TH0 dengan 10 RPM : 0.03 s/1,085 us = 0.03/0.000001085 = 27649 langkah. TL0 dan TH0 bisa diisi dengan 65536-27649=37888. Nilai hexadecimal dari 37887 adalah 93ffh sehingga TL0 =0FFh dan TH0= 93h.


Tidak ada komentar:

Posting Komentar

Demi Sempurnanya ^ ^

Designed By