Categories
Mikrokontroler

Menggunakan Timer1 untuk Tundaan 1 detik (AVR)

Sekarang kita gunakan Timer1 (16 bit) untuk melakukan tundaan sebesar 1 detik. Konsepnya sama seperti timer yang lain, yaitu menggunakan interupsi overflow-nya Timer1. Berapakah nilai inisialisasi-nya, kita gunakan program KAVRCalc by Kevin Rosenberg untuk menghitung, hasilnya ditunjukkan pada Gambar berikut…

Penjelasan Gambar:

  1. Pilih frekuensi kristal yang digunakan dalam rangkaian, dalam hal ini dipilih 11.0592MHz;
  2. Pilih pembagi detak-nya atau praskalar-nya, dalam contoh ini dipilih 256. Anda bisa melakukan eksperimen, coba-coba memilih nilai praskalar lainnya asalkan error yang dihasilkan tetap 0% (lihat panah 5);
  3. Tuliskan frekuensi yang diinginkan (berapa jumlah interupsi per detiknya), tuliskan 1, artinya 1 kali interupsi per detik atau tundaan 1 detik;
  4. Pilih satuannya, yaitu Hz;
  5. Cek apakah error-nya 0%? Selalu usahakan nilai 0 atau mendekati 0 agar diperoleh akurasi yang lebih baik;
  6. Catat hasil perhitungan nilai inisialisasinya, dalam hal ini terhitung 0x5740 (satuan heksadesimal) dalam 16-bit yang nantinya kita simpan ke TCNT1L dan TCNT1H.
Langkah selanjutnya adalah menuliskan program-nya…
 
Categories
PLC/SCADA

Merangkai Timer pada ZEN secara Serial (Cascade)

Kadangkala suatu saat Anda membutuhkan beberapa timer (ON delay) yang disusun secara serial, misalnya, timer-1 memicu timer-2, timer-2 memicu timer-3, dan timer-3 memicu timer-1, dan proses berulang dari awal. Aplikasinya bisa untuk mengontrol lampu trafik.

Baiklah… Perhatikan Gambar 1 (rung-0), kita mulai dengan sebuah saklar untuk ON/OFF sistem yang disambungkan ke Timer-1 melewati status Timer-3 (dalam kondis NC – Normally Close), maksudnya, Timer-1 akan diaktifkan jika diaktifkan melalui ON/OFF dan Timer-3 belum aktif (Timer-3=OFF). Pengaturan Timer-3 ditunjukkan pada Gambar 2.