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ış.

Örnekler aşağıdadır:
PIC BASIC PRO ÖRNEĞİ:

HAM VAR WORD
TOPLAM VAR WORD
OKUNAN VAR WORD[20]
TEMP VAR WORD
I VAR BYTE

PAUSE 200

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

TOPLAM=0 
FOR I=7 TO 12
TEMP=OKUNAN[I]
TOPLAM=TOPLAM+TEMP
NEXT
HAM=TOPLAM/6

PROTON BASİC ÖRNEĞİ:

Dim VAR1 As Word
Dim I1 As Word
Dim OK1 As Word
Dim TO1 As Word
Dim TEMP1 As Word

For I1 = 0 To 19
    VAR1 = ADIn 0
    VAR1 = OK1[I1] 
    DelayUS 10
Next
TO1 = 0 
For I1 = 7 To 12
TEMP1 = OK1[I1]
TO1 = TO1 + TEMP1
Next
VAR1 = TO1 / 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:

grup priz ara kablo yapımı

elektrikli fırın devre bağlantı şeması

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

gsm sinyal seviyesi asu dbm nedir

chrome ile programsız video nasıl indirilir

elektronik malzeme komponent karşılık online site