Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => ARM => ARM7 Mikrodenetleyici => Konuyu başlatan: Mucit23 - 16 Ocak 2013, 23:02:14

Başlık: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: Mucit23 - 16 Ocak 2013, 23:02:14
Arkadaşlar merhaba.

STM32F107 ADC si ile Loadceller den ağırlık okuyorum.

Okuduğum ağırlık değerinin birler hanesi çok değişken, Hatta bu değişmeler bazen 10lar hanesinde bile görülüyor.

Yazılımsal olarak en basitinden ortalama alma yaptım. 200 defa örnek alıp aldığım örnekleri toplayıp örnek sayısına bölüyordum. Değişmeler buunla birlikte azıcık azaldı ama kesin çözüm olamadı. Değişmeler devam ediyor.

Osiloskopla ADC girişine baktığımda çok ufak parazitler dışında aşırı birşey göremiyorum. Yani okadar fazla bir değişme olmaması gerekir. Ölçü aletiylede baktığımda yine stabil bir gelirim görüyorum. Ayrıca ADC girişlerinde RC filtrede var.

Sorunun STM32F107 nin adc ayarlarıyla ilgili olabileceğini düşündüm. Çok hızlı bir ölçüm yapmam gerekmiyor. Hatta çözüm olurmu blmiyorum ama ölçüm sıklığını 1-2 sn ye kadar düşürebilirim.

ADC de dikkat etmem gereken ayarlar varmıdır bilmek istiyorum.

ADC okuması için adc.h şeklinde bir dosya oluşturup programıma dahil ediyorum. İçeriğide aşağıdaki gibi.
#include "stm32f10x_lib.h"

void  initADC1(void);
u16 readADC1(u8 channel);
u8 ADC1H(u8 channel); /*Okunan ADC kanalinin yuksek degerlikli 8 bitini donderir*/
u8 ADC1L(u8 channel); /*Okunan ADC kanalinin dusuk degerlikli 8 bitini donderir*/

/*
* ADC baslanagic ayarlari yuklenme islemini yaparç
*/
void initADC1(){

     
      ADC_InitTypeDef ADC_InitStructure;

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 | RCC_APB2Periph_GPIOA, ENABLE);

/* ADC pin analog input yapiliyor ( PORTC-1 )*/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1; 
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_Init(GPIOA, &GPIO_InitStructure);

/* ADC1 AYARLAMALARI ------------------------------------------------------*/
  ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;
ADC_InitStructure.ADC_ScanConvMode = ENABLE;
  ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;
  ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;
  ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
  ADC_InitStructure.ADC_NbrOfChannel = 1;
  ADC_Init(ADC1, &ADC_InitStructure);

/* ADC1 Kanal ve clk secimi yapiliyor ( kanal_11 )  */
      //ADC_RegularChannelConfig(ADC1, ADC_Channel_12, 1, ADC_SampleTime_55Cycles5);
  /* ADC1 aktif */
ADC_Cmd(ADC1, ENABLE);

  /* ADC1 Reset Kalibrasyonu yapilacak */
  ADC_ResetCalibration(ADC1);
  /* Kalibrasyon bekleniyor */
  while(ADC_GetResetCalibrationStatus(ADC1));

  /* ADC1 calibrasyonu yapilacak */
  ADC_StartCalibration(ADC1);
  /* Kalibrasyon bekleniyor */
  while(ADC_GetCalibrationStatus(ADC1));
}

/*
* ADC den okunan 12 bitlik degeri donderir.
* 'chalnnel' parametresi adc kanalini secmek icin kullanilir.
* -> ADC_Channel_0
* -> ADC_Channel_1
* -> ADC_Channel_2
* ->......
*/
u16 readADC1(u8 channel){
u16 adc=0;
ADC_RegularChannelConfig(ADC1, channel, 1, ADC_SampleTime_55Cycles5);
/* Adc dönüsümü baslatiliyor */
  ADC_SoftwareStartConvCmd(ADC1, ENABLE);
  /* Adc dönüsümü bekleniyor */
    while(ADC_GetSoftwareStartConvStatus(ADC1));
  /* Adc sonucu okunuyor */
adc=ADC_GetConversionValue(ADC1);

return adc;
}

