avatar_ete

Dijital Saat

Başlatan ete, 28 Ağustos 2011, 13:49:54

ete

Buton neden çalışmaz söyleyeyim. Muhtemel alternatifler aşağıdakiler olabilir
- Buton ilgili pine bağlı değildir. Bu nedenle önce bağlantı kontrolü yapılmalıdır. Yan butonun bir ucu pine kadar gidiyormu bakmalısın.
- Buton ilgili pine bağlıdır ama diğer tarafı GND ye bağlı değildir. (Pullup lı buton için geçerli)
- Buton bağlantıları normal ama pullup direnci bağlı değildir. Bu nedenle butona basılmadığı zaman ilgili buton pininin HIGH da beklediğinden emn olmak gerekir.
Başka alternatif aklıma gelmiyor bunlardan biridir sorun.

Ete

mehmetemin

Hocam size çok çok teşekkürler, harika çalışıyor, Butonlarimin ikisi mekanik olarak basınca çalışıyor, çıt sesi de gelmesine rağmen elektrik olarak kontakları kapanmiyormus. Dileyen arkadaşlar sizin izninizle saat 44_ds1307 devreyi PCB ile kullanabilirler..

mehmetemin

Hocam merhaba ; sizin saat 44 projenizde enerji gidip gelince saati ve ay günü yeniden ayarlamak gerekli değil mi ? Öylese ds1307 ye  3voltluk pili bağlamanın pratiği var mı? Saygılarımla..

ete


Data sheet de entegrenin şematik görünümü var ve bacaklarından birisi Vbat diye adlandırılmış Bu Battery yani pil bağlama bacağıdır. 3V luk lityum (Mesela CR2032) pilin + ucu buraya bağlanacaktır. Entegrenin 8 nolu pini ise Vcc yani şebeke besleme girişidir. Buraya da voltaj regülatöründen aldığın +5V bağlayacaksın. 4 nolu pine ise GND bağlanacak. Pilin eksi ucuda GND ye direk bağlanmalıdır.
Böylece çalışma esnasında DS1307 Vcc veya Vbat bacaklarından hangisinden daha yüksek voltaj geliyor ise o bacaktan besleme alır. Enerji kesilince otomatikman Vbat bacağı Vcc den dha yüksek olacağı için oradan beslenmesine devam eder ve bu şekilde zaman bilgisini unutmamış olur ve saat enerji kesilsede çalışmasına pil ile devam eder.

Ete


mehmetemin

Hocam verdiğiniz harika bilgiler için teşekkürler.. Hocam benim sormak istediğim konu ; saatin enerjisini kesip yeniden verdiğinizde ekran 00:00 hiç bir değişme yok + ve - tuşları pasif ta ki mode tuşuna basana kadar değişme yok. Modern tuşuna basıp saat, dakika sonra da gün ay ayarı mümkün oluyor.Hocam ben bu durumu soruyorum? Saygılarımla..

ete

Hangi programdan bahsediyorsun?. Belkide yazan o şekilde olsun diye komut vermiştir. Böyle havadan konuşamayız ki.
İşi bir temele dayandırmak lazım.

Ete

mehmetemin

Hocam kusura bakmayın program sizin saat 44_ds1307

ete

DS1307 ve diğer saat entegrelerinin ortak bir özelliği vardır. Saat yada sn registerinin 7. biti fabrikasında 1 yapılarak yollanır piyasaya. Bu bit in 1 olması demek saaaatin ayarlanmamış olduğunu bir göstergesidir ve saat ayarlanıncaya kadar saati çalıştırmaz.
Sen devrende mutlaka DS1307 için pil kullanmıyorsundur. Saate ayar vermeyince saat otomatikman ayar menüsüne girmeye çalışıyor bu nedenle SEC tuşu aktif bekliyor. Tuşa basınca da saat muhtemelen ayar menüsüne giriyor ve sende ratsgele bir şeyler veriyorsundur yada hiç bir şey vermesen bile sürekli sec tuşuna basarsan saate 00:00 ayarını vermiş oluyorsun ve böylece saat çalışmasını sürdürebiliyor.
Devrede pil kullanırsan verdiğin ayar hafızasında kalır ve saat o ayar üzerinden çalışmasını sürdürüp sürekli olarak zamanı enerji kesilse bile sayar.

