Mili amper metre

Başlatan zeus48, 10 Haziran 2017, 13:37:20

zeus48

Arkadaşlar mrb. Sorum ete hocaya olacak. Hocam 0-15 v  ve 0-1 am  aralığında adaptör yapmak istiyorum. Sizin volt amper projenizdeki bilgileri kullanarak yazılımı yaptım. Fakat ihtiyacım olan miliamper kısmını 3 haneli görmek istiyorum. Bunun için hesap kısmı bu şekildemi olacak.

HESAPA:               ;0-1 am değerlerini oukuyup göstermek içindir
HVD=(HAM+1)*/25
AMPER=HVD/100
MA=HVD//100       ;yerine   MA=HVD///100   bu şekildemi yazacağız

İyi çalışmalar.

ete

Virgülden sonra 3 hane hassasiyet demektir bu istediğin. O zaman biraz hesap yapalım. 1A yerine 1000ma hesaplamamız gerekecek. Max ADC değerimiz 1023 olduğuna göre (1000/1023)*256=250,244 bunu 250,3 kabul edip 10 ile çarparsak 2503 olarak sabit çarpanımızı bulmuş oluruz.
Formülümüz AKIM=(HAM_ADC*/2503)/10 şeklinde olacaktır.
Tamsayı kısmı yani Amper kısmı için AMPER=AKIM/1000 ve ondalık kısmı için Ondalık=AKIM//1000 şeklinde hesaplarsın.

Ete

zeus48

Ete hocam  bu kısmını kavradım .  devreyi kurdum kararlı çalışıyor sorun yok. Tşk
Bir sorum daha olacak bu devrede ben amper kısmını kullanmayacağım en fazla 900 ma yetiyor. yapmak istediğim örneğin 1,5 miliamper nasıl göreceğim. Miliamper kalan bulmasını nasıl hesaplayacağım bilemedim aşağıda bir örnek yazdım doğrumudur.İyi çalışmalar

AKIM=(HAM_ADC*/2503)/10
AMPER=AKIM/1000
Ondalık=AKIM//1000
mka=ondalık/10     ; miliamper den sonra  için  örn ekranda şu olmalı  MA= 001,5

Hattuşa

bence mka =(HVD//100) *100
yaparak daha hassaslarını görebilirsin

zeus48

pro-TR  üstad cevabın için tşk     (HVD) tanımlaması yok o kısmı anlamadım.

zeus48


Hattuşa

#6
pardon;

mka =(akim//100) *100

basit bir matematik yapalım.

hamadc =520 olsun

AKIM=(HAM_ADC*/2503)/10

AKIM =((520 *2503) /256) /10

AKIM =(5084) /10 => AKIM =508,421

AMPER =AKIM/1000

AMPER =508,421 /1000 => AMPER =0,508421

Ondalık=AKIM//1000

Ondalık =508,421 //1000 => ondalık =4,21  byte tipi olduğu için sadece 4 değerini okuruz

şimdi benim eklentiyi koyalım

mka =(akim//100) *100

mka =(508,421 //1000) *100 => mka =421

yani 4 değerinden sonraki değerleride görmüş oluruz aslında protonda bunlara hiç gerek yok, zira float tipi değişkenleri virgülden sonra 3 hane olarak ekrana hesapsız print edebiliyoruz




ete

Amperden sonra 4 hane ma hassasiyeti ve ondan sonrada 1 hane tekrar ondalık isteniyor ise hesaplamada 1A lik değer 1.0000 şeklinde yani virgülden sonra 4 hane hassasiyet olacak şekilde hesaplanmalıdır. Teorik olarak böyle açıklanabilir ama hassasiyet yeterli gelirmi onu bilemem.
Kısaca 1A lik değer 10000 şeklinde hesaplanmalıdır. Bu hesapladan sonra değerleri nasıl bulacağımıza bakalım şimdi.
Öncelikle formülümüzü (sabit çarpan hesabı) geliştirelim.
10000/1023 = 9,7752 hesaplanır. Bunu 256 ile çarparsak (*/ parametresini kullanabilmek için) 2502,443 sayısını buluruz. Bunu 2503 olarak kullanırsak işimiz hallolacak gibi gözüküyor. Şimdi örnekle devam edelim.
1023 */2503= (yani 1023 x 2503/256)=10002 değerini verecektir. O halde formül ;

HAM=(Ham_ADC*/2503)
Amper=HAM/1000
Ma=HAM//10000
şeklinde hesaplanacaktır. Bu formüllere yukarıda elde ettiğimiz sonucu uygularsak;
Amper=1
ma=0002 (yada ma=2) elde edilecektir.
Burada asıl ma ise ma/10 şeklinde elde edilecek ve virgülden sonraki 1 hane ise ma//10 şeklinde elde edilecektir.

Şimdi başka bir hesap ile konuyu daha iyi anlamaya çalışalım.
ADC den okunan değer (Ham_ADC=685 olsun)
HAM=685*/2503=6697 olarak bulunacaktır.
AMper=6697/10000=0 bulunacak
Ma=6697//10000=6697 olarak bulunacaktır.
Asıl_Ma=6697/10=669 ma olarak bulunacak
Ondalık=6697//10=7 olarak bulunacaktır. O halde şunu diyebiliriz bu 669,7 ma dir.
Hepsi bu kadar
Ete


Powered by EzPortal