Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

PBP Voltmetre

Başlatan ASPExpert, 10 Mayıs 2004, 11:29:28

ASPExpert

:cry:
Arkadaşlar,
Haftasonumu PBP ile yapılmış voltmetre örneği arayarak geçirdim. asm ile cok fazla ama PBP ile bulamadım. 12 volt ölcebileceğim pbp kodu (mumkunse seması ile) olan yada bu konuda deneyimlerini paylaşmak isteyen arkadaşl varsa benimle iletişime geçebilirmi?

Teşekkürler..
Gerçek ilerleme ilerici olmaktan degil, ilerliyor olmaktan meydana gelir... --------------------------------------- http://www.aspexpert.cjb.net http://blogs.wwwcoder.com/aspexpert

cozturk


axanc

selam..
kullandığın pic'in manual'inden ADCON1 registerinin özelliklerine bak, orada referans diye bir bölüm var, yani belirli bir ayardan sonra bir bacağa referans gerilim veriyorsun.. diğer bir bacaktan da gerilim değerini alıyorsun...
gerilim ölçme aslında; referans gerilim 2^10 olacak sekilde, iki gerilimin birbirine oranını almaktır...

referans 10V ise ve sen 5 volt ölçersen okunan değer (2^10)/2 olacaktır..

umarım anlatabilmişimdir... anlayan?
Uzmanlık: Bilgisayar Müh. öğrenci Derleyici: PicBasic Pro Compiler Ver. 2.45 Program: Proteus 6.2.5 ve MCSP

ASPExpert

Sevgili Cozturk ,
Amacım "Armut Piş" misali beleşe konmak değildi. Bulamamıştım ki 7017 gibi gereksiz bir entegre ile halletmek zorunda kaldım. Değerli açıklamaların ve forumdaki eşsiz yorumların için teşekkür ediyorum.

Axanc sanada teşekkürler. Olayı anlamamda yardımcı oldu ama hala kendi başıma yapamadım bişi. Yeni başladım nede olsa.. Zamanla..

Sewgiler..
Gerçek ilerleme ilerici olmaktan degil, ilerliyor olmaktan meydana gelir... --------------------------------------- http://www.aspexpert.cjb.net http://blogs.wwwcoder.com/aspexpert

cozturk

Tamam tamam kızma. zaten bu "arama" kısmının iyi çalışmasından ben de şikayetçiyim. 7107 ile yaptığın devre yaklaşık 10 dk sonra yanlış göstermeye başlıyordur eminim.
Kanaatimce, vrefi 7805ten filan alıyorsan entegre ısındığı zaman  bu kayıyor çünkü. BUna çzöüm olarak TL431 filan almıştım. 6 ay kadar oluyor hala deneyemedim. Selamlar saygılar.

fsan

Alıntı yapılan: "ASPExpert":cry:
Arkadaşlar,
Haftasonumu PBP ile yapılmış voltmetre örneği arayarak geçirdim. asm ile cok fazla ama PBP ile bulamadım. 12 volt ölcebileceğim pbp kodu (mumkunse seması ile) olan yada bu konuda deneyimlerini paylaşmak isteyen arkadaşl varsa benimle iletişime geçebilirmi?

Teşekkürler..

arkadaslar merhaba,
sevgili ETE nin Picbasic, 16F84 ve LM358 ile yaptigi Voltmetre projesinin   aynisini LM358 yerine 16F628 icinde mevcut olan komparatörlerden birisini kullanarak yapmaya calistim.. ehh netice fena değil.. yalniz ETE nin Volt ölcme formülünde birazcik degisiklik yaparsak halledilir sanirim..


@ETE
üstat asagidaki linkte 16F628 icin HEX, BAS VE DSN dosyalar var bir gözatarmisin?
http://home.no/fsan/projects/Diverse/16F628%20Voltmetre/

senin eskiden 16F84 ve LM358 ile yapmis oldugunda burada:
http://home.no/fsan/projects/Diverse/16F84%20Voltmetre/

Sevgiler, saygilar

ete

Sayın FSan,

Her şeyden önce 628 li devre çok güzel olmuş. Eline sağlık.
Formül olayını yeniden hesapladım. Kodun değişen (formül) kısmını aşağıda veriyorum. Isis te bayağı iyi sonuç veriyor. Sanırım gerçek değerleri ilede verir. Esas devrede kondansatöre seri dirençin 2 ye bölünerek birisinin ayarlı yapılması ince ayar için gerekebilir. Yapacakların dikkatine.

İşte Yeni formül kodu;
CIK:'FORMÜL  VOLT = -(0,000004 * ZAMAN * ZAMAN) + (0,0237 * ZAMAN) + 0,0140	

     W=4*zaman*zaman
     A=div32 1000   
    
    W=(237*zaman) 
    b=DIV32 10 
     
    VOLT=(-A+B+140)/100   
    IF ZAMAN<5 THEN VOLT=0
    k=volt//10
    volt=volt/10
    GOSUB EKRAN
    PAUSE 200
    GOTO START

Yukarıdaki formül sistemin 0-12V çalışmasına göre hesaplanmıştır. 30V için ayrı formül gerekebilir.
Kolay Gelsin
ETE
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

ete

Arkadaşlar

Voltmetreyi 0-30 volt aralığında kullanmak isterseniz aşağıdaki kodu kullanın.

CMCON = %00000101 ' Comparator Control
TRISA = %11101111 ' Set PortA.4 output           
PORTA = 0
TRISB = %00000000 ' Set All Outputs           
PORTB = 0                                              
ZAMAN   VAR WORD
VOLT    VAR BYTE                   'en son doğru program budur
A       VAR WORD
B       VAR WORD
C       var word
W       VAR WORD
K       var byte

zaman=0:pause 500: gosub ekran

START: 	
        ZAMAN=0       'sayaç sıfırlandı
        low PortA.4   'C deşarj EDİLDİ(boşaltıldı)
        pauseus 200   'bu konumda OP-AMP çıkış HIGH olur
        high PortA.4  'deşarj bacağı devre disi birakildi
        
TEKRAR:	IF CMCON.7 = 1 Then CIK   'OP-AMP çıkışı LOW oluncaya kadar porta bak
        ZAMAN=ZAMAN+1:GoTo TEKRAR 'low değilse tekrar bak LOW ise ÇIK'a git
		
CIK:'FORMÜL  VOLT = -(0,000004 * ZAMAN * ZAMAN) + (0,0237 * ZAMAN) + 0,0140	

     W=4*ZAMAN*ZAMAN
     A=div32 1000
         
     W=(237*zaman) 
     b=DIV32 10 
     C=(B-A+140)/100
     IF ZAMAN<5 THEN C=0
     if c>170  and c<210 then c=c-1
     if c>210 and c<250 then c=c-2
     IF C>250 then C=C+2
     IF C>280 then c=c+1
     if c>290 then c=c+2
     k=C//10
     volt=C/10
     GOSUB EKRAN
     PAUSE 200
     GOTO START
	
EKRAN:	'Return
		LCDOut $FE,2
IF VOLT>9 THEN ONLAR
		LCDOut "   VOLT = ",DEC1 VOLT ,",",dec1 K,"   ":GOTO SON

ONLAR:  LCDOut "   VOLT = ",DEC2 VOLT ,",",dec1 K,"  "
SON:
'		LCDOut $FE,$C0
'		LCDOut "Z= ", DEC5 A," ", DEC5 b
		
		Return		
end
	
kolay gelsin

ETE
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

axanc

merhaba arkadaşlar,

buradaki formül ihtiyacı nereden geliyor anlayamadım..  :?:
Uzmanlık: Bilgisayar Müh. öğrenci Derleyici: PicBasic Pro Compiler Ver. 2.45 Program: Proteus 6.2.5 ve MCSP

555

Kondansatörün dolup boşalma eğrisi lineer değildir. bu yüzden picimizin bu gerilime  bakarak,
Süre=f(gerilim)
fonksiyonu ile gerilimi gösterebilmek için hesabını itinayla yapması gerekir. İşte burada yapılan da budur. Regrasyon analizi ile gerçek değere yaklaşım sağlanmış. Arkadaşları tebrik ediyorum.
Biraz da devreyi anlatalım:

Burada önce pin çıkış yapılıp C kısadevre edilerek boşaltılıyor. ve dolması için serbest bırakılıyor. Tabi bu esnada pin komparatörün girişi haline dönüşerek beklemeye başlıyor. ve süre de ölçülüyor. Fakat bu devre biraz farklı olabilir. En iyisi yapan arkadaşlar anlatsın. Çünkü 2 pin de C uçlarına bağlanmış.

Eğer  gerilim yükselirken bir anda  ölçülecek gerilim kondansatörün üzerindekine eşit olursa süreye bakılıyor. ve Gerilim= f(süre) fonksiyonu icra ediliyor. ve displaye yollanıyor. :)  Yaşasın bilim!

fsan

