avatar_mierdogan

PIC e kayıt tutturmak?

Başlatan mierdogan, 12 Aralık 2012, 20:10:48

mierdogan

Merhabalar!

Basit bir LM35 li termometre yapsak ve bu termometremize kayıt tutma özelliği eklemek istesek nasıl bir yol izlemeliyiz? mesela yarım saatte bir ölçtüğü sıcaklığı kayıt edecek kayıt geçmişi 24 saatlik olacak?

İzlememiz gereken yol nasıl olmalı?

Saygılar
"Doğal bir esin arzulu bir isteğe dönüştüğünde, insan hedefine dev adımlarla ulaşır..."

M_B

merhaba;
Kayıt tutma özelliği olarak SD kart veya 24C serisi eeprom kullanılabilir.
Daha kısa olarak pic 'in eeprom kısmıda kullanılabilir. Eger geriye donuk degerlere bakılmayacaksa. (  24 saatten öncekilere )




Mucit23

#2
Sistemde RTC olmak zorunda mutlaka
RTC olduktan sonra işin kolay. 

Madem 30 Saatte bir tutacaksın O halde günde toplamda 48 kayıt eder.  Bu durumda Sana 1Kb (24C08) Boyutunda eeprom rahatlıkla yetecektir.

Kaydırma metoduyla kayıt yapman gerekir. Yani  yeni Bir kayıt geldiğinde 1. kayıta yazacaksın. 1. kayıt yerindeki bilgileri 2. kayıt yerine yazacaksın. Bu şekilde tüm adreslerdeki bilgileri 1 kaydırıp 24. adresteki bilgileri çöpe atacaksın.Bu sayede Sürekli  Elinde son 48 data bulunur.

Kayıt bilgilerini ise tarih saat, sıcaklık bilgi şeklinde tut. Yani kağıda dökersen Bugünün Tarihi için 12/12/12 21:10 28.8C Şeklinde olur. Buda Yaklaşık 15Byte eder. 
Eepromu adreslere böleceksen  adreslemeyi 15 byte  aralıklarla yapman gerekir.

Örneğin
1. Adres $00 ise
2. Adres $0F
3. Adres $1E
4. Adres $2D
5. Adres $3C
6. Adres $4B
7. Adres $5A
        .
        .
        .
        .
        .
        .
48. Adres $XX şeklinde sabit adresler tanımla.

Yapman Gerekenler Sırasıyla şöyle olacak

1-) Ana Programda Sürekli Sıcaklığı ve Saati oku
2-) Yarım Saatte bir kayıt yapacaksan Zamanı tutman Gerekir
3-) Süre 30Dk olduğunda eeproma yazmak üzere ozamanki sıcaklık bilgilerini ve zaman bilgilerini al
4-) 47. Adresteki sıcaklık bilgisini 48'e,
     46. Adresteki sıcaklık bilgisini 47'ye,
     45. Adresteki sıcaklık bilgisini 46'ya
                          .
                          .
                          .
                          .
                          .
                          .
     2. Adresteki sıcaklık bilgisini 3'e
     1. Adresteki sıcaklık bilgisini 2'ye kaydet ve son olarak en sonki okuduğun sıcaklık bilgisinide 1.  Adrese kaydet.  Yani Tüm bilgileri bir adet yukarı kaydırmış oldun.

Her yarım Saatte bir Bunu yaparsan Eeprom içerisinde 1 günlük güncel sıcaklık bilgisi sürekli tutulur.

Ben olsaydım böyle yapardım. Daha iyi fikirlerde çıkabilir elbet
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

mierdogan

Adresleri sanırım tek tek belirtmek lazım acaba daha pratik bir yol var mıdır? Yada konuyu anlayamadım

Saygılar
"Doğal bir esin arzulu bir isteğe dönüştüğünde, insan hedefine dev adımlarla ulaşır..."

Mucit23

Zor bir tarafı yok adreslemenin. Eline bir hesap makinası alsan taş çatlasa 10-15 dakikanı alır.

Hadi bakalım...
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

mustafa

Eğer 18f serisi bir pic kullanrsan bunların eeprom hafızaları daha geniş oluyor.  Adresleme için ise proton için şöyle olabilir.her yarım saatte bir eepromyaz etiketine programı dallandırırsan ;

eepromyaz:

ewrıte sayıcı,[verı]
sayıcı=sayıcı+1
return
şeklinde olabilir.


mierdogan

Herdefasinda aynı adresi yazmazmi bu sekilde? Yoksa bu sadece dallanma icin vrdiginiz bir ornekmidir?

Saygilar
"Doğal bir esin arzulu bir isteğe dönüştüğünde, insan hedefine dev adımlarla ulaşır..."

mustafa

bu şekilde yazarsak eğer sayıcı değeri 0 dan başlayarak her seferinde bir atacak ve değer bir sonraki adrese kaydedilecektir. Ancak eeprom a yazacağımız değer byte türünden ise sayıcıyı 1 , word ise 2 , dword veya float ise 4 olarak arttırmalısın.

mierdogan

Merhaba Mustafa Bey

Açıklama için teşekkür ederim biraz yoğunum denediğim zaman sonuçları paylaşırım. Mucit23' ünde dediği gibi RTC üzerinden bunu yapmak daha pratik olacaktır. DS1307 işimi görür sanırım

Saygılar
"Doğal bir esin arzulu bir isteğe dönüştüğünde, insan hedefine dev adımlarla ulaşır..."

ete

Normalde her eprom içinde otomatik adres artırıcı vardır.
Bir kere adres verip eproma bilgi yazdıktan sonra hiç adres vermeden sürekli yaz derseniz hep otomatik bir sonraki adrese yazar taaki en son adrese kadar. Elbette son adres takibinide bu arada sizin yapmanız gerekecektir.

Ete

mustafa

Zamanı tutturmak için bence de rtc kullanmak en mantıklı çözüm olacaktır.

mierdogan

ETE hocam bilgi için teşekkür ederim bu konuyu da inceleyeyim

Saygılar
"Doğal bir esin arzulu bir isteğe dönüştüğünde, insan hedefine dev adımlarla ulaşır..."

Powered by EzPortal