Ölçü aletleri, elektronik ile ilgilenen insanlar için önemlidir. Birbirini izleyen elektriksel darbelerin frekansların ölçmek gerektiği zaman uygulanan ölçüm tekniği birçok şekilde kolaylaştırılmıştır. En basit yöntem bilinen bir kaynak ile karşılaştırmaktır. Buradaki referans kaynak elbette, mikrokontroller tarafından üretilen saat darbeleridir.
Bu projede "Atmega16 ve 74HC590 ile LED ekranlı frekansmetre" uygulaması üzerinde çalışacağız.
Frekans ölçümü
Frekansın tanımı olarak bakılırsa 1 saniyedeki değişken işaret (darbe) sayısıdır. Buna göre eğer bir lojik VE kapısı ile 1 saniye boyunca geçen darbe treni sayılırsa, sonuç darbe treninin frekansını verir.
Şekil-1 :Frekansmetre prensibini gösteren blok şeması.
LED ekran
Projede 8 adet 7 parçalı ortak anot kırmızı LED ekran kullanılmaktadır. Bu ekranların segmanları işlemci tarafından kontrol edilirken, gereken bacak sayısından dolayı ortak uçları yine işlemci tarafından kontrol edilen 74HC138 üzerinden sürülen transistörler tarafından sürülmektedir.Her ne kadar 8 tane LED ekran ver isede, sayıcı sistem 24 bit olduğundan 16777216'a kadar sayabilmektedir. Dolayısı ile sistemin sayabileceği frekans 16MHz olarak basite indirgeyebiliriz.
Şekil-2 :LED ekran sürme işleminde kullanılan 74HC138 bacak bağlantıları.
LED ekrana ek olarak LED ekranların segmanlarının sürme yolunu paylaşan 6 tane LED bulunmaktadır. Bunların sağ sıradaki 3 tanesi kademe olarak gösterirken, sol sıradaki kırmızı ölçüm yapılmakta olduğunu (VE kapısının açık olduğunu), sarı otomatik kademe/normal seçili olduğunu ve yeşil sürekli/tek ölçüm yapıldığını göstermek için kullanılır.Kontrol | Giriş | Çıkış | |||||||||||
E1 | E2 | E3 | A3 | A2 | A1 | Q7 | Q6 | Q5 | Q4 | Q4 | Q3 | Q2 | Q1 |
H | X | X | X | X | X | H | H | H | H | H | H | H | H |
X | H | X | X | X | X | H | H | H | H | H | H | H | H |
X | X | L | X | X | X | H | H | H | H | H | H | H | H |
L | L | H | L | L | L | H | H | H | H | H | H | H | L |
L | L | H | L | L | H | H | H | H | H | H | H | L | H |
L | L | H | L | H | L | H | H | H | H | H | L | H | H |
L | L | H | L | H | H | H | H | H | H | L | H | H | H |
L | L | H | H | L | L | H | H | H | L | H | H | H | H |
L | L | H | H | L | H | H | H | L | H | H | H | H | H |
L | L | H | H | H | L | H | L | H | H | H | H | H | H |
L | L | H | H | H | H | L | H | H | H | H | H | H | H |
74HC590
Buradaki asıl soru neden işlemcinin içindeki 16 bitlik Timer1(Sayıcı) kullanılmadığıdır. İşlemcinin içinde 16 bitlik Timer1 (Sayıcı) belirtildiği üzere 16 bit saymaktadır yani sonuç olarak 65536 değerine kadar sayabilir. Bu değerin üstünde bir değer için taşma kontrolu ile işlemci içinde ek sayıcı (yazılımsal olarak) oluşturma zorunluluğuna ek olarak burada Timer1 (sayıcı) harici girişinin belirli bir frekans cevabının olmasıdır.74HC590 entegresinin HC serisi olmasından dolayı yaklaşık 40MHz maksimum frekansa cevap verebilmesi ve işlemciye bağlanabilmesi tercih edilmesine neden olmuştur.
Entegre 8 bitlik bir sayıcıdır. Çıkışları kontrol edilebilir ve mikrokontroller birimine bağlanabilir porta sahip bir yapıdadır. Dolayısı ile iki veya daha fazla 74HC590 işlemciye kolaylıkla bağlanabilir. 74HC590 iç registerlerinde (sayıcı) asıl sayma işleminin yapıldığı bölüm olup diğer sayıcının değerini porta yönlendirmek için kullanılan tutucu registeridir. Bu registeri tutma işlemi bir bacak üzerinden kontrol edilir.
Şekil-3 :Sayıcı olarak kullanılan 74HC590 bacak bağlantıları.
Ayrıca tutma registerine bağlı bir taşma çıkışı yer aldığından kolaylıkla 24 bit sayıcı olarak düzenlenebilmektedir.
Giriş | Tanımı | ||||
OE | CPR | MRC | CE | CPC | |
H | X | X | X | X | Q Çıkışları yasaklı |
L | X | X | X | X | Q Çıkışları izinli |
X | L-H | X | X | X | Sayıcı verisi registere kaydedilir |
X | H-L | X | X | X | Register durumu değişmez |
X | X | L | X | X | Sayıcıyı sil |
X | X | H | L | L-H | gelişmiş bir sayma |
X | X | H | L | H-L | sayma yok |
X | X | H | H | X | sayma yok |
Bacak Simgesi | Tanımı |
Q0...Q7 | paralel veri çıkışı |
GND | 0 V |
RCO | elde çıkışı (aktif Lojik 0) |
MRC | Ana sayıcı sıfırlama (aktif Lojik 0) |
CPC | Sayıcı saat girişi (aktif lojik 1) |
CE | Sayıcı izin girişi (aktif lojik 0) |
CPR | Register saat girişi (aktif lojik 1) |
OE | Çıkış izin girişi (aktif lojik 0) |
Vcc | Besleme (+5 V) |
Devrenin Çalışması
Şekil-4 :Proje ilk çalıştırıldığında.
Devreye beslendiği zaman işlemci ilk olarak LED ekranlara 00000000 değerini yazacaktır. Ama soldaki sıfırların hiçbir anlamı olmadığından ekranda sadece 0 gösterilecektir. LED ekran mux olarak düzenlendiğinden sürekli olarak taranması gerekir. Buradaki tarama işlemi kontrolu 74HC138 üzerinden yapılmaktadır. Yani işlemci tarafından kontrol edilen 3 bacak kod çözme ile PNP transistörler üzerinden 8 LED ekran ortak bacağı sürülmektedir.
74HC590 entegreleri arda arda bağlanarak 24 bitlik bir sayıcı haline getirilmiştir. Görüleceği üzeri sayma işlemi donanımsal olarak yapılmaktadır. İşlemci kontrollu 1 saniyelik referans sinyalini Timer1 tarafından üretilir ve bu işlemci üzerinden 74HC590'ların CE bacağına uygular. (LED1 ölçüm yapıldığını göstermek üzere yanması sağlanır) 1 saniyelik zaman süresince 74HC590 CPC bacağına gelen sinyalleri sayar (gelen sinyal tersleyerek aynı zamanda CPR bacağına uygulanır) . 1 saniye sonunda sayma durdurulur ve LED1 söndürülür. İşlemci sayma durumuna göre (verinin önem sırasına göre) sıra ile 74HC590 OE bacaklarına lojik 0 uygulayarak 74HC590'lardan sayılmış olan değeri okur. Bu değerler hexadesimel sayı formatında olduğu için bu değerler onluk sayı sistemine (BCD) çevrilir. Ekranda gösterilecek şekilde uygun registerelere yerleştirilir. Ekranda mux olarak çalıştığı için belirli aralıklara yenilenmesi sağlanırken yeni alınmış değerde ekran üzerinde görüntülenir.
Değerleri 74HC590'dan okunmasından sonra yeni değer ölçümü için hazırlanması amacı ile MCR bacağına kısa bir süre lojik 0 uygulanarak sayıcılar sıfırlanır. Sistem yeni sayma işlemi için hazırdır
Tek/Sürekli (S3) butonu sayma işleminin tek veya sürekli (otomatik) ölçüm yapma arasında seçimi sağlanır. Tek ölçüm seçildiğini göstermek için LED2 yanar. Tek ölçüm seçeneğinde ölçüm yapabilmek için Tek ölçüm butonu (S1) basmak yeterlidir. Bu durumda LED1 ölçüm yapıldığı süre boyunca yanıp işlem sonunda sönecektir.
Kademe (S2) butonu ekranda gösterilen değere göre binler ve milyonlar hanesini nokta eklerken uygun bir şekilde LED4 (Hz), LED5 (KHz)ve LED6 (MHz) yanmasını sağlar. Kademe işleminin aktif olduğunu göstermek için LED3 ışık verecektir.
Şekil-5 :Otomatik kademe aktif değilken.
Şekil-6 :Otomatik kademe aktif (KHz)
Şekil-7 :Otomatik kademe aktif (MHz)
LED | Rengi | Tanımı |
LED1 | Kırmızı | Ölçüm yapıldığını gösterir |
LED2 | Yeşil | Tek ölçüm yapılacağını veya yapıldığını gösterir |
LED3 | Sarı | Otomatik kademe ile gösterildiğini |
LED4 | Kırmızı | Ekran değerinin 0...999 aralığında olduğunu gösterir (Hz) |
LED5 | Kırmızı | Ekran değerinin 1000...999999 aralığında olduğunu gösterir (KHz) |
LED6 | Kırmızı | Ekran değerinin 999999'dan büyük olduğunu gösterir (MHz) |
Devre
Devre iki kart üzerinde toplanmıştır.
Şekil-8 :İşlemci kartı üstten görünümü
Şekil-9 :İşlemci kartı üstten ve ekran kartı arkadan görünümü
Şekil-10 :İşlemci kartı arkadan görünümü
Şekil-11 :Kartların monte edilmiş haldeki görünümü
Şema
Sistemin kalbini IC1 ile ATMEGA16 oluşturuyor. Kesin zamanlama ihtiyacını karşılamak için XT1(8MHz) kristal ile C8 ve C9 (27pF) kondansatörler ile birlikte işlemci için gereken zamanlama frekansını üretirler. R18..R22, R24,R25, R26...R34 (1206-smd) (10k) dirençleri pull-up için kullanılmıştır.P2 klemensi üzerinden gelen frekansı ölçülecek sinyal, R23 (100R) üzerinden D5,D6 (5.1V zener) girişindeki giriş geriliminin 5V'un üzerinde olması durumuna göre IC5 (74HC14) girişini korumak için sinyali 5V'a sınırlar.
IC2 , IC3 ve IC4(74HC590) 8 bitlik sayıcı entegreleridir ve çıkışları paralel olarak alınabilir. 74HC590 entegrelerinin bağlantısı sayesinde 24 bitlik sayıcı sistemini oluşturur. IC5 (74HC14) giriş sinyalini schmit tetikleyici olarak çalışan (evirici) girişleri sayıcı kontrol edilen girişleri oluşturur.
DIS1..DIS8 (1056AUR1) 8 adet ortak katot LED ekran üzerinde ölçülen değer görüntülenir. Led ekran ile işlemci arasına akım sınırlama için R10...R17 (220R) dirençleri Led ekran segman sürücü olarak kullanılır. LED ekranların ortak uçları Q1...Q8 (BC327) transistörleri üzerinden sürülür. Transistörlerin baz uçları ile IC6 (74HC138) arasına R2...R9 (1k) sürücü dirençleri bağlanmıştır. IC6 (74HC138) 3-8 hat kod çözücü/ demultiplexer, eviren çıkışlı yapıdaki entegre işlemcinin yetersiz bacak bağlantısını artırıp LED ekran taramasını 4 işlemci hattı karşılığında 8 hatta dönüştürülmesinde kullanılmıştır.
LED1..LED6 ledlerin devrenin çalışmasını ve yaptığımız seçimleri göstermek için kullanılmaktadır. LED ekranları segman bağlantılarını paylaşan LED'ler diğer uçları birbirine bağlanıp Q1 (BC327) transistörü üzerinden sürülür. Q1 Baz ucu R1 (1k) üzerinden IC1 (Atmega16) (PB4) bağlanmıştır. LED1..LED6 IC6 aktif olmadığı zaman diliminde aktifleştirilerek DIS1..DIS8 mux zamanını paylaşır.
S1..S4 (buton) devrenin çalışmasındaki kullanıcı seçeneklerini erişim için kullanılır. D1..D4 (1N4148) diyotları üzerinden IC6 74HC138 (Y0..Y3) bacaklarını LED ekran sürücüleri üzerinden paylaşır. S1..S4 butonlarının ortak uçları IC1 (Atmega16) (PB7) üzerinden basılan butonu işlemci tarafından algılamasına imkan tanıyarak gerek işlevi yerine getirir.
Devrenin beslemesi P1 konnnektörü üzerinden D7 (W10M) köprü diyodu üzerinden IC7 (7805) regüle edilerek devrelinin ihtiyacı olan beslemeyi oluşturur.
Programlama için bir kablo üzerinden bağlantı sağlamak üzere ISP konnektörü bulunmaktadır.
Belirtilmeyen geri kalan kondansatörler filtre amaçlıdır.
Devre üzerinde anlatılmayıp, kutulama için kullanılan ek elemanlar, (SPST) aç/kapa anahtarı, adaptör için giriş ve P2 klemensi yerine bir BNC (kutu tipi) priz ve devreyi oluşturmak için gereken kartlara uygun bir kutu kullanmak yerinde olacaktır. İsteyen tabii kutusu uygun ise beslemesini kutu içine alabilir ve kartın üzerinde gerekli değişiklikleri yapabilir.
Şekil-12:Blok şeması
Şekil-13:Devre şeması
Devre Yapımı
Devre montajı açısından kritik bir durum yoktur. Elemanları karta lehimlerken kısa devre olmamaları için dikkatli olmak yerinde olacaktır.Devre kartı tek yüzlü olacak şekilde oluşturuldu. Görüldüğü üzere bir miktar tel köprü mevcuttur. İstenildiği takdirde çift yüzlü oluşturulup eleman tarafındaki kalan yüzeyler GND ile kaplanabilir. Bu durumda elektriksel parazitik etkilerden daha fazla yalıtılacaktır.
Şekil-14:İşlemci ve ekran kartı yollar
Şekil-15:İşlemci ve ekran kartı eleman yerleşimi
Şekil-16:İşlemci kartı üzerindeki bakırlı taraftaki eleman yerleşimi(SMD). Ekran kartı üzerinde bakırlı tarafa lehimlenmesi gereken eleman olmadığı için gösterilmemiştir.
Şekil-17:İşlemci ve ekran kartı yolları birlikte eleman yerleşimi
Şekil-18:İşlemci yolları birlikte SMD eleman yerleşimi
Şekil-19:Ekran işlemci kartı ve ekran kartı birlikte monte edilmiş halde.
Devre Elemanları
220R | R10..R17 |
1K | R1..R9 |
10K | R18..R22, R24,R25 |
10K (SMD-1206) | R26..R34 |
27pF | C8,C9 |
100nF | C3,C4,C6,C7,C10,C13,C15,C16 |
10µF/25V | C5, C11,C12,C14 |
100nF (SMD-1206) | C1,C2,C17 |
3mm LED (kırmızı) | LED1,LED4,LED5,LED6 |
3mm LED (yeşil) | LED2 |
3mm LED (sarı) | LED3 |
1056AUR1 veya benzeri | DIS1...DIS8 |
ATMEGA16 (DIL) | IC1 |
74HC590 | IC2,IC3,IC4 |
74HC14 | IC5 |
74HC138 | IC6 |
7805 | IC7 |
BC327 | Q1..Q9 |
W10M veya benzeri | D7 |
1N4148 | D1..D4 |
5.1V zener | D5,D6 |
8 Mhz kristal | XT1 |
2x3Header (ISP6) | isp |
2'li klemens | P1,P2 |
20 bacaklı entegre soketi (DIL) | 1 adet |
16 bacaklı entegre soketi (DIL) | 4 adet |
14 bacaklı entegre soketi (DIL) | 1 adet |
10 yollu şerit kablo | - |
2x5 header pin erkek | P3(kullanılmıyor) |
buton | S1...S4 |
Besleme için 9V'luk adaptör unutulmamalıdır. Kutulama yapılacaksa, aç/kapa anahtarı, BNC giriş, adaptör girişi ve uygun büyüklükte bir kutu , kablolar listeye eklenmelidir.
Kutulama
Şekil-20:İşlemci programlanırken.
Şekil-21:Kutunun alt (sol) ve üst (sağ) parçaları.
Şekil-22:Kutunun ön (üst)ve arka (alt) panel parçaları.
Şekil-23:Şase bağlantısı yapılmış BNC konnektör.
Şekil-24:Şase bağlantısı yapılmış BNC konnektör.
Şekil-25:BNC konnektörü kablosunun işlemci kartı üzerindeki bağlantısı.
Şekil-26:Adaptör girişi ve aç/kapa anahtarı.
Şekil-27:Adaptör girişinin monte şekli.
Şekil-28:Kutu içinin kartlar olmadan görünümü.
Şekil-29:Kutu kapatılmadan için.
Şekil-30:Cihazın bitmiş hali. Sadece kutunun süsü olan ön panele ihtiyacı var.
Şekil-31:Ön panel örneği.
Kullanımı
Şekil-32:Açılış LED durumu.
Şekil-33:Tek/Sürekli ölçüm işlemi.
Şekil-34:Tek/Sürekli ölçüm işlemi.
Şekil-35:Kademe seçimi ve gösterimi. Örneksel olarak..
Şekil-36:Sıfırlama işlemi
Ekler:
ATMEGA16 hakkında bilgi için
"Atmega16 ve 74HC590 ile LED Ekranlı Frekansmetre" projesi için gereken dosyalar
Bu devrenin yapım sorumluluğu size aittir. Devre yapıldı ve çalışıyor. K.A....
--DEVAM EDECEK!--
Hiç yorum yok:
Yorum Gönder