Forum Sains Indonesia




*

Artikel Sains

Aku Cinta ForSa

ForSa on FB  ForSa on Twitter

Pranala Luar

ShoutBox!

Last 10 Shouts:

 

Sandy_dkk

Kemarin jam 12:31:18 PM
coba periksa ke ahli syaraf kang farabi.
 

Farabi

Kemarin jam 11:29:44 AM
Tiap menjelang musim hujan sakit gigi, padahal giginya udah ga ada. Apa ini memang menimpa semua orang? Dan kenapa?
 

Sandy_dkk

Oktober 20, 2014, 05:16:25 AM
hujan turun untuk pertamakalinya dalam beberapa bulan ini, disambut bahagia oleh lusinan burung gereja yang berterbangan di halaman rumah. sungguh indah pagi ini.

senifacitra

Oktober 14, 2014, 08:24:03 PM
malam, mw tx proses fisika apa yang menyebabkan sehingga bumi memiliki sifat magnet.??

mohon bntuanx sgera
 

Sandy_dkk

Oktober 13, 2014, 08:08:28 PM
boleh deh...

sherenhfns

Oktober 13, 2014, 06:59:24 PM
ada yang on ga ? bisa bantuin soal matematika kelas 9? besok mau mid

sherenhfns

Oktober 13, 2014, 06:58:49 PM
Hallo

 

Monox D. I-Fly

Oktober 09, 2014, 09:34:41 PM
musim pemilu juga sudah habis, liat aja, pemilu tahun ini nggak ada yang bahas pemilu sama sekali... forsaintis dah bosen sama politik...
 

Farabi

Oktober 09, 2014, 01:25:15 PM
Capek debat adu khayal ala agama. Mendingan fokus ke hal hal exact.  ;)

nʇǝʌ∀

Oktober 09, 2014, 01:00:00 AM
musim jin dan supernatural, dan debat agama di ForSa sudah habis yah? sekarang kayanya makin banyak yang membanjiri subforum matematika :D nanti kira2 ada musim apa lagi?

Show 50 latest

Penulis Topik: Konversi ADC pada mikrokontroler...????  (Dibaca 6638 kali)

0 Anggota dan 1 Pengunjung sedang melihat topik ini.

Offline cupu

  • Mahasiswa
  • **
  • Tulisan: 19
  • IQ: 8
    • Lihat Profil
Konversi ADC pada mikrokontroler...????
« pada: Juni 16, 2011, 02:25:33 AM »
MAsbro..., ane bingung nih konversi ADC di mikrokontroler..,
Ane punya data :
Tegangan Refrensi = 5 V.
adc 10 bit
Tegangan input = 2,4 V.

klo dr rumus: ADC = (Vin / Vref) x 1023
berarti : ADC = (2,4 / 5) x 1023
            ADC = 491

nah, ane pake mikrokontroler ATmega 128 pake bahasa C
dengan data seperti diatas
trus ane tampilin k LCD tp kok hasil'y :467.

dr nilai diatas berarti ada error pembacaan..??
nah yg ane bingung error'y itu apa...??
kira2 ada master yg bisa Jelasin...!!
mohon pencerahan'y coz bntr lagi ane sidang..!!
pliss



Offline Too Payz

  • Dosen
  • ****
  • Tulisan: 260
  • IQ: 7
    • Lihat Profil
Re: Konversi ADC pada mikrokontroler...????
« Jawab #1 pada: Juni 16, 2011, 06:51:23 PM »
Kutip
Tegangan Refrensi = 5 V.
adc 10 bit
Tegangan input = 2,4 V.

klo dr rumus: ADC = (Vin / Vref) x 1023
berarti : ADC = (2,4 / 5) x 1023
            ADC = 491

nah, ane pake mikrokontroler ATmega 128 pake bahasa C
dengan data seperti diatas
trus ane tampilin k LCD tp kok hasil'y :467.
Hmmm...
Kalo nilainya secara perhitungan 491 dan kenyataannya 467 berarti bagus tuh..
errornya tergolong kecil.

