18F4550 4-20mA Ölçeklendirme

Başlatan Semiyun, 21 Kasım 2021, 15:27:09

Semiyun

Herkese merhaba

Yaptığım projede 2 adet transmitterim var 4-20ma çıkışlı, ben bu çıkışları 1-5volt olarak dönüştürüp 18f4550 entegremin an0-an1 analog pinlerinden okuma yapıyorum.Bu okumalarımda 1voltda 0bar 5voltta ise 10bar basınc görecek şekilde nasıl ölçeklendirme yapabilirim ?

Yardımcı olursanız sevinirim.

Edit: Sanırım çözdüm daha iyi bir yolu varsa çözümünüzü beklerim.








ete

#1
1 volt karşılığı okuyacağın ADC değeri 204 olması gerekir (1023/5=204,6 ~204 kabul edeceğiz)
5 volt da okuyacağın ADC değeri ise 1023 olacaktır Bu durumda 1023 den 204'ü çıkartacağız çünki çıkarılan kısmı kullanmayıp o değeri sıfır kabul edeceğiz. 1023-204=819 buluruz.
Bu değer senin 10 barlık basıncına karşılık gelen ADC değerin. Bunu formülize etmek için 10 bar yerine 100 alıp bir adet de ondalık hanesi kullanacağız. 100/819=0,1221 bulunur. 32 bit hesaplama için bu sayıyı 256 ile çarpıyoruz çünki sonucu bize 256 ya bölünmüş olarak verecek formülümüz. 0,1221 x 256 = 31,2576 bunu 3126 olarak yuvarlayıp kullanacak sonucuda 100 e böleceğiz. Çünki 100 ile çarpmış olduk. O halde Formül=((ADC_Deger-204)*/3126)/100  şeklinde olacaktır. Başka derleyiciler için bunun açılımı şöyle (((ADC_DEGER - 204) * 3126)/256))/100

Şimdi hemen deneyelim. Diyelimki ADC den 1023 okuduk 
Basınc=((1023-204)*/3126)/100=100 olarak bulunur. Bu aslında 10,0 Bar karşılığı olacaktır.
Ondalık kullanmayayım diyorsan formülde 100 yerine 1000 e bölmen gerekir.

Diyelimki 511 okuduk ADC den. Bar=((511-204)*/3126)/100=37 çıkacak olup bar karşılığı 3,7 Bar olarak hesaplanmış olacaktır.
1 Voltluk değere karşılık gelen ADC=204 değerinin sorun çıkartmaması için okunan ADC şayet 204 den küçük ise 204 olarak kabul et şeklinde bir IF satırı eklemende yarar var programa.

Ete

not: Float değişkeni kullanabiliyorsan formülü Basınc=(ADC_Okunan-204)*0,1222 şeklinde kullanabilirsin. Tabiiki çıkan sayıyı ya tamsayıya çevirip küsüratından kurtulmak yada varsa başka bir yolla küsüratlarından kurtulmak gerekir.

Semiyun

Hocam dediğiniz gibi 1 voltun aşağısına düşerse ekranda sensör arıza yazdırmayı düşünüyorum.

ahmet_zxc

endüstriyel cihazlar için genellikle aşağıdaki standartlar kullanılır:

Akım çıkışı Zero 4 mA (ZEO) ölçüm aralığının başlangıcı ...
span 20 mA (SPN) Ölçüm aralığının sonu

Arıza durumunda davranış (FER) ≤ 3,6 mA, ≥ 21 mA
Normal ölçüme dönüş sinyal aralığı 3,8 ... 20,5 mA

Proses koşullarına uygun ölçüm oynamalarının sönümlemesi için bir entegrasyon süresi (yada yüzdesi)belirlenmelidir.
4 ... 20 mA çıkışında ölçüm değerinin sıçrayarak artmasında ayarlı bir sönümleme yapılabilir.
bu sönümleme çıkış eğiminin süresinde gecikmeye neden olur.


aRci

Merhaba,
Bu tür sensorden ölçüm almak için gerilim bölücü dirençli kullanılıyor. Çıkış voltajı kaç volt oluyor daha önceden var yok sinyali alıyordum ama analog sinyal için bir çalışma yapmamıştım. Paylasabilirmisiniz

Semiyun

Merhaba

Ben 4-20ma 1-5v çeviren hazır devrelerden almıştım çalışmalarımı hızlandırmak adına programlama ile işim bitince hazır devreyi inceleyip kendi projeme entegre etmeyi düşünüyorum. Devreyi test ederken delta plc den analog 4-20ma gönderek deneme yapıyorum.

Devre bu:



ete

İlişikteki devre işinizi görür sanırım.

Ete

ahmet_zxc

4-20mA i 0-5V a çevirmeye uğraşmayın bence..

seri olarak 250 ohm luk bir direnç ile 1-5V a direk çevirebilirsiniz.

hatta 1V altında fault error gibi sinyalleri de okuma şansınız olur.

bu tür devrelerde kullandığınız tüm malzemelerin toleransları düşük olmalı.