/*
*
* Belilen ADC kanalinin okunan dusuk degerlikli 8 bitini donderir
*
*/
u8 ADC1L(u8 channel){
u8 adc_low=0xFF&readADC1(channel);
return adc_low;
}

/*
* Belirlenen ADC kanalinin yuksek degerlikli 8 bitini donderir
* fakat okunan adc 12 bitlik oldugundan gelen 8 bitlik datanin
* dusuk degerlikli 4. bitine kadar degerler yuklenir.
* ornek olarak okunan yuksek degerlikli data: 0x02
*
*/
u8 ADC1H(u8 channel){
u16 temp=0xFF00&readADC1(channel);
u8 adc_high=temp>>8;

return adc_high;
}


Bunun dışında başka nasıl filtreler uygulayabilirim. mesela True RMS burada iş görürmü?

Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: muhittin_kaplan - 16 Ocak 2013, 23:11:28
Mucit konusu geçmişti yine stm32 ile alakalı ADC nin ölçümünde
Unutulan Geçmiş yada Oynar merkezli ortalama yada basit kalman ı kullanabilirsin

mesaj birleştirme:: 16 Ocak 2013, 23:15:00

https://www.picproje.org/index.php/topic,43892.msg323718.html#msg323718 (https://www.picproje.org/index.php/topic,43892.msg323718.html#msg323718)
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: pisayisi - 16 Ocak 2013, 23:22:25
Adc yi en yavaş hızda çalıştırarak okumayı deneyin. Yazılımsal olarak yapılcak basit bir filtreleme en değersiz birinci ya da ikinci bitin her ikisinin lojik sıfır yapılması böylece çözünürlükte 2 bit kaybederken hızlı değişen işaretleri basitce ve kod karmaşası oluşturmadan süzerek, gürültüsüz bir adc çıkışı elde edebilirsiniz...
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: Yuunus - 16 Ocak 2013, 23:34:14
 muhittin hocam yazdiklarim belki arkadasin sorusuna karsilik yazilmis bir cevap degil ama ornegin DISCOVERY nin ADC den pil voltaji olcerken bile olculen degerler yerinde duramiyor, bu degeri kalman yada ortalama alarak sabitlemenin kime ne faydasi var anlayamiyorum, sonucta olctugun deger gercek deger degil cunki ortalamasini aliyorsun. adc den okunan degerler arasinda kucuk farklar olsa birkac ortalama alarak hata oranini azaltmayi anlarim ama Allah icin iyi farklar var.(birde adc den anlik hassas degisken degerleri olcmemiz gerektigini dusunun o zaman ne olacak)
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: muhittin_kaplan - 16 Ocak 2013, 23:48:26
hocam sabit değerlerde problem yaşamadım, filtre vs kullanmadan sıkıntısız ölçtüm.
ama gürültülü ortamlarda küçük sapmalar oluyor, bunuda yazılımla hallettim. akım ölçme örneği yaptım bugün
oradada ölçü aletiyle felan takip ettim neredeyse bire bir aynı.(hatta iki farklı ölçü aletiyle kontrol ettim) Ama genel kanı şu sanırım forumda, STM in adc si pek verimli değil.
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: z - 17 Ocak 2013, 00:06:00
ADC init rutinlerini vs tekrar tekrar kontrol etmek lazım. Çok kanallı ölçümlerde ADC sample alma süresi de önemli.

ADC girilerini 50 Ohm ile şaseye bağlayın. Sonra 0..3v voltaj girin. Bahsettiğiniz hatalar hala varmı bir daha test edin.

Açıkcası ben CM3 çiplerin ADC lerinde asla sorun olduğunu düşünmüyorum.


Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: Mucit23 - 17 Ocak 2013, 00:15:44
Hocam belliki henüz adc kullanımını bilmiyoruz. Yada doğru bildiğimiz yanlışlar var.

Suanda sadece tek kanaldan ölçüm yapıyorum.

Forumu takip ediyorum. Discovery dede benzer sorunlar yaşayanlar olmuş ama ben pek inanmiyorum. Bence yanlış yaptığımız birşeyler var. Muhtemelen bende bir hata yapıyorum. Yarın Adc yi yavaslatmayı deneyelim bakalım.