Error = ((aktual - teori) / Skala penuh )x 100%
Error = ((467 - 491) / 1024) x 100% = -2.344 %

Beberapa masukan :
  • Nilai Referensi = 5 Vdc.
    Sudah di ukur menggunakan Voltmeter belum krn mungkin saja 4.x volt atau 5.x volt termasuk tegangan inputnya.
  • Tegangan input dan power supply dari transformator atau dari baterai.
    Karena jika dari transformator teganganya tidak stabil dan masih ada noisenya yang mempengaruhi pembacaan ADC.
    Perlu ditambahkan LPF (Low Pas Filter) untuk membuang sinyal AC / noise pada Vref maupun  pin Input ADC.
  • Untuk pembacaan ADC yang akurasi sebaiknya tidak menggunakan frekuensi ADC yang cepat.
    Kalo perlu gunakan frekuensi yang paling lambat (seusaikan kebutuhan).
    Kalo yang ekstrim lagi,.... Coba baca DataSheet mikronya tentang ADC..  ::)   ::)
  • Baca ADC-nya jangan 1 kali terus ditampilkan ke LCD.
    Coba baca ADC 10 kali lalu diambil nilai rata-ratanya kemudian ditampilkan ke LCD, errornya bisa lebih kecil lagi.
    Saya yakin pasti cupu seperti ini logika ADCnya
    ...Baca ADC>> tampilkan ke LCD >> delay_ms(xxx)...

CMIIWW n semoga manfaat.  :D   :D   ;)

Offline cupu

  • Mahasiswa
  • **
  • Tulisan: 19
  • IQ: 8
    • Lihat Profil
Re: Konversi ADC pada mikrokontroler...????
« Jawab #2 pada: Juni 16, 2011, 10:06:47 PM »
# klo tegangan input saya pakai baterai mas.., tp tegangan'y 7,4 V.
   trus saya pake Regulator 7805 dan saya ukur tegangan'y skitar 5,1 V

# hmm., frekuensi juga mempengaruhi pembacaan ADC mas..??

# weeww.., hebat mas toopayz, :o  kok tau logika ADC saya seperti itu..!!
   ohya mas, maksudnya pembacaan ADC 10 kali trus diambil nilai rata-ratanya gmn mas..??
   bisa ksh cntoh coding'y mas..???

Terima kasih banyak mas...!!!
   

Offline Too Payz

  • Dosen
  • ****
  • Tulisan: 260
  • IQ: 7
    • Lihat Profil
Re: Konversi ADC pada mikrokontroler...????
« Jawab #3 pada: Juni 17, 2011, 01:57:32 PM »
Kutip
# klo tegangan input saya pakai baterai mas.., tp tegangan'y 7,4 V.
   trus saya pake Regulator 7805 dan saya ukur tegangan'y skitar 5,1 V
Berarti dalam rumus nilai Vrefnya = 5,1 Volt.
Kutip
# hmm., frekuensi juga mempengaruhi pembacaan ADC mas..??
Iya semakin cepat semakin tidak stabil.
Tetapi untuk masalah stabilitas dan presisinya, ya ketika membaca ADC pada mikro maka semua fungsi lainnya dimatikan dan khusus hanya ADC saja.
Seperti di datasheetnya tuh..
(Lom pernah nyoba juga nih   ;D   ;D)
Kutip
# weeww.., hebat mas toopayz, :o  kok tau logika ADC saya seperti itu..!!
Kayaknya itu program umum deh jadi mudah ditebak.
Dulu juga ya seperti itu coding saya jadi akuransinya memang masih kurang baik.
Kutip
ohya mas, maksudnya pembacaan ADC 10 kali trus diambil nilai rata-ratanya gmn mas..??
   bisa ksh cntoh coding'y mas..???
Kode: [Pilih]
#incude <math.h>    //menggunakan library matematika.
...
// karena adc 10 bit maka unsigned int jika 8 bit unsigned char
unsigned int BACA_adc(char loop, char adc_ke)
{
  unsigned int hasil=0, tmp;
  float rata=0;
  unsigned char x;
     for (x=0; x<loop; x++)
     {
         tmp = read_adc(adc_ke);
         hasil = tmp + hasil;
         delay_ms(10);       // optional tapi recomended..
     }
     rata = (float)hasil / (float)loop;
  return floor(rata);  // pembulatan ke bawah
}

// program utama
while(1)
{
// jangan lupa buat variabel unsigned int nilaiADC.
// loop 10 kali yang di baca ADC PORTA.1
    nilaiADC = BACA_adc(10, 1);
// lalu tapilin ke LCD
    delay_ms(500);                           
}
kira-kira seperti itu lah...
Ga di coba langsung nih jadi CMIWW aja ya..   ::)   ::)

Semoga manfaat...  :D   :D   ;)

Offline cupu

  • Mahasiswa
  • **
  • Tulisan: 19
  • IQ: 8
    • Lihat Profil
Re: Konversi ADC pada mikrokontroler...????
« Jawab #4 pada: Juni 18, 2011, 06:56:37 PM »
Ok., Mas thanks berat..

ohya saya mau tanya,
Mikrokontroler bisa konversi tegangan yg nilai'y diatas 5 V gak..??
atau konversi teganganyg nilainya minus..??

coz, saya baca datasheet,
untuk range tegangan input ADC: 0 - VCC.
nah itu berarti ADC cuma bisa konversi dgn range teg. 0 - 5 V.
bener gak..??

klo kyk gtu tegangan refrensi Aref pada mikro fungsi'y untuk apa..??
bkn'y cukup menggunakan AVCC.

Offline Too Payz

  • Dosen
  • ****
  • Tulisan: 260
  • IQ: 7
    • Lihat Profil
Re: Konversi ADC pada mikrokontroler...????
« Jawab #5 pada: Juni 19, 2011, 01:36:01 PM »
Kutip
ohya saya mau tanya,
Mikrokontroler bisa konversi tegangan yg nilai'y diatas 5 V gak..??
atau konversi teganganyg nilainya minus..??

coz, saya baca datasheet,
untuk range tegangan input ADC: 0 - VCC.
nah itu berarti ADC cuma bisa konversi dgn range teg. 0 - 5 V.
bener gak..??

klo kyk gtu tegangan refrensi Aref pada mikro fungsi'y untuk apa..??
bkn'y cukup menggunakan AVCC.
Yap Bener..
Vref maksimal = VCC atau 5Vdc dan tidak bisa minus (Mikronya malah rusak lo.. Cobain aja  ;D).

Maksudnya itu justru yang dipakai tegangan diantara 0 - 5Vdc misalnya 2,7 Vdc, 3Vdc, 3,3 Vdc, dst.
Karena Umumnya 5Vdc maka seolah-olah Vref tidak begitu penting.

Ok... Dah..   :D :D   ;)

 

Topik Terkait

  Subyek / Dimulai oleh Jawaban Tulisan terakhir
2 Jawaban
5479 Dilihat
Tulisan terakhir Juli 01, 2009, 01:22:34 PM
oleh raptor
1 Jawaban
2091 Dilihat
Tulisan terakhir Mei 06, 2010, 04:19:32 PM
oleh syx
11 Jawaban
3744 Dilihat
Tulisan terakhir September 28, 2010, 03:46:41 PM
oleh tukang.patri
1 Jawaban
1182 Dilihat
Tulisan terakhir Juli 02, 2010, 06:22:02 PM
oleh heru.htl
10 Jawaban
4202 Dilihat
Tulisan terakhir September 23, 2010, 09:12:07 AM
oleh marju

Copyright © 2006-2014 Forum Sains Indonesia