pulse width meter

Başlatan murats123, 17 Aralık 2005, 02:54:36

murats123

Arkadaşlar pic kullanarak  bir dalganın  period unu ölçecek  lcd  li bir devre veya  bunun nasıl yapılacağı hakkında bilgi arıyorum ,yardımcı olan arkadaşlara şimdiden teşekkür ediyorum.

stlg

Sevgili murats123
Arkadasım olcmek istedigin dalgayı picin her hangi bir pinine girebilirsin ve bu pini surekli kontrol edersin bu pin yuksege cıktıgı an bir registerin icerigini artırmaya baslarsın bu pin low seviyeye dustugu andada registeri durdurursun ve bazı hesaplamalarla dogru degeri bulup lcd ye gonderebilirsin  bu şekilde artıda kalma ve ekside kalma surelerini ayrı ayrı bulup istedigin şekle donusturebilirsin bu işlem icin istersen tmr0 turu sayıcılarıda kullanabilirsin  kolay gelsin

              ALLAHA EMANET OLUNUZ
ALLAHA EMANET OLUNUZ Hoştur bana senden gelen,  Ya gonca gül yahut diken,  Ya kaftandır yahut kefen,  Kereminde hoş lütfunda hoş.

Erol YILMAZ

Puls genisligi mi   frekans mi?
Baslik ve icerik birbirini tutmuyor !

Petek

Pin b0 a bağla. interruptı aktifle. interrupt yükselen veya alçalan kenarda olması farketmez. İnterrupt rutininde bir timer çalıştır. interrupta ikinci girişinde timeri durdur. Eğer frekans çok yüksek ise bu durumda kaynağını timer counter girişine bağla, atıyorum 100 ms lik bir gecikmede counterden ne kadar puls saydığına bak. 0.1 s yi bu sayıya böl, sana periyodu verir.

İnternette açık kaynak kodlu frekansmetreleri incelersen orada mantığı daha iyi anlatıyorlar, kolay anlayabilirsin.
“Önyargıları yıkmak atomu parçalamaktan zordur” A.Einstein

timpati

sinyalin genliği 0-5V arası mı değişiyor? frekans ne civarında? dalga şekli kare mi?
why mr. anderson, why ?

murats123

Arkadaşlar  cevaplarınız için teşekkürler. Erol arkadaşım ben pals genişliği demek istemiştim  yanlış  anlatmış olabilirim  pals genişliğini mikrosecond cinsinden ölçecek  ve yüksek çözünürlüğe sahip olacak burdada kristal frekansının yüksek olması geekiyor galiba.

 Sinyalin genliği 0-10 volt arası  olacak dalga şekli  kare  dalga olmayacak sinüs olacak burda bir dalga şekillendirici devre gerekiyor,  picbasic pro nun kitapçığında aşağıdaki örnek var ;

' PULSIN Command
'
' Serial Pulse Width Meter

       Include "modedefs.bas"          ' Include serial modes

SO      con     0                       ' Define serial out pin
FI      con     4                       ' Define frequency input pin
W0      var     word

loop:   Pulsin FI,0,W0                  ' Measure pulse (in 10 uSec)
       If W0 = 0 Then disp             ' If non-zero, display
       Serout SO,N2400,[#W0]
disp:   Serout SO,N2400,["0 uSec",13,10]        ' Display trailer
       Goto loop                       ' Forever


bunun hassasiyeti ne acaba , bu programı  direk lcd li bir devrede kullanabilirmiyim,  ölçmek istediğim frekans  300-400 hertz ,yardımcı olan arkadaşlara teşekkür ediyorum.

mhk

Burda 2 ayrı kesme ile hassas ölçme yapılabilir. 1 kesme sinyalin 0 geçişleri için , 2 kesmede zamanlama için. Zamanlama kesmesi ilk anda 0 olacak ve ilgili mikroişlemcinin datasheet sayfasından istenilen hassasiyete kurulacak. Bu kesmenin önemi şudur. diyelimki 10 us lik kesmeler meydana getirdik. Bu 10us de bir kesme alt programına gidip zaman ölçümünde kullanacağımız değişken değerini 1 artıracaktır. Bu değişken değerini 0 yapacak olan diğer kesme ise sinyalin kendisidir. Yani sinyalin 0 geçişlerinde kesme meydana getirecek sitemi kurup kesme oluştuğunda zaman ölçümü için kullanılacak değişkeni geçici değişkene aktarıp asıl değişkeni 0 yapması sağlanır. geçici olarak kullandığımız değişkende bu sinyalin yarı genişliği ölçülmüş olur. Sinyal peryodik bir sinyal ise ölçülen değer 2 ile çarpılıp peryod bulunur.veya 0 geçişleri 2 defada bir zaman değişkenini 0 yapar. Bu sistemin çözünürlüğü kullanılan mikroişlemcinin hızı ile orantılıdır.
"Ya olduğun gibi görün, Ya da göründüğün gibi ol..." Mevlana