ElectroMan

#8
Alıntı yapılan: ahmet_zxc - 25 Kasım 2021, 15:46:444-20mA i 0-5V a çevirmeye uğraşmayın bence..

seri olarak 250 ohm luk bir direnç ile 1-5V a direk çevirebilirsiniz.

hatta 1V altında fault error gibi sinyalleri de okuma şansınız olur.

bu tür devrelerde kullandığınız tüm malzemelerin toleransları düşük olmalı.




Sadece 250 ohmluk bir dirençle doğru ölçümler yapamzsınız. Çünkü 250 ohmluk dirence paralel olarak mikrodenetleyicinin bacaklarının kendi iç direncide dahil olacak ve R eş bozulmuş olacak. O yüzden sinyal ölçümü için mutlaka Op-Amp kullanılması gerekir. Ayrıca opamp öncesinde RC filtrede kullanılmasıda önemli.

ahmet_zxc

Alıntı yapılan: EnsGrsy - 04 Mart 2024, 08:50:26Sadece 250 ohmluk bir dirençle doğru ölçümler yapamzsınız. Çünkü 250 ohmluk dirence paralel olarak mikrodenetleyicinin bacaklarının kendi iç direncide dahil olacak ve R eş bozulmuş olacak. O yüzden sinyal ölçümü için mutlaka Op-Amp kullanılması gerekir. Ayrıca opamp öncesinde RC filtrede kullanılmasıda önemli.

sinyal ne demek bilmiyorum ama,
akım ölçen opamp hayatımda hiç görmedim.
akım ölçen opamp devresi paylaşırsanız biz de sizin dediğiniz gibi ölçeriz bundan sonra..

ElectroMan

#10
Alıntı yapılan: ahmet_zxc - 04 Mart 2024, 15:56:08sinyal ne demek bilmiyorum ama,
akım ölçen opamp hayatımda hiç görmedim.
akım ölçen opamp devresi paylaşırsanız biz de sizin dediğiniz gibi ölçeriz bundan sonra..

Google'a 4-20mA 0-5V yazarsanız görsellerde çokca örnek göreceksiniz.





ahmet_zxc

Alıntı yapılan: EnsGrsy - 04 Mart 2024, 20:58:34Google'a 4-20mA 0-5V yazarsanız görsellerde çokca örnek göreceksiniz.





hocam paylaştığınız şemadaki R1 direncinin ne işe yaradığını,, ve o direnç e paralel olarak opamp ın bacaklarının kendi iç direncide dahil olacak ve R eş bozulmuş olacak gibi geldi.

o kısmı anlayamadım da.. anlatabilir misiniz?

ahmet_zxc

Alıntı yapılan: ahmet_zxc - 05 Mart 2024, 13:29:10hocam paylaştığınız şemadaki R1 direncinin ne işe yaradığını,, ve o direnç e paralel olarak opamp ın bacaklarının kendi iç direncide dahil olacak ve R eş bozulmuş olacak gibi geldi.

o kısmı anlayamadım da.. anlatabilir misiniz?

@EnsGrsy ?

ElectroMan

Alıntı yapılan: ahmet_zxc - 05 Mart 2024, 13:29:10hocam paylaştığınız şemadaki R1 direncinin ne işe yaradığını,, ve o direnç e paralel olarak opamp ın bacaklarının kendi iç direncide dahil olacak ve R eş bozulmuş olacak gibi geldi.

o kısmı anlayamadım da.. anlatabilir misiniz?


Hocam konu çok uzun. Analog sinyal işlemlerinde ölçüm yapılan devrede empedans yüksek, mikroişlemci tarafı düşük empedanslıdır. PCB tasarımında impedance matching konusunu iyice bir araştırmanızı tavsiye ederim. Bu empedans uyumluluğu sağlamak için opamp kullanılır. Çünkü OpAmplar girişlerindeki yüksek empedansa rağmen çıkışlarında düşük empedans sağlar.

ete

KOnumuz empedans olsa elbette uzun bir konu olabilirdi. Ama asıl konumuz 4-20ma sinyalin voltaja dönüştürülerek ölçülebilir hale getirilmesi ve bu sandığın kadar komplike bir konu değil.
Bunu işin teorisini düşünerek söylemiyorum. Bizzat bu işi hem direk direnç ile hemde drenç+Opamp kullanarak defalarca yaparak denemiş kişi olarak söylüyorum. O bahsini ettiğin empedans düşündüğün kadar sorun yaratmıyor bu sistemde. Koy bir %1 toleranslı 100 ohm direnç sinyalin 0,4V-2V arası değere otomatikman dönüşür. Empedanstan dolayı bir kaybın olmaz. O halde neyi tartışıyoruz bence gereksiz bir şeyi tartışıyoruz. Opamp ne zaman gerekli onuda söyleyeyim. 4-20ma lik sinyali 0-5V sinyale dönüştürecek isen o azaman elbette bir opamp gereklidir.

Ete

Powered by EzPortal