Saat+Isı Tüm Projelerim

Başlatan ete, 19 Nisan 2006, 16:59:42

ete

SOnunda programları hatasız hale getirdim sanırım.

aşağıdaki linke koydum. Kususra bakmayın. Gerçekten program yazmaktan zor iş bunları düzenlemek.

http://www.hemenpaylas.com/download/522654/SAAT-ISI_7_.rar.html


Bu arada 7 nolu program tarihde gösteriyor. Saat ayarı yapılması mümkün ama tarih ayarını şimdilik koymadım. Çünki nasıl olması gerektiğine karar veremedim. Öneri olursa sevinirim.

Programların isis de simule edilecek şekilde ayarladım. Ayrıca elinde DS18B20 model dosyası olmayanlar için model dosyasınıda ilave ettim.
Ancak model dosyası ile simulasyonda isis çok yavaş çalışıyor. Bazı programlarda durma noltasına geliyor.

ETE
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

ete

DS1302 Trickle Şarj Sistemi Açıklamasıdır;

Bu RTC içinde Bağlanacak bir şarjlı pili düşük akımla şarj edecek bir sistem bulunmaktadır. Sistem 3 adet diyot ki bunlar 1 veya 2 adet olarak seçilebiliyor, ve sonda da 3 adet seçilebilir dirençten oluşmaktadır. Şimdi diyeceksiniz ne işe yarıyor bu diyotlar ve dirençler. Diyotların her biri 0,7 voltluk bir düşme sağladığından pili besleme voltajınızı ayarlamanızı sağlıyor. Dirençlerde akım sınırlaması yapıyor. Şimdi seçeneklere göre sistemi teker teker inceleyelim;
1. Tek diyot ve tek direnç ile besleme :
   burada devreye tek diyot girecek ve 2K lık direnç devreye girecektir.
   Besleme (VCC2)+5V olduğunu kabul edersek Pile giden şarj Voltajı
   5,0-0,7=4,3 Volta Düşecektir. Bu voltaj ayrıca 2K lık bir dirençten
   geçirilip pile verileceğinden şarj akımı 4,3/2=2,1 ma olacaktır.

  Alternatiflere nasıl kumanda edildiğini mesajın sonunda anlatacağım.

2. Tek Diyot ve Çift Direnç ile besleme:
   Tek diyot ve 2K + 4K lık dirençler parelel bağlı olarak besleme
   4,3 Volt besleme ve 3,22 ma şarj akımı

3. Tek Diyot ve 3 direnç ile besleme
   Tek diyot ve 2K+4K+8K lık dirençler paralel bağlı olarak besleme
   4,3 Volt besleme ve 3,76 ma şarj akımı

4. Çift Diyot ve Tek direnç besleme
   3,6 Volt besleme ve 1,8 ma şarj akımı

5. Çift Diyot ve Çift Direnç Besleme
   3,6 volt besleme ve 2,7 ma şarj akımı

6. Çift Diyot ve üç direnç besleme
   3,6 volt besleme ve 3,15 ma şarj akımı

Şimdi bu seçeneklerin ayarlanmasını açıklayayım.
Diyelimki 1. seçeneği uygulamak istiyoruz.
High RST
SHIFTOUT DTA,CLK,LSBFIRST,[%10010000,%10100101]
LOW RST

Burada %10010000 değeri Trickle şarj registerinin adresidir. %10100101 değeri ise 1 diyot 1 direnç sisteminin aktif edilmesini sağlayan komuttur.
%1010 değeri trickle şarjın açılmasını sağlayan değer olup sonra gelen 01  diyot seçim kodu ve sonra gelen 01 ise direnç seçim kodudur.
Aynı mantığı kullanarak diğer seçenekleri aktif hale getirelim;

- Tek Diyot ve 2 direnç seçeneğinin aktif edilmesi;
High RST
SHIFTOUT DTA,CLK,LSBFIRST,[%10010000,%10100110]
LOW RST


- Tek Diyot ve 3 Direnç seçeneğinin aktif edilmesi;
High RST
SHIFTOUT DTA,CLK,LSBFIRST,[%10010000,%10100111]
LOW RST


