RSS

Category Archives: instrument

Led geser dengan codevisionAVR (2)

Nah sekarang Aku mau tunjukkin cara lain gimana buat program geser led. kalo sebelumnya sudah pake cara yang sangat simple dan kali ini …….langsung aja deh…check this out!!!

#include <mega16.h>
#include <delay.h>
// Declare your global variables here
#define led PORTA // Output8 buah led di PORTA (Port lain jg b, misal : port B, D dan C)
int x,y; //Pendeklarasian variabel x dan y
void Ges_Kir()
{
for (x=0;x<2;x++) // untuk 2 kali perulangan
{ led=0x01; //led 1 nyala (bit 1=on)
delay_ms(2000); // delay 2 sekon
led=0x02; //led 2 nyala
delay_ms(2000);
led=0x04; //led 3 nyala
delay_ms(2000);
led=0x08; //led 4 nyala
delay_ms(2000);
led=0x10; //led 5 nyala
delay_ms(2000);
led=0x20; //led 6 nyala
delay_ms(2000);
led=0x40; //led 7 nyala
delay_ms(2000);
led=0x80; //led 8 nyala
delay_ms(2000);}
}
void Ges_Kan()
{
for (y=0;y<2;y++) // untuk 2 kali perulangan
{ led=0x80; //led 8 nyala
delay_ms(2000); // delay 2 sekon
led=0x40; //led 7 nyala
delay_ms(2000);
led=0x20; //led 6 nyala
delay_ms(2000);
led=0x10; //led 5 nyala
delay_ms(2000);
led=0x08; //led 4 nyala
delay_ms(2000);
led=0x04; //led 3 nyala
delay_ms(2000);
led=0x02; //led 2 nyala
delay_ms(2000);
led=0x01; //led 1 nyala
delay_ms(2000);}
}
void main(void)
...
...
...DDRA=0xFF;
while (1)
{
// Place your code here
Ges_Kir(); // panggil sub-fungsi Ges_Kir
Ges_Kan(); // panggil sub-fungsi Ges_Kan
};
}

Nah, gimana hasilnya ? dah jalan belum led nya?…..(maksudnya bukan jalan2 ke mall).

Kalo buat kali ini kita perlu banget ngerti perbedaan antara bit dan byte, nah loeh……!!!

ya udah, di bawah ini akan dijelaskan sedikti tentang perbedaan tersebut.
Bit ( Binary Digit ) sebuah digit dalam  sisten bilangan biner  atau basis 2. Bit digunakan untuk menyatakan satuan terkecil dalam dunia komunikasi informasi data dan termasuk juga pengiriman data. Arti sebuah bit juga sering kali digunakan dalam elektronika digital yaitu untuk menyatakan sebuah keadaan “nyala” – “mati”, “on” – “off”, “high” – “low” dan sebagainya. contoh : 11001101 ( biner ), angka tersebut memiliki panjang 8 bit.

Byte  adalah sebuah kumpulan bit. Saat pertama kali digunakan, byte mempunyai panjang yang tidak tetap. Sekarang, byte umumnya mempunyai panjang sebesar delapan  (8) bit. Byte yang mempunyai panjang delapan bit juga dikenal sebagai octet. Sebuah byte bisa mempunyai 256 nilai yang berbeda (28 nilai, 0–255). Nilai sebesar empat bit disebut juga nibble, dan bisa mempunyai 16 nilai yang berbeda (24 nilai, 0–15).

Konversi bit

sekian dulu deh….semoga bisa bermanfaat buat yang membutuhkan.( Amin….Amin )

 
Leave a comment

Posted by on May 31, 2011 in instrument, Mikrokontroler

 

Mikrokontroler + Downloader

Oh iya,kemarin kan dah posting led geser dengan codevisionAVR tapi aku belum kasih tau apa aja yang perlu disiapin buat belajar mikrokontroler.

