CS5490 enerji entegresi ile ilgili sorular

Başlatan MICROCEBEL, 22 Nisan 2012, 00:19:24

MICROCEBEL

Arkadaşlar merhaba,

Aranızda belki CS5490 entegresini kullananlar vardır.Cirrus logic firmasından olumlu bir cevap alamadığım için buraya yazma gereği duydum.

CS5490 içerisinde adresleri belirli kaydediciler bulunuyor.VRMS IRMS PAVG QAVG SAVG gibi kaydediciler.Uart birimi ile haberleşip bu kaydediciler içerisindeki bilgileri alıyorsunuz.Bu entegrenin geliştirme kitide mevcut.Cirrus logic firması sorularımıza karşın türkiye distribütörü olan firmayı yönlendirdi bize.Distribütör bize geliştirme kiti almamızı söyledi.Fakat geliştirme kiti içeriğinde bir elektronik kart mevcut bu kart üzerinden 8051 entgresi ile pc haberleşmesi yapılmış ve örnek kod vs yok.Birtek pc de çalışan exe mevcut oda gerilim akım vs bunları görüyorsunuz bu exenin açık kodlarınıda vermiyorlar.Arçelik firmasınında enerji ölçümü için bu entegreyi kullandıklarını ve onlara yardım ettiklerini söylediler.Bizede yardım edin dediğimizde aldığımız cevap onlar çok adetli alım yaptılar dendi.Bizimde adetli alım yapabileceğimizi fakat projeyi sonuçlandırmadan bu alımın bi anlamı olmayacağını söyledim.Cirrus logic firması destek olarak çok zayıf ve işten anlamayan şirketlere distribütörlük veriliyor bu durum çok üzücü.

Bu entegre ile ilgilenmiş arkadaşlara sorum şu;

Ben VRMS kaydedicisinden 3 bytelık bilgi alıyorum.Datasheetten VRMS registerı içeriğine baktığımda okunan değerin 0'a eşit ve 1.0 dan küçük olabileceği söyleniyor.Ben VRMS kaydedicisinden C4 3C B2 değerlerini okuyorum bu değeri nasıl bir hesaba katmalıyım ve nasıl kullanmalıyım.
Aklıma şu şekilde kullanmak geldi yanlış yada doğru bilmiyorum.C43CB2 desimal değeri 12860594 , bu desimal değeri 220 ye böldüğümde 58457.245 değerini buldum bu değeri katsayı olarak düşündüm.Daha sonraki VRMS kaydedicisi üzerinden okuduğum değeri 58457.245'e bölerek voltajı bulduğumu kabul ettim.Sizce bu düşünce doğrumu?Bana saçma geliyor fakat çıkış yolu bulamadığım için böyle arayışlar içerisine girdim.

Cirrus logic firmasınada bu soruyu sordum fakat daha bir cevap gelmedi.Şuan bu konu ile ilgili tıkanmış vaziyetteyim arkadaşlar yardımcı olabilirseniz sevinirim.Çalışmalarınızda başarılar diliyorum hepinize...

EUA

Okuduğun C43CB2 desimal değeri datasheet'e göre 12860594 etmez. Eder de, datasheet'e göre değer 0 ile 1 arasında olmalı.
Bu değer "iki üzeri eksi" notasyonunda.
Yani ilk bit 1 ise 1'in 0,5,   2.bit 1 ise 0,25 anlamında. İkiye bölüp ekleyeceksin... Böyle gidecek. Sonunda 0 ile 1 aralığında bir değer bulucaksın.
Son 2 byte'ı yazamıyorum ama ilk byte için (ki en anlamlı kısım bu zaten) aldığın değer
C4 = 11000100  için 0.5+0.25+0+0+0+0.015625+0+0 = 0.765625
gibi birşey olmalı.

Ama sonuçta bulacağın değerin 1 ile sıfır aralığında olmasının bir anlamı/mantığı da yok sonuçta.
Sen o değeri unsigned int gibi kullandığında 0-1 aralığındaki değer 0 ile 16777215 aralığına geçecek.
Yani okuduğun 12860594 değerini 16777216'ya bölersen sonuç = 0.766551137 ediyor.
Bu değer de voltajının yonga tarafından (datasheet'de) bildirilen değeri. (0 ile 1 arasındaki)

Normalde bu değere göre kalibrasyon yapman lazım. Ama bunun yerine 12860594 ile kalibrasyon yaparsan ne olur? Hiç. Sonuç 16777216 kere daha büyük çıkar. Noktalı sayılarla işlem yapmaktan kurtulursun, daha hızlı sonuç alırsın. Daha kolay olur. Sonuçta "oranlar aynı". Yani bulduğun yol doğru. :)

CS5490'ı nereden temin ettiğini söylersen sevinirim. Ebay'da bulamadım. Kolay gelsin.

giraykiral

Kolay gelsin ben cs5490 ile haberleşmeyi bir türlü yapamadım sizden haberleşmesiyle ilgili bilgi alabilir miyim ?