DS1302 ve Zaman ayarlı otomatik kapı!!

Başlatan caglayansamet, 15 Temmuz 2019, 23:01:16

caglayansamet

S.a arkadaşlar. DS1302 kullanarak saat ayar'lı ve açılma kapanma zamanlarını ayarlayabildiğim bir program yazdım.Program da ki sıkıntım şu; aslında programda mı sıkıntı yada donanımda mı akıl erdirebilmiş değilim ama. sıkıntım; saat,dakika değerleri standart bir zaman dilimi olmak sızın bazen 10 saat sonra bazen bir kaç saat sonra abest bir şekilde olması gereken saat veya dakikadan başka bir değere geçiyor. sıkıntıyı anlamış değilim .

DS1302 kullanıp'ta böyle bir sıkıntı ile karşılaşmış olan var mı? Önerisi olan olursa sevinirim. Konuya ilgili olan arkadaşlarla detaylı şekilde kendi denemelerim olan çözüm önerilerini paylaşırım ve program hakkında da nerde nasıl bir uygulama yaptım istişare ederim.


ete

Bu söylediğin olay gerçek devrede meydana geliyor ise yazılımda sorun var demektir. Genelde bu tür sorunlar çok sık şekilde zaman okumaktan kaynaklanıyor. Mantık açısından bakarsanız RTC de zaman değişimi 1000 ms de bir oluşuyor. Dolayısıyla bu değişim oluşmadan ne bileyim her 50 ms de bir zaman okumaya kalkarsanız sorun çıkabilir. Zira RTC de kendi içinde zamanı takip ediyor ve değiştikçe kendi registerlerine yerleştiriyor.sizde sık okuma yaparak bu işi sekteye uğratabilir yada bozarsınız. Tavsiyem bir şekilde sizde zaman tutun ve en azından 500 ms geçmeden zaman okumayın.
Diğer olası bir sorun da DS1302 nin registerlerinee yer alan zaman bilgilerinin BCD yani binary kodlanmış desimal formatında kayıt edilmesidir. Bu bilgiler okunduktan sonra normal desimal formata çevrilmeleri gerekiyor. Programın herhangi bir yerinde bu işlemi atlarsan zaman bilgisi farklı gözükecektir.
Bu sorun simulasyonda oluşuyor ise sebebi sık zaman okuması ve simulasyonun bu nedenle sapıtmasıdır. Çözüm ise benzer şekilde en azından 500 ms geçmeden yeniden zaman okuması yapmamak ve simulasyonada bu konuda fazla güvenmemek şeklinde açıklanabilir.

Ete

Powered by EzPortal