Yang pertama, harus nyiapin dulu blok mikronya….bisa pake IC ATmega 16 atau 8535 atau sejenisnya.

trus gak hanya IC mikro aja yang dibutuhkan tapi ada komponen2 lainnya, nah dibawah ini aku kasih listnya jadi bisa beli di toko-toko elektronik terdekat dan komponennya ini terjual terpisah.

IC ATmega 16 atau lainnya + socket

kristal 11,0592

kapasitor 22 pF     2 buah

untuk gambar rangkaiannya seperti dibawah ini :

kalau sudah dirangkai sesuai gambar jangan lupa untuk mengecek lagi pin-pin mana aja yang terhubung dan yang tidak, jangan sampai kebalik atau salah karna mikro tidak akan bisa digunakan. selamat mencoba…..

Yang kedua, harus ada downloadernya…..fungsi dari downloader ini adalah untuk memasukkan/flash program ke mikro.

Kalau aku pake IC ATmega 8 buat rangkaian downloadernya,neh tak kasih list komponennya:

IC ATmega8 + socket

kristal 12.000

capasitor 22 pF       2 buah

2 led kecil ( merah + ijo)

resistor

diode zener 3.6 Volt    2 buah

port USB ( type A ato type B)

Gambar rangkaian :

kalau sudah dirangkai sesuai gambar jangan lupa untuk mengecek lagi pin-pin mana aja yang terhubung dan yang tidak, jangan sampai kebalik atau salah karna mikro tidak akan bisa digunakan. selamat mencoba…..

Nah kalo bwt driver usbasp nya bisa cari d Mbah Google dan jangan lupa juga download avrdude yang versi 5.5 trus yang paling penting codevisionAVR…..ini aku kasih link downloadnya,semoga aja bisa .

Download codevisionAVR
Download avrdude 5.5
Download driver usbasp

Kalau ada yang kurang pas mohon kritik dan sarannya…..semoga bisa bermanfaat.

 
5 Comments

Posted by on April 8, 2011 in instrument, Mikrokontroler

 

Sistem Kontrol Dalam Fisika Instrumentasi

Sistem kontrol adalah suatu alat (kumpulan komponen) untuk mengendalikan, memerintah, dan mengatur keadaan dari suatu sistem. Sebuah sistem dapat diartikan suatu kumpulan komponen – komponen yang terhubung bersama dengan tujuan untuk mendapatkan suatu informasi atau data. Tujuan dari menggunakan sistem kontrol adalah untuk mendapatkan output atau hasil produksi yang sesuai dengan apa yang kita inginkan.

Apa sih yang harus dikontrol dari suatu sistem??

Misal disini kita buat suatu miniplan dalam bidang Fisika Instrumentasi yaitu sistem kontrol level ketinggian air atau sistem kontrol suhu atau temperature dalam suatu ruangan. Jadi dari sebuah miniplan tersebut objek yang dikontrol adalah air atau suhu. Bisa juga kita membuat sistem dengan objek yang dikontrol berupa besaran fisis lainnya seperti ,kelembaban, cahaya(terang – gelap) dan fluida. Dalam sistem kontrol dalam bidang Fiska Instrumentasi ini objek yang dikontrol adalah berupa besaran – besaran fisis.

Ada 2 Jenis Sistem kontrol :

1. Sistem kontrol loop tertutup ( close loop)

2. Sistem kontrol loop terbuka ( open loop)


Sekarang mulai kita bahas untuk sistem kontrol yang pertama yaitu :

1. Sistem kontrol loop tertutup ( close loop )

Sistem kontrol loop tertutup atau disebut juga sistem kontrol umpan balik ( feedback ) yang memegang peranan penting adalah sinyal kesalahan atau error signal ,perbedaan antara sinyal input dengan sinyal output yang di kirimkan ke mikrokontroler. Tujuannya adalah untuk mengurangi kesalahan yang dihasilkan melalui  sinyal output dan menjadikan sinyal output sesuai dengan hasil yang diinginkan. dapat dilihat diagram dari close loop seperti dibawah ini:


