Adc örnekleme ve nyquist teoremi

adm_ty

Üye
Katılım
4 Nis 2021
Mesajlar
3
Puanları
1
Yaş
35
Merhaba,arduino ile ac voltaj ölçmeye çalışıyorum.Algoritma olarak true rms yöntemini kullanacağım.T süre boyunca örneklerin kare ortalamasını alacağım.Devre olarak ise ac voltajı köprü diyot ile doğrultuyorum.Ardından 2 adet direnci gerilim bölücü olarak kullanıyorum.Ve bölünen gerilimi,arduino adc pinine veriyorum.Direnc degerlerim,43k ya 1k.Örneğin 220 V ac voltajı ölçmek için 220*1/(43+1)=5 Volt,adc pinine voltaj vermiş olacağım.Max ölçeceğiim gerilim 220Vac olduğu için direnç oranını bu şekilde ayarladım.Voltaj referansı olarak,vcc kullanacağım.Zaten besleme voltajımda 5 volt.

Ölçülecek ac gerilimin frekansı 50Hz.Ama köprü diyot ile doğrulttuktan sonra,görülen tam doğrultulmuş dalga 100 Hz.Bu dalga,0-5 volt arasına küçültülerek arduino adc pinine gidiyor.Ve adc ye gelen voltajların kare ortalamalarını almaya başlıyorum.


Nyquist teoremine göre x hz olan dalgayı,2*x hz ile örneklemem gerekli.Periyot cinsinden düşünürsekte,periyodu y milisaniye olan dalgayı,en az y/2 saniye boyunca örneklemeliyim.

Benim devremde,örneklenecek dalgayı ana sinyal olan dalganın frekansı 50 hz mi kabul etmeliyim?Yoksa,köprü diyot sonrası oluşan dalganın frekansı olan 100 hz mi kabul etmeliyim?Özetle,adc ye gelen voltajların kare ortalamalarını ne kadar süre boyunca almalıyım?
 
Neden köprü diyotla doğrultuyorsun? sadece 1 tane diyot bağlayarak ac sinyalin eksi kısmını silersin. Arduinonun örneklediği değerlerden 0 olanları dikkate almazsın. Bunun için yapılmış örnekler var onlara bir bak. Eğer profesyonel bi devre yapmak istiyorsan arduinonoyla beraber ADE7758 entegresini kullan. 3 faz ölçüm yapar ve istediğin her değeri akım,voltaj,güç vs... İlk önce şu basit örneğe bak.

https://simple-circuit.com/measure-ac-voltage-arduino-ac-voltmeter/
 
Merhaba,arduino ile ac voltaj ölçmeye çalışıyorum.Algoritma olarak true rms yöntemini kullanacağım.T süre boyunca örneklerin kare ortalamasını alacağım.Devre olarak ise ac voltajı köprü diyot ile doğrultuyorum.Ardından 2 adet direnci gerilim bölücü olarak kullanıyorum.Ve bölünen gerilimi,arduino adc pinine veriyorum.Direnc degerlerim,43k ya 1k.Örneğin 220 V ac voltajı ölçmek için 220*1/(43+1)=5 Volt,adc pinine voltaj vermiş olacağım.Max ölçeceğiim gerilim 220Vac olduğu için direnç oranını bu şekilde ayarladım.Voltaj referansı olarak,vcc kullanacağım.Zaten besleme voltajımda 5 volt.

Ölçülecek ac gerilimin frekansı 50Hz.Ama köprü diyot ile doğrulttuktan sonra,görülen tam doğrultulmuş dalga 100 Hz.Bu dalga,0-5 volt arasına küçültülerek arduino adc pinine gidiyor.Ve adc ye gelen voltajların kare ortalamalarını almaya başlıyorum.


Nyquist teoremine göre x hz olan dalgayı,2*x hz ile örneklemem gerekli.Periyot cinsinden düşünürsekte,periyodu y milisaniye olan dalgayı,en az y/2 saniye boyunca örneklemeliyim.

Benim devremde,örneklenecek dalgayı ana sinyal olan dalganın frekansı 50 hz mi kabul etmeliyim?Yoksa,köprü diyot sonrası oluşan dalganın frekansı olan 100 hz mi kabul etmeliyim?Özetle,adc ye gelen voltajların kare ortalamalarını ne kadar süre boyunca almalıyım?
220 ye göre gerilim bölücü koydum demişsiniz, Şebeke 220 üstüne rahatlıkla çıkabiliyor. Arduino için tehlikeli sınır nedir bilmiyorum ama 5 voltun üstüne çıkması çok muhtemel. Daha önemlisi denediniz mi henüz bilmiyorum ama doğrulttuğunuz zaman 220 ideal etkin değeri iken bunun kök2 katı (1.414 katı) oluyor dc çıkış gerilimi 222*1,414=311 volt buradan gerilim bölücü hesabı 311/44=7 volt çıkıyor. Bu daha büyük sıkıntı.
 
