Gelişen mikrokontrol teknolojileri ve artan bilgi birikimi sayesinde geliştirici düzeyinde daha yaygın kullanımına olanak tanımıştır. Burada elimden geldiği kadar bazı örnekler sunmaya çalışacağım... Görüleceği gibi ilk örneklerimizde çoğunlukla ASM üzerinde iken daha sonraları C üzerinde örnekler yer almaktadır. Hatta ilerleyen zamanlarda Arduino örneklerinin yer alması kaçınılmaz olacaktır.

atmega16 etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
atmega16 etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

5 Şubat 2017 Pazar

Atmega16 ile LCD Ekranlı Şifreli Kilit

İnsanların güvenlik ihtiyacı her zaman olmuştur. Pencere, kapı gibi yapılarda kullanılan mekanik sistemlere günümüzde elektronik ve elektromekanik sistemler eklenmiştir. Şu anda ise güvenlik kasa kapısı, kapı, vb yapılarda rahatlıkla kullanılabilir hale gelmiştir.

Bu projede "Atmega16 ile LCD Ekranlı Şifreli Kilit" uygulamaya gerçekleştirmeye çalışılacaktır.

Kapı Kilidi
Şekil-1 :Eski ahşap kapılar ve üzerinde kullanılan kilit mekanizması. Sağdaki mekanizmanın görünümü. Bu mekanizma kapının yanındaki duvarda bulunmaktadır.

Şekil-2 :Şekil 1'deki kilit mekanizmasının kesit görünümü ve çalışması. Çalışma şekli (alttaki) açma mandalına (1) basma ile dili geriye doğru itilmekte ve kapıyı tutan çıkıntıda geriye kayınca (2) kapı kolaylıkla açılmaktadır. Kilit mekanizmasında kullanılan ahşap esnek olmak zorundadır.

Şekil-3 :İki kanatlı bahçe kapılarında kullahılan kilit mekanizması. Burada kilit açma mekanizması kapının kanadının üzerinde ve kilit mekanizması ise kapının üzerinde bulunur. Açma mekanizması (1) el ile yukarı kaldırıldığında, kapının üzerindeki kilit mekanizması kapının arkasından dayandığı çentiği çeker ve kapı (2) itilerek açılır. Buradaki kilit mekanizması yerçekimi etkisini kullandığı için ahşabın esnek olması sorunu yoktur. Ayrıca açma mekanizması uzunca bir tahta ile monte edildiği için kapı üzerindeki yarık gizlenmiş olur. Kapı üzerindeki halkalar gerektiğinde ip ile bağlanmakta veya asma kilit için uygun olmaktadır.

Geçmişte Anadolu'da kullanılan basit mekanik anahtar/kilit mekanizması mevcuttu. Özellikle ahşap malzemeden yapılan sistemden de kapıyı rahatlıkla kilitleyerek en azından istenmeyen girişleri bir yere kadar engelleyebiliyordu. En azından belirli bir güce erişememiş çocuklar ve hayvanların girişini engellemeye yeterliydi Ama insanların saklaması gereken eşyalarının artışı ile birlikte kapılara asma kilit eklediler, günümüzde ise çoğunlukla daha güvenlikli mekanik kilitlerle birlikte ahşap kapılar (en azından dış kapı) demir kapılar ile değiştirildi.
Şekil-4 :Günlük hayatımızda kullandığımızın kullandığı anahtar veya kilit mekanizmasının görünümü. Yapı farklı olsada çalışma şekli olarak benzerdir. (Kilit mekanizmasının dil ve diğer aksam gösterilmemiştir). Ortadaki çizmde, anahtar takılı değilken pimler orta göbeğin hareketine engel olacak şeklide kayar.(sağda) Uygun anahtar takıldığında pimler göbek bölümün hareketine izin verecek şekilde konumlanır, bu sayede göbek rahatlıkla döner. Buda dil mekanizmasının hareketine izin verir.

Birçoğumuzun (apartman) kapılarında insanların konforunu sağlamak üzere elektromekanik kilit sistemi vardır. Bu sistemde dil bir elektromıknatıs yardımı ile çekilerek kapının açılması sağlanır. Bu projedeki devre ile işe bu sistem girilen şifre ile kapının açılması sağlanır.