Bülent hocam Kart yapılmış durumda. Yani pek fazla değişiklik yapma imkanım yok. Bu oynamaları imkanım olduğu müddetçe yazılımla gormezden gelmeye çalışacağım.

Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: HexfeT - 17 Ocak 2013, 00:30:52
Sizin durumla ne kadar alakalı bilemem ama ADC nin referans kabul ettiği şase noktası ile ölçüm alınan sensörün ya da kaynağın şase noktası arasındaki hattan ekstra akım geçmesine neden olacak bir durum varsa ölçüm sapacaktır. Bu hattın direnci ve üzerinden akan akım ile orantılı olarak (U=IxR) ölçüm sonucu sapar.Bunu önlemek için girişleri doğrudan sensörün şase ve çıkışına bağlı bir diferansiyel opamp ile tamponlama yapmak gerekiyor sanırım.

-------------------------------------------------------------------------------
Şu "Bu ileti bir moderatörden onay beklemektedir." olayı ne zaman ortadan kalkıyor acaba? :)
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: z - 17 Ocak 2013, 00:43:08
Sen gene de imkanın varsa ADC girişi ile şase arasına bir 50 Ohm atıp test programı yazmayı dene.

Ben çok üşeniyorum. (Şu sıralar notalarla başım dertte) Ama sonucu da çok merak ediyorum.
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: Elektroemre - 17 Ocak 2013, 00:45:17
Merhaba,

ADC modülü ve giren sinyal kadar ADC'nin REFeransında önemli.
ADC referansı ne kullanıyorsun?
En temizi VREF pininde harici kaliteli bir referans entegresi ve PCB tasarımındada analog GND'yi ayrı yapmak.


KOlay gelsin.
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: Mucit23 - 17 Ocak 2013, 08:59:47
Hocam 50Ohm yok şuanda elimde 47 ohm var. Eğer sıkıntı olmazsa hemen deneyeyim.

ADC referans girişlerini kullanmıyorum. Yani beslemeye bağlı olması gerekir. Bunun yanı sıra ADC nin beslemesinide direk VDD ye bağlı değil. 3.3V gelirimi 1ohm dirençden geçirip sonra çıkışına 100nf ekledikten sonra VDDA ya bağlamışım.

Edit; Arkadaşlar internette filtre yöntemlerini araştırırken "Self Adaptive pseudo-moving average filter" diye bir yöntem buldum. Bu filtreleme yöntemi hakkında bilgisi olan varmı? Nedir, Nasıl çalışır, Hangi alanlarda kullanılır. Bu konuda bilgi edinmek istiyorum.
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: z - 17 Ocak 2013, 11:11:52
Evet dene hocam. İçimden bir ses çok doğru ölçümler yapılacağını söylüyor.
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: sadogan - 17 Ocak 2013, 14:35:45
Loadcell devresini görebilirmiyiz ?
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: Mucit23 - 17 Ocak 2013, 15:05:57
Bülent hocam dediğinizi yaptım. Fakat sizin dediğiniz şekilde yapınca opampın çıkış gelirimini neredeyse sıfıra çekmiş oluyorum. ADC değeri çok düşüyor.

ADC girişine direk 1uF elektrolitik kondansatör bağladım.Bununda faydası birazcık oldu. Ölçüm hızını çok yavaşlattım. 1ms aralıklarla ölçüm yapıyorum. Şimdilik problemi virgülden sonraki 1 haneye düşürdüm. (Aslında daha doğru dürüst yazılımsal filtre uygulamadım. Yine ortalama alıyorum.)

Elimde 3000kg lık loadcell ler var. Bu loadcelleri paralel şekilde bağlayıp devreme bağladım. Kendi devremde yükseltip ADC ile okuyorum. Loadcelleri ise büyükçe bir masanın 4 ayağına yerleştirdim. Bu sayede masanın üstündeki nesnelerin ağırlıklarını ölçüyorum. Şimdilik tek bir problemim kaldı. Oda 5kg eksik ölçmem. Yani masanın üzerine çıktığımda beni 5kg eksik ölçüyor.  :)

