Analog Sensör Dijital Karşılığının Hesaplanması

sefaxxxxx

Üye
Katılım
8 Haz 2009
Mesajlar
194
Puanları
1
Yaş
34
Arkadaşlar merhaba

Yapılacak olan bir sistemde 0-40 bar aralığında basınç sensörleri kullanılacak.Bu sensörlerin çıkışları 4-20 mA.Bu sensörleri Siemens s7 s00 plc ye bağlayacağım.Bu sensörün dijital karşılıklarını hesaplarken kafam karıştı.Yani bu sensör 0 barda 4 mA veriyorsa benim hesaplarıma göre 1 barda 0.5 mA vermesi gerekir.Bu değeri orantı kurarak yaptım. Yani: 1x20=20 2/40= 0.5mA

Ancak sensörün verdiği min akım değeri 4 mA olması gerekmiyormu?
Bu konuda beni aydınlatabilirseniz sevinirim.
 
ilk önce sensör
0 bar basıncta 4 ma
40 bar basıncta ise 20 ma akım verir
1 bar basınca karsılık gelen akım değişimi için 20-4/40 =0,4 ma akım degişimi olacaktır.dolayısıyla 1 bar başıncta sizin okuyacagınız akım degeri 4,4 ma olacaktır.
 
Cevap için teşekkür ederim.Ancak hesabı tam olarak anlayamadım.Hesabı anlayabilmem açısınddan şu örnek değerleri hesaplayabilir misiniz
0.3 bar
27.62 bar
Ayrıca ben bu değerleri 0-32000 arasında scale edeceğim.Scale ederken 20 ma değerini mi yoksa 16 ma değerinimi almam gerekir.
 
Son düzenleme:
sıfır bar basınctaki akım degeri-40 bar basınctaki akım degeri/40 bar basınc degeri=4-16/40=0,4ma
bu sistemde bir bar basınc degişimi oldugundaki akım degişimidir.0,1 bar degişimi için ise bu degeri 10 bölersek 0,04 ma akım değişimine denk gelir.
bu durumda 0,3 bar için 4ma+0,3*0.04=4+0,012=4,0012 ma okursunuz
27,62 bar içinse 4ma+27*0,4+0,62*0.04=4+10,8+0,0248=14,8248 ma okursunuz
skala ederken 16 ma degişimi alacaksınız
 
Son düzenleme:
Değerli cevaplarınız için teşekkür ederim.
 
arkadaşlar merhaba


scale işlemi şu şekilde mi yapılacak

örneğin 27.62 barda 14.8248 ma akım okudum ve 0-32000 arasında scale etmek istiyorum

20 ma de 32000

14.8248 ma de x

içler dışlar çarpımı yapılarak bulunacak doğrumudur?
 
Aslında bu bahsettiğiniz basit bir matematik formuluzasyonu ile bu sorunuza her değer için cevap bulabilirsiniz.

aşağıda program içinde kullandığım kodları bulabilirsiniz. Sizin sorunuca göre uyarlamış oldum. "AnADC" değişkenine kaç değeri verirseniz basinc olarak hesabını otomatik yapacaktır.

AnADCMax =20.0 //20mA
AnADCMin =4.0 // 4mA
AnValueMax =40.0 //bar
AnValueMin =0.0 //bar

if(AnADC >=AnADCMax)
AnValue=AnValueMax
elseif(AnADC <=AnADCMin)
AnValue=AnValueMin
else
AnValue=AnADC*((AnValueMax - AnValueMin)/(AnADCMax - AnADCMin))+AnValueMax-AnADCMax*((AnValueMax - AnValueMin)/(AnADCMax - AnADCMin))
endif
Basinc=AnValue
 
Cevap için teşekkür ederim. Peki benim yaptığım işlem doğrumu?
Yani bu işlemle scale işlemini gerçekleştirebilir miyim?
Ayrıca bu verdiğiniz programı nasıl kullanmalıyım.
 
Hayır yaptığım işlem yanlıştır.

benim yazdım matematiksel formülü kullanırsan doğru neticeye ulaşırsın.

senin yazdığı işlem ancak 0-20mA olsaydı doğru sonuc olurdu.

şöyle düşün
20mA 32000 ise
10mA =16000 çıkmalı senin düşüncene göre ancak bu sonuç çıkmaz.

Şöyle düşünebilirsin 20-4=16 mA bir aralığa sahipsin. bu şu demek her 1 mA artışa 2000 artacaktır.

4mA 0
5mA 2000
6mA 4000
...
....
10mA 1200
...
12mA 1600
...
...
20mA 2000
 
şimdi sizin sistemde 4 ma geldiğinde 0 skala degeri göreceksiniz 20 ma geldiğinde ise 32000 değerini göreceksiniz.burada 0 da 0 degeri 40 barda ise size 32000 degeri gelecektir.buna göre 32000/40=800 degeri cıkarki siz gelen degeri buna bölerseniz ekranınızda doğru degeri okursunuz
 

Forum istatistikleri

Konular
129,808
Mesajlar
930,294
Kullanıcılar
452,609
Son üye
sinal1400

Yeni konular

Geri
Üst