Alıntı yapılan: "555"En iyisi yapan arkadaşlar anlatsın. Çünkü 2 pin de C uçlarına bağlanmış.
arkadaslar benim yaptigim sadece su:
ETE nin 16f84 voltmetre devresindeki LM358 opamp yerine 16f628 icinde mevcut comparator lardan birini kullanmak.
CMCON = %00000101 ' yapinca Comparator lardan sadece birisi devrede (AN1 ve AN2 girisler analog diger pinler digital I/O) burada tek fark ben bir pin daha fazladan kullanmis oldum  :(  ama yinede sadece 2 pin kullanmak istersek RA4 pin baglantisini iptal edip, kondensatoru desarj etme sirasinda CMCON = 7 (portA = digital) komutunu kullanip TrisA registerle RA2 pin tekrar digital/out yapilarak ta olabilir ? (ETE nin 16f84 ile yaptigi gibi)  


@ETE
üstat ellerine saglik, yukarida en son yazmis oldugun kodu denedim. Harika calisiyor.  8)
(yukarida verdigim linkteki dosyalari tekrar update yaptim)

:idea: simdi senden/sizden mümkünse baska bir ricada bulunmak istiyorum :D

yukarida semada R1 ve R3 gerilim bölücü direncler var ya.

yanlis hatirlamiyorsam, R1 (veya RA1/AN1 pin) üzerindeki  gerilim icin formul:  
UR1 = VB1 * R1 / (R1+R3) , burada VB1 = 30V

yani yaptigin formülü  R1/(R1+R3) orantili yapsan VB1 gerilimi istersek 220V ta olabilirdi. sadece R1 ve R3 ü degistirirdik.

nedemek istedigimi anlatabildimmi bilmiyorum ama anlayanlar bunu mümkünse yapabilirmi acaba?

tesekkürler..

ete

@FSan,

Daha önce bu konu üzerinde çalışmıştım. Ancak sabir bir formül tutturamadım. Zira işin içine bilmediğim bazı parametreler giriyor. Örneğin kondansatörün boşalma zamanı bunun için optimum bir değer tespit etmek gerekir. Yani bu zaman kondansatör değeri ile alakalı ve verilen referans voltajına göre değişiyor ve sistemin çalışmasını etkiliyor. Bu nedenle her bir referans voltajı için yeniden bir formül hesaplamanın gerekli olduğuna kanaat getirdim. Belki konu hakkında daha fazla bilgisi olan birisi bu işe bir çözüm bulabilir. Kısacası beni aşıyor.

Bu arada bazı arkadaşlara önceden yapmış olduğum bir proje hakkında ISIS dosyası ile program kodları konusunda yardımcı olmak istiyorum. Bunları upload edebileceğim bir adres verebilirmisin. E-Mail ile bildirebilirsin. Konu TV kumandası ile ilgili önceden yaptığım bir TV kumanda devresi ile ilgili. Pic Basic Pro başlığı altında Voltmetre konusunun bir üstündeki konu. Orada sana bir mesaj verdim zaten belki okursun. (E-Mailim: e.erdal@tr.net)

Diğer arkadaşlardan bir ricam olacak. Bu sistem Isiste gerçekten harika çalışıyor. Acaba bir yapan olursa (gerçeğini) bizi nasıl çalıştığı konusunda haberdar edebilirmi. Gerçekten merak ediyorum.
Virgülden sonra gelen hanelere çok fazla kafanızı takmamanızı öneririm. Zira ölçü aletlerinde bile bu henelerde farklılıklar olabiliyor.

ETE
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

555

Sayın Arkadaşlar,
kondansatörün şarj eğrisini exponansiyel değil de lineer yapmak istersek sabit akım ile doldururuz. Bu durumda hakiki rampa eolde edilmiş oluyor. Sanırım bu işlem hesabı çok kolaylaştıracak, geniş aralıklarda ölçüm kolaylığı sağlayacaktır. y=ax+b Şimdi söylemesi kolay! demeyiniz. 180k nın ucunu vcc ye değil de isiste hazır bulunan bir akım kaynağına bağlayınız. şarj akımını ise ilk önce  10uA gibi kafadan sallayınız :D  . Sonra formulü revize etmek yeterli olur.
örnek ramp generator:
http://www.allaboutcircuits.com/vol_6/chpt_6/8.html

ete

Arkadaşlar,

Şu anda tatildeyim ve Cep telefonundan bağlanıyorum. Bir iki defa denedim Yahoo sürekli problem çıkartıyor ve zorlanıyorum. O yüzden upload için yahoo kullanmak istemiyorum.

Son anda tekrar denedim ve başarılı oldum. Dosya linki ;

http://groups.yahoo.com/group/PicProjeUP4/files/ETE-Files/

Kolay Gelsin
ETE
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com