Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehRachmad Rohman Telah diubah "9 tahun yang lalu
1
Kuliah Mikrokontroler AVR Quis Tachometer AVR ATmega16
Eru©Oktober 2009 PENS
2
Quis Buat program untuk pengukuran kecepatan putaran motor
Kecepatan sampai dengan 2500 rpm Sensor menggunakan rotary encoder dengan resolusi antara 1 sampai dengan 1024 Gunakan misalkan, #define ROTARY 1024 Pengukuran dilakukan per 100 ms atau 1000 ms (bisa dipilih) Gunakan misalkan, #define INTERVAL 1000 Hasil ditampilkan ke LCD Misalkan, Speed: 1005 rpm
3
Petunjuk Gunakan Timer/Counter 0 dengan mode CTC untuk generator Time-base 100 ms atau 1000 ms Lengkapi dengan counter software untuk memperpanjang waktu hitungan Gunakan Timer/Counter 1 dengan mode normal dan input dari T1 untuk penghitung jumlah pulsa yang masuk
4
Konfigurasi Hardware AVR ATmega16 TCNT1 Software T1 LCD
Timer/Counter 1 (Mode Normal) Baca Counter1 Konversi Port Rotary Encoder 100 ms atau 1000 ms Interupsi OC0 Rutin Interupsi dan Generator Time-base Timer/Counter 0 (Mode CTC) Max 2500 rpm Clock 4MHz Prescaller
5
Perhitungan/Persiapan
Generator Time-base (Counter/Timer 0) TimeBase 100 ms atau 1000 ms N Prescaller OCR0 isi register OCR0 S Counter Software Counter (Counter/Timer 1) Mode Normal dengan input T1 Perhitungan Interval dalam detik, jika dalam ms, perlu dikalikan 1000
6
Inisialisasi/Software
Timer/Counter 0 Timer/Counter 1 Software Time-base Software Penghitung
7
TCCR0 – Timer/Counter Control Register
Force Output Compare 0 Isi dengan 0
8
Timer/Counter 0 Isi dengan Generator Time-base dan
pembaca isi counter 1 Isi dengan nilai OCR0 Hasil perencanaan
9
Timer/Counter 1
10
Struktur Lengkap Lengkapi dengan Generator Time-base
Isi dengan Generator Time-base dan pembaca isi counter 1 Lengkapi dengan Generator Time-base Pembaca isi Counter 1 Menghitung kecepatan Menampilkan hasil pengukuran kecepatan ke LCD Isi dengan penghitung dan penampil hasil, sebagai rutin interupsi atau dalam program utama
11
Penyelesaian Perhitungan Timer/Counter 0 N = 64
OCR0+1 = 250 OCR0 = 249 = F9H S = 250 untuk 1 detik, 25 untuk 100 ms Inisialisasi TCCR0 = 0BH
12
Program – Cara Paling Gampang
Apa ini ? Memasukkan program pengolah pada interupsi timer Proses reclear harus secepatnya Why seperti ini ?
13
Program – Lebih Baik Memindahkan program pengolah di luar interupsi
Dual task Generator Time-base dan pembaca counter sebagai task #2 Pada program utama void main(void) sebagai task #1
14
Program – Lebih Baik Lagi
Memindahkan program pengolah di luar interupsi Pembacaan counter berdasar selisih TCNT1 Why ? Apa ini ?
15
Contoh : Kontrol Kecepatan
Alat ukur kecepatan Kontrol PID Pembangkit PWM
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.