Tuş takımından girilenr şifre bir LCD ekranda görüntülenirken, girilen değer işlemcinin hafızasındaki değer ile uyuşursa, 1.5 saniyelik bir çıkış verir. Bu 1.5 saniyelik çıkış herhangi bir şekilde bir elektomekanik kapı kilidini çalıştırmak için yeterlidir.

Her ne kadar şifreli kilit olarak belirtilse de, mutlaka başka bir kullanım alanı bulunabilir. Küçük birkaç değişiklikle pekala başkasının kullanması istenmeyen bir cihazı çalıştırmak için kullanılacak bir devre haline getirilebilir.
Devrenin Çalışması
Şekil-5 :Tuş takımının parçaları. Soldan sağa,üstten alta gelecek şekilde konumlanmıştır.

Devre işlemci üzerine kurulu ise de butonlar bu devrenin vazgeçilmez bir parçasıdır. Çünkü şu an için en kolay veri giriş yöntemini oluşturmaktadır. Devrede kullanılan membran tuş takılarının yapısı ve çalışma şeklini internette bulabilirsiniz.
Şekil-6 :Tuş takımının tarama sistemi. (Gösterim olarak) Satır çıkışları 74HC20 tarafından kesme üretilirken işlemci tarafından hangi tuşun basıldığını belirlenir.

Projede 12 butonlu bir giriş tuş takımı kullanılmaktadır. İşlemciye bağlayabilecek kadar işlemci üzerinde bu kadar bacak olsa da, çoğullama yöntemi kullanılmaktadır. Bu butonların bağlantı sayısını azaltırken aynı zamanda veri işlenmesinde de kolaylık sağlamaktadır. Temelde LED çoğullama yöntemine benzer. Yani butonlar satır ve sütun oluşturacak şekilde matris olarak bağlanır. Örneğin sütunların sürüldüğünü varsayarsak;
Tüm sütunlar lojik 1 olarak sürülür. İlk sütun lojik 0 ile sürülür, bir süre sonra iki sütun lojik 0 ile sürülürken 1.sütun lojik 1 yapılır ve bu şekilde sadece bir sütun lojik 0 olacak şekilde sürülür. Burada ince nokta bir tuşa basıldığı zaman hangi sütunun lojik 0 olduğunu bilmektir.

Projedeki sistemde kesme sistemi yer almaktadır. Yani bir tuşa basıldığında hangi tuşa basıldığı farketmeksizin harici bir kesme üretir. Program kesme betiğine yönlendirildiğinde artık tuşun hangi satırda olduğunun belirlenmesi ve sütun bilindiğine göre basılan tuşa bir değer ataması yeterlidir. Devrede kesme üretmek için tuş takımın satır için kullanılan bacaklarına bağlanan 4 girişli VE DEĞİL (NAND) kapısı kullanılmaktadır. Her halükarda lojik sistemlerde belirsizlik sorun olduğu için her satır bacağına 10K'lık pull-up direnci bağlanmıştır.

Devrede sütunlar sürekli lojik 0 ile taranmaktadır. Bir butona basıldığı zaman hangi sütuna denk geldi ise satır ile bağlantı sağlandığından o satır lojik 0'a çekilir. Dolayısı ile VE DEĞİL kapısı lojik 1 çıkış vererek bir kesme çıkışı üretir. Kesmeye giren işlemci programı sütun bilindiğine göre satır için tarama yaparak hangi tuşa denk geldiğini belirler. Bu değeri ekrana yazar ve 6 haneli şifre için giriş yapar ve butonun bırakılmasını bekler, buton bırakıldığında kesme programından çıkar. 6 tane giriş yapıldıktan sonra onay tuşuna basılması ile girilmiş olan değer ile şifre karşılaştırılır uygun ise yaklaşık 1.5 saniye için alarm çıkışını aktif hale getirir. Şifre uygun değil ise bir şey yapmaz. Şifreyi kullanmaya çalışan kişiye geri bildirim yapmamak lazım. Tek geri bildirim şifre doğruysa alarm çıkışının aktiflemektir.

Devre ilk açıldığında LCD ekran başlangıç betiği işlemlerini yerine getirir. Bunun ardından şifre için kaydedilmiş olan değeri EEPROM'dan okur ve ilgili registere kaydeder. Sütun taraması işlemine geçer.

Devre
Şekil-7 :Yapılmış halde devre.

Devreyi işlemci (Atmega16), tuş takımı, karakter LCD, çıkış sürücüsü ve besleme olarak bölümlere ayırabiliriz.
Şekil-8 :Ana kart.

