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.

4 Ağustos 2009 Salı

Atmega 8 ile RS485 iletişimli LED Saat


Saat zaman ölçüm aracı olarak vazgeçilmez bir nesnedir. Bunu kimse gözardı edemez. Hani bir söz vardır:"Bir saati olan zamanı kesin olarak bilir ama iki saati olan asla." Hangi saat olarsa olsun nerede durursa dursun mutlaka saatlerin gösterdikleri zaman arasında fark vardır. Bu o kadar önemli olmayabilir ama olabilirde.

İnsanlar zamanı kesin bir biçimde belirleyebilmek için atom saatleri geliştirdiler. Hassasiyetleri o kadar iyi idi ki 1 saniye ileri veya geri kalabilmesi için yüzyıllar geçmesi gerekiyordu. Ama atom saatlerinin sayısı artıkça bu saatlerin gösterdikleri değerler arasında farklar oluşmaya başladı. Hatta bu cihazların gösterdikleri değerlerin ayarlanması için ayrı bölüm oluşturulmak zorunda kaldılar. Çünkü ortaya tam zamanın ne olduğu konusunda bir sorun ortaya çıktı.

Hepimizin evinde, işinde veya etrafında aynı ortamda birden fazla saat vardır. Çoğunlukla bunları ayarlamak için zaman harcamak gerekir. Çünkü gösterdikleri değerler farklıdır. Peki hangisi doğru? Bu saatlerin aynı değeri göstermesini ve bir tek noktadan ayarlanmasına ne dersiniz? Bu projede bu konu ele alacak.

Aslında burada bir tek saat kaynağı var. Diğerleri aptal terminal olarak tanımlanabilecek sadece değeri gösterecek şekilde düzenlenmiş araçlardır. Bu projede saat kaynağı olarak ilk etapta bilgisayar öngörüldü. İletişim ortamı olarak RS485 düşünüldü. Bilgisayar için RS485 iletişim bölümü "RS232/RS485 dönüştürücü arabirim" projesinde ele alınmış ve birçok projede başarı ile kullanıldı.

Proje 4 adet LED ekran ve iki ayraç noktası üzerinde RS485 iletişimi ile gelen saat bilgisini ATMEGA8 işlemcisi yardımı ile gösterecek şekilde düzenlendi. Değişik projeler üzerinde LED ekranların çoğullaması sürülmesi ile ilgili uygulamalar
yapıldı.

Şekil-1 :ATMEGA 8 RS485 Saat LED çalışması.

Devrenin çalışması

Devre "Atmega8 ile RS485 İletişimli Led Ekran" projesinde anlatıldığı gibi çalışıyor. Neredeyse aynısı. Tek fark LED ekranların arasında yer alan ayıraç ledleri. Bu ledler için bir kontrol programı eklendi o kadar. Örneğin "80" gönderildiğinde LEDler yanar. "81" gönderildiğinde söner. RS 485 bağlantısı üzerine birden çok bu modülden eklendiğinde hepsi aynı değeri göstermiş olacaktır.

Şema

Sistem Atmega8 işlemcisine dayalı. Bu işlemcinin saat frekansı XTL1, C5 ve C6 tarafından sağlanır. (Burada niye 4MHz diyenler için 3,6864MHz kristali bulmakta biraz zorlandım ve fazla uzatmak istemedim.) R3…R9 dirençleri LED akım sınırlama dirençleridir.R10…R15 dirençleri transistör akım sınırlama dirençleridir. D3…D6 7 parçalı LED ekranların ortak bacakları Q1,Q2,Q4 ve Q5 transistörler ile sürülür. LED ekranların her (a,b,c,…)aynı parçası birlikte bağlanarak işlemciye ilişkilendirilir. Böylece bir çoğullama devresi oluşturulur. D7 ve D8 ayıraç ledleri R12 direnci üzerinden Q3 transistörü ile sürülür. Böylece işlemci ile yakılıp söndürülmesi sağlanır. R2, D2 birlikte enerji var ve işlemci çalışıyor göstergesi olarak çalışıyor. ISP konektörü işlemci programlamak için kullanılacak konektör bağlantısıdır. (isteyen işlemciyi başka bir yerde programlayıp sonra devreye takabilir.)

IC2 artık bilindiği üzere RS485-RS232 dönüştürücü. R1 direnci hat empedans uygunlaştırma direnci. P1 RS485 bağlantısı için 6p2c konnektörüdür.( İsteyen başka bir bağlantı yöntemi kullanabilir)

D1, IC3, C2, C3, C7 ve C8 besleme devresini oluşturmaktalar. Geriye kalan bütün kondansatörler devre oluşabilecek gürültüleri süzme görevini yerine getirir. Eh geriyede pek fazla eleman kalmadı.

Şekil-2 :ATMEGA 8 RS485 SAAT LED Sürücü devresinin blok şeması.


