W

Değişkeni Sabitlemek

Başlatan wishes, 11 Mayıs 2012, 18:51:28

wishes

Şimdi efendim elimizde bir adet değişken ısımız var. ben bu ısıyı sabitlemek istiyorum. şöyle izah edeyim. yapacağım işlem ısı ve set değeri arasındaki bölgeyle alakalı. hemen örnek veriyorum. mesela hava sıcaklığı 30 derece olsun. ben set değerini 40 yapıyorum.

set değeri - normal ısı= 40-30= 10. ben bu 10 farkını sabitlemek istiyorum.

fakat mesela

a=set-ısı dersem ısı her değiştiğinde a değişkeni de değişecek, dolayısıyla sabit bir değerim olamayacak. bu sorunu aşmanın bir yolu var mıdır. teşekkürler.

ete

Gercekten cok garip bir istek. Amacı nedir bilemem ama mademi set ile okunan arasi sabit olacak ve degisken olanda yalnizca okunan olacağına gore set=okunan-10 seklinde bir formul kullanman yeterli.
Ete

wishes

hocam amacı ısıtma rölesiyle alakalı PID çalışması olacakmış. set değeri-ortam sıcaklığı bölgesinin %90'ında ısıtıcı sürekli çalışacak, % 90-96'lık bölgede ısıtıcı her 2 saniyede bir pulse gönderecek, %96-100'lük bölgede ise ısıtıcı her 5 saniyede bir pulse gönderecek.

işte sizin belirttiğiniz formül de maalesef işime yaramıyor çünkü 10 değeri de sabit değil, her seferinde değişiklik gösterecek.

Mucit23

#3
Anladığım kadarıyla senin yapmak istediğin şudur.

PID hata sabitinin sıcaklık her değiştiğinde değişmesini istemiyorsun. Hata Değeri 10'ar 10'ar atlıyacak.

Pic Basic ondalıklı işlem yapamıyordu. Sende bundan faydalanabilirsin.

Mesela Set değerin 50 olsun. Sıcaklık değerin ise 37 olsun. Bu  durumda Senin Hata oranın 50-37=13 derece olacaktır. Sen Hata değerinini 10'ar 10'ar değişmesini istiyorsun. Bu durumda Hata Değerini 10'a bölüp Tekrar 10 ile çarparsan birler  hanesinden kurtulmuş olursun.

Örnek vereyim
Yukarıdaki örnekte Hata değeri 13 idi. Bu değeri PicBasicde 13 değerini 10'a bölersek Sonuç 1 olacaktır. Sonra 1 değerinide yine 10 ile çarpıp Sonuç olarak 10 değerini bulup birler hanesindeki 3 değerinden kurtulduk. Dolayısıyla %10 luk bir hata var diyebilirsin.

Başka bir örnek vereyim

Set Değerimiz 85 olsun. Sıcaklığımızda 48 olsun. Bu durumda hata değeri 85-48=37 Derece olacaktır. Birler hanesinden kurtulmak için yukarıdaki işlemleri yaparsak (Şöyle bir formül yazabiliriz HATA=(HATA/10)*10) Sonuç olarak 30 değerini buluruz.

İstersen hata çözünürlüğünüde arttırabilirsin. Mesela 10'ar 10'ar değilde sen 5'er 5'er atlamasını istiyorsun.
Bu durumda tek yapman gereken Yukarıda verdiğim formülde 10 Yerine 5 yazmak . Eğer hata değerimiz 37 ise Hata=(Hata/5)*5  formülünden hata değerini 35 olarak buluruz. %35 bir hata var diyebiliriz.

Benim aklıma bu yöntem geldi. Başka yöntemlerde kullanabilirsin elbet.

Kolay Gelsin..
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

wishes

#4
sorunu çözemedim ama set değerinden 1 fahrenheit düşüğünü PID aralığı kabul ettim. o 1 fahrenheit'i de mucit arkadaşın dediği yönteme benzer bir yöntem uygulayarak 0,6 - 0,4 şeklinde böldüm hoca kabul etti. kodlar diğer bilgisayarda olduğu için şu an ekleyemiyorum ama pazartesi bu alana ekleyeceğim.

Powered by EzPortal