True RMS'de periyot konusu

Başlatan Mucit23, 01 Aralık 2017, 00:33:43

baran123

Acaba ACC ve Gyro işleri için kullanılan "Complementary Filter" bu iş için kullanılabilir mi ?
http://www.pieter-jan.com/node/11
İdrak i meali bu küçük akla gerekmez, zira bu terazi bu kadar sıkleti çekmez.

OptimusPrime

Aynı ölçümü true RMS bir multimetre ile olcumcede aynı sapmaları görüyor musun? Senin sistemindemi gürültü var yoksa olctugun seymi gürültülü?

Mucit23

Alıntı yapılan: OptimusPrime - 02 Aralık 2017, 11:20:20
Aynı ölçümü true RMS bir multimetre ile olcumcede aynı sapmaları görüyor musun? Senin sistemindemi gürültü var yoksa olctugun seymi gürültülü?


Aldığım sonuçlar bu şekilde,
https://www.youtube.com/watch?v=h__hx7iUOMY

Timer ile 200uS aralıklarla ADC yi tetikleyip 200 adet örneği 4T süresince alıyorum. Örnek alımı bitince DMA TC kesmesi oluşuyor ve kesme geldikten sonra aldığım değeri hesaplamalara sokuyorum. 200 adet örneğin RMS'ini hesaplamam yaklaşık 150us sürüyor.

Ölçümü biraz yavaşlatmak istiyorum. O yüzden ölçümü 4T süresine yaydım. Ama buda bana hızlı geliyor. 1sn veya 0,8sn de bir yeni sonuç gelse benim için yeterli olacak. Bu RMS hesabının çıkışında ortalama alsam nasıl olur? 200ms aralıklarla RMS sonucum geliyor. 5 adet sonuç gelmesini bekleyip bu sonuçların aritmetik ortalamasını almayı bir deneyeyim. Bu sayede hem ölçüm yavaşlamış olur hemde biraz filtrelenmiş olur.

OptimusPrime

Kötü değil. Noktadan sonra 1 hane kullansan ve hızı biraz dusursen olacak gibi.

Cemre.

Ben olsam daha fazla örnek alırdım. Ayrıca bence sisteminizde T'ye bağlı değişkenler bulunmamalı. Bir Low-Pass filter on/off dip-switchi/butonu olsa tadından yenmez. Belki ben ripple'ı görmek istiyorum? ;)

OptimusPrime

Sistemde gurultu varsa daha fazla örnek sadece iceri daha fazla gürültü sokar. Virgulden sonrası çıldırir. :)

hasankara

FFT ile baskın frekansı bulup periyot olarak kullanabilirsin. Deneme maksatlı olarak şebekeden ölçüm yapıyorsan 50 hz i sabit kabul edip hesaplamaları bu sabite göre yapıp sonucun kararlı hale gelip gelmediğine bakabilirsin.

Diğer bir konu ise ölçümün kalitesi. Ölçüm yaptığın ünitenin (ADC ve veya opamplı devre) giriş direnci düşükse şebekeye bağladığın büyük değerli dirençlere baskın gelerek ölçümün doğrusallığından ödün vermene sebep olabilir. Mikrodenetleyicilerin adc giriş dirençleri, 220 v u ölçmek için kullanacağın büyük dirençlere göre çok daha baskın gelebilir.

Öncelikle, dirençle sinyalin genliğini düşürdükten sonra, giriş  direnci büyük bir opamp ile gerilim izleyici yapıp daha sonra adc e girebilirsin. Bu haliyle bile önceki haline göre hatrı sayılır bir doğrusallık kazanabilirsin ama tam yeterli olmayabilir. Daha da ileri götürüp ben tam doğrusal bir ölçüm almak istiyorum dersen, ölçüm ünite devresini tamamladık tan sonra sistemi doğrusallaştıracak denklemi oluşturma işine girişebilirsin.

Kalitesine (doğrusallığına) güvendiğin bir ölçüm cihazıyla, kullandığın mevcut ölçüm ünitesine, ölçüm aralığı içerisinde kalacak (0-320v) şekilde farklı farklı değerlerde DC voltaj ölçüm örnekleri alıp, kendi ölçtüğün değerlere y, multimetrenin ölçtüğü değerlere x diyerek  ters transfer fonksiyonu elde etmene olanak tanıyacak noktaları elde etmiş olursun. Örnekleri kullanarak denklemin katsayılarını bulduran programlardan da faydalanarak (curve expert olabilir) denklemi hesaplatabilirsin. Muhtemelen 2. dereceden polinom denklemi işini görür. Bu tarz bilgisayar programları ile bir çok denkleme yakınsama yaptırarak en yakın denklemi seçme noktasında da faydalanabilirsin.

Mucit23

Hocam iki sekonderli bir transformatörün çıkışlarından bir tanesini ölçüm için kullanıyorum. Arada birkaç tane opamp var. Ofset ekleme işlemlerini vs yapıyorum.
Trafo çıkışındaki devre böyle


İyi çalışıyor aslında ama belki biraz daha iyileştirme yapılabilir.

hasankara