Bu açıklama sana yeterli değil ise yada farklı bir sorun olduğunu düşünüyorsan kullandığın programı buraya koy bakayım.
Aynı program bende var ama zaman zaman değişiklikler yapıyorum sendeki farklı olabilir bu nedenle sendekini istedim.

Aslında bu sonuç yinede garip çünki saate ayar vermezsen çalışmaz verirsende en son ayar sürekli kalması gerekir. Pil olmasada halt biti sıfırlanmış olması gerekiyor ama denemediğim için emin olamadım incelemek gerek.

Ete

mehmetemin

Hocam, ds 1307 ye pil kullanıyorum, programimda ikinci sayfadaki sizin saat_44_ds1307 . Değerli vaktinizi ayırıp cevaplariniz için teşekkürler.. Hocam problemi çözdüm, başka bir ds1307 takınca problem çözüldü. Çok teşekkürler, saygılar..

seloeem

ETE hocam öncelikle projeleriniz ve ilginiz için teşekkürler.Bir sorum olacak, DS1302 ile yapılmış negatif dereceleri de gösteren projenizi isis te çalıştırdığımda display saati gösterirken düzgün bir şekilde çalışırken sıcaklığı göstermeye basladıgında saat duruyor tekrar display saati göstermeye başladığında kaldıgı yerden calısmaya devam ediyor buda saatte büyük bir gecikmeye neden oluyor.Acaba bu sorunu nasıl çözebilirim.Bu konuda bilgilendirebilirseniz sevinirim teşekkürler..

ete

#115
Hangi saatmiş o anlamadım. Adını söyle programın bakayım.
Simulasyona bakarak saati değerlendirmeyin. Gerçek devrede oluyorsa böyle şeyler o zaman anlarım ama simulasyon adı üzerinde adam simule ediyor.
Ete

seloeem

Ekteki dosya ETE  bey.Ben baskı devresini yapmadım daha yalnız simülasyonda inceledim o yüzden size danışmak istedim.

ete

Saat her ne kadar duruyor gibi gözüksede geri planda çalışmaktadır. Bu görüntü tamamen isis gösterim hatasıdır.
Çünki DS1302 nin kendi osilatörü (kristali) var ve geri planda voltajı olduğu müddetçe çalışır. Onu kimse durduramaz.
Bu nedenle denemeyi gerçek devrede yapman gerek. Ancak yinede peşinen söyleyeyim. Öyle çok hassas bir çalışma bekleme Etebu saatten. Sebebi saat osilatörlerinin sıcak ve soğuktan çok fazla etkilenip sıcakta hızlanması ve soğukta yavaşlaması nedeni ile saatlerin bir türlü düzen tutturamaması dır. Bu nedenle saat yapacak isen DS1307 ile yapılmış bir saat yap ve DS1307 yerine devrende DS3231 (kart halinde satılıyor) kullan. Bu şeklide 3 adet saatimi geçen kasım ayında DS3231 e çevirdim. Şu anda kadar henüz şaşmadılar. Bu saat entegresi içinde kendi TCO osilatirü mevcut. Bu ise sıcaklıktan etkilenmeyen hassas kalibre edilmiş bir osilatör olup yıl bazında şaşma miktarı yalnızca 1-3 sn olabilir. Benim saatler neredeyse 6 aydan fazladır çalışıyorlar henüz şaşmadılar. Tavisye ederim DS3231'i.
Hiç bir değişikliğe gerek yok devrede sadece kartın beslemesine dikkat etmen gerekiyor. DS1307 5V ile çalışırken DS3231'e 3V vermen gerek yada 3,3V. Bu nedenle besleme hattına iki tane seri 144001 bağla ve buşekilde ver. iki diyot yaklaşık 1,4V eksiltir ve DS3231 de sorunsuz çalışır. Kartın üzerinde kendi pullup dirençleride vardır onları da kullanman gerekmiyor. Sadece data hattına kartın Data hattını , CLK hattına kartın CLK hattını bağla yeterli.

Ete


xc10

Saatinizin ds1307 RTC versiyonlu olanı pcb hazırladım. Dosya ektedir.

mehmetemin

versiyon farkından dolayı açamadım, ekran görüntüsünü de eklermisiniz

Powered by EzPortal