Pic ile counter ve timer

Katılım
24 Ara 2007
Mesajlar
5
Puanları
1
Yaş
40
Merhaba arkadaşlar bir konuda desteğinizi rica ediyorum yardımlarınız için şimdiden teşekkür ederim.

Bir kare dalga sinyalimiz var frekansı sürekli değişken ben bu sinyalin pozitif pulse' lerini saydırmak istiyorum, istediğim değere geldiğinde bir çıkış vermek istiyorum. Fakat saydırmak istediğim değeri dışarıdan dip swich yada pot ile değiştirebilmek istiyorum. ikincisi istediğim değere ulaştığında vermek istediğim çıkışın pozitif kalma süresinide aynı şekilde dip swich yada pot ile ayarlayabilmek istiyorum. Benim bunu nasıl yapabileceğim konusunda yardımcı olursanız sevinirim.

Not : sayma değerleri 1 ile 100 arasında
zaman değerleri ise 1 ile 25 milisaniye arasında ayrlanabilir olmalıdır.
 
Arkadaşım öncelikle selamun aleyküm saydırmak istediğin sinyalin max frekansı ne kadar olack pic basicde bunun için bir komut var komutu yazıp altına da komutun kullanılması için gerekli açıklamaları yazayım sonrada değiştirmek istediğiniz süreleri nasıl değişeceğiniz hakkında da fikirler veririm.
Şimdi arkadaş bir pindeki frekansı saydırmak için kullanılan komut COUNT komutudur pic basic pro da yazılımı şu şekildedir
COUNT pin,peryot,değişken 'peryot ile belirlenen sürede pinden gelen palsleri sayar ve değişken içine kaydeder peryodun birimi milisaniyedir ve define osc komutu ile belirlenen osilatör frekansına bağlı olarak değişir ve bu komut sıfırdan 1 e geçişleri sayar 4mhz lik bir osilatör frekansında 20 mikro saniyede bir pinin durumunu kontrol eder.
Değiştirmek istediğiniz süreleri ise üç adet buton ile en basitinden ayarlayabilirsiniz örneğin
Pause Sure ' yazarak daha önceden süre değişkenin içine ayarladığınız zaman kadar bekletebilirsiniz eğer daha fazla yardım gerekirse programda da yardımcı olmak onur verir kolay gelsin ve hayırlı çalışmalar...
 
Tekrar merhaba ..
has_artvin_li kardeşim öncelikle verdiğin destek için çok teşekkür ederim. Fakat ben daha önce hiç pic programlamadım. bu benim ilk projem olacak, bu sebeple anlatım dilin benim seviyem için biraz ağır geldi. Eğer senin için çok fazla iş yükü olmayacaksa bana bu projenin açık kodunu yazabilirmisin.

Frekans konusuna gelince saydırmak istediğim frekans 10Hz ile 130Hz arasında sürekli değişebilen bir sinyal olacak.
 
Arkadaşım yazmış olduğunuz sorununuzu okudum ve programı yazdım umarım işinize faydası olur
 

Ekli dosyalar

  • Pic ile counter ve timer .rar
    331.4 KB · Görüntüleme: 27
Tekrar merhaba has_artvin_li kardeşim.

Benim için zaman ayırdığın için çok teşekkür ederim.
Yazdığın programın proteusta çizilmiş olan similasyonunu çalıştırdım fakat röleyi bir türlü çektiremedim.
Bi yerde hata yapıyorum diye düşünüyorum fakat bi türlü bulamadım. Bu gözle bir daha inceleyebilirmisin sana zahmet.
 