Trafonun oranları ve adc nin ölçüm aralığı bilgileri elimizde olmadığı için emin olmamakla birlikte bu opamplar ölçüm aralığını bu şartlar altında daraltıyor olabilir. Çalışma voltajı 0-5 volt ise lmv324 tarzı rail to rail bir opamp kullanmayı tercih edebilirsin. Yinede son opampın çıkışından osilaskop ile sinüs sinyalinin kırpılıp kırpılmadığına bakılabilir.

Ölçümlerin son hanelerinde ki hareketlilik periyot süresi ile ve periyot başına düşen örnek sayısı ile doğrudan orantılı bir durum. Hesap için kullanılacak örneklerin toplanma süresi periyodun tam katı olduğunda hareketlilik oldukça azalacaktır. 20ms ise 20,40,60,80,100, ...  gibi sürelerde yakalanan örnekler kararlı sonuç sağlayacaktır. En kararsız ölçüm 22.5ms süresinde görülebilir. Diğer bir karşılaştırmayı ise 22.5ms ve 42.5ms arasında yaptığımızda ikisinde de 1/8 periyot fazlalık olmasına rağmen 42.5ms gerçek sonuca daha yakın olacaktır. Çünkü fazlalık periyot süresi toplam tam periyot süresinin yanında daha da değer kaybedebiliyor. Şunu söylemeye çalışıyorum, multimetre ölçüm süresini 500ms seçmiş ama sen çok daha düşük bir süre seçmişsin videoda gördüğüm kadarı ile. (Recursive filter yapısını kullanmadığını varsayarak böyle söyleyebiliyorum.)

OptimusPrime

Opampli devreye biraz kapasite serpistirmek gerekiyor. Beslemelere ve referans gerilimine özellikle. Scope ile oralarda bir gez derim. Bahse girerim referans gerilimi zangir zangir sallaniyordur  ;D

Mucit23

Hocam şemada kapasite yok ama her bir opamp in beslemesinde 100nf var. Ama yinede bi skopla bakayım.

iboibo

04 Aralık 2017, 00:31:32 #26 Son düzenlenme: 04 Aralık 2017, 00:47:07 iboibo
Bunu tam doğru hesaplayabilmen için tam 180 yada 360 ... derecelik zaman diliminde adc verileri alman lazm
eğer açı 180derece veya katı  değilse  hesaplama yanlış çıkar


Mesela sin(0) ... sin(180)

Mesela sin(100) ... sin(280) sonuçlar hep aynıdır ama

sin(10) .. sin(170)  sonuç her ölçüşte farklı çıkar. çünkü tam 180 tamamlanmadı


Yani şebekenin frakansını bileceksin 1/f =(X) ms eğer x zamanı şebeke frekansına uymazsa sonuç
hep farklı çıkar. Şebeke sabit 50hz olduğunu zannetmiyorum , değişiyordur. 

Şunu dene osiloskopta şebeke frekansına bak ölçüm zaman aralığnı buna göre belirle.

Yada

Opampların olduğu bölgeye bir voltaj compratorü koy şebeke tam sıfır volta düştüğü an
mcu interrupt pinini set yapsın   adc çevrimi başlatılsın ikinci intterupt geldiğinde ise
adc durdurup hesaplama yapsın bu şekilde yüzde yüz doğru çıkar. Bence bu şekilde aritmetik
ortalama alabilirsin geometrik ortalama çok fark ediyor mu (uzun sürer).

Zoroaster

50Hz lik sinüsel şebekenin RMS değerini noktadan sonra 2 digit doğrulukla hesaplayabilmek için 1 peryodda alınması gereken sample sayısını hesaplamak, araştırmayı seven insanlar için çok zor bir problem olmamalıdır.

Seytan deliginden kacti.

Zoroaster

Şebeke dalga formu saf sinus olsaydi RMS deger hesaplamaya gerek yoktu. Fakat sebeke gerilimi sinus formundan uzaktir. Bunun baslica nedeni asiri yuklenmis trafolarin yada lineer olmayan elektrik yuklerin urettigi harmoniklerin sebeke voltajini bozmasidir.

Normalde voltajimiz harmonik icermeseydi en az 3 ornek almak yeterliydi ve sample alma frekansimiz 150 Hz olacakti.

Eger 3,5,7 .. harmonik isin icine girince ornekleme frekansimiz da artacaktir.

Ornek alma sikligi ile harmonikler arasindaki iliskiyi gormek icin biraz kafa yorun.


Seytan deliginden kacti.

Mucit23

Hocam Şuanda Rezitif Yükler için deneme yapıyorum. Aslında ölçümlerim fena. Sadece düşük akımlarda sensörün lineerliği bozuluyor. Onuda düzeltebildiğim kadar iyileştirmeye çalışacağım.

Bir sorum olacak. ACS711 veya ACS712 çıkışında gürültülü bir sinüs sinyal var. Yük akımının sensör çıkışında oluşturduğu sinyal üzerine ortalama vpp 20mv bir gürültü biniyor. Sensör çıkışına RC filtre gibi bazı önlemler aldım ama pek işe yaramadı.

Bu sinyali ADC den okuduktan sonra Kalman Filtre vey FIR filreden geçirmek istiyorum. Bu ne derece faydalı olur? STM32'nin DSP kütüphanesinde FIR için hazır fonksiyonlar var.