avatar_Mucit23

Pic16F88 RA3 ile kendine reset atıyor.

Başlatan Mucit23, 05 Kasım 2011, 17:02:36

ete

#15
Sorunun cevabı programın eksi sıcaklıkları nasıl hesaplayıp gösterdiğinde yatıyor. -1,5 derecelik bir sıcaklık program tarafından  Sign="-" ve ISI=15 şeklinde hesaplanmaktadır. O halde cevabı senin Senin örneğine göre açıklayayım;
Alıntı YapDiyelimki Set değerini 3,1 dereceye ayarladık  Tolerans değerimizde Set değerinden büyük bir değer 4.6 olsun. Hal böyle olunca Rölenin devreye girmesi gereken değer (31-46= -15) - 1,5 derecedir.
İş burada karışıyor. Anlaşıldığı üzere sonucu negatif olan işlemlerin PBP ile nasıl yapacağımı bilmiyorum. Aslında Benim -1,5'i işleme sokabilmem için 3,1-4,6 işleminin sonucunu ve işlem sonucunun negatif olduğunu bimem yetiyor.
Rölenin devreye girme sıcaklık seviyesi -1,5 olacak değilmi. Bu gerçekte şöyle olacak Sıcaklık 1,5 derece ama SIGN="-" şeklinde dir. Bu durumda sen sorgulama yaparken ;
IF SIGN="-" and ISI=15  (1,5 derece 15 ile gösteriliyor) THEN ROLE=1   şeklinde bir ifade kullanman gerekecek.
Bu olay şunu gösteriyor. Sorgulamana SIGN parametresinide sokacaksın. İlk örneğinde rolenin devreye girme sıcaklığı diyelimki 18,6 olsun sıfırın üzerinde bir sıcaklık bunun karşılığı;
IF SIGN="+" AND ISI=186 then ROLE=1   şeklinde olacaktır.
Sonuç olarak yapman gereken şey sorgulamaya SIGN parametresini de dahil edeceksin.
Senin asıl sorunun rölenin devreye girme sıcaklığını nasıl hesaplayacağım olacak mutlaka, O zamanda hangisinin büyük olduğuna bakmaktan başka çaren Yok. Örneğe göre  31-46 işleminde 46 daha büyük olduğu için hesap 46-31 şeklinde yapılmalıdır. Bu nedenle hesap yapılırken;
IF Histeriz>ISI THEN
   ROLE_ISI=Histeriz-ISI
   ISARET="-"
ELSE
   ROLE_ISI=ISI-Histeriz
   ISARET="+"
ENDIF
şeklinde bir sorgulama kullanman gerekecektir.
Umarım anlaşılmıştır.
Ete

Mucit23

#16
Anladım hocam demek istediğinizi. Set değeri poztif sıcaklıklarda ise sorun yok. Kontrol ve karar verme işlemi çok iyi çalışıyor.
Sizin dediklerinizden benim anladığım şudur.

ISIS adında bir değişkenimiz olsun. Bu değer SET değeri ve histeris değerinin birbirinden çıkarılması ile elde ediliyor. Sensörden okuduğumuz ısı değeri ise float değişkeninde saklanıyor.

Hocam  Set değerini ve histeris değerini  ayarayıp çıkarken değerleri eproma kaydediyorum. Program tekrar başlangıçta Bu değerleri epromdan okuyup şu işlemleri yapmam lazım. İlk önce Histeris değerinin Set değerinden büyük olup olmadığına bakmak lazım. Zaten set değerinin alabileceği Max. değer 99,0 Histeris değerinin alabileceği max değer 5,0 dır. Eğer histeris değeri set değerinden büyük ise bu şu anlama gelir. Set değeri 5,0 dan küçüktür. O halde yapamam gereken işlem Histeris değerinden set değerini çıkarıp elde ettiğim değeri ISIS değişkenine yerleştirmem. SIGN değişekninede  "-"  değerini vermem gerekiyor. Bundan sonra gerisi zaten çok basit.
  Ben Biraz uğraşayım hocam. Hayırlı bayramlar

Edit; Hocam Acaba Mail sisteminde bir problemmi var. Haberdat et seçeneğini aktif ettiğim halde konuya yeni mesajlar geldiğinde mail ile uyarı gelmiyor. Bi fikriniz varmı?
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

ete

Hiç bir fikrim yok maalesef. Araştıralım.

Ete

pwm.c

Alıntı yapılan: Mucit23 - 07 Kasım 2011, 09:41:16
Hocam Acaba Mail sisteminde bir problemmi var. Haberdat et seçeneğini aktif ettiğim halde konuya yeni mesajlar geldiğinde mail ile uyarı gelmiyor. Bi fikriniz varmı?
ben söyleyim.
1- hostların günlük belli bir email gönderme limiti bulunmaktadır. bunun üzerine çıktıysak artık email gitmez. buraya üye olduğumda haberdar et seşeneği açık idi. sonradan ben kapattım. buda demek oluyorki dier üyelerinde aynı şekilde açık olarak bulunuyor. her mesaj yazmada çok sayıda email gönderiliyor.
2- ücretsiz email servisleri içinde çok sayıda link bulunan ve sık sık aynı yerden gelen emailleri spam olarak algılıyor ve gereksiz email kutusuna iletiyor, hatta bir süre sonra bunları otomatik olarak engelliyor. aynı şekilde bu ücretsiz posta servisleri yoğun email trafiğinde dier postaları iptal edebiliyor.
3- forumlardan güvenli email göndermek için eğer varsa SMTP kullanılması gerekir. hostunuzun kontrol panelinden bu bilgileri öğrenip forumun admin panelinden kaydedebilirsiniz. bu sayede email problemleri oluşmaz ancak hosting firmanızın verdiği email limiti hala geçerlidir. bunu arttırmak için paket yükseltmek gerekiyor. böyle yapılmayacaksa ozaman email gönderimini en aza indirmelisiniz. ayrıca email gönderim sırasını kısıtlayarakda sunucu yükü hafifletilebilinir.
4- forumlardan email gönderilirken bir parametre kullanılır. giden mailler yöneticinin adresi olarak gösterilir ama öyle değildir. eposta servisleri bunları sahte email olarak algılayıp engelleyebilir. onun için admin emaili ile aynı gösterilmesi gerekebilir.
_/\/\/\_ -[ı- -ı>|- -|ı|ı|ı- -ı< -||- -l[]l-

Powered by EzPortal