Herhangi bir pinden frekans okumak.

Başlatan zuzunin, 25 Temmuz 2019, 22:18:45

zuzunin

Bir pic'in doğrudan timer0 veya timer1 pinlerini kullanmadan frekans okuma işlemini nasıl yapabilirim? Timer harici kesmesi ile olan okumadan bahsetmiyorum. Amacım 0 ile 100 Hz arası olan kare dalgayı okumak, ancak bu işlem timer'lar aracılığı ile doğrudan olmamalı.  Timer'ı sadece saniye ayarlamada kullanacağım. Buna benzer bir çalışması olan veya yol gösterecek birisi olursa çok sevinirim.

10f200.h

hocam istediğiniz aralıktaki frekansları net bir şekilde ölçmek için genelde capture özelliği kullanılır. birçok pic te capture özelliği var ama onlarda timer kullanılıyor diye biliyorum.eğer hiç timer kullanmayacağım derseniz rb0 kesmesi veya rb4-7 kesmesi kullanabilirsiniz.bu pinlerde bir değişiklik olduğunda pulse sayısını bir artırabilir ve timer ile kurduğunuz zamana göre frekans ölçümü yapabilirsiniz.

MB_77

Frekans tanımı gereği birim zamandaki sinyal olduğuna göre öyle veya böyle zaman tutmak gerekecektir. En basiti daha fazla timerı olan Mcu seçebilirsiniz. İlle timer kullanmadan çözmek isterseniz frekans - voltaj çeviricileri araştırın. Bu yolla Mcu dışında frekans voltaja çevrilir siz de adc'den okursunuz

ziyaretci

Basit bir RC devresi ve C üzerindeki analog sinyal üzerinden referans alarak frekans algılaması yapabilirsiniz. R ucuna sinyal girilecek.

@MB_77 'nin değindiği gibi.

Bunun dışında harici 8 bitlik bir J-K Flip-Flop(Yukarı sayacı) tasarlayıp paralel olarak sayaç bilgisini okuyabilirsiniz. Tabi bunun için içeride saniye bilgisine ihtiyaç olacak. Bunu MCU'nun biliyor olacak zaten. Timer modülü saniye için kullanacağım demiştiniz.

Bence en az maliyetli çözüm @10f200.h 'nin söylemiş olduğu.