Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

Adc hesap formülü ?

Başlatan ylmz, 29 Ocak 2013, 08:50:11

ylmz

Arkadaşlar günaydın adc uzerinden 50 volt okutmak ıstıyorum
Gerilim bölücüler ile 5 volt seviyesine indirdim 50 volt luk değerimi adc ılede okuttum ekrandada lcd ye bastırdım fakat voltaj aşırı tıtrıyor acaba hesap hatasımı yapıyorum

Şu şekilde yaptım

Volt=(ham */ 900)/10
      Mvolt=volt//10
Volt=Volt/10

Bunun bı formulu varmıdır acaba ?
Örnekleme zamanım ıse 60
Regülatör Dns Trafo | Regülatör | Redresör | Ups

mikonforever

Hızla değişen değerlerin varsa , en az 10 örnek al , bunların aritmetik ortalamasını ekrana gönder. Titreme ortadan kalkar.

Lütfi AYYILDIZ

#2
For x=1 to 10
adcin 0,ham1
next
ham=ham1/10

ylmz

Hiç bişey anlamadım açıkcası daha açıklayıcı olabılırmısın
?
Regülatör Dns Trafo | Regülatör | Redresör | Ups

mehmet

Seyrek aralıklarla örnekler alıp toplayın. Bu topşlam değerin aritmetik ortalamasını ekrana gönderin.
Saygılar...
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

ylmz

Bak bu çok daha açıklayıcı oldu çok teşekkür ederim mehmet
Regülatör Dns Trafo | Regülatör | Redresör | Ups

halilgalic

hem aritmetik ortama al hemde örnekleme zamanınla oynayaran titremeyi azaltabilirsin
DEFINE	ADC_SAMPLEUS	80	'Örnekleme zamanı mikro saniye cinsinden.

ylmz

Onlada oynadım fakat değişen bişey olmadı ölçtüğüm sinyal çok kararlı tam dc bı sınyal aralara 100 nf lar attım olmadı söktüm olmadı çıldırmak üzereyim
Regülatör Dns Trafo | Regülatör | Redresör | Ups

Maxim

adc girisindeki şemayi eksiksiz verin
ayrica pic adc config ayarinida yazin
adcon ayarlari falan...
hangi işlemci bu ?

ylmz

#9
Alıntı yapılan: Maxim - 29 Ocak 2013, 11:10:05
adc girisindeki şemayi eksiksiz verin
ayrica pic adc config ayarinida yazin
adcon ayarlari falan...
hangi işlemci bu ?
Adc gerisinde smps var smps ın cıkış voltajını ölçüyorum
Gerilim bölücü yaptım tabı paralel olarak 100 nf attım
işlemci 16f877a
Pwrt ve boden açık sadece
adcon ise
ADCON1=%10001110 '7.


mesaj birleştirme:: 29 Ocak 2013, 11:23:31

ve ayrıca bırden çok nasıl ölçtürebilirim adc yi ?
Regülatör Dns Trafo | Regülatör | Redresör | Ups

Mucit23

Eğer okuduğun 10 bit adc nin sadece birler hanesi oynuyorsa yazılımsal olarak basit bir filtre ile titremeyi önlersin. Bunu için yaklaşık 20-30 örnek alıp bu örnekleri toplayıp aldığın örnek sayısını bölmen yeterlidir.

Aldığın ADC değerinin 10'lar hanesinide oynuyorsa sadece yazılımda değil donanımdada yapman gerekenler var demektir.

Maxim

gerilim bolucuye paralel 100nf olmaz.
tam is gormez yani

gerilim bolucuden sonra seri olarak 10k
ondan sonra 100nf yap

ylmz

#12
Maxim hocam onuda yaptım araya ters diyotta attım skopla gelen sınyalıde ölçtüm fişek gibi düm düz siyal var

mesaj birleştirme:: 29 Ocak 2013, 11:36:29

Alıntı yapılan: Mucit23 - 29 Ocak 2013, 11:28:50
Eğer okuduğun 10 bit adc nin sadece birler hanesi oynuyorsa yazılımsal olarak basit bir filtre ile titremeyi önlersin. Bunu için yaklaşık 20-30 örnek alıp bu örnekleri toplayıp aldığın örnek sayısını bölmen yeterlidir.

Aldığın ADC değerinin 10'lar hanesinide oynuyorsa sadece yazılımda değil donanımdada yapman gerekenler var demektir.
Son iki hane oynuyor sureklı asena yı geçtı valla
Regülatör Dns Trafo | Regülatör | Redresör | Ups

mehmet

Ölçmek için başka bir başka kaynak kullan.
Pil ölç örneğin. Pilde de oynama varsa
sistemini kontrol et.

Saygılar...
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

ete

Hesap formülünde yanlış gibime geliyor. Doğru hesap yöntemi şöyle olmalı.
Ölçeceğin voltaj 50V ondalıklı ölçme yapacağına göre bu değeri 500 olarak düşünmek gerekir.
ADC den okuyacağın değer (tam 50V da) 1023 dür. Sıfır dahil bu 1024 kademe demektir. O halde;
500/1024=0,48828125 gibi bir değer hesaplanır. Hesaplamada */ işlemini kullanınca sonuç otomatikman 256 ya bölünmüş olarak geleceği için bu değeri önceden 256 ile çarpmak gerekir.
0,48828125 * 256= 125 olarak bulunur. Bu senin sabit çarpan değerindir. O halde formülün;
Ham_Volt=(ADCDeger+1)*/125  şeklinde hesaplanır. Buradan
Volt= Ham_Volt/10
MVolt=Ham_Volt//10 
şeklinde uygulanır.

ADC ölçümünde oynama kaçınılmazdır. Hele büyük bir voltajı bölerek okuma yapıyorsan işin dahada zor demektir. Kullandığın bütün gerilm bölme dirençleri %1 toleranslı olmalıdır. Oynamayı asgari düzeye indirmek için ortalama almak bir yöntemdir ama pek fazla etkisi olacağını sanmıyorum. En iyisi digital filtre uygulamak.
Toplam 30 adet ölçüm alırsın. Bunların her birini 30 elemanlı bir dizi değişkenine yerleştirirsin. Sonra bunları sıraya dizersin. Küçükten büyüğe doğru. Sonra ortadaki 10 adeti alıp toplar sonra 10'a bölersin Böylece nispeten ekranda fazla değişmeyecek bir değer elde edersin.

İstersen birde örnek vereyim;
For I=0 to 29
  ADCIN 0,HAM
  OKU[I]=HAM+1
   Pauseus 100
Next
'buraya kadar 30 ölçüm yapmış ve bunları da OKU isimli dizi değişkenine yerleştirmiş olduk.
Şimdi bunları sıraya dizelim
FOR X=0 to 28
FOR Y=(X+1) to 29
   IF OKU[X]>OKU[Y] THEN
     TEMP=OKU[X]
     OKU[X]=OKU[Y]
     OKU[Y]=TEMP
   ENDIF
NEXT
NEXT
'Buraya kadar sıraya dizmiş olduk.
'Şimdi ortadan 10 adedi alıp toplayacağız
TOPLAM=0
FOR I=10 TO 19 
   TOPLAM=TOPLAM+OKU[I]
NEXT
HAM=TOPLAM/10
'İşte filtrelenmiş ADC değerin HAM değişkenine yerleşmiş değer olacaktır.


Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com