Pemrograman PID

Pemrograman yang menggunakan kendali PID, fungsi interup dan output untuk servo

Membuat Tampilan Warna Di CodeBlocks

Baiklah kali ini saya akan shared gimana caranya membuat tampilan hasil program pada Code::Blocks menjadi warna seperti...

Sensor Encoder

Bagaimana cara mengetahui kecepatan pergerakan Robot, posisi Robot dari posisi sebelumnya, menggambarkan pergerakan Robot pd komputer, atau mengatur agar Robot brada pd posisi tertentu. Salah satu jawabannya yaitu dengan sensor Encoder, cara lain menggunakan sensor kompas ato menggnkn prinsip kerja GPS...

This is Software Konversi Bilangan

Bagi Sobat yang mau download software ini silakan klik ini. Dan software ini tidak begitu sulit kok untuk digunakan oleh pemula atau pun siapa pun. ^_^

CircuitMaker 6 PRO

Ini adalah sebuah software untuk mensimulasikan sebuah rangkaian. Read more...

Selasa, 22 November 2011

Download BASCOM-AVR

Bahasa pemrograma BASIC dikenal di seluruh dunia sebagai bahasa pemrograman handak, cepat, mudah dan tergolong kedalam bahasa pemrograman tingkat tinggi. Bahasa BASIC asalah salah satu bahasa pemrograman yang banyak digunakan untuk aplikasi Mikrokontroller karena kemudahan dan kompatibel terhadap Mikrokontroller jenir AVR dan didukung oleh Compiler software berupa BASCOM-AVR.

Jika sobat ingin mendownloadnya KLIK DISINI



Senin, 21 November 2011

Menghitung kecepatan dalam RPM

Berikut ini adalah langkah terakhir dalam menentukan kecepatan putaran motor DC dalam RPM (Revolutions Per Minute) , dan untuk mengingat kembali, berikut spesifikasinya :
  • Motor DC satu arah.
  • Sensor berupa encoder piringan menggunakan lubang.
  • Lubang = logika 0, No lubang = logika 1.
  • Banyak lubang 4 buah dengan perbedaan 90 derajat.
  • Update nilai RPM setiap 1 detik.
  • Interupsi encoder dengan mode Falling Edge / NGT

Logika perhitungan RPM
Encoder yang digunakan adalah tipe piringan yang menggunakan lubang atau garis hitam-putih, banyaknya lubang adalah 4 buah lubang maka 1 putaran = 4 lubang.







Kasus 1: Interupsi eksternal mendeteksi 2400 lubang dalam waktu 1 menit yang berarti :
  • 1 menit terdeteksi 2400 lubang (Clock lubang), maka
  • 2400 / 4 = 600 putaran atau 600 RPM
Kasus 2: Interupsi eksternal mendeteksi 1800 lubang dalam waktu 30 detik yang berarti :
  • 30 detik = 30/60 = 0,5 menit
  • 1800 / 4 = 450 putaran dalam 30 detik, maka
  • 450 / 0,5 = 900 RPM
Kasus 3: Interupsi eksternal mendeteksi 60 lubang dalam waktu 200 mS yang berarti :
  • 200 mS = 200 / 60000 = 0,0033333 menit
  • 60/ 4 = 15 putaran dalam 200 mS, maka
  • 15 / 0,0033333 = 4500,045 RPM
Kasus 4: Interupsi eksternal mendeteksi 100 lubang dalam waktu 1 S yang berarti :
  • 1 S = 1 / 60 = 0,016667 menit
  • 100 / 4 = 25 putaran dalam 1 S, maka
  • 25 / 0,016667 = 1.499,97 RPM

Coding CoViAVR
Pada post sebelumnya, Timer yang digunakan adalah timer 8 bit, lalu interupsi eksternal menggunakan mode falling edge, tampilan data RPM akan ditampilkan ke komputer melalui port serial dengan protokol 9600,8,N,1.

Langkah-langkah :
  • Jalankan program CoViAVR, buat project baru, dan gunakan CodeWizzardAVR.
  • Atur komunikasi serial, interupsi Eksternal dan timer 8 bit.














Selanjutnya silahkan lihat coding berikut :

Oiya.. lupa aktifin kedap-kedip LED-nya..
Silahkan koreksi sendiri ya..
Udah teranjur d upload gambarnya..
CMIIW.. Ok.

Semoga manfaat ;)

Sensor Encoder

Bagaimana cara mengetahui kecepatan pergerakan Robot, posisi Robot dari posisi sebelumnya, menggambarkan pergerakan Robot pd komputer, atau mengatur agar Robot brada pd posisi tertentu. Salah satu jawabannya yaitu dengan sensor Encoder, cara lain menggunakan sensor kompas ato menggnkn prinsip kerja GPS.

Salah satu jenis Encoder yaitu berupa sensor inframerah yg terdiri dr pemancar n penerima dlm 1 kemasan, bentuknya biasanya U (liat aj gambarnya). Ada encoder jenis lain yg bisa mengetahui sudut perputaran tp wa g tau jelasnya.

Prinsip kerjanya :
1. pemancar, memancarkan cahaya inframerah pada penerima.
2. Jika cahaya pemancar diterima oleh penerima maka dianggap logika 1 (tergantung rangkaian)
3. Jika cahaya pemancar tidak diterima oleh penerima maka dianggap logika 0.

Untuk mencegah kesalahan pembacaan data sensor encoder, sebaiknya pd program tidak mendeteksi pembacaan logika 1 saja ato logika 0 saja. Jika program mendeteksi logika 0/1 saja maka saat Motor yg terpasang encoder OFF shg posisi encoder selalu 0/1 maka terjadi kesalahan penbacaaan data.
Sebaiknya pd program mendeteksi perubahan dari 1 ke 0 (NGT) ato dari 0 ke 1 (PGT). Klo mikro AVR sudah ada fungsinya di interupsi shg mudah n kesalahan bisa diminimalkan klo d MCS51, hmmm... tau deh.

Jumat, 18 November 2011

INTERRUPT


Interrupt adalah fasilitas mikrokontroller untuk menyela suatu program yang sedang berjalan. Interrupt dapat dianalogikan sebagai hak untuk menyela pada suatu rapat. Dari sekian banyak peserta rapat hanya 21 orang yang diberi hak untuk menyela. Jika terdapat 2 atau lebih orang yang menyela, maka orang dengan prioritas paling tinggi yang diperbolehkan bicara. Pada ATMEGA8535 terdapat 21 fasilitas interrupt dengan prioritas seperti pada tabel berikut.

Tabel 3.1: prioritas interrupt ATMEGA8535

Dalam bab ini peserta akan diperkenalkan dengan fasilitas eksternal interrupt mikrokontroller INT0 dan INT1. Fasilitas ini sangat penting karena menempati urutan kedua dan ketiga setelah RESET. Register register yang perlu disetting untuk menggunakan fasilitas interrupt adalah MCUCR, MCUSR, GICR, dan GIFR.

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More