analog ölçüm ve hesabı

Başlatan enrique_iglesias, 11 Ağustos 2008, 17:02:50

Maxim

Alıntı yapılan: "707yunus"Güzel olmuş ellerine sağlık.ama kullanıcı programda 'BAR = 2.5 X VOLT - 2.5' büyük harfle yazılı olan voltu elde etmek için adc sonucunu extra bir işleme tabi tutmalı.

nasıl bir işlem yapmalı ?
yani sadece voltu ölçecek ,
yani basitçe bir voltmetre yapacak ,eeee o kadarınıda yapıversin .
atladığım bir yer varmı ?

edit :
hayır extra bir işlem yok ,,
sadece voltmetre yapacak o kadar .
mesela proton+ bir örnek .

Dim Raw_Volt as float
Dim Volt as float

Raw_Volt=ADIn 0
Volt=Raw_Volt * 5 / 1024

707yunus

hocam atladığın bir yer yok da arkadaşımız matematiğim zayıf dedi o yüzden bu yorumu yazdım...

enrique_iglesias

HERŞEY İÇİN TEŞEKKÜRLER..tüm hesapları denedim çalışma mantığını sonunda aldım.....pratiğinide mantığınıda anladım...

ama benim sorunum virgüllerle hala işin içinden çıkamadım

artık soruyu şöyle sormak istiyorum hesap işi tamam :)

1.1 VOLT okuduğumuzu 225 ham değerini aldığımızı farz edersek

okunan değer ile yapılan hesap :
basinc=(225-205)*10/818
voltaj ile yapılan hesap :
basinc=(11-10)/4

voltajı :
Volt=(ham */ 1250)/100 'Ham ile 1250 yi 32 bit olarak çarp ve 100'böl
şeklinde ölçüyorum
her iki sonuçtada basinc değişkenine 0,25 bar yükleniyor....

ewt sorun bundan sonra zaten :)

bu virgüller benim canımı sıkmaya başladı

LCD'DE #basinc olarak gösterdiğimizde 0 gözüküyor

küsüratları göremiyorum : 10 ile kalanını bulmakda olmuyor

pic basic kullanıyorum....

707yunus

Alıntı yapılan: "Klein"Nasıl hesaplayacağını yukarıda yazdım.
Ondalık işlem için basit bir metod:
örn:
10/4=2,5  
ya da(10*10) /4= 25 son hanenin önüne bir nokta koyarsan , olur sana 2.5
3/2=1,5   ya da (3*10)/2=15 yanına nokta koy =1.5

basici tam bilmiyorum ama yukarıda arkadaşımızn verdiği yöntemi kullanabilirsin. mesela yukarıda  '(10*10) /4= 25' sonucu elde edilmiş.bu sonucu basicteki DIG komutuyla parçala ve sayının tam kısmını lcd ye küsüratlı kısmını lcd ye bir virgül gönderdikten sonra yazdır...

Klein

@maxiboost @77yunus
Söyledikleriniz teorik olarak doğru. Ama bu söylediğiniz hesapların tutabilmesi için , Sensörün kalibrasyon hatasının olmaması , ADC nin offset hatası olmaması , Yine ADC de referans hatası olmaması ve kullanılan akım direncinin toleransının olmaması gerekir. Ama malesef gerçek hayatta bu sorunlar var. Bu yüzden hiç kalibrasyon yapmadan , doğrudan hesapladığımız gerilimleri, ADC çözünürlüğü vs.. gibi değerleri baz alarak doğru bir ölçüm yapmamız pratikte mümkün olmaz.

Maxim

Alıntı yapılan: "Klein"@maxiboost @77yunus
Söyledikleriniz teorik olarak doğru. Ama bu söylediğiniz hesapların tutabilmesi için , Sensörün kalibrasyon hatasının olmaması , ADC nin offset hatası olmaması , Yine ADC de referans hatası olmaması ve kullanılan akım direncinin toleransının olmaması gerekir. Ama malesef gerçek hayatta bu sorunlar var. Bu yüzden hiç kalibrasyon yapmadan , doğrudan hesapladığımız gerilimleri, ADC çözünürlüğü vs.. gibi değerleri baz alarak doğru bir ölçüm yapmamız pratikte mümkün olmaz.

hacam peki ,formülümüze ince ayar için + ve - offset girişi eklesek ?
aynı digital termostatlarda olduğu gibi ? ona göre kalibrasyonu yapsak set etsek ?

Klein

Sadece offset meselesi değil tabiki. 2.5 V referans da tam 2.5 olmayabilir. Her biri için ayrı ayrı ayar yapmak sıkıntılı bir işlem. Şimdiye kadar bulabildiğim en pratik yöntem Ofset değerini , Span değerini ve aralığı alarak kalibrasyon yapmak.

Aralık = 10 (bar)
offset = 0Bar da okuduğun değer
span = 10 Bar da aldığın değer.
kazanç = (span-offset)/aralık

basınç= (okunan değer - offset) / kazanç

transistor

arkadaşlar bu konudaki son durum nedir hesaplama için gerekli son formül
Herşey Vatan İçin.