adc okuma referans alma yöntemi dijital filtre

adc reading
adc okuma dijital filtre

Bir işlemcinin adc pinlerinden okuma yaparken 1 ölçüm yerine 15-20 ölçüm alıp ortadaki değerleri değerlendirmek daha doğru sonuçlar almamızı sağlayacaktır. Etepic forumunda rast geldiğim adc okuma yöntemi basic formunda ama diğer dillere de çevrilebilir.  Önemli olan mantığı kavramak. Ete hoca yine püf noktaları anlatmış.

Örnek aşağıdadır
HAM VAR WORD
TOPLAM 
VAR WORD
OKUNAN 
VAR WORD[20]TEMP VAR WORD
VAR BYTE

PAUSE 200

BASLA
:
FOR 
I=0 TO 19
    ADCIN 0
,HAM
    OKUNAN
[I]=HAM
    PAUSEUS 10
NEXT

TOPLAM
=0FOR I=7 TO 12
TEMP
=OKUNAN[I]TOPLAM=TOPLAM+TEMP
NEXT
HAM
=TOPLAM/6
Bu sistemin avantajı, okumanın daha stabil olduğu ortalardan belirli bir sayıdaki okuma adedini dizi içinden alıp toplayıp ortalamasını almak şeklinde açıklanabilir. Birde digital filtre örneği yine ete'den:


OKUNAN 
VAR WORD[15]  'parentez içinde kaç adet dizideğişkeni ihtiyacımız var ise o rakamı yazıyoruz . 15 adet okuma yapacağımız için değişken adedimiz 15 olacaktır. Ama sıralamada sıfır dahil olduğu için 0-14 arasını kullanacağız.

TEMP VAR WORD
TOPLAM VAR WORD
HAM VAR WORD
X     VAR BYTE
Y     VAR BYTE

Program başladıktan sonra önce 15 adet ADC okumasını yapıp okuma değerlerini dizi değişkenine aktaracağız.

FOR X=0 to 14
  ADCIN 0, HAM
  OKUNAN[X]=HAM+1
  PAUSEUS 100
NEXT

Buraya kadar 15 adet değişkenimizde okunan adc değerleri rastgele yerleşmiş oldu.
Şimdi bunları bir sıraya dizmemiz gerekiyor. Bubble Sort yöntemini kullanacağız.
FOR X=0 to 13 
   FOR Y=(X+1) TO 14
      IF OKUNAN[X]>OKUNAN[Y] THEN
          TEMP=OKUNAN[X]
           OKUNAN[X]=OKUNAN[Y]
           OKUNAN[Y]=TEMP
      ENDIF
   NEXT
NEXT
Buraya kadar dizi değerlerini küçükten büyüğe doğru sıraya dizmiş olduk.
Şimdi ortadan 5 elemanı alıp ortalamasını alacağız.
TOPLAM=0
FOR X=5  TO 9
  TOPLAM=TOPLAM+OKUNAN[X]
NEXT
TEMP=TOPLAM/5
İşte sonunda ortada yer alan 5 elemanın ortalamasını alıp TEMP değişkenine yerleştirmiş olduk.
Yanlış yapılmaması için bu kod parçasında kullanılan diğer değişkenleride olması gerektiği gibi tanımladım.
Umarım anlaşılmıştır.


Kaynak etepic.com











Yorumlar

Popüler Yayınlar:

chrome ile programsız video nasıl indirilir

Ultrasonik fare kuş kovucu devresi

grup priz ara kablo yapımı

dc motor yönü değiştirme devresi

Brenner8 9 usb programlayıcı arayüz programı usburn ve kullanım kılavuzu

transistör karşılık programları ve txt dosyası