Şimdi ustam yukarıda görülen bi kare dalga sinyali üreten proteustaki adı clock olan bi cihaz var şimdi bu cihaza sağ tıklayıp ordaki frekans kısmında üretilen frekans değerini değişebiliyosunuz yani o clock cihazını sizin ölçeceğiniz karedalgayı temsilen koymuş bulunmaktayım dolayısıyla siz bu frekansa bakarak yada ordaki frekansı değştirerek işlem yapabiliyorsunuz ve clockun frekansını atıyorum 10Hz olarak ayarladınız rölenin çekmesi için ise istediğiniz frekansı ordaki clock cihazının frekansı ile eşit yapmanız gerekiyor zaten sorunuzda anladığım kadarı ile böyle...
özetlemek gerekirse mesela siz 1 saniyede 10 hz frekansındaki sinyal geldiğinde rölenin çekmesini istiyorsunuz ve pici bu şekilde ayarlıyorsunuz dolayısıyla clocktan farklı bir değerde frekans geliyor ve röle çekmiyor çünkü sizin istediğiniz frekans değil oysa clock kaynağındaki frekansı rölenin çekmesi için belirlediğiniz frekans ile eşitlerseniz röle olarak ayırdığımız pinde ayarladığınız süre kadar high yani lojik bir olduğunu göreceksiniz
Similasyondaki kare dalga üreten clock cihazını sizin ölçmek istediğiniz değişken frekans kaynağı olarak koydum siz ölçmek istediğiniz frekansı o pinden girmelisiniz ve rölenin çektiğini görmek içinde pic i clocktaki frekans ile eşitlemelisiniz
Similasyondaki clock cihazının frekansını clock un üzerine sağ tıklayıp tekrar sol tıklayarak açılan pencereden clock frequency kısmındaki yerden değiştirebilirsiniz diğer satırları ellemenizi pek önermem
Ve devrenizi gerçekte yapacağınız zamanda bu clock cihazı olmayacak onun yerine siz direk olarak ölçmek istediğiniz kaynağın kare dalga çıkış ucunu ve şasesini bu devre ile birleştirmeniz gerekecek bütün mevzu bu kadar
Bu arada isteğiniz üzerine tekrar gözden geçirdim programı tekrar hiç değiştirmeden derledim similasyona hex kodunu tekrar yükledim yukarıda anlattığım gibi çalışıyor ve tekrar adında yeniden derlediğim programı ve similasyonu aşağıda veriyorum isterseniz bir kere daha deneyin eğer çalışmassa probleminizi proteusta arayalım diye düşünüyorum
Kolay gelsin ve hayırlı çalışmalar
 

Ekli dosyalar

  • tekrar.rar
    20.6 KB · Görüntüleme: 7
Sevgili kardeşim has_artvin_li inan benim problemimle bu kadar yakından ilgileniyor olman açok sevindim ve sana şükranlarımı sunuyorum.

Şimdi senin anlattıklarınla ilgili hiç bir sorun yok. Hepsini uygulayabiliyorum, Yalnız problem en başta galiba.
* Benim yapmak istediğim projede aslında frekansın hiç bir önemi yok önemli olan sinyal içindeki piklerin sayısı. Frekansı vermemdeki amaç benim saymak istediğim piklerin saniyedeki minimum ve maksimum aralığını verebilmekti.

* Set değerlerini bir kez ayarladığımda enerji kesilse dahi değerlerin değişmemesi gerekli ki bu yüzden dip swichlerden bahsetmiştim

Not: Yapmak istediğim projenin kaba olarak prensibini anlatmak adına aşağıya ekliyorum.
 
Ustam istediğin devre bu mu bi incele istersen iş programa kalsın o kolay iş o zaman Bu arada elimden gelen birşey için neden ilgilenmiyim ki sonuçta bizimle de ilgilenen insanlarda oluyo herbirinden ALLAH razı olsun burası zaten yardımlaşma ve araştırmacılar için kullanılan bir site bizde paylaşım için burdayız Elimizden geldiğince
 

Ekli dosyalar

  • yeni.rar
    15.1 KB · Görüntüleme: 7
İyi niyetin için teşekkür edrim has_artvin_li kardeş..

Evet yapmak istediğim devre bu fakat röle çıkışını unutmuşsun herhalde .
Çalışma mantığını anlatabidiysem problem yok. devrenin son hali bu.
 
Tekrar selamun aleyküm usta sonunda oldu sanırım malum mantığı anlamak ve anlatmak kolay olmadı ama olsun sonunda sanırım anladık biraz
Şimdi yaptığım devrede switchlerden girdiğiniz frekans ve zaman değerlerine göre pic kaynaktan okuduğu frekansı switchlerdeki istenen frekans ile karşılaştırıyor eğer aynı ise röle çekiyor ekranda röle çekti yazıyor yine switchlerle ayarladığınız zaman kadar çekili kalıyor ve bırakıyor bu şekilde switclerde yada kaynaktaki frekans değişinceye kadar röle çekip bırakmaya devam ediyor aynı değil ise röle çekmiyor ve röle bıraktı yazıyor.
Bu programda en kötü ihtimal ile rölenin frekans değişmedikçe çekip bırakmasını önlemek isteyebileceğinizi düşünüyorum eğer böyle bir isteğiniz olursa programa bi buton daha ilave eder o isteğinizi de yaparız siz bunu bir inceleyin gerisi kolay.


Hayırlı çalışmalar ve kolay gelsin...
 

Ekli dosyalar

  • SAKARYA DENEME.rar
    42.5 KB · Görüntüleme: 8
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…