İşlemci devredeki ana bağlayıcı öğe olarak tuş takımı sürerken aynı zamanda tuş takımında basılan tuşulardan gelen bilgiyi denetler, karakter LCD'yi sürer ve gerekli mesajları gönderir, şifre doğru girişmişse belirli bir süre için (yaklaşık 1.5 sn kadar) açık kollektörlü çıkış sürücüsünü tetikler. Ayrıca ekranda rakam yerine "*" karakteri için köprü girişi ve şifre değiştirilmek istendiği zaman kullanılan ikinci bir köprü girişi yer almaktadır.
Şekil-9 :Membran tus takımı. Membran konnektöründe üzerinde 1 nolu uç belirtilmese de karışıklığı önlemek amacı ile belirtilmiştir.

Tuş takımı 3x4 matris yapılı telefon tuş takımı biçimindeki membran anahtar grubudur. 7 bacaklı dişi sıra pin çıkışa sahiptir.
Şekil-10 :2x16 karakter LCD. Mavi renk güzel görünüyor, her ne kadar arkaplan aydınlatması beyaz olsada. Tercih sebebi arkaplan aydınlatması 2 beyaz led ile yapılıyor olması.

Çıkış sürücüsü NPN transitörtdür. Base ucuna uygulanan sinyale göre kollektörüne bağlanan yükü enerjiler. (Yük VCC ve Transistör Kollektör arasında olması kaydı ile)

Besleme bölümü 7805 ile girişe verilen beslemeyi devreye uygun +5V haline dönüştüren bir yapıdır. Sadece girişte ters bağlama ihtimaline karşı köprü diyot eklenmiştir. Gerektiğinde bu köprü diyot devre dışı bırakılabilir
Şema
Devrenin kalbini IC1 (ATMEGA16) oluşturuyor.

IC1'e (ATMEGA16) bağlı C7,C8 (27pF) ve X1 (4MHZ kristal) oluşan parçalar işlemci için gereken saat sinyallerini oluşturur. P2 portu üzerinden işlemciye bağlı LCD kullanıcı ile arayüz oluşturur. Ayni şekilde P2 üzerinden LCD ekrana bağlı olan R2 (10K) trimpot ekranın kontrast ayarını değiştirmeye olanak verir.
IC2 (74HC20); işlemci P5 üzerinden tuşların sütun taramasını yaparken, bir tuş basıldığında satırlar üzerinden işlemciye harici kesme üretmesi için bir çıkış verir. Tuş takımının satır uçları, IC2 (74HC20) ve IC1 (Atmega16) ortak uçlarına bağlı olan R7..R10 (10k) dirençler C1 ve IC2 giriş uçları için pull-up işlevini yerine getirir. IC2'nin kullanılmayan kapısının girişleri lojik 0'a bağlanarak korumaya alınmıştır.

IC1'e bağlı R3(10K) pull up direnci olarak çalışmaktadır. IC1 (ATMEAGA16) bağlı olan R4(1k), R6(10k) ve Q1 (BC547) bir dijital transistör bağlantısı olarak çalışmakta dolayısı ile işlemcinin dış dünya için P3 üzerinden bir açık kollektörlü bağlantı olanağı sunmaktadır. (P3'ün bir ucu +5V besleme hattına bağlıdır.)
IC1 (ATMAGE16) bağlı olan R5(10K) ve J1 (YILDIZ) köprü bağlantısı ekran üzerinde basılan tuşa göre normal rakam veya (*) Yıldız karakteri arasında bir seçim yapma işlevini yerine getirir. (Köprü yok -normal rakamlar, köprü ile (*) işareti)

IC1 (ATMEGA16)'ya bağlı olan 2x3 sıra pinler işlemcinin programlanması için ISP bağlantısını oluşturur aynı zamanda MOSI ve GND bacakları arasına takılacak bir köprü ile şifre değiştirme işlevi için işlemciyi anahtarlar. (MOSI ve GND arasında köprü yok-normal şifreli kilit fonksiyonu; köprü var- Şifre değiştirme fonksiyonu)

P1'e (besleme girişi) bağlanmış D1 (W10M), D1'e (W10M) bağlı IC3 (7805) devre için gereken 5V besleme gerilimini üretir.

Geri kalan kondansatörler filtre amaçlı elemanlardır.

NotPCB üzerinde var olupta şemada P4 konnektörü gösterilmemiştir. Bu konnektör başka bir projede kullanmak üzere ayrılmıştır.
Şekil-11:Blok şeması

Şekil-12:Devre şeması (P1,P4 ve P6 konnektörü gösterilmemiştir)

Devre Yapımı

Devre montajı açısından kritik bir durum yoktur. Görüldüğü gibi devre son derece sadedir. Devre kartını küçük tutabilmek adına kondansatör ve dirençleri SMD kullanma yoluna gidildi.
Şekil-13:PCB şeması, yollar

Şekil-14:Kartların üstteki eleman yerleşimi.

Şekil-15:Kartların alttaki (SMD) eleman yerleşimi

Şekil-16:Kartların yolları birlikte üstteki eleman yerleşimi

Şekil-17:Kartların yolları birlikte alttaki (SMD) eleman yerleşimi

Şekil-18:Kartın arkadan görünümü

Devre Elemanları
470R (1206 smd)R1
1K (1206 smd)R4
10K (1206 smd)R3,R5,R6,R',R8,R9,R10
10K yatık trimpotR2
27pF (1206 smd)C7,C8
100nF (1206 smd)C1,C2,C3,C4,C5,C9
10µFC6,C10
B125C1500 veya benzeriD1
ABC016002E-BIW-02 (2x16 LCD)P2 (modül)
7805IC3
Atmega16IC1
74HC20IC2
BC547Q1
3,6864MHz KristalX1
6 Header (ISP6)ISP
2'li KlemensP1,P3
LCD için sırapin (16'lı)-
tuştakımı için sırapin (7'li)-
3x4 tuş takımıP5
2'li sırapinJ1
köprü (2 adet)-
40 bacak entegre soketi-
14 bacak entegre soketi-
34 bacak IDC (2 adet)-
16 yollu yassı kablo-
Besleme için 9V'luk adaptör unutulmamalıdır.

Devrenin Çalıştırılması
Devre monte edilip besleme verildiğinde devre çalışır ve ekranda 1. satırda "Şifre Gir:" mesajını gösterir ve sizin tuşa basmanızı bekler. Tuşa basıldığında ekranda basıldığını J1 köprüsünün durumuna göre rakam veya "*" simgesi ile görürsünüz.
Şekil-19:Açılış ekranı. Projede 2x16 ekran kullanılabilir.


Bu noktada eğer J1 takılı değilse tuşa basıldığında ekranda basılan tuşun temsil ettiği rakamı görülür. Şifre 6 haneli olarak düzenlenmiş olup başlangıç şifresi "012345" olarak belirlenmiştir. Programı tekrar derlemeden önce en alt satırdaki EEPROM ile ilgili bölümde şifreyi değiştirebilirsiniz. Değerler rakamların ASCII karşılığın olmalıdır.

Devre basitçe şifreyi yazmak için tuşlara basılır, 6 haneli rakam girişinden sonra onay butonuna basılır. Bu noktada P3 konnektöründen 1.5sn civarında bir çıkış alınır ve ekran yeni şifre için silinir.(Şifre 2. satırda gösterilmektedir)
Şekil-20:J1 takılı değilken tuşa basıldığında ekranda gösterilen bir örnek


J1 köprüsü takılı iken tuşa basıldığında ekranda "*" simgesi görülür. Ama yine de devre şifre kontrolu yapar.
Şekil-21:J1 köprüsü takılı iken

Şekil-22:J1 köprüsü takılı iken ekran görüntüsü örneği.


Eğer şifre kontrolunu doğru yapabilmek isteniyorsa, işlemci programlama esnasında EEPROM için oluşturulmuş dosya yüklemesi unutulmamalıdır. Eğer bu dosya unutulursa, şifre doğrulaması yapılamaz.Yeni şifre girilene kadar.

Yeni şifre girişi için ISP konnektörü üzerindeki MOSI ile GND uçları arasına bir köprü takılıyor. Ekrandaki mesaj değişzmez, ekran sıfırlanana (tuş takımı üzerindeki "C" tuşu). Rakamların görebilmesi için, J1 köprüsünün takılmamış olduğunda emin olunmalıdır. Ekranda "Yeni Şifre Gir:" mesajı görülecektir. Yeni şifra tuşlar kullanılarak girilir ve 6 rakama ulaşıldığında onay butonuna basılarak yeni şifre kaydedilir. Tekrar şifre giriş bölümüne geri dönmek için ISP konnektörü üzerindeki köprü yerinden çıkarılır ve gerekiyorsa J1 köprüsü tekrara takılır. Ekran sıfırlanana kadar ekranda bu mesaj kalır. Ekran sıfırlamasından sonra "Şifre Gir:" mesajı görüntülenir.
Şekil-23: ISP konnektörü üzerindeki köprü.

Şekil-24:Yeni şifre girişi için ekran mesajı.


Eğer yazılan şifreden emin olunamıyorsa, "C" tuşuna basılarak ekran silinebilir ve girilmiş olan şifre değeri sıfırlanabilir.

Şekil-25:Kart üzerine takılabilecek köprülerin konumları. Yeni şifre girişi için mavi, Yıldız simgesi için yeşil ile işaretlenmiştir.


EK: Şifre girişi esnasında örneğin 5 saniye içinde bir işlem yapılmazsa, sistemin sıfırlanması fonksiyonu eklenebilir. Proje sadece protatip düzeyinde düşünüldüğünden fazla fonksiyon üzerinde durulmamıştır.

Ekler:
Atmega16 hakkında bilgi için

"Atmega16 ile LCD Ekranlı Şifreli Kilit" projesi için gereken dosyalar

Bu devrenin yapım sorumluluğu size aittir. Devre yapıldı ve çalışıyor. K.A....





21 Nisan 2015 Salı

Atmega16 ve 74HC590 ile LED Ekranlı Frekansmetre


Ö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ı.

Projede bu lojik kapı yerine 74HC590 entegresinin (CE) giriş kontrol ucu işlemci tarafından denetlenerek sağlanmaktadır. Buradaki sihirli kelime 1 saniyedir. Çünkü referansın sağlam olursa sonucunda sağlıklı olacaktır. Bu durumda işlemcinin 8MHz saat kristalinden üretilen saat sinyali timer 1 yardımı ile 1 saniyelik referans sinyali üretilmektedir.

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.

KontrolGirişÇıkış
E1E2E3A3A2A1Q7Q6Q5Q4Q4Q3Q2Q1
HXXXXXHHHHHHHH
XHXXXXHHHHHHHH
XXLXXXHHHHHHHH
LLHLLLHHHHHHHL
LLHLLHHHHHHHLH
LLHLHLHHHHHLHH
LLHLHHHHHHLHHH
LLHHLLHHHLHHHH
LLHHLHHHLHHHHH
LLHHHLHLHHHHHH
LLHHHHLHHHHHHH
74HC138 entegresinin giriş çıkış tablosu yukarıda verilmiştir. L=lojik 0, H =lojik 1 ve X= ne olursa olsun

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ı.

Çıkışları kontrol edilebildiğinden (çıkış izni yok iken z durumunda) 3 tane 74HC590 entegresi işlemcinin aynı bacakları üzerinden veri iletimi yapabilmektedir.

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ı
OECPRMRCCECPC
HXXXXQ Çıkışları yasaklı
LXXXXQ Çıkışları izinli
XL-HXXXSayıcı verisi registere kaydedilir
XH-LXXXRegister durumu değişmez
XXLXXSayıcıyı sil
XXHLL-Hgelişmiş bir sayma
XXHLH-Lsayma yok
XXHHXsayma yok
74HC590 bacak bağlantıları ve tanımları. H=lojik 1 , L=lojik 0, X=ne olursa olsun, L-H = yükselen kenar, H-L= inen kenar.

Bacak SimgesiTanımı
Q0...Q7paralel veri çıkışı
GND0 V
RCOelde çıkışı (aktif Lojik 0)
MRCAna sayıcı sıfırlama (aktif Lojik 0)
CPCSayıcı saat girişi (aktif lojik 1)
CESayıcı izin girişi (aktif lojik 0)
CPRRegister saat girişi (aktif lojik 1)
OEÇıkış izin girişi (aktif lojik 0)
VccBesleme (+5 V)
74HC590 bacak simgesi ve tanımı yukarıda verilmiştir.

Devrenin Çalışması
Şekil-4 :Proje ilk çalıştırıldığında.

Kaçınılmaz olarak devre elemanları arasındaki bağlantıyı kontrol eden Atmega16'dır. 8MHz saat kristali ile işlemcinin ihtiyacı olan saat sinyalleri üretilir.

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)

LEDRengiTanımı
LED1KırmızıÖlçüm yapıldığını gösterir
LED2YeşilTek ölçüm yapılacağını veya yapıldığını gösterir
LED3SarıOtomatik kademe ile gösterildiğini
LED4KırmızıEkran değerinin 0...999 aralığında olduğunu gösterir (Hz)
LED5KırmızıEkran değerinin 1000...999999 aralığında olduğunu gösterir (KHz)
LED6KırmızıEkran değerinin 999999'dan büyük olduğunu gösterir (MHz)
LED'ler ve işlevleri

Devre
Devre iki kart üzerinde toplanmıştır.
Şekil-8 :İşlemci kartı üstten görünümü

Ekran kartı üzerinde LED ekranlar (8 adet), LED'ler (6 adet) ve butonlar (4 adet) bulunmaktadır.
Şekil-9 :İşlemci kartı üstten ve ekran kartı arkadan görünümü

İşlemci kartı üzerinde LED ekranları sürmek için 74HC138, transistörler ve akım sınırlama dirençleri bulunur. LED'leri sürmek için akım sınırlama dirençleri ve transistör yer almaktadır. Butonları sürmek için 74HC138'in bazı bacaklarını paylaşan bağlantı ile birlikte algılama ucu işlemci üzerindedir.
Şekil-10 :İşlemci kartı arkadan görünümü

İşlemci kartı üzerinde sayıcı girişlerini korumak üzere kullanılan direnç ve zener diyot bağlantısı üzerinden schmitt tetikleyici olan 74HC14 üzerinden giriş sinyali şekillendirme yapılır. Şekillendirilen giriş sinyali 3 adet 74HC590 üzerinde sayılarak işlemci üzerinde gerekli işlemleri yerine getirilir.
Şekil-11 :Kartların monte edilmiş haldeki görünümü

Son olarak P1 üzerinden alınan gerilim köprü diyot üzerinden geçirilerek 7805 üzerinden devre için gereken +5V besleme gerilimi oluşturulur.

Ş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.

İşlemci kartı ve ekran kartını birbirine montaj için delikler hizalanmıştır. Küçük bakır tellerin bu deliklere lehimlenerek bağlantının sağlanması yeterlidir. Kullanılan bakır tellerin yeteri kadar sağlam olması gerekir. Çünkü butonlara basıldığı zaman kart geriye doğru eğilmemesi gerekir, aksi halde ekran kartında sabitlenmesi gerekir.
Devre Elemanları

İşlemci kartı ve ekran kartı için malzeme listesi

220RR10..R17
1KR1..R9
10KR18..R22, R24,R25
10K (SMD-1206)R26..R34
27pFC8,C9
100nFC3,C4,C6,C7,C10,C13,C15,C16
10µF/25VC5, 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 benzeriDIS1...DIS8
ATMEGA16 (DIL)IC1
74HC590IC2,IC3,IC4
74HC14IC5
74HC138IC6
7805IC7
BC327Q1..Q9
W10M veya benzeriD7
1N4148D1..D4
5.1V zenerD5,D6
8 Mhz kristalXT1
2x3Header (ISP6)isp
2'li klemensP1,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 erkekP3(kullanılmıyor)
butonS1...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.

Kutu olarak stoklarımda yer alan plastik bir kutu kullanıldı. Kutu üzerindeki delikler ekran kartı üzerindeki elemanların yerleşimine göre açıldı. Kutunun altında bulunan çıkıntılar işlemci kartının montajı için bir miktarı kesildi. Ayrıca işlemci kartı biraz uzun bırakıldığı için kutunun alt parçasına vidalama için 2 delik açıldı.
Şekil-21:Kutunun alt (sol) ve üst (sağ) parçaları.

Şekil-22:Kutunun ön (üst)ve arka (alt) panel parçaları.

BNC priz kutu paneline monte edilebilecek bir yapıda olduğu için, bir ekranlı kablo ile BNC girişindeki bağlantılar kartın üzerindeki P2 bağlantısına taşındı. Ekranlı kablo bağlanması, elektriksel parazitlere bağlı sinyal bozulmasına karşı bir önlemdir.

Ş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ı.

Aç/kapa anahtarı ve adaptör prizini nasıl bağlandığını bildiğinizi varsayıyoruz. Bilmiyorsanız internet üzerinde arayabilirsiniz. Çünkü model ve markalarına göre değişiklik gösterebilir.

Ş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ü.

Son olarak kartlar kutu içine monte edilir ve kablo bağlantıları(BNC için P2 ve Besleme için P1) yapılır. Kutu kapatılmadan son bir kez test edilmesi yerinde olur.
Ş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.

Devre ilk açıldığında tek ölçüm led'i (kırmızı) ile Hz Led'i yanar ve ekranda 0 değeri görüntülenir. (Şekil-4'e bak) Devre ölçüm yaptıkça tek ölçüm Led'i yanıp söner.(ölçüm süresince yanar)
Şekil-33:Tek/Sürekli ölçüm işlemi.

Tek ölçüm yapmak için; (1) Tek/Sürekli butonuna basılır ve Tek/Sürekli led'i (yeşil) yanar. Bu konumda iken tek ölçüm LED'i bir kez yanar ve 1 saniye sonunda söner sonuç ekranda görüntülenir. (Hz led'i yanmaktadır) Tekrar ölçüm için (2) Tek Ölçüm butonuna basılır. Aynı şekilde tek ölçüm LED'i 1 saniye sonunda söner ve sonuç ekranda görüntülenir.
Şekil-34:Tek/Sürekli ölçüm işlemi.

Sürekli ölçüm yapmak için; (1) Tek/sürekli butonu kullanılarak Tek/sürekli led'i söndürülmesi yeterlidir. Ölçüm sürekli tekrarlanarak ekrandaki sonuç güncellenir.
Şekil-35:Kademe seçimi ve gösterimi. Örneksel olarak..

Otomatik kademe seçeneğinde (1) Kademe butonuna basarak Kademe Led'inin yanmasını sağlamak yeterlidir. Bu durumda ekrandaki değer büyüklüğüne göre ondalık nokta konumlanırken, uygun Hz, KHz, MHz LED'lerinden biri yanar. Normal gösterim durumuna dönmek için (1) Kademe butonuna basarak Kademe LED'inin sönmesini sağlamak yeterlidir.
Şekil-36:Sıfırlama işlemi

Ekrandaki ölçüm sonucunu silmek (1) Sıfırla butonuna basmak yeterlidir. Basılması ile birlikte ekrandaki değer 0 olarak gösterilir

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!--


Translate

Sayfalar

Etiketler

74C922 (1) 74HC125 (2) 74HC138 (1) 74HC20 (1) 74HC590 (1) 93C46 (5) adc (2) adım motor (1) Android (1) Arduino (5) Arduino UNO (5) at90S2313 (7) atmega128 (1) Atmega128 (1) atmega16 (5) atmega32 (4) Atmega328p (5) Atmega8 (44) attiny (1) attiny2313 (18) avr (71) barometre (1) bilgisayar ses (1) Biplor step motor (1) Bluetooth (2) bootloader (1) cep telefonu (1) CGRAM (1) CGROM (1) DHT11 (1) DS1302 (1) DS1307 (5) ds1820 (3) EDMCPR6YOY (1) ENC28J60 (3) ethernet (3) F2631XH-44 (1) fiber optik (2) floresan ekran (4) frekans (1) FT232BL (9) FT232RL (1) FTDI232 (3) GLCD (2) grafik LCD (8) HC06 (2) HH10D (2) HITCHACHI (1) higrometre (2) HP03S (1) HR911105A (1) i2c (1) isp (2) kapasitemetre (2) karakter LCD (5) kızılaltı (2) klavye (2) kondansatör (1) L2432 (1) L298 (1) LAN (1) LCD (22) LCD ekran (2) led (8) led ekran (14) led matris ekran (4) LM044L (1) LM1117-3V3 (2) LM35 (8) lm358 (1) LM75 (2) max3232 (1) MCP3550 (1) nea02017 (2) panasonic (1) PCF8574AT (2) PCM1602 (3) programlayıcı (1) RCM2048R (1) rs232 (16) rs485 (14) saat (14) sayıcı (1) Seri (3) Sharp (1) Step motor (1) şifreli kilit (2) T6963C (3) TC1602.TC2004 (1) termometre (13) tester (1) transistör (1) tuş takımı (2) tx179 (2) uf-150 (1) USB (14) voltmetre (1) wifi (1) YMC162 (2) zamanlayıcı (2)

İzleyiciler