Şekil-3 :ATMEGA 8 RS485 SAAT LED Sürücü devresi.

Devre Yapımı

Devre montaj açısından fazla bir kritik eleman içermiyor.Dikkatli bir şekilde monte edildiği zaman bir sorun çıkarmıyor. Kartı kendiniz yapacaksanız, elemanları monte etmeden önce bir son kontrol yerinde olabilir. Tümdevreleri takmadan önce devreye besleme gerilim uygulayıp, besleme bacaklarında besleme gerilimi olduğunu onayladıktan sonra entegre devrelerin takınması yerinde olacaktır.

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

Kristal kılıfının GND ile bağlantısı oluşturulması olası kaçak kondansatörleri dolayısı ile sizden kaynaklanabilecek sorunları ortadan kaldıracaktır.

Şekil-5:Devrenin baskı devresi şekli


Şekil-4:Devrenin yerleşim planı


Şekil-6:Kartın eleman ve yollarla birlikte yerleşim planı

Devre Elemanları

120RR1
220RR3,R4,R5,R6,R7,R8,R9
470RR12
1KR2,R10,R11,R13,R14,R15
10µF/25VC2,C8
27pFC5,C6
100nFC1,C3,C4,C7,C9
MAX485IC2
ATMEGA8IC1
7805IC3
4MHz kristalXTL1
3mm Sarı LEDD2
3mm Kırmızı LEDD7,D8
7 parçalı LED EkranD3,D4,D5,D6
BC327Q1,Q2,Q3,Q4,Q5
B125C1500 veya benzeriD1
6P6C ve 6P2C rj12 konnektörP1
6P konnektörISP

Malzeme listesi. Burada işlemci ve diğer tümdevreler için soket,9V adaptör verilmemiştir. Entegreler için soket isteğe bağlıdır. Köprü olarak bacak bağlantıları uyan herhangi bir eleman kullanılabilir.

Şekil-7:Kartın arkadan görünümü. Sıkışıklık biraz özen gerektirir.


Şekil-8:Kart saat olarak çalışırken. Yeşil LED ekran ve yeşil LED kullanılarak yapılmış.


Şekil-9:Kart saat olarak çalışırken. Kırmızı LED ekran ve kırmızı LED kullanılarak yapılmış.

Bilgisayar Programı


Şekil-10:LED ekran devresine veri göndermek üzere kullanılan bilgisayar programın ana penceresi.

Pencere üzerinde LED ekrana bilgi gönderebilecek 5 bölge var. Bunlar en sağ taraftaki yuvarlak butoncuklar ile seçiliyor. Seçilen bölge mavi renkte işaretlenmekte ve o bölge üzerinde işlem yapılabilmekte.

Şekil 10'daki resimde görülen alanların basitce tanımlarını açıklayacak olursak;
  1. 1000 hanesi değer seçme. (Saat 10 hanesi)
  2. 100 hanesi değer seçme. (Saat 1 hanesi)
  3. Ayıraç LEDlerinin yanıp sönmesi buton ile kontrol edilir.
  4. 10 hanesi değer seçme. (dakika 10 hanesi)
  5. 1 hanesi değer seçme. (dakika 1 hanesi)
  6. LED ekrana yandaki ayarlara uygun değerleri ekrana gönderir.
  7. LED Ekrana saat bilgisi gönderildiği zaman saat bu bölgede saklanır.
  8. Saat bilgisi burada görüntülenir ve buradan gönderilir.
  9. Saat bilgisinin LED ekrana gönderilir veya gönderilmesini keser.
  10. Ekranı silerek Devrenin genel tanımı başlığı üzerindeki gibi görünmesini sağlar
  11. Seçenekler penceresini açar


Şekil-11:LED ekran devresine veri göndermek üzere kullanılan bilgisayar programının seçenekler penceresi.

Şekil 11'deki resimde görülen alanların basitce tanımlarını açıklayacak olursak;
  1. Bilgisayarda seri port seçimini sağlar.
  2. LED ekrana gidecek değerin güncelleme süresini ayarlar.(Burada kullanılmıyor)
  3. LED ekran seçimi (4 dijit veya 3 1/2 dijit) (24 saat 12 saat moduna göre)
  4. Seçenekleri onaylar ve pencereyi kapatır(Program penceresini açar)

Not:Program Delphi 7 ile sadece LED ekran kartını test için yazılmıştır.

Devre ile neler yapılabileceği sadece hayal gücüne kalmış..


Ekler:

NOT: Bu proje bu hali ile "RS232/RS485 dönüştürücü arabirim" projesi ile birlikte kullanılmaktadır.

Atmega 8 ile RS485 iletişimli LED Saat için dosyalar- birleşik

ATmega8 hakkında ayrıntılı bilgi için

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

Hiç yorum yok:

Translate

Sayfalar

Etiketler

İzleyiciler