..
 
Son düzenleme:
Neden köprü diyotla doğrultuyorsun? sadece 1 tane diyot bağlayarak ac sinyalin eksi kısmını silersin. Arduinonun örneklediği değerlerden 0 olanları dikkate almazsın. Bunun için yapılmış örnekler var onlara bir bak. Eğer profesyonel bi devre yapmak istiyorsan arduinonoyla beraber ADE7758 entegresini kullan. 3 faz ölçüm yapar ve istediğin her değeri akım,voltaj,güç vs... İlk önce şu basit örneğe bak.

https://simple-circuit.com/measure-ac-voltage-arduino-ac-voltmeter/
Tek diyotlada yapılabilir,haklısınız.Tek diyotla yapıldığında,dalga şu formda olacaktır :
https://semiwiki.com/forum/index.php?attachments/1608040685764-png.300/
Bu dalgayı gerilim bölücü ile doğru voltaj aralıklarına küçülttüğümü varsayın.Adc frekansım 128000 Hz.
Bu durumda,ne kadar t süre boyunca örnek toplamalıyım?Ve t süre boyunca en az kaç örnek toplamalıyım?

220 ye göre gerilim bölücü koydum demişsiniz, şebeke 220 üstüne rahatlıkla çıkabiliyor. Arduino için tehlikeli sınır nedir bilmiyorum ama 5 voltun üstüne çıkması çok muhtemel. Daha önemlisi denediniz mi henüz bilmiyorum ama doğrulttuğunuz zaman 220 ideal etkin değeri iken bunun kök2 katı (1.414 katı) oluyor dc çıkış gerilimi 222*1,414=311 volt buradan gerilim bölücü hesabı 311/44=7 volt çıkıyor. Bu daha büyük sıkıntı.
Haklısınız,direnç oranlarını tekrar gözden geçirmem gerekli.Max voltajı 300V rms olarak düşünsem,Vp değeri 424 V olur.100k ya,1.2k seçsem yeterli oluyor.
Size cevap yazıyordum,mesajı silmişsiniz,hatırladığım kadarıyla 50 hzlik sinyali,100 hz ile örneklersek bir şey elde edemeyeceğimi söylemiştiniz.1/100=10ms.Burdaki kastınız 10ms saniye aralıklarla mı örneklemek?Yoksa 10 ms boyunca mı örneklemek?
Ben herhangi bir t0 anında,20ms boyunca toplayabildiğim kadar örnek topluyorum.Yaklaşık 190 örnek topluyorum bu süre zarfında.Ve örneklerin kare ortalamasını alınca (true-rms).Bir değer buluyorum.Bu değeride,5/1024 ile çarpıp anolog voltaja dönüyorum.Bu voltajıda,gerilim bölücü dirençlerin oranıyla çarpıyorum.Son olarakta köprü diyotta kaybettiğim voltajı üstüne ekliyorum(Yaklaşık 1.4 volt).Ve terminal voltajına ulaşıyorum.Sıfırları,falan atmadım sonuçlar gerçek voltajın hemen hemen aynısı idi.
Ama,daha az hesaplama yapmak için ne kadar süre boyunca örnek almak ve ne kadar örnek almak yeterli?Ve köprü diyot çıkışındaki sinyalin frekansı,ana sinyalin 2 katı oluyor.(tam dalga doğrultucu).Ana sinyale göre mi yoksa köprü diyot çıkışındaki sinyale göremi ayarlayacağız bunu?gibi soruların cevaplarını merak ettim.
 
Selamlar,0 geçişlerini gerilim bölücü direnc üzerinden adc yordamı ile tespit etmek mantıklımıdır?Bütün sıfırları sense edebilecekmi işlemci?Optokuplörlü yapılar gördüm,sıfır geçişi tespiti için ama o izolasyon amaçlı yapıldı sanırım.Demek istediğim işlemci 0 geçişlerini,benim yöntemimle eksiksiz tespit edebilecek yeteneğe sahip mi?fadc=125000 Hz.
 

Forum istatistikleri

Konular
128,164
Mesajlar
915,595
Kullanıcılar
449,927
Son üye
yusuf2023

Yeni konular

Geri
Üst