- Çift Diyot ve 1 Direnç seçeneğinin aktif edilmesi;
High RST
SHIFTOUT DTA,CLK,LSBFIRST,[%10010000,%10101001]
LOW RST


- Çift Diyot ve 2 Direnç seçeneğinin aktif edilmesi;
High RST
SHIFTOUT DTA,CLK,LSBFIRST,[%10010000,%10101010]
LOW RST


- Çift Diyot ve 3 Direnç seçeneğinin aktif edilmesi;
High RST
SHIFTOUT DTA,CLK,LSBFIRST,[%10010000,%10101011]
LOW RST


Son olarakda Trickle şarj sisteminin kapatılmasını vereyim.
High RST
SHIFTOUT DTA,CLK,LSBFIRST,[%10010000,%11110000]
LOW RST


Bu seçenekler devreye bağlanacak pilin değerlerine göre seçilmelidir. Sık elektrik kesilen yerlerde şarj akımı yüksek seçilebilir.
Umarım anlaşılmıştır.

ETE
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

vatandas30

üstadım verdiğin bilgiler için teşekkür ederim. en kısa zamanda deneyeceğim.

vatandas30

üstadım son olarak birşey sormak istiyorum. senin yazdığın gibi programın tanımlamalar kısmına ekledim. yalnız bunu da yazma modundan sonra mı eklemek gerekiyor. yani;
[code]
   high RST
   SHIFTOUT IO, SCLK, LSBFIRST, [$8E, 0]    'YAZMAK İÇİN HAZIRLA
   low RST
   High RST
   SHIFTOUT IO, SCLK, LSBFIRST,[%10010000,%10101001]  'trickle şarj açıldı( iki diyot, tek direnç)
   LOW RST
[code]

yoksa sadece tanımlama kısmına;
[/code]
High RST
SHIFTOUT IO, SCLK, LSBFIRST,[%10010000,%10101001]  'trickle şarj açıldı( iki diyot, tek direnç)
LOW RST
[code]
yazmak yeterli mi

ete

Aslında BURST mode (yani tüm registerlerin bir seferde yazılıp okunduğu mode) da çalışıyor isen nor mal okuma ve yazma rutinine trickle şarj kısmında eklemen gerekir. Yok her bir registeri ayrı ayrı okuyor isen trickle şarj registerini açma kapama işlemlerini istediğin yerde yapabilirsin.

Aklıma başka bir şey geldi,
Bu sistem yalnızca bir kere açılacak bir daha dokunmaya gerek yok sanırım.
Bu durumda programın başında bu komutu verirsen yeterli olacaktır sanırım.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

vatandas30

zaten programın başına yazdım. şimdi yükleyip pil üzerindeki gerilimi ölçeceğim. şu anda pilin gerilimi 3,3 volt. bunu ekleyip yüklediğim zaman sanırım pil üzerindeki gerilimin 3,6 volta çıkması lazım. böylece şarj olduğunu anlamış olurum sanırım.

ete

Program-7 de tarih ayar işinide hallettim. Sİstem şöyle çalışıyor;
Displaylerde saat gösteriliyor iken set butonuna basarsanız saati ayarlayabiliyorsunuz.
Şayet displaylerde tarih gösteriliyor iken set butonuna basarsanız tarihi ayarlayabiliyorsunuz.

Dosya aşağıdaki linktedir.

http://www.hemenpaylas.com/download/527051/Prog-7.rar.html

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

vatandas30

aşağıdaki şekilde yaptım ama pil gerilimi 3,6 ya çıkmadı.
SETTIME:            'YAZMA MODU
    high RST 
    SHIFTOUT IO, SCLK, LSBFIRST, [$8E, 0]    'YAZMAK İÇİN HAZIRLA
    low RST 
    high RST          
    SHIFTOUT IO, SCLK, LSBFIRST, [$BE, SANIYE, DAKIKA, SAAT,GUN , AY, GUNADI, YIL, 0]  'YAZ
    low RST 
    High RST 
    SHIFTOUT IO, SCLK, LSBFIRST,[%10010000,%10101001]  'trickle şarj açıldı( iki diyot, tek direnç) 
   LOW RST