Bunun birkaç sebebi olabilir.
1. si Loadcellere dengesiz yüklenme(Bukadar büyük fark oluşturmaması gerekir.
2. si Yanlış Hesap yapıyorum.
3. sü Loadcell kazanç direnci düzgün ayarlanmamış.

Bunları inceleyeceğim. Umarım bu sorunuda çözerim.

Alıntı yapılan: sadogan - 17 Ocak 2013, 14:35:45
Loadcell devresini görebilirmiyiz ?

Loadcell ölçüm devresinde özel bir yöntem şema vs yok. INA114 kullanıyorum.
http://www.ti.com/lit/ds/symlink/ina114.pdf (http://www.ti.com/lit/ds/symlink/ina114.pdf)
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: z - 17 Ocak 2013, 15:16:04
Yok yok, öyle yaparsan tabiki opamp çıkışı aşırı yüklenir. 50 Ohm uçlarına harici bir güç kaynağından ayarlı voltaj verecektin.

Böylece okunan değerlerin gene eskisi gibi zıplayıp zıplamadığına bakacaktın.

Eğer ADC girişlerinde yada en azından zıpladığını söylediğin ADC girişinde opamp var ve opamp çıkışı doğrudan yada düşük sayılabilecek bir direnç üzerinden ADC ye gidiyorsa zaten yapmanı istediğim düşük empedansla sürme devrende var demektir.

Opamp çıkışı ADC ye nasıl bağlı?
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: Mucit23 - 17 Ocak 2013, 15:38:22
Hocam bağlantı şeklim aşağıdaki gibi.
(http://s8.postimg.cc/9tksiuw8l/Ekran_Al_nt_s.png) (http://postimg.cc/)
photo sharing websites (http://postimg.cc/)
Gerçi şimdi en sondaki BAT54S'i sökmüştüm. Şuanda Bağlı değil.


Alıntı Yap50 Ohm uçlarına harici bir güç kaynağından ayarlı voltaj verecektin.

Bu dediğiniz anlayamadım. Vaktiniz varsa eğer şema üzerinde gösterebilirmisiniz
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: ULAGA - 17 Ocak 2013, 15:52:22
Sanırım @z şundan bahsediyor:
(Sadece test amaçlı bir uygulama)

(http://img248.imageshack.us/img248/5564/devre.png)
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: z - 17 Ocak 2013, 15:54:25
Evet aynen böyle. Direncin uçlarına ayarlı kaynaktan voltaj vereceksin hepsi bu.
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: ULAGA - 17 Ocak 2013, 15:57:19
Alıntı yapılan: z - 17 Ocak 2013, 15:54:25
Evet aynen böyle. Direncin uçlarına ayarlı kaynaktan voltaj vereceksin hepsi bu.

Hocam ancak böyle bir testi gerçekleştirken, harici kaynağın kararlılığı önemli bir faktör değil mi?
Yani aldığı sonuçların sağlıklılığı, güç kaynağına bağlı değil mi?
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: frederic - 17 Ocak 2013, 15:59:23
Bana kalırsa giriş tarafındaki capasitörler küçük,yükseltilmesi lazım.Ayrıca loadcell dediğiniz şey ufacık titreşimlerden bile etkilenip bunu çıkışına yansıtan bir elemandır,bu yüzden parazit dediğiniz şey aslında olağan bir durumdur ve bunu donanım+yazılım filtreleri ile aşmanız gerekir.Ayrıca profesyonel cihazlar da bu tip filtreler cihaz menulerin de ikiye ayrılır.Bunun bir tanesi darbe filtresi,ikincisi ise titreşim filtresidir.Loadcell indicatör cihazlarının kullanma kılavuzlarına bakarsanız bu ayarları görebilirsiniz.

Özetle yaptığınız iş basit bir analog okumanın ötesin de, üstüne düşünülmesi ve sabırla çalışılması gereken bir konu.

NOT=Loadceller belirli bir bükümden sonra anında zarar görebilen hassas elemanlardır,bu yüzden masa altına koyduğunuz loadcellerin güvenlik sınır somunlarının ayarını hassas bir biçimde yapmanızda fayda var,araya 2-3 mm lik bir şeyler koyup bunu referans alabilirsiniz.

Ayrıca piyasada birden fazla loadcell kullanıldığın da bunları birbirine paralel bağlamak için j-box adı verilen bağlantı kutuları kullanılır,bu kutulara 4 loadcell girişi girer ve tek bir çıkış olarak indicatöre bağlanır.Eğer loadcellerden bir tanesi bile arızalanırsa diğerleri sağlam olsada her zaman yanlış kg ölçüsü alınacaktır.

Hayırlı çalışmalar.
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: ULAGA - 17 Ocak 2013, 16:02:01
(http://img210.imageshack.us/img210/8122/ekranu.png)
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: Mucit23 - 17 Ocak 2013, 16:23:23
Değerli abilerim..  :)

Gün yorgunluğu var sanırım üzerimde. Atladığım bir nokta varmı diye baştan sona okudum ama ipucuyu alamadım.

(http://img248.imageshack.us/img248/5564/devre.png)[/font][/size][/color]

ULAGA nın verdiği bağlantıya göre Z hocamın dediği gibi Analog giriş ile şase arasına 50R bir direnç atıp Analog girişe sabit bir kaynaktan gelirim uygulayacam. Buraya kadar sıkıntım yok.

Budurumda Opamptan gelen sinyali etklemezmiyiz. Çünkü bi anlamda direk opamp çıkışına besleme vermiş olacağım. Opamp üzerinden ters yönde akım akabilir.

Uyguladığım bu yöntemle ne yapmış olacağım? Googleda araştırmam için bir ipucu verebilirmisiniz.Ne yazıkki bu konuda hiçbirşeye rastlamadım.

Birde uygulanan gelirimin değeri nedir.

Alıntı yapılan: frederic - 17 Ocak 2013, 15:59:23
Bana kalırsa giriş tarafındaki capasitörler küçük,yükseltilmesi lazım.Ayrıca loadcell dediğiniz şey ufacık titreşimlerden bile etkilenip bunu çıkışına yansıtan bir elemandır,bu yüzden parazit dediğiniz şey aslında olağan bir durumdur ve bunu donanım+yazılım filtreleri ile aşmanız gerekir.Ayrıca profesyonel cihazlar da bu tip filtreler cihaz menulerin de ikiye ayrılır.Bunun bir tanesi darbe filtresi,ikincisi ise titreşim filtresidir.Loadcell indicatör cihazlarının kullanma kılavuzlarına bakarsanız bu ayarları görebilirsiniz.

Özetle yaptığınız iş basit bir analog okumanın ötesin de, üstüne düşünülmesi ve sabırla çalışılması gereken bir konu.

NOT=Loadceller belirli bir bükümden sonra anında zarar görebilen hassas elemanlardır,bu yüzden masa altına koyduğunuz loadcellerin güvenlik sınır somunlarının ayarını hassas bir biçimde yapmanızda fayda var,araya 2-3 mm lik bir şeyler koyup bunu referans alabilirsiniz.

Ayrıca piyasada birden fazla loadcell kullanıldığın da bunları birbirine paralel bağlamak için j-box adı verilen bağlantı kutuları kullanılır,bu kutulara 4 loadcell girişi girer ve tek bir çıkış olarak indicatöre bağlanır.Eğer loadcellerden bir tanesi bile arızalanırsa diğerleri sağlam olsada her zaman yanlış kg ölçüsü alınacaktır.

Hayırlı çalışmalar.

Hocam kullandığım loadceller 3000kg lık 4 adet kullandığım için toplamda 12000kg lık bir yükü ölçebilmem gerekir. Aslında buda hatalı ölçmeme sebeb sayılabilir. Ölçüm aralığı arttıkça doğal olarak çözünürlük düşüyor. Ben şu zıpalamardan kurtulayım. Birde hata oranını azaltayım başka birşey istemiyorum.

Paralel bağlama işini daha önce araştırmıştım. Normalde dengesiz yüklerde paralel bağlanma çok sakıncalı. Yanlış ölçüm yaptırıyor. Fakat benim yüküm fazla olmadığı için dengesiz yüklenmelerle oluşabilecek hataları göz ardı etti.Daha öncede bu konuyu loadcell tartım uygulamaları birkaç firmaya sordum. Onlarda pek fazla önemi olmuyor dediler.

Ben birde sizin dediğiniz darbe ve titreşim filtrelerini araştırayım. Yazılımsal olarak uygulanabilirse iyi sonuç verebilir.
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: z - 17 Ocak 2013, 16:24:42
Alıntı yapılan: ULAGA - 17 Ocak 2013, 15:57:19
Hocam ancak böyle bir testi gerçekleştirken, harici kaynağın kararlılığı önemli bir faktör değil mi?
Yani aldığı sonuçların sağlıklılığı, güç kaynağına bağlı değil mi?


Elbette önemli fakat, harici kaynak dalgalansa bile bu test sonucunda biz arada birden bire zıplayan gürültü benzeri oluşumlar varmı ona bakacağız. Salınımlar çok dert değil.


mesaj birleştirme:: 17 Ocak 2013, 16:26:01

Mucit23 bunu opampsız bir kart üzerinde dene demek istemiştim. Neyse bu günlerde STM32F4 de ADC çalışmam olacak ben denerim artık.
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: Mucit23 - 17 Ocak 2013, 16:31:00
Tamam hocam çalışmalarınızı takip ediyorum.

Ben filtrelere bakayım
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: ULAGA - 17 Ocak 2013, 16:36:35
Alıntı yapılan: z - 17 Ocak 2013, 16:24:42
Elbette önemli fakat, harici kaynak dalgalansa bile bu test sonucunda biz arada birden bire zıplayan gürültü benzeri oluşumlar varmı ona bakacağız. Salınımlar çok dert değil.

Anladım hocam.
Daha önceki birkaç mesajda STM'nin ADC kararlılığı hakkında cümleler sarf edilince;
STM'nin ADC kararlılığı hakkında bir test yapmayı amaçladığınızı sandım.
Aksi taktirde, sanmıyorumki normal şartlarda, STM'nin ADC kısmında bu türlü zıplamalar olsun.

Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: uveren - 17 Ocak 2013, 22:59:18
Kullandığınız komponentin spesifikasyonlarında bahsedilen Integral ve Differential Nonlinearity ile Offset ve Gain error maksimum değerleri nedir ?

Bu değerlerin toplamı ±7 LSB ise (sık kullandığım MCP3202 nin tipik 4.75 ve maksimum 12 dir); düşük çözünürlüğe sahip 3 bitin her çevrimde farklı değerler alması normaldir ki mükemmel analog filtre ve pcb tasarımı yapılsa ve sıfır gürültü taşıyan sabit bir gerilimi labaratuvar ortamında örnekleseniz bu bitler değişiklik gösterir.

Bu ve benzer olaylar aşağıdaki dökümanlarda açıklanmıştır;

Real Analog Solutions for Digital Designers (Özellikle sayfa 53 te "DC Specifications Imply Accuracy" bakınız)

Yine Bonnie C. Baker ın yazdığı Microchip aplikasyon notlarından ;

Layout Tips for 12-Bit A/D Converter Application - AN688
Driving the Analog Inputs of a SAR A/D Converter - AN699
Anti-Aliasing, Analog Filters for Data Acquisition Systems - AN246


Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: ercanaslan - 17 Ocak 2013, 23:14:57
Alıntı yapılan: Mucit23 - 17 Ocak 2013, 15:05:57
Bülent hocam dediğinizi yaptım. Fakat sizin dediğiniz şekilde yapınca opampın çıkış gelirimini neredeyse sıfıra çekmiş oluyorum. ADC değeri çok düşüyor.

ADC girişine direk 1uF elektrolitik kondansatör bağladım.Bununda faydası birazcık oldu. Ölçüm hızını çok yavaşlattım. 1ms aralıklarla ölçüm yapıyorum. Şimdilik problemi virgülden sonraki 1 haneye düşürdüm. (Aslında daha doğru dürüst yazılımsal filtre uygulamadım. Yine ortalama alıyorum.)

Elimde 3000kg lık loadcell ler var. Bu loadcelleri paralel şekilde bağlayıp devreme bağladım. Kendi devremde yükseltip ADC ile okuyorum. Loadcelleri ise büyükçe bir masanın 4 ayağına yerleştirdim. Bu sayede masanın üstündeki nesnelerin ağırlıklarını ölçüyorum. Şimdilik tek bir problemim kaldı. Oda 5kg eksik ölçmem. Yani masanın üzerine çıktığımda beni 5kg eksik ölçüyor.  :)

Bunun birkaç sebebi olabilir.
1. si Loadcellere dengesiz yüklenme(Bukadar büyük fark oluşturmaması gerekir.
2. si Yanlış Hesap yapıyorum.
3. sü Loadcell kazanç direnci düzgün ayarlanmamış.

Bunları inceleyeceğim. Umarım bu sorunuda çözerim.

Loadcell ölçüm devresinde özel bir yöntem şema vs yok. INA114 kullanıyorum.
http://www.ti.com/lit/ds/symlink/ina114.pdf (http://www.ti.com/lit/ds/symlink/ina114.pdf)
O 5 kiloluk farkların bir nedenide köşe ayarı ile ilgisi olabilir.Birde kalibrasyon yaptığın kiloda toplam kapasitenin en az üç te biri kadar olursa artan kilolarda daha sağlıklı ölçüm yaparsın
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: sadogan - 17 Ocak 2013, 23:17:28
Tek loadcell bağlayarak ölçünce gene sıçramalar oluyormu ?
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: ercanaslan - 17 Ocak 2013, 23:24:58
-12 v olduğu  1uf tantal bağlamanı öneririm
Birde hasasiyetin ne kadar senin 12ton loadcell için minimum 2kg hasasiyet vermen lazım.
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: Mucit23 - 18 Ocak 2013, 00:38:09
yok kesinlikle çok çok az oluyor. Şöyle söyliyeyim. Önceden denemelerimi 250kg lık tek bir loadcell ile yapıyordum. Ozaman hiçbir filtre uygulamiyordum. Adc hızıda döngü hızı kadardı. Buna rağmen virgulden sonra 1 hanede çok küçük degişimler oluyordu. loadcell kapasitesi ve sayısı artinca işler sarpa sarmaya başladı.

Ama şöyle bir durum var.

Osliskop ile baktığım zaman pek birşey anlamiyorum açıkçası. Fluke287 multimetre var elimde. bu miltimetre ile ölçtügümde gelirim çok stabil. Değişmeler yine oluyor elbet ama bu değişmeleri Adc nin algılaması mümkün değil

Ölçü aleti True RMS ölçüm yapıyor. Belki sabit bir gelirim alınması buna dayanıyor.

RMS ölçüm yapabilirmiyim burada bu yüzden RMS ölçümü soruyorum.
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: frederic - 18 Ocak 2013, 13:15:19
Loadcellerin belgelerinde yer alan ohm değerlerini ölçüp teyit etmenizi de öneririm,eğer belgelerin de yer alan ohm değerinden farklı bir değer görüyorsanız ölçüm sonucun da, loadcell zarar görmüş demektir.
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: F.T - 18 Ocak 2013, 18:52:40
Loadcell beslemelerin ile alakalı bir durum olduğunu düşünüyorum.
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: Mucit23 - 18 Ocak 2013, 20:30:38
Loadcellerin zarar görmesi mümkün değil. Herbiri 3000kg lık sıfır loadceller.
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: frederic - 18 Ocak 2013, 20:35:43
Mümkün değil demek ile ölçtüm ve sağlam demek farklı şeylerdir,bir teknik adam için daima ölçümler esas olmalıdır.
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: ercanaslan - 18 Ocak 2013, 20:39:29
250 kiloluk loadcell le sıkıntı olmadığını kapasite artığı zaman sıkıntı olduğunu belirtmiştiniz hassasiyeti yükseltmeyi denediniz mi?
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: Mucit23 - 18 Ocak 2013, 21:26:57
Hocam işin %95 ini hallettim. Filtrelerin çoğunu yazılımla yaptım. Şuanda sıkıntı kalmadı diyebilirim.
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: ercanaslan - 18 Ocak 2013, 21:32:31
Hayırlı olsun ::)
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: frederic - 19 Ocak 2013, 00:18:21
Filtrelerini paylaşırsan eğer incelemek isterim,merak ettim.
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: GreeN - 19 Ocak 2013, 10:22:29
Aynı dertten bende muzdaribim , bende FIR filtre deniyorum .
Başlık: Ynt: Parazitli DC sinyallerin yazılımsal olarak filtrelenmesi
Gönderen: t2 - 19 Ocak 2013, 11:22:26
Yanlış bilgi nedeniyle silinen mesaj