5 farklı frekansta Kare Dalga PWM

Başlatan oongit, 20 Kasım 2010, 22:14:43

oongit

Aynı devre şemasına 1 adet 16F628 daha eklemek istiyorum. Ekleyeceğim 16F628'in görevi de, mevcut PIC'in CCP1 pininden çıkan frekansı ve o anki Duty oranını hesaplayamak...

Bunun için ekleyeceğim 16F628'in A0....A3 pinlerinden birini mi, yoksa CCP1 pinini (Capture ya da Compare) mi kullanmalıyım?

justice_for_all

CCP1 den capture modunu kullanmalisin...

ornegin her yukselen kenardan onu takip eden dier yukselen kenara kadar olan sure senin periyodun,

heryukselen kenardan,takip eden dusen kenara kadar gecen sure ise senin duty olacak..
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

oongit

Anladım... Peki bu hesaplama işlemi sonucunda, hesaplanan frekansı ve Duty oranını, herhangi bir pinden 8 ya da 10 bit çözünürlükte çıkış olarak alabilir miyim?

Mesela;
Çıkış 100 Hz ve Duty %10 ise 10101001,
Çıkış 250 Hz ve duty %65 ise 00110110 vs. gibi... Anlatabildim mi?

justice_for_all

ne yapmak istediginizi anlatirsaniz daha fazla yardimci olabilirim...
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

oongit

Şimdi verici devremizi tamamladık biliyorsunuz... İstediğimiz frekansta ve istediğimiz Duty oranında çıkış alabiliyoruz... Bu programla işimiz bitti.

Şimdi aynı devreye 1 adet daha 16F628 ekleyeceğim. Ekleyeceğimiz bu PIC, ilk programımızdaki PIC'in çıkışındaki frekansı ve Duty oranını hesaplayıp, herhangi bir pin üzerinden 8 ya da 10 bit olarak çıkış verecek...

Mesela;
Çıkış 100 Hz ve Duty %10 ise 10101001,
Çıkış 250 Hz ve duty %65 ise 00110110 vs. gibi...

justice_for_all

peki o dijital cikisi ne yapmayi dusunuyosunuz...
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

oongit

Ana işlemcim vasıtası ile GLCD ekranında hem frekansı hem de Duty oranını görebilmek için... Yani;

İlk 16F628 kare dalgayı üretiyor,
İkinci 16F628 bu kare dalganın frekansını ve Duty oranını ölçüp, ana işlemci olan 16F877'ye 8 bit ya da 10 bit olarak göndermek.
16F877 ise bundan gelen dijital bilgiye göre GLCD üzerinde o anki frekansı ve Duty oranını gösterecek...

Biraz dolaylı oldu ama; ana işlemcim olan 16F877 bu işlerle uğraşıp zaman kaybetsin istemiyorum. Çünkü; onun yapacağı iş çok önemli olacak...

justice_for_all

o zaman usart modulunden gonderebilirsiniz...

ana islemcinizin tx ve rx pinlerine baglanti yapin seri portla gonderin ...
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

oongit

Kitaptan şu Usart modülünü bir araştırayım bakalım, neler çıkacak?

justice_for_all

merak etmeyin usart moduluyle kolayca gonderirsiniz ama 8 bit seklinde gonderebilirsiniz...
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay