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.

10 Ocak 2011 Pazartesi

Atmega8 ve DS1307 ile LED Ekranlı Masa Saati


Birçok defalar saat projeleri ile uğraştık. Bu projeler çoğunlukla genel amaçlı uygulamalardı. Yani sadece devre halinde kaldılar. Ama bir devreyi gerçekleştirdikten sonra bu devrenin kullanılacağı yere göre kutulanması gerekir. Yoksa açıkça dış etkilere karşı açık hale gelir. Devrenin üzerine metal bir nesnenin düşmesi veya meraklı bir arkadaş ve kardeş devrenin orasını burasını karıştırmasını engellemek gerekir.

Bu projede Atmega8 ve DS1307 ile LED ekranlı masa saatini kutusu ile birlikte oluşturacağız.
Elektronik Saat

Değişik projelerden görüleceği gibi zaman ölçümünün son derece basittir. Saniye sayar, 59 değerine ulaştığı zaman sonraki saniye sinyalide saniye sayacını sıfırla ve dakika sayacını 1 artır. Bu işlem her saniye değeri 59'a ulaştığında gelen saniye sinyali ile tekrarlanır. Dakika sayacı da 59 değerine ulaştığı zaman sonraki dakika sinyalinde dakika sayacı sıfırlanır ve saat sayacı değeri 1 artırılır. Saat sayacının değeri 23 olduğu (23:59:59) zaman (24 saat modunda) gelen saat sinyalinde saat 00:00:00 değerine döner. Bu işlem tümü 1 gün kavramını ortaya çıkartır.

1 saniye kaynağı olarak isteyen işlemcinin kendi saat kaynağını kullanabileceği gibi bu projede zaten DS1307 tarafından oluşturulan 1 saniye sinyali kullanılabilir. DS1307 için işlemciden 2 bacak i2c bağlantısı ayrılmış durumdadır. Sadece eklenen 3. bacak sayesinde işlemcinin ihtiyaç duyacağı 1 saniye kaynağı sağlanmış olur.

Şekil-1 :DS1307 çipine bağlanan yedekleme pili sayesinde elektrik kesildiğinde ekranda görüntü olmasa bile saat çipi arka planda çalışmaya devam edecektir.

Elektrik kesintileri ne yazık ki yaşantımızın bir gerçeğidir. Bu durumda devre elektrik kesintilerinde çalışmaya devam edecek (ekranda göstermeksizin) elektrik geldiği zaman o anki saat güncellemesi ile göstermeye devem edecek. Güzel bir nokta ve çözümü zaten DS1307 içinde yatıyor. Devrenin kullandıığı yedekleme pili ile bu sorun kolaylıkla aşılır. Tek yapılması gereken elektrik geldiği zaman DS1307'den saniye, dakika ve saat değerlerini okuyup bunları işlemcideki değerlere güncellemektir. (Basit bir program işi)

Şekil-2 :Devre kutu içinde iken buton ve adaptör girişinin arkadan görünümü.

Sadece devre kartı tasarlarken kullanılacak kutunun boyutlarına göre tasarlamak önemlidir. Kutu kendi üretiminiz olacak veya başka yere yaptıracaksanız biraz daha serbestçe tasarım yapabilirsiniz. Ama kullanacağınız kutu hazır bir kutu ise o zaman zaten kuralları konulmuş bir oyun oynuyorsanız demektir. Doğal olarak devre kartı kutuya göre boyutlandırılması elbette önemlidir. Bu projede hazır plastik kutu kullanarak istenilen sonuca ulaşılmaya çalışıldı.

Şekil-3 :Kartın yandan görünümü. İki kart arasında ve diğer elemanlar arasındaki bağlantı görülmektedir.

Ekran kartı ana kart ile 90 decere bir açı oluşturacak şekilde monte edilecek şekilde monte edildi. Doğal olarak bu hem kutunun önünden bakıldığında ekranın arkasını kapattı, hem de ana kartın tasarımında daha geniş alan kullanımına olanak tanıyarak esneklik sağladı.

Saat ayarı için iki buton kutunun arkasına monte edildi (adaptör girişi ile) Önde kalabalık etmesi istenmediğinden ve butonlar biraz büyük olduğu için bu yola gidildi.
Devre

Devre iki ana bölümden oluşuyor: Ekran bölümü ve işlemci bölümü.

Ekran bölümünde saat değerini gösteren 6 adet 7 parçalı LED ekran ve 4 adet saat,dakika ve saniye aralarına konan ayıraçlar var. 7 parçalı LED ekran parçaları birleştirilmiş (a,b, ..,f,g) ve her LED ekranın seçilmesini sağlayan ortak uçları ayrı olarak alınmıştır. Bu her bir ekranın ayrı ayrı seçilmesine olanak tanır. Ayıraçlar ikişerli seri bağlanarak ve seri bağlı birer direnç ile doğrudan besleme hatlarına bağlanır.

İşlemci bölümü besleme, DS1307 (saat çipi), DS1307 için kristal, DS1307 için yedekleme pili,LED ekran sürücüleri , İşlemci ve butonlar için giriş bulunur. DS1307 ile işlemci 3 bacak bağlantısı vardır. Bunlar i2c için saat ve veri bağlantısı ve saniye sinyalini veren DS1307'nin saat çıkışıdır.

Ekran bölümü ile işlemci bölümü 90 derece açı oluşturacak şekilde bağlantısı sağlanır. Ek olarak 2 kalın tel ile kartlar birbirlerine sabitlenir.

Şekil-4 :İşlemci ve ekran kartları birlikte monte edilmiş halde.


Şekil-5 :Kutunun arkasındaki butonlar.


Şekil-6 :Adaptör girişi.Açılan yarığa m2.5 somun ve civata ile monte edilmiş halde.

Şema

Bu proje IC1 (Atmege8) üzerine kurulu. Dikkat edilirse kristal yok bu nedenle doğrudan işlemcinin iç saat üreteci devrede olacak şekilde sigorta ayarları yapılması gerekiyor. İşlemciye 3 hat üzerinden bağlı IC2 (DS1307) işlemci için 1Hz saat kaynağı olmakla birlikte aynı zamanda saat yedeği olarak kullanılıyor. Bu iki entegre arasındaki R12,R13,R14 (10K) dirençleri i2c ve 1Hz saat kaynağı bacaklarının pull up direnci olarak kullarak kullanılıyor. IC2 kristal bacaklarına bağlı XTL1 (32,768KHz) saat kristali DS1307 için referans saat üreteci olarak çalışır. Ayrıca IC2'nin pil bacağına bağlanmış Pil1 (3V'luk pil) DS1307 için yedekleme beslemesini sağlar.

DS1..DIS6 (S-5612AG-21) ortak anot 7 parçalı LED ekranlar ortak uçları Q1...Q6 (BC327) transistörleri tarafından sürülür(kollektörlerine bağlı). Transistörlerin ortak ucu +5V besleme ucuna bağlamıştır. Transistörllerin bas uçları R15...R20 (1 K) dirençleri üzerinden IC1 (Atmega8) bağlanmıştır. LED ekranların parçalarını oluşturan bacaklar birleştirilmiş ve R3...R9 dirençleri üzerinden IC1 (Atmega8) bacaklarına bağlanmıştır. Ayrıca D1, D2 ve R1 seri bağlanmış ve aynı şekilde D3,D4 ve R2 seri bağlanmış ve açıkta kalan uçları besleme hatları (+5V ve toprak) arasına bağlanmıştır.(besleme olduğu sürece süreki yanarlar.)

Besleme her devrede olduğu gibi devre içinde gerekli olduğundan, adaptör girişinden gelen besleme D5 (2W10M) üzerinden geçerek C6 (10µF/25V) ve C7 (100nF) üzerinde filtre edilerek IC3 (7805) üzerinde devrenin kullanabileceği 5V besleme gerilimine dönüştürülür. (Adaptör girişi kutunun arkasında bulunmaktadır. İki kablo ile işlemci kartına bağlantı sağlanmaktadır.)

İşlemcinin bacaklarına bağlı olan R10 ve R11 (10K) dirençleri saat ve dakika ayar butonları için (S1 ve S2) pull up dirençlerini oluşturuyor. (S1 ve S2 butonların kutunun arkasında bulunmaktadır)

Geriye kalan kondansatörler filtre amaçlıdır. Devre üzerinde devrenin kendisinden veya dışarıdan gelebilecek parazitleri bastırmak için kullanılmaktadırlar)

Şekil-7:Blok şeması


Şekil-8:Devrenin şeması

Devre Yapımı

Devre yapımı esnasında kullanılan devre elemanı kalitesinin ne kadar önemli olduğu görülmüştür. Çünkü özellikle DS1307 bacaklarına bağlı kristalin sorun çıkarabileceği göslenmiştir. Hatta uzun bir uğraştan sonra çözümün yeni bir tane almak yerine eski bilgisayar kartlarındaki saat kristalini kullanmak olduğu görülmüştür. Ne yazık ki aynı sorun saat pili soketi ile de yaşanmıştır. Bulunabildiği takdirde doğrudan lehimlenebilir pillerin kullanımı mümkündür. 7805 için küçük bir soğutucunun vidalanması yerinde olacaktır.

Tüm dirençler çeyrek wattır. R1 ve R2 önden güzel bir görünüm olması için kartın arkasına lehimlenmiştir)

Besleme konusunda bir sorun oluşturmayacağınızı düşünüyorsanız girişteki köprüyü devre dışı bırakabilir veya tek bir diyotla değiştiribilirsiniz. (Kendi besleme kaynağınız varsa ve devreyi kendiniz kullanacaksanız) LED ekranlar ortak ucu ortada ortak anottur. Bacak bağlantıları uyan başka bir LED ekran kullanılabilir. Farklı renklerde kullanılacaksa R3-R9 direnç değerlerini değiştirmek gerekebilir.

Şekil-9:Devrenin baskı devresi şekli-kartın eleman yüzü tarafından görünümüdür


Şekil-10:Devrenin yerleşim planı


Şekil-11:Eleman ve yolların birlikte görünümü


Şekil-12:Kartın alttan görünümü (Kartın altı lehimleme kolaylığı ve korozyana karşı kaplanmış) R10 ve R11 kartın altından lehimlenmiştir.

Devre Elemanları

470RR1,R2
220RR3,..,R9
1KR15,..,R20
10KR10,..,R14
100nFC1,C2,C3,C5,C7
10µF/25VC4,C6
100µF/25VC8
S-5612AG-21DIS1,..,DIS6
3mm yeşil LEDD1,..,D4
BC327Q1,..,Q6
2W10MD5
ATMEGA8IC1
DS1307IC2
7805IC3
butonS1,S2
32.768KHz kristalXTL1
6 bacak konnektörisp
3V bilgisayar pilipil1
Pil soketi-
17x15.5x5 cm boyutlarında kutu-
9V adaptör-
Adaptör soketi-
28 bacaklı entegre soketi-

Ayar Butonları

S1 ve S2 butonları saat ve dakika ayarı için kullanılır. Basitçe butona basıldığı zaman bağlı olduğu bacağı lojik 0 çekerek basıldığını işlemciye bildirir. İşlemcide belirli aralıklara butonların bağlı olduğu bacakları kontrol eder. Butonlara sürekli basıldığı zaman saat ve dakika hanelerini hızlı bir sayma yaparker, aralıklı basılması ile basma hızında sayma yapacaktır.
Burada dikkat edilecek konu yapılan saat değişikliğinin sadece saniye "00" olduğu zaman kaydedileceğidir." Yani saniye "00" değerine ulaşmadan enerji kesilirse yapılan ayar değişikliği kaydedilmeyecektir. Daha doğrusu DS1307 saat değeri güncellenmeyecektir.

Şekil-13:Butonların yerleşimi önden bakıldığında saat ve dakika yerleşimi şeklindedir.

DS1037 ilk satın alındığında 1Hz çıkışı va saat sayma bölümleri devre dışıdır. Bu bölümlerin devreye alınması için saat ilk çalıştırıldığında şekil 14'de gözterildiği gibi isp konnektörü üzerinde bir köprü yardımı ile iki ucun kısa devre edilmesi gerekiyor. Yani devre çalışmıyorken köprüyü tak, devreyi çalıştır, beslemeyi kapat ve köprüyü sök. Herşey tamamsa zaten devre beslemesi kesilmeden saymaya başlayacaktır.

