ana sayfa > Microchip > 57mm Display’li Frekansmetre devresi

57mm Display’li Frekansmetre devresi

Perşembe, 02 Tem 2015 yorum ekle yorumlara git
57mm Display’li Frekansmetre devresi

Selamlar,

Uzun zaman oldu yeni yazı yazmayalı. Okul iş vs derken epeyce bir ara vermek zorunda kaldım. Vakit bulmuşken yapmış olduğum bir frekansmetre devresini paylaşayım dedim.

Devreyi şebeke frekansı ölçmesi için yaptım. Ölçüm aralığı 20-100HZ arasıdır.

57mm katot display kullanılması gerekmektedir.  Display’ler  multiplex olarak sürülmektedir.

Temel ölçüm mantığımız alternatif akımın periyodunu ölçmeye dayanıyor. Yaptığımız ilk iş ilk önce Alternatif akımı kare dalgaya çevirip işlemcimizin Capture girişine vermek . Bu sayede gelen kare dalganın periyodunu işlemcinin capture modülü ile ölçebileceğiz.

Yapılan işlemler sırası ile şöyle

1-) 12V AC sinyali PC817 Optik Coupler ile Kare dalgaya çevirip kullanığımız Pic16F628’in RB3 yani CCP pinine bağlıyoruz. Bu iş için ben aşağıdaki gibi bir yapı kullandım.
Frekans1

2-)Daha sonra Capture Kesmesini yükselen kenar olarak ayarlayıp aktif ediyoruz. Bu sayede Her pozitif alternansta kare dalga oluşmuş olacak.

3-)Timer1′ sayacını aktif ediyoruz. İşlemcimiz 4Mhz dahili osc ile çalışıyor. Bu frekans girişte 4’e bölündüğü için CPU 1Mhz değerinde çalışıyor. Biz Timerin ön bölücü değerini 1/1 yapıyoruz. Bu sayede her bir timer artımı 1uS olmuş oluyor. Timer’dan okuduğumuz değer uS olarak doğrudan periyot değeri oluyor.

4-) Her CCP kesmesi oluştuğunda Timer Değerini sıfırlıyoruz ve ardından frekans değerini hesaplıyoruz.

Yapılan işlemler bunlardan ibaret. Bundan sonra bilindik display tarama işleri vs.

Devre şemamız ise aşağıdaki gibi.

Resmin üzerine tıklarsanız büyük olarak açılacaktır.

Devrede 57mm displayler kullanıyoruz. Bu displaylerde her bir segmentin voltajı 8-9V civarı. Bu yüzden picden çıkan 5V luk gerilimi 9V gerilime yükseltip vermek gerekiyor. Bunu yapmak içinde her bir segment için iki transistörlü bir yapı kullanmak gerekiyor. Katot display kullanılacaksa bu yapı şart.

Evet devrenin diğer resimleri ise aşağıdaki gibi



Evet devre bu şekilde. Çalışması için biraz kod yazmak gerekiyor.

Pic16F628 için hazırladığımız yazılım aşağıdadır.

Son olarak şunlara değineyim.

Programda 3 Adet kesme kullanıyoruz.
CCP kesmesi her yükselen kenarda oluşuyor. Bu kesme oluştuğunda Timer1 sayacının değeri CCP1L ve CCP1H registerlerine aktarılmış oluyor. Bizde kesme içerisinde Timer1 sayacının değerini sıfırlıyoruz ki bir sonraki periyot için timer değerimiz hazır olsun.
Timer0 kesmesi ile displayler taranıyor. Taramada Kesme kullanılması titreme olmaması açısından önemlidir
Timer1 kesmesi ise timer1 sayacının taşma yaptığı durumlarda oluşuyor. Timer1 kesmesi oluşuyorsa uygulanan frekansın peryodu 65535 uS den yüksektir. Yani bizim ölçüm aralığımızın dışındadır. Bu durumda sayaçları sıfırlayarak ekranda sıfır yazmasını sağlıyoruz.

Evet arkadaşlar frekansmetre için diyeceklerim bu kadar. Program ve PCB yi aşağıdaki linkten indirebilirsiniz

https://yadi.sk/d/TgB5TqKihdCb6

İyi çalışmalar.

Categories: Microchip Tags:
  1. ümit
    Pazar, 05 Tem 2015 zamanında 23:02 | #1

    Paylaşımlarınızı takip ediyorum. Teşekkür ederim . Linkten indirebilirsiniz demişsin ama linki ben mi göremedim.

  2. Ferhat YOL
    Pazartesi, 06 Tem 2015 zamanında 11:27 | #2

    @ümit
    Evet Eklemeyi unutmuşum. iyi çalışmalar.

  1. şimdilik geri bağlantı yok