contoh dari sistem kontrol loop tertutup adalah AC ( Air Conditioner ), kulkas, pompa otomatis,dll.

Fungsi alih atau fungsi transfer dari sistem loop tertutup dapat dinyatakan seperti dibawah ini:

close loop
Fungsi Transfer close loop diagram

 

2. Sistem kontrol loop terbuka ( open loop )

Pada Sistem kontrol loop terbuka, keluarannya tidak mempengaruhi sinyal output karena tidak ada sinyal umpan balik ( feedback ). jadi pada sistem kontrol loop terbuka ini sinyal outputnya tidak dapat digunakan sebagai perbandingan dengan sinyal inputnya. akibatnya adalah ketetapan atau ketelitian dari sistem ini tergantung pada proses kalibrasi.

diagram dari open loop dapat dilihat dibawah ini:

contoh dari sistem loop terbuka ini adalah mesin cuci, karena dari proses perendaman, pencucian, dan pembilasan dalam mesin cuci dilakukan atas berdasarkan waktu( timer ). Mesin cuci tidak mengukur hasil keluaran berupa tingkat kebersihan dari pakaian yang dimasukkan sebagai masukan. contoh lain, pemanggang roti juga bisa dimasukkan dalam sistem open loop.

Fungsi alih atau fungsi transfer dari sistem kontrol loop terbuka dapat dinyatakan seperti dibawah ini:

 

C(s) = G(s) x R(s)

C(s) / R(s) = G(s) ( Fungsi transfer )


Sekian dulu pembahasan tentang sistem kontrol……..semoga bisa bermanfaat.

 
Leave a comment

Posted by on April 1, 2011 in instrument

 

Led Geser dengan CodevisionAVR

Kali ini mau sedikit (sedikit apa banyak yo?) berbagi atau share tentang gimana belajar mikrokontroler yang salah satunya adalah pemograman input-output. pemograman I/O merupakan dasar dari gimana melakukan pengontrolan atau mengendalikan suatu sistem berdasarkan dari input yang diterima atau di request sehingga outputnya dapat disesuaikan dengan input.   kita bisa menggunakan Led sebagai indikator outputnya.

ini ada contoh pemograman output untuk Led yang begeser dari kanan kekiri atau sebaliknya : cekidot…….

Project : Output Led
Version   :
Date       : 2/19/2011
Author    : Prita
Company : WEIP

#include <mega16.h>
#include <delay.h>
#include <stdio.h>
unsigned char Led,u;

void main (void),
DDRA=0xFF;    //portA sebagai output
led=0x01;
while (1){
          for (u=0; u<=2; u++)     // looping Led (nyala-mati)sebanyak 2 kali
        {
         PORTA=Led;            // portA diisi dengan nilai dari variabel Led
         delay_ms(100);      
         PORTA=0;             // portA diisi dengan logika 0
         delay_ms(100);     
        }
        led<<=1;               // (<<)geser ke kiri dan (>>)ke kanan sebanyak nilai yg ada didalam Led 1 kali
          if (Led==0)          
           {                       
            Led=0x01;        //  variabel Led diisi dengan kondisi awal
           };
      };
}

keterangan :
while = perulangan / looping jika kondisi yg diuji benar
for = perulangan / looping dengan kondisi dan syarat yang ditentukan
if = mengecek suatu kondisi

Diatas itu hanya salah satu contoh dan bisa dimodifikasi sesuai dengan selera masing2…..
Jangan lupa untuk mengecek port output di mikro dengan sourcode yang ada pada codevision dan pembuatan fungsi serta aliran program (penggunaan If,While, dan For).

semoga bermanfaat dan selamat mencoba…….

 
Leave a comment

Posted by on March 11, 2011 in Mikrokontroler

 

Thanks for My Final Project

Sebelumnya saya mengucapkan terimakasih kepada teman – teman yang telah membantu dalam pengerjaan tugas akhir dengan judul “Sistem Monitoring Dan Kontrol Level Ketinggian Air Secara Realtime Pada Bendungan Air Melalui Web Server”.

 

Kepada :

Dwi Adi Kurnia(http://myavr.wordpress.com/)

Heru Widakdo(http://localhost80.wordpress.com/)

sekali lagi saya ucapkan terimakasih sebesar – besarnya, semoga Tuhan membalas kebaikan kalian dan untuk tempat ku belajar  WEIP ( Workshop Electronics and Instrumentation of Physics) , semoga tetap bertahan dengan produktivitas dan kreativitas yang lebih hebat dari sebelumnya.

Amin …..Amin…..Amin…….Ya Robbalallamin.

 
2 Comments

Posted by on February 6, 2011 in instrument

 

Kontrol Motor Stepper

Motor Stepper ( setelah ini aku panggil Si Step) adalah suatu motor yang didalamnya mempunyai dua bagian yaitu stator dan rotor. Statornya berbentuk kumparan dan ada 4 kumparan di dalam stepper dan  rotornya merupakan magnet permanen.

konfigurasi Si Step

namanya aja Si Step pasti pengertiannya ya motor yang berputar dan perputarannya terdiri dari beberapa step ( bukan penyakit lho ya). Perputaran pada Si Step itu dapat diatur atau ditentukan sesuai yang dibutuhkan. Biasanya Si Step ini digunakan untuk menggerakkan lengan robot, roda motor atau kebutuhan mekatronikalainnya. Pergerakan Si Step ini dipengaruhi oleh perpindahan medan magnet pada bagian statornya dan arahnya juga dapat ditentukan misal Si Step ini mau dijalankan searah jarum jam(CW) atau berlawanan arah jarum jam(CCW). Truz……nah,kecepatannya juga bisa ditentukan( ditentukan dari hongkong)……….beneran bisa(pasti gak percaya),caranya……googling aja( ditentuin dari pemberian datanya lewat logic2 gitu dech).

ini ada tabel logika buat Si Step:

tabel logika Si Step

kalau mau half step ya semuanya ditulis dalam program codevisionAVR tapi kalau mau full step ya cuma yang di blok warna merah aja yamg ditulis.paham….??sip……next.

oh iya lupa jelasin. kalau half step itu perubahan langkahnya bisa lebih halus tiap perpindahan gigi – giginya tapi kalau full step ya sebaliknya….nanti dicoba sendiri ya dirumah.

Bahas apalagi ya……oh,iya….

masing – masing karakter Si Step itu beda – beda…..(apane sing beda??)

yang beda itu ada pada tiap langkahnya ( Step-nya),dapat dilihat di body Si Step…..ada yang 0.9 derajat dan 1.8 derajat selebihnya belum pernah lihat.

Sebagai contoh, jika rotor memiliki 50 gigi dan stator memiliki 8 kutub dengan 5 gigi masing-masing (total 40 gigi), Si Step ini dapat bergerak 200 langkah yang berbeda untuk membuat satu putaran penuh. Ini berarti bahwa poros motor akan berubah 1,8 °. carane ngitung,satu putaran penuh itu 360° kan? lha dibagi sama 1,8 ° dan survey membuktikkan…….200 langkah.bener kan!?

Sekarang….ayo cari tau gimana caranya interface lewat mikrokontroler!!

yang disiapkan standard yo….mikrokontroler sama downloadernya trus catudaya dan kabel jumper. jangan lupa buat driver Si Step! Bisa pakai IC atau transistor. kalau IC bisa pakai L293D atau ULN2003, kalau pakai transistor bisa pakai Darlington atau TIP.

langsung aja deh aku kasih source code nya….ini dibuat lewat codevisionAVR.

#include <mega16.h>
#include <delay.h>

void main(void)
{
PORTA=0x00;
DDRA=0xFF;
while (1)
{
PORTA=0x01;
delay_ms(500);
//PORTA=0x03;
//delay_ms(500);
PORTA=0x02;
delay_ms(500);
//PORTA=0x06;
//delay_ms(500);
PORTA=0x04;
delay_ms(500);
//PORTA=0x12;
//delay_ms(500);
PORTA=0x08;
delay_ms(500);
//PORTA=0x09;
//delay_ms(500);
};
}
yang ada ( // ) untuk yang half step nanti tinggal hapus aja ( // ) . wah sayangnya gak ada gambarnya,nanti deh kalau sempat aku tambahkan.

dari tadi ngomong banyak tapi belum tau ya fotonya Si Step…ini aku kasih fotonya.

semoga bisa bermanfaat bagi yang membutuhkan……

 

 
Leave a comment

Posted by on December 3, 2010 in instrument

 

ADC ( Analog to Digital Converter )

ADC adalah suatu rangkaian yang mengubah data berupa tegangan analog ke data digital.  ADC ini digunakan bila ada  inputan tegangan  analog. IC ADC yang ada seperti 0804, 0808, 0832 adalah IC ADC yang sudah ada dari pabrik dan bisa dimanfaatkan sesuai dengan kebutuhan. dianggap dapat memenuhi kebutuhan dari rangkaian yang akan dibuat. Hal – hal yang juga perlu diperhatikan dalam penggunaan ADC ini adalah tegangan maksimum yang dapat dikonversikan oleh ADC dari rangkaian pengkondisi sinyal, resolusi, pewaktu eksternal ADC, tipe keluaran, ketepatan dan waktu konversinya.

Jenis ADC yang biasa digunakan dalam perancangan adalah jenis Successive Approximation Convertion ( SAR ) atau pendekatan bertingkat yang memiliki waktu konversi jauh lebih singkat dan tidak tergantung pada nilai masukan analognya atau sinyal yang akan diubah dan jenis lainnya adalah digital RAMP tapi yang jenis ini jarang digunakan.

gambar 1 diagram blok ADC jenis SAR

gambar 2 diagram blok ADC 8 bit

Secara singkat prinsip kerja dari ADC adalah semua bit – bit diset kemudian diuji dan bilamana perlu sesuai dengan kondisi yang telah ditentukan. Dengan rangkain yang paling tepat, konversi akan diselesaikan sesudah 8 clock dan keluaran DAC merupakan nilai analog yang ekivalen dengan nilai register SAR.

Apabola konversi telah dilaksanakan, rangkaian kembali mengirim sinyal selesai konversi yang berlogika rendah. Sisi turun sinyal ini akan menghasilkan data digital yang ekivalen ke dalam register buffer. Dengan demikian, output digital akan tetap tersimpan sekalipun akan dimulai siklus konversi yang baru.

gambar 3 IC ADC 0804

V (+) dan V (-) adalah inputan tegangan analog differensial sehingga data tegangan yang akan diproses oleh ADC adalah selisih antara tegangan – tegangan yang dihubungkan dengan kedua pin input yaitu Vi (+) dan Vi (-) atau bila dinyatakan dengan persamaaan adalah              Vin = Vin (+) – Vin (-). Kalau input analog berupa tegangan tunggal, tegangan ini harus dihubungkan denganVin (+), sedangkan Vin (-) digroundkan. Untuk operasi normal, ADC 0804 menggunakan Vcc = +5 Volt sebagai tegangan refrensi.. Vref adalah tegangan referensi ADC yang digunakan untuk mengatur tegangan input pada Vi+ dan Vi-. Besarnya tegangan referensi ini adalah setengah dari tegangan input maksimal. Hal ini bertujuan agar pada saat inputan maksimal data digital juga akan maksimal. Frekuensi clock dari ADC dapat diatur dengan komponen R dan C eksternal pada pin Rclk dan Cclk dengan ketentuan :

Fclk = 1 / (1,1 RC)                                ( persamaan 1 )

Chip select fungsinya untuk mengaktifkan ADC yang diaktifkan dengan logika low. Read adalah inputan yang digunakan untuk membaca data digital hasil konversi yang aktif pada kondisi logika low. Write berfungsi untuk melakukan start konversi ADC diaktifkan pada kondisi logika low. Instruksi berfungsi untuk mendeteksi apakah konversi telah selesai atau tidak, jika sudah selesai maka pin instruksi akan mengeluarkan logika low. Data outputan digital sebanyak 8 byte (DB0-DB7) biner 0000 0000 sampai dengan 1111 1111, sehingga kemungkinan angka decimal yang akan muncul adalah 0 sampai 255 dapat diambil pada pin D0 sampai D7. DB0-DB7 mempunyai sifat latching.

Dalam penggunaan IC ADC 0804 mempunyai jangkauan input analog mulai 0 Volt sampai 5 volt (skala penuh), karena IC ADC 0804 ini adalah 8 bit, sehingga resolusinya dapat dihitung dengan persamaan 2.

(n menyatakan jumlah bit output biner IC ADC)

IC ADC 0804 memiliki generator clock internal yang harus diaktifkan dengan menghubungkan sebuah resistor eksternal antara pin CLK OUT dan CLK IN serta sebuah kapasitor eksternal antara CLK IN dan ground digital. Frekuensi clock yang diperoleh di pin CLK OUT dapat dihitung dengan persamaan 3.

Untuk sinyal clock ini dapat juga digunakan sinyal eksternal yang dihubungkan ke pin CLK IN. ADC 0804 memiliki 8 output digital sehigga dapat langsung dihubungkan dengan saluran data mikrokontroler. Input chip select (aktif low) digunakan untuk mengaktifkan ADC 0804. Jika berlogika HIGH, ADC 0804 tidak aktif dan semua output berada dalam keadaan impedansi tinggi. Input write atau start convertion digunakan untuk memulai proses konversi. Untuk itu harus diberi pulsa logika 0. Sedangkan output interrupt atau end of convertion menyatakan akhir konversi. Pada saat dimulai konversi, akan berubah ke logika 1. Di akhir konversi akan kembali ke logika 0.

Pada gambar 3 adalah konfigurasi pin – pin dari ADC 0804, masing – masing pin mempunyai fungsi sebagai berikut:

a. WR, pulsa transisi high to low pada input input write maka ADC akan melakukan konversi data, tegangan analog menjadi data digital. Kode 8 bit data akan ditransfer ke output lacht flip – flop.

b. INT, bila konversi data analog menjadi digital telah selesai maka pin INT akan mengeluarkan pulsa transisi high to low. Perangkat ADC dapat diopersikan dalam mode free running dengan menghubungkan pin INT ke input WR.

c. CS, agar ADC dapat aktif , melakukan konversi data maka input chip select harus diberi logika low. Data output akan berada pada kondisi three state apabila CS mendapat logika high.

d. RD, agar data ADC data dapat dibaca oleh sistem mikroprosessor maka pin RD harus diberi logika low.

e. Tegangan analog input deferensial, input Vin (+) dan Vin (-) merupakan input tegangan deferensial yang akan mengambil nilai selisih dari kedua input. Dengan memanfaatkaninput Vin maka dapat dilakukan offset tegangan nol pada ADC.

f. Vref, tegangan referensi dapat diatur sesuai dengan input tegangn pada Vin (+) dan Vin (-), Vref = Vin / 2.

g. CLOCK, clock untuk ADC dapat diturunkan pada clock CPU atau RC eksternal dapat ditambahkan untuk memberikan generator clock dari dalam CLK In menggunakan schmitt triger.

 
Leave a comment

Posted by on June 9, 2010 in instrument