Şekil-14:Köprünün takıldığı yer.Yeşil renkli alan.


Şekil-15:ISP konnektörü üzerine takılmış yeşil köprü görülmektedir.

Elektrik kesintisi olduğu zaman saat çalışmaya başlar ve DS1307'den saat ayarlarını alır ve çalışmaya başlar. Bu işlem her elektrik kesilip gelme durumunda yerine getirilir.
Kutulama

Yaklaşık 17x15.5x5 cm boyutlarında plastik bir kutu kullanılmıştır. Kutunun arka paneli üzerine buton ve adaptör girişi için delikler açılmış ve bu malzemeler yerleştirilmiştir. Kutunun alt bölümü üzerinde birkaç parçanın kırılması gerekmiştir. Kart tasarlanırken kutunun içinde tam yerleşimi düşünülmediğinden direk gibi parçaların olduğu yerlerde geniş boşluklar bırakılmış daha sonra devre toplandıktan sonra kart üzerinde bu bölümler oyulmuştur. Kart iki vida ile kutunun tabanına kartın arka bölümünden vidalanmaktadır, ön bölümde zaten ekran kartı olduğu için kutu içinde aşağı yukarı oynama imkanı yoktur.

Şekil-16:Kutu içindeki kart, kablo, buton ve adaptör soketi görülmektedir.

Kutu bu hali ile sadece ön panel bölümü yoktur. Ön panel için bir tane tercihen yeşil renkli şeffaf pleksiglas kesilerek yerleştirilmesi yeterlidir. (Beyaz şeffaf pleksiglasda iş görecektir)

Şekil-17:Şeffaf pencere için kesit ve pencerenin çizimi. Kenarlarını bir zımpara ile işlemek (özellikle bu kutu için) montaj kolaylığı sağlayacaktır. Diğer seçenek şeffaf pencereyi kutuya yapıştırmak!.


Şekil-18:Şeffaf pencerenin kutuya montajı, en azından bir kenarının kabaca kesitsel görünümü.(görüntü orantılı değildir)


Şekil-19:Şeffaf pencerenin kenarları zımparalanmış hali. Harcanan zamana değdi. Daha iyi işçilik için zamanım dardı. Bedelini öderseniz, belki şeffaf pencereyi satın aldığınız yere yaptırabilirsiniz. (Kutu üzerinde mutlaka deneyin!)


Şekil-20:Kartlar ve şeffaf pencere monte edilmiş kutunun arkadan görünümü.


Şekil-21:Kartlar ve şeffaf pencere monte edilmiş kutunun önden görünümü.


Şekil-22:Kutunun masa üzerinde düzgün bir şekilde durması için ayaklar. Bu tabaka olarak satılan kendinden yapışkanlı küçük ayaklar.


Şekil-23:Ayakların kutu altına yapıştırılmış hali.Ayaklar kutu montaj vidalarının yanına yapıştırılmış durumda. Ne olur ne olmaz bekli kutuyu sökmek gerekebilir.


Şekil-24:Tamamlanmış ve çalıştırılmış saatin görünümü.

Not:Devre gayet güzel bir şekilde çalışmaktadır. Az da olsa DS1307 için oluşturulmuş sistemler çevresel ortamlardan etkilenmektedir. Yani saatin ileri gitmesi veya geri kalması durumu olabilmekte. Eğer kesin saat üretimi istenirse çevresel şartların değişimini karşılayabilecek saat üreteç devreleri de mevcuttur. Tabii bulabilirseniz!


Ekler:
Sigorta ayarlarında 4MHz iç saat seçilmesi gerekiyor.

ATMEGA8 hakkında bilgi için

"Atmega8 ve DS1307 ile LED Ekranlı Masa Saati" için dosyalar-birleşik

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

1 yorum:

Kabil ATICI dedi ki...

Her proje ile ilgili gerekli (PCB, program gibi ) dosyalar "Ekler" başlığı altındaki bağlantılardan erişilebilir.

Translate

Sayfalar

Etiketler

İzleyiciler