sanırım burst mode bu oluyor. yanlışım nerede?

ete

Herşeyden önce arada direnç olduğu için VCC1 ucu ile GND arasına 3 volt dolayında şarjlı bir pil bağlaman gerekir. Bu pil üzerinde oluşan voltajı ölç bakalım ne gösterecek. Pil boş ise muhtemelen pil voltajını göreceksin. Belkide ancak 1 gün sonra pil voltajını ölçersen yüksek bir değer görebilirsin sanırım.
Bu sistemi denemedim. Dolayısıyla deneyen var ise bir fikir almak gerekir belkide.

ETE
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

ete

Data sheet'e bir kez daha baktımda, bir defa trickle şarj sistemi burst moduna dahil değil imiş. Dolayısıyla hiç yazma yapmadan şayet trickle şarj sistemini aktif hale getirecek isen mutlaka write protec bitini sıfırlaman gerek.
Ben program içinde tarih veya saat set ederken bu biti sıfırlamış idim. Şİmdi senin hiç yazma işi yapmadığını düşünerek trickle şarj sisteminin açılması için gerekli kodların aşağıda veriyorum;
LOW SCLK  'clock low dan başlamalı
HIGH  RST
SHIFTOUT  IO,SCLK,LSBFIRST,[$8E,$00] 'wrt protec açıldı
LOW RST
HIGH RST
SHIFTOUT IO, SCLK, LSBFIRST,[%10010000,%10101001]
LOW RST


Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

balkes10

normal bir pil kullanırsak ne kadar idare eder veya bizim bağladığımız pil sürekli çalışır mı yoksa sadece elektrikler kesilince mi devreye girer eğer elektrik kesildiğinde devreye girerse uzun süre gider şarja hiç gerek yokmuş gibi geliyor bilmiyorum yanlış mı düşünüyorum..
SADECE ŞAHLAR HAMLELERİ ÖNCEDEN SEZER

sapkaliamca

ETE hocam bilgileriniz için çok teşekkür ederim hepside çok değerli emeklerinizi yansıtıyor daha önce verdiğiniz masa saatli devreyi yaptım inanın çok sağlıklı çalışıyor (Proje (4))hiç şaşırma bile yok çok teşekkür ederim. ancak proje 5-6-7 yi bilgisayarda simule edemiyorum isis 6.7 kullanıyorum model dosyalarımı eksik acaba elinde olan arkadaşlar varsa link verirlerse sevinirim tekrar çok teşekkürler. kolay gelsin....
ŞAPKALIAMCA MUTLULUKLAR DİLER

ete

@Balkes10,

Pil şayet VCC1'e bağlanır ve VCC2 den normal beslemesi verilirse pil yalnızca elektrik kesilince devreye girer. Yalnız besleme voltajının Pil voltajından büyük olmasına dikkat ediniz.
Pilin ne kadar gideceğini bilemem denemek lazım. Bana kalırsa 1 yıldan fazla gider (Lityum pil olmak kaydı ile).


@Sapkaliamca,
Saat-Isı(7).rar dosyasına DS18B20 nin model dosyasını ilave etmiştim oradan alabilirsin. Ayrıca 6.7 sürümünden sanırım DS1302 nin model dosyası default olarak var sanırım.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

sapkaliamca

ETE hocam hallettim teşekkür ederim. eline sağlık
ŞAPKALIAMCA MUTLULUKLAR DİLER

balkes10

@ete

bugün daha önce yatığım saati ds1302 ye çevirdim gördüğüm küçük aksaklıkları bildirmek istedim

1. tarih gösterilirken ortadaki porta.3 e bağlı ledler high konumunda bırakılmış ben low yaptım hoş bir görüntü açısından
2. saniyeler yine önceki devredeki gibi zıplama yapıyor nedenini bir türlü bulamadım

bu devreyi 16f877 ye çevirmeye çalışacağım izninizle tarih gösrerilirken nokta ledleri konması hoş olurdu ama 16f628 de boş port kalmamış galiba böyle bir çevirme yapabilrirz belki veya başka bir öneriniz var mı ...
SADECE ŞAHLAR HAMLELERİ ÖNCEDEN SEZER