Picproje Elektronik Sitesi

ENDÜSTRiYEL OTOMASYON => Proses Kontrol Sistemleri => Konuyu başlatan: mckmk03 - 28 Ekim 2006, 10:36:36

Başlık: kazan içindeki suyun sıcaklık kontrolü
Gönderen: mckmk03 - 28 Ekim 2006, 10:36:36
iyi günler arkadaşlar , 1 m3 lük bi kazan içerisindeki suyun sıcaklığını kontrol etmek istiyorum.ısıtma işlemini rezistanslar ,suyun sıcaklığını ise lm35 ile okuyorum.
                 1 -  Ödev olduğu için kullandığım malzemeler düşük maliyetli.Sizce bu malzemelerle sonuca ulaşabilirmiyim.
                  2 - Bu işlem için nasıl bir kontrol formu uygulamam en iyisi olur . Yani sonuca en iyi nasıl ulaşırım.
                                           teşekkür ederim.iyi çalışmalar.
Başlık: kazan içindeki suyun sıcaklık kontrolü
Gönderen: Logan - 28 Ekim 2006, 11:16:15
@mckmk03, 1m3 su tam olarak 1 ton eder.Bu suyun ısısını kontrol etmen için oldukça kuvvetli bir rezistans kullanmalısın.Bu tür ısı kontrollerinde en pratik yöntem PID kontrolüdür.PID kontrolünün çalışma prensibi ise basitçe şu şekilde anlatılabilir; ulaşılması istenilen ısıya gelmeden önce rezistanslar belli aralıklarla devreye alınıp çıkarılır.Bir nevi zaman kontrollü flip-flop gibi.İstenilen ısıya yaklaştıkça devrede kalma süresi azaltılır.Böyle yapılmasındaki amaç ısıyı minimum tölerans ile sabit tutabilmektir.Bir başka yol ise kuvvetli bir triyak kullanarak dimmer devresi yapmaktır.En garanti ve en stabil yöntem budur.Hatta bu yöntemle ısıyı belli aralıklarda belli derecelerle arttırıp azaltma şansın olabilir.Devrede kontaktör yerine triyak kullanman maliyet açısından senin yararınadır.Kolay gelsin.
Başlık: kazan içindeki suyun sıcaklık kontrolü
Gönderen: mckmk03 - 28 Ekim 2006, 12:05:54
kazanın boyutunu değiştirebilirim.Boyut çok problem değil. 0.25 m3 (çeyrek ton) olabilir aslında.bu benim içinde uygun olur.rezistanslarıda buldum.220 v ile çalışıyolar ve bayağıda iyi ısı veriyorlar. bundan sonra sadece kontrol etmeye kaldı.
          PID ile nasıl yapılabilir.Yani resistans 220 V verince çalışıyor 0 V da duruyor.Yani çıkışlar ON/OFF . . .
       bildiğim kadar ile PID kontrol için çıkışların oransal olması gerekiyormuş.
Başlık: kazan içindeki suyun sıcaklık kontrolü
Gönderen: Ziya - 28 Ekim 2006, 12:15:18
Isıtıcı olarak kullanacağın rezistansın ısı kapasitesi fazla olmayacağı için ulaşmak istediğin sıcaklığa ulaşınca ısıtıcıyı kapatman ve ısıtıcıda depolanan ısının suya aktarılmasında 1 ton su için 1 derece bile sıcaklığı artmayacaktır. Eğer arttırıyorsa istediğin sıcaklığa 1 derece kala ısıtıcıyı kapatırsın. Bu işlem rezistans belirli bir süre çalışırsa geçerli. Suyun sıcaklığını dengede tutmak için aktarman gereken ısıyı suyun sıcaklığından hesaplayıp, ısıtıcıyı ne kadar süre çalıştırman gerektiğini bularak yapabilirsin.

Suyun sıcaklığını hatasız ölçebilmen için ya suyu sürekli karıştırarak sıcaklığı tank içerisinde eşit dağıtacaksın, ya da birden fazla sıcklık sensörünü öyle bir yerlere yerleştireceksin ki okuduğun sıcaklık bilgilerinin ortalaması sana suyun ortalama sıcaklığını verecek. Tabi kaynama var ise oradan ölçüm alman hatalı olacaktır.
Başlık: kazan içindeki suyun sıcaklık kontrolü
Gönderen: Logan - 28 Ekim 2006, 12:41:48
@mckmk03, dediğin gibi PID kontrolün oransal olması gerekiyor haklısın. Benim anlatmak istediğim tabi ki tam anlamıyla bir PID kontrolü değil. Sadece flip-flop mantığı ile ısıyı en az kayıp ve tasarruf ile sabitlemeye çalışmaktır.Ne yapmak istediğini tam olarak anlatırsan daha çok yardımcı olabiliriz.Zira ben ısının minimum tölerans ile sabit kalabilmesi mantığını düşünüyorum.Zaten Ziya Hoca'da bunu açıkça belirtmiş ve birkaç sensör kullanmanı tavsiye etmiştir.Aslında homojen ısı sağlamak açısından en sağlıklı yöntemde budur.Yapmayı düşündüğün ısı projesinde tölerans ne derece önemlidir?Kolay gelsin.
Başlık: kazan içindeki suyun sıcaklık kontrolü
Gönderen: OG - 28 Ekim 2006, 12:49:39
Konuda tecrübeli arkadaşları yakalamışken ilgili bir soru sorayım. Benzer bir iş için 3 adet 12KW ısıtıcıyı kontrol etmem gerekiyor. Toplam 36KW olunca 163 A nominal akım ortaya çıkıyor. Rezistanslar soğuk iken bu akım daha da yukarılarda olacaktır.

Bu akımı nasıl bir yöntemle sürmem uygun olur. Buna uygun Triyak varmıdır, kontaktör mü kullanmam daha sağlıklı olur? Veya daha uygun bir yöntem varmıdır?
Başlık: kazan içindeki suyun sıcaklık kontrolü
Gönderen: mckmk03 - 28 Ekim 2006, 12:53:56
evet sıcaklığın eşit dağılması için suyu kazan içinde döndürmem gerek.Bunun için bi su pompası kullanmam gerek.Bu kısmını ekliyeceğim.sıcaklığın töleransı önemli.yani 1 yada 2 derece atlı ve ustundeki sıcaklıklar normal sayılabilir.
       artı-eksi 1 yada 2 derece tölerans ile set edilen değere ulaşmak için .....?
1 - set edilenden küçükse ısıt , buyukse ısıtma gibi bir kontrol şekli uygun değil.
2 - Isıtıcıya 1-0 ları sürekli göndermekte kontaktör için uygun olmayacak.

    böyle sistemler için nasıl bi kontrol şekli kullanabiliriz ki en iyi sonuca ulaşabilelim.
Başlık: kazan içindeki suyun sıcaklık kontrolü
Gönderen: Klein - 28 Ekim 2006, 13:02:43
Ölçüm doğruluğu çok önemli ise.

1. Bir pervane ile suyu karıştırmalısın.
2. Ölçümü LM35 yerine PT100 ile yapmalısın
3. PT100 kazanın tabanından suyun en yüksek noktasına kadar uzanmalı. Böylece ortalama sıcaklığı görürsün.
4. İlla lm35 istersen birkaç tane kullanman faydalı olur.
5. Eğer birkaç tane kullanma şansın yoksa sensör kazanın üstüne daha yakın olsun.
6. PID de korkmanıza gerek yok çok basittir. On-Off ile  işiniz zor. Suyun seviyesi değişince, sisteminin termodinamiği değişir. Başta ısınma eğrisini çıkarıp ona göre on. off zamanlarını ayarlasın bile bir süre sonra , suyun azalması , ortam sıcaklığı , ortam basıncı gibi sebeplerden değişecektir.
7. PID için tek ihtiyacınız bir PID kodu ve Solid-State role. Normal role ile de yaparsın. ama kaliteli  ve yüksek kontak akımına sahip bir role olmalı.

void pidcalculate(void){
pidcall=0;
Pset=4;// float
Iset=350;// float
Dset=1;// float
setval=90.0;// float


sabit=(1000.0/Pset);

error=(setval-temperature)/10.0;
GAIN=sabit*error+50; // compute proportional portion and correct -50,0,50 GAIN to 0,50,100
if(GAIN>=100)goto windup; //output saturation test
if(GAIN<=0)goto windup;  

      if(Iset!=0){
              sum=sum+(error+olderror)/2;  //compute integral of error
              GAIN=GAIN+((sabit*0.4)/Iset)*sum; //compute and add integral portion
                   }        
     else sum=0;
             

windup:GAIN=GAIN+((sabit*Dset)/0.4)*(error-olderror); //compute and add differential portion

if(GAIN>100) GAIN=100; //control output saturation  
if(GAIN<0) GAIN=0;

olderror=eror;
outval=GAIN; break;

}

/***************** 10 milisaniyede bir çağırılacak ****************/
outcnt++;
if(outcnt == 100) outcnt=0;
if(outcnt > outval )heater=0;
if(outcnt < outval )heater=1;
/********************************************************/
Başlık: kazan içindeki suyun sıcaklık kontrolü
Gönderen: Klein - 28 Ekim 2006, 13:08:34
1-2 derece oldukça yüksek değerler. Önerilerimi dikkate alırsan 0.01- 0.02 derece hassasiyet ve doğrulukta  ile ölçüm yapabilirsin. Yukarıdaki pid kodu ile , doğru PID parametrelerini bulabilirseniz 0.1 derece doğrulukla su sıcaklığını kontrol edebilirsiniz(çok kez test edildi) . Daha iyi bir PID kodu ile 0.01 derece doğruluk yakalayabilirsiniz.
Başlık: kazan içindeki suyun sıcaklık kontrolü
Gönderen: Logan - 28 Ekim 2006, 13:23:08
@OG, açıkçası beni fazla ilgilendirmez ama 3 adet 12 KW dediğine göre galiba 380 V ile besleyeceksin.Eğer 220 ile besleyeceksen kullanacağın sigorta ve sayacın oldukça kuvvetli olması gerekli.Benzer bir projeyi bende yapmıştım.Benim kullandığım rezistanslar ise 14 KW yani toplamda 42 KW idi.Fakat ben 380 ile besliyordum.Rezistansları kontrol ederken siemens'in 3x15 KW kontaktörlerinden kullandım.Gayet sağlıklı çalıştı. Devrenin sıcaklık kontrolünü ise @Klein'in yazdığı programa benzer bir program ile hallettim.2 adet JK termokupl kullanarak ısıyı sabit tutmaya çalıştım.Kontaktörler sesli çalıştıkları için yerine 80 A 600 V triyak kullanmayı düşündüm fakat endüktif yüklerde triyak kullanımının sağlıklı olmadığına dair bir bilgi aldım.Hemem hemen bütün büyük firmalarında bu sebepten dolayı triyak kullanmaktan kaçındıklarını da görünce bende vazgeçtim.Yine de en kısa zamanda kullanmayı düşünüyorum.Kolay gelsin.
Başlık: kazan içindeki suyun sıcaklık kontrolü
Gönderen: mckmk03 - 28 Ekim 2006, 14:00:11
@Klein , kodlar için teşekkür ederim.  Başkasının yazdığı kodları anlamak biraz zor ve vakit alır. Kodları satır satır inceledim. ben anladığım kadarını anlatayım , yanlış anladığım noktalar olabilir.
 sistemin hatasını ve hata değişimlerini hesaplıyoruz. kazancın 0 ile 100 sınırları arasında değişimi için bir takım matematiksel hesaplamalarla GAIN 'i manupule ediyoruz. Daha sonra elde ettiğimiz GAIN değişkenini kontrol ederek örneğin GAIN = 20 ise 1 saniyenin %20 si kadar ON % 80 OFF olacak şekilde yada GAIN=70 ise  saniyenin  %70 i kadar ON ,%20 si kadar OFF şeklinde çıkışımı kontrol ediyorum.
      Bu kontrol çıkışımın her saniye içerisinde sürekli 1-0-1-0 olarak değişmesine sebep olacağından  kontaktörün ömrünün azalmasına neden olmazmı acaba.Bütçemin kısıtlılığından ucuz malzemeler kullanmaya dikkat ediyorum.
Başlık: kazan içindeki suyun sıcaklık kontrolü
Gönderen: omenek - 28 Ekim 2006, 14:17:46
Carlo Gavazzi nin solid state roleleri butür uygulamalarda sıkça kullanılıyor ve sorunsuz çalışıyorlar bazı uygulamalarda 220  bazılarında 380v anahtarlıyor.220v beslemeli  2x4.5kw lık rezistanslar için ra4850 kullanılmış (480v / 50A).Kontrol sinyali 4...30v DC idi sanırım.Biraz araştırdım bu rolelerin 600v / 100A  olanlarıda var.Sözünü ettiğiniz uygulamalar için yeterli olacağını düşünüyorum.
  Eğer yüksek akımlı triyaklarla yapmayı düşünürseniz triyaka paralel yüksek akım kapasiteli bir varistörün indüktif yüklerden kaynaklanan problemleri butür uygulamalar için kesinlikle berteraf edebileceğini düşünüyorum.Kolay gelsin.
http://rapidshare.com/files/1000458/solid_role.rar
Başlık: kazan içindeki suyun sıcaklık kontrolü
Gönderen: KAZIMUGUR - 28 Ekim 2006, 15:25:06
Okullarımızda statik fizik anlatılır.Oysa gerçek dünyada ne makro ne mikro düzeyde hiç bir şey statik değildir.
Bir sisteme enerji girmişse mutlaka bir şeyler olur.
Kazanlarda,özellikle yüksek güçlü ısıtıcı kullanılmışsa ayrıca karıştırıcıya gerek kalmaz(su veya onun gibi akışkan sıvılarda).Isıtıcıları "uygun" yere koymak yeterlidir.
Uygun yer "büyük kazanlarda" ısı kayıp yerlerine ve konveksiyon şartlarına göre seçilir.
Ufaklarda dipte ve genelde yatay oluşu yeterlidir(tortu payı bırakılmak koşulu ile).

PID kontrol ile bir yerlerde bunalmis arkadaşımız,teorik ve pratik güzel şeyler anlatmıştı.
Uygun kontrol , uygun sensör ,yeri ve sayısı vurgulandı.

Anahtarlamayı ister mekanik ister statik her neyle yaparsanız yapın ama asla emniyeti ihmal etmeyin(özellikle kapalı kazanlarda).Hatta her zamankinin 3 katı "katı" olun.
İnsan-zaman faktörünü düşünün.
Kazan patlaması tüp patlamasından çok fazla hasara yol açar.Tabliyeleri frizbi gibi kullandığını gördüm.

(yukarıdaki satırların çoğu yerçekimine tabi ortamlar için yazıldı)

Ek:Yer uygun ise ısıtıcının kademeli devreye alınıp-çıkartılması pratikte ucuz ve etkili bir kontrol sağlıyor.
Başlık: kazan içindeki suyun sıcaklık kontrolü
Gönderen: diot - 28 Ekim 2006, 17:36:54
Benim başka bir düşüncem var. Şöyle açıklayayım.

1. ısı izelasyonu yapılmış bir depo ve bu depoya 2 adet boru bağlantısı biri en altta diğeri üstte.
2. Boyler benzeri bir ısıtıcı tankı (içinde rezistanslar var.) tank çıkışına ısı sensörü takılacak. tank girişine devridaim pompası ve pompa girişine bir ısı sensörü takılacak.
3. ısıtankı deponun altından aldığı suyu ısıtıp deponun üstünden içine akıtacak.
4 . Depoya bir adet otomatik hava purjörü bağlanacak.
5. Depoya soğuk su alttan girip kullanım suyu üstten alınacak(termosifonlardaki gibi)

kontrole gelince:
devridaim pompası giriş ve çıkış sıcaklıkları birbirine eşit ve istenen sıcaklığa gelinceye kadar resiztanslar devre girip çıkacak. devri daim pompası devamlı calışıp depo içindeki suyu ısıtıcıya basacak ve su devamlı ısınarak istenen devreye kadar ısıtılacak.


Not : Bir nevi Doğalgaz kombisi gibi düşünün.
Başlık: kazan içindeki suyun sıcaklık kontrolü
Gönderen: picusta - 28 Ekim 2006, 19:48:57
Bu konuda hakkinda bi de kendi düsüncelerimi açiklayayim:

öncelikle Klein 'in kodunu biraz elestireyim :) :

örnekleme için 10 ms biraz kisa bir süre değil mi? Elimizdeki sistem ne de olsa çeyrek tonluk atalete sahip. fikrimce 1 s örnekleme bile yeter, bunu 500 ms yapalim.
Baska bi neden de bu algoritmayi çalistirmak için PIC'lerin yetmedigi. 10 ms'den daha kisa bir süre içinde floatlarla bi sürü hesaplama yapmasi gerekiyor, 4 bölme, 3 çarpma, 4 toplama, 1 de çikarma. 4MHz'de 16F PIC'in yapmasi için belki 100 ms'den fazla bir süre gerekebilir.
Kazim beyin dedigi gibi sensörün yerinin "uygun" olmasi, ile sivinin ortalama sicakligini tek sensör ile verir.
Kolaylik olsun diye sistemin "isotrope" olabilir (her yöne esit dagilimi): isiticiyi kazanin merkezine koy, böylece sadece tek eksende analizin yapilmasi gerekir.
Bu proje pedagojik yönden degerlendirilecek, hocayi ne yapildigi değil, nasil yapildigi ilgilendirecek.
Bu yüzden sistemi önce analiz etmelisin, isi yayilma diferansiyel eklemlerini çikartacaksin, böylece transfer fonksyonunu elde etmis olacaksin. Elde edecegin transfer fonksyonu gecikmeli 1. dereceden olmali.
Gecikme süresi sensörün isiticiya uzakligi ile bagintili olacak, zaman katsayisi ise suyun hacmi, termik kapasitesi, dis cephenin termik alisveris katsayisi, disardaki isi ile.
Sistemde test yaparak bu iki süreyi bulmalisin, daha sonra Ziegler - Nichols denilen PID ayarlamasini kolaylikla uygulayabilirsin. Bu 2 süreye göre sana P, I ve D parametrelerini verecektir.
Bu parametre hesaplamalarini kolaylikla programina koyabilirsin, böylece kullanici 2 süreyi girer ve parametreler çikar, daha da iyisi Bu süreleri otomatik olarak ölçmen.
Ayrica burda yapilan röle kontrolü aslinda PWM (herkes tarif etti ben söyleyeyim) ile ayni kapiya çikiyor (periyor uzun ama). Bang Bang kontrol diyorlar bi de buna.
Ayrica baska bir kontrol teknigi de bu rölenin açma kapama sayisini minimuma indirmek için bir algoritma, tabii buda "ripple"  ugruna oluyor.
Başlık: kazan içindeki suyun sıcaklık kontrolü
Gönderen: mckmk03 - 28 Ekim 2006, 23:40:03
@picusta ,teşekkürler .
Kontrol dersini henüz almadım. bu yüzden hocanın sistemin difransiyel denklemleri , transfer fonksiyonu yada PID parametrelerinin bulunmasını  benden isteyeceğini sanmıyorum.
        10 ms rölelerin açıp - kapama süresi için bencede çok kısa.Bunu deneme aşamasında daha iyi bulabiliriz. Farklı fikirleri olan arkadaşlarında yardımlarını bekliyorum.
Başlık: kazan içindeki suyun sıcaklık kontrolü
Gönderen: OG - 30 Ekim 2006, 01:30:26
Alıntı yapılan: "Logan"@OG, açıkçası beni fazla ilgilendirmez ama 3 adet 12 KW dediğine göre galiba 380 V ile besleyeceksin.Eğer 220 ile besleyeceksen kullanacağın sigorta ve sayacın oldukça kuvvetli olması gerekli.Benzer bir projeyi bende yapmıştım.Benim kullandığım rezistanslar ise 14 KW yani toplamda 42 KW idi.Fakat ben 380 ile besliyordum.Rezistansları kontrol ederken siemens'in 3x15 KW kontaktörlerinden kullandım.Gayet sağlıklı çalıştı. Devrenin sıcaklık kontrolünü ise @Klein'in yazdığı programa benzer bir program ile hallettim.2 adet JK termokupl kullanarak ısıyı sabit tutmaya çalıştım.Kontaktörler sesli çalıştıkları için yerine 80 A 600 V triyak kullanmayı düşündüm fakat endüktif yüklerde triyak kullanımının sağlıklı olmadığına dair bir bilgi aldım.Hemem hemen bütün büyük firmalarında bu sebepten dolayı triyak kullanmaktan kaçındıklarını da görünce bende vazgeçtim.Yine de en kısa zamanda kullanmayı düşünüyorum.Kolay gelsin.
Benim için doyurucu cevap olmuş.

Isıtıcılar hakkında yalnızca güç bilgilerini verdiler, nedir, nasıl bağlantısı vardır gördükten sonra öğreneceğim.

JK termokupl hakkında bilgim yok, bunlarla herhangi bir çalışmam olmadı. Linear karakteristiğe sahip bir malzeme ile çalışmak işi kolaylaştıracak sanırım. Ayrıca sistem hassasiyeti +-2 derece bile olabilir. Tavsiyeniz olabilirmi?
Başlık: kazan içindeki suyun sıcaklık kontrolü
Gönderen: Logan - 30 Ekim 2006, 10:09:25
@OG, sözünü ettiğin rezistanlar oldukça kuvvetli.Seçeceğin sensor tipi, uygulama alanına göre farklılık gösterebilir.Bizim kullandığımız rezistanlar yaklaşık 0,3 m3'lük bir hazneyi, 400 C'ye kadar ısıtıyordu.Bu sebepten dolayı JK termokupl kullandık.Onun yerine krom-nikel termokupl'da kullanabilirdik.Fakat maliyeti arttırdığı için tercih etmedik.Eğer ısı fazla değilse, yani 0 ile 150 derece arasında ise PT100 de işini görür.Yüksek ısıya dayalı bir proje ise JK kullanmanı tavsiye ederim.Belki inanmayacaksınız ama bir aralar dişçilerin kullandığı porselen fırınlarını tamir ediyordum.Bu fırınlar yaklaşık 1000 ile 1200 derece arası çalışıyorlar ve adamlar bizim ölçü aletlerinde kullandığımız ucu toplu iğne başı kadar olan sensörlerden kullanmışlar ve de gayet sağlıklı çalışıyor. Ölçüm işine gelince, JK termokupllar artan ısıyla doğru orantılı olarak voltaj üretirler.Bu voltajı basit bir opamp devresi ile yükselterek picin ADC girişleri aracılığıyla stabil olarak okuyabilirsin.Bu işin zor ve uğraştırıcı kısmı.Sana yapabileceğim en iyi tavsiye MAX6675 entegresidir. Sensörü direk olarak giriyorsun ve hiçbir kalibrasyon işlemi yapmadan sadece eprom okur gibi ısı bilgisini okuyorsun.Devre şeması ise çok basit. "+","-" besleme ve bir adet 100 nF kondansatörden oluşuyor.Bu entegreyi vazgeçilmez kılan ise ısıyı 10-10,25-10,5-10,75 ve 11 C olmak üzere 0,25 derece hassasiyetle okumasıdır.Kolay gelsin.
Başlık: kazan içindeki suyun sıcaklık kontrolü
Gönderen: mckmk03 - 30 Ekim 2006, 16:39:44
@klein   , sabırsızlıkla cevabını bekliyorum.Yardımlarınızın için hepinize
teşekkür ederim.
Başlık: kazan içindeki suyun sıcaklık kontrolü
Gönderen: Ziya - 30 Ekim 2006, 19:56:33
picusta'nın dedikleri müfredatınızda yoksa yukarıda anlatılanlar yeterli olması lazım.



Q = m Cp (Tset - T)

P = dQ/dt ==>  1Q2 = P (t2-t1) ya da t1 sıfır ise = P t

Isı kaybını hesaplayabilirsin (set ettiğin sıcaklığa ulaştıktan bir süre sonra ısı kaybı nedeniyle oluşan sıcaklığı bularak hesaplayabilirsin). Bu miktar ısıyı o kadar sürede sisteme eklemen gerekir. Ripple oluşacak mecburen.

Tank içerisindeki su devirdaim yapmıyor ise ısı kısmen iletim ile ısıtıcıdan suya aktarılacak demektir.  Bu durumda ısıtırken okuduğun sıcaklık ile ısıtıcıyı kapattıktan sonra okuduğun sıcaklık arasında fark oluşur (ortalama sıcaklıktan bahsediyorum, ısı dağılım gradiyenti değiştiği için). Bu durumda ısıtırken ve soğumaya bıraktığında farklı sıcaklık sensörlerini okutmalısın.

Tank içerisinde soba borusu gibi kısa bir boru yerleştir. Dışı yalıtkan olursa daha iyi olur. Isıtıcıyı bu borunun alt kısmına yerleştir. Borunun alt kısmı tankın 5-6 cm kadar üstünde olmalı ve su rahatlıkla boruya girebilmeli, üst kısmı da su seviyesinin altında olmalı. Isıtıcı çalıştığında ısınan su yoğunluğu azaltığı için yukarı (borunun içerisine) yönelir (chimney effect, baca etkisi). Yükselen suyun yerine tank içerisindeki daha soğuk su gelir ve o da ısınarak yükselir. Böylece doğal taşınımı sağlamış olursun. Sıvı doğal taşınım ile hareket ettiğinden ısı tank içerisinde çok daha hızlı dağılır. Sıcaklık gradiyenti de o kadar azalır. Yanlış bilmiyorsam termosifonlar da bu şekilde çalışıyor.
Başlık: kazan içindeki suyun sıcaklık kontrolü
Gönderen: mckmk03 - 31 Ekim 2006, 17:15:02
donanım eksiklikleriyle ödev bittikten sonra uğraşıcam ama şu an için yazılım olarak fikirlerinize , tecrübelerinize çok ihtiyacım var. bu iş için daha farkılı nasıl bi çalışma şekli olabilir acaba.
Başlık: kazan içindeki suyun sıcaklık kontrolü
Gönderen: mckmk03 - 09 Kasım 2006, 12:15:53
void pidcalculate(void){
  pidcall=0;
  Pset=4;// float
  Iset=350;// float
  Dset=1;// float
  setval=90.0;// float


sabit=(1000.0/Pset);

error=(setval-temperature)/10.0;
GAIN=sabit*error+50; // compute proportional portion and correct -50,0,50 GAIN to 0,50,100
if(GAIN>=100)goto windup; //output saturation test
if(GAIN<=0)goto windup;  

      if(Iset!=0){
              sum=sum+(error+olderror)/2;     //compute integral of error
              GAIN=GAIN+((sabit*0.4)/Iset)*sum; //compute and add integral portion
                   }          
        else sum=0;
                   

windup:GAIN=GAIN+((sabit*Dset)/0.4)*(error-olderror); //compute and add differential portion

if(GAIN>100) GAIN=100;   //control output saturation                      
if(GAIN<0) GAIN=0;

olderror=eror;
outval=GAIN; break;

}

/***************** 10 milisaniyede bir çağırılacak ****************/
           outcnt++;
           if(outcnt == 100) outcnt=0;
              if(outcnt > outval )heater=0;
              if(outcnt < outval )heater=1;
/********************************************************/


Alıntı Yap@Klein , kodlar için teşekkür ederim. Başkasının yazdığı kodları anlamak biraz zor ve vakit alır. Kodları satır satır inceledim. ben anladığım kadarını anlatayım , yanlış anladığım noktalar olabilir.
sistemin hatasını ve hata değişimlerini hesaplıyoruz. kazancın 0 ile 100 sınırları arasında değişimi için bir takım matematiksel hesaplamalarla GAIN 'i manupule ediyoruz. Daha sonra elde ettiğimiz GAIN değişkenini kontrol ederek örneğin GAIN = 20 ise 1 saniyenin %20 si kadar ON % 80 OFF olacak şekilde yada GAIN=70 ise saniyenin %70 i kadar ON ,%20 si kadar OFF şeklinde çıkışımı kontrol ediyorum.
Bu kontrol çıkışımın her saniye içerisinde sürekli 1-0-1-0 olarak değişmesine sebep olacağından kontaktörün ömrünün azalmasına neden olmazmı acaba.Bütçemin kısıtlılığından ucuz malzemeler kullanmaya dikkat ediyorum.


arkadaşlar bu konuda çıkmazdayım. acaba kodları iyi anlamışmıyım tekrar sizde bakabilirmisiniz acaba. teşekkür ederim
Başlık: kazan içindeki suyun sıcaklık kontrolü
Gönderen: mckmk03 - 13 Kasım 2006, 14:58:23
arkadaşlar fikirlerinize ihtiyacım var.lütfen yardımlarınızı bekliyorum
Başlık: kazan içindeki suyun sıcaklık kontrolü
Gönderen: Klein - 13 Kasım 2006, 22:52:06
evet kodu doğru anlamışsın. kontaktör muhakkak ki nispeten çabuk yıpranır. solidstate role kullanabilir ya da faz dilimleme yapabilirsiniz.
Başlık: Ynt: kazan içindeki suyun sıcaklık kontrolü
Gönderen: ramadan_07 - 24 Eylül 2010, 19:06:06
arkadaşlar burada pwm mi pıd mi diye takılan arkadaşlar oldu.oransal kontrol olbılmesı ıcın güç kontrolünün yapılabılmesı gerekır burada on/off işleminden çok akım kontrolu yapılarak bır pıd kullanım gerçekleştirilebilir diye düşünüyorum.
Başlık: Ynt: kazan içindeki suyun sıcaklık kontrolü
Gönderen: Klein - 19 Ekim 2010, 11:40:51
Daha önce gelen mesajların tamamını okumamışım. şimdi farkettim. 
Suyun karıştırılmasının gerekli değil denmiş. Kesin doğruluk için suyun karıştırılması önemli.  Ancak çoğunlukla bu tür bir sisteme karıştırıcı eklemek kolay değil.  Eğer 0.01 derece gibi bir sonuç bekleniyorsa , kesinlikle şart. Ama daha düşük doğruluk gerekiyor ise karıştırmadan yapılabilir. Ancak bu durumda ısıtıcının yeri ve sensörün yeri çok önem kazanıyor.  Hatta bazı durumlarda ısıtıcının şekli dahi önem kazanıyor.  Yaptığım bir cihazda sıcaklığı tutturmakta çok zorlandım. bunun üzerine zaman zaman "hart scientific'e (fluke)" danışmanlık yapan birinden bu konuda yardım aldım. Bana kendi kalibrasyon cihazlarını gösterdi.  Yaklaşık yarım metreküp birsı içerisinden, x,y ve z düzlemlerinde yaklaşık her iki santimde bir ölçüm alınmış. O ölçüm sonuçlarını bir grafik üzerinde gösterdi. Tabi hiçbir noktadaki sıcaklık birbiri ie aynı değil. Ancak sıvı kaynamaya başladığında sıcaklık değerleri birbirine daha fazla yaklaşıyor. diğer durumlarda nispeten daha ayrık.

@picusta.
10 mS için küçük demişsiniz. doğrudur. Birçok sistem için küçük kalabilir. Ama bu biraz kontrol edilen sistemin dinamiği ile ilgili bir durum.  Eğer sisteminizin tepkileri hızlı ise , 10mS  bile yavaş kalabiliyor. Bu değer biraz deneysel bir yolla bulundu. İlk bakışta sıvı dolu bir kapta sıcaklık tepkilerinin çok hızlı olmayacağı düşünülür Ama öyle değil. iş 0.1 derece civarlarına indiğinde, eğer tankınızın izolasyonu yoksa, oldukça hızlı tepkiler verebiliyor.  100mS kullandığımda PID çıkışımdaki %1 lik değişimler bile sıcaklığımın 0.2-0,3 derece civarında değişmesine sebep oldu. Bu yüzden daha hızlandırmak zorunda kaldım. Aslında buradaki sorun biraz da rezistas gücü ile kap büyüklüğünün orantısız olmasından da kaynaklanıyor. Eğer rezistansınız kabınıza göre çok büyük ise  ısınma zamanı için 100mS çok uzun olabilir.

-----İlave----
Biraz meslek lisesinde yeterince iyi matematik eğitimi verilmemesinden , biraz da o yıllarda matematiğin önemini yeterince kavrayamamış olmaktan dolayı matematiğim oldukça zayıf. Belki kodda biraz iyileştirme yapılarak ya da kodu tamamen değiştirerek daha uzun süreler kullanıp , daha iyi sonuçlar almak mümkün olabilir.
Bu PID kodundaki en önemli sorun sistemin karakteristiğinin değişmesi durumunda , yani kazandaki su seviyesinin belirgin şekilde düşmesi sonucunda PID parametrelerinin yeniden ayarlanmasını gerektirmesi.
Hazır konusu açılmışken , bu soruna çözüm getirecek bir algoritma kousunda anlatılacakları dinlemekten mutlu olurum.
Başlık: Ynt: kazan içindeki suyun sıcaklık kontrolü
Gönderen: z - 19 Ekim 2010, 13:09:41
Ornekleme zamaninin dusuk tutulmasi kararliligi arttiran bir etken. Ancak turev almayi zorlastiracagindan dusuk ornekleme sureli sistemlerde turev icin ayrica bir dongu kurmak gerekir.

Yuksek guclu rezistanslarin enerjisini  dimmer mantigi ile kiymak harmonikler nedeniyle enerji ureticilerinin ve dagiticilarinin isine gelmez.

Bu gibi durumlarda integral kontrol teknigi uygulanabilir.

Ornegin 100 tam alternans 2 sn surer. 2 sn lik sure buyuk tanklar icin sorun degildir. Bu durumda kontrol dongusunun ms ler bazinda dusuk olmasi da anlamsizdir.

Isiticiya 1 tam cycle enerji verir ardindan 99 tam cycle beklerseniz 1/100 oraninda voltaj vermis olursunuz.

Bu islemi % 0..100 araliginda yapabilirsiniz. Ustelik sifir gecislerinde tetikleme yaptiginiz icin sebekeyi harmonige bogmazsiniz.



Başlık: Ynt: kazan içindeki suyun sıcaklık kontrolü
Gönderen: picusta - 19 Ekim 2010, 13:33:42
PID aslen analog (devamli) sistemleri kontrol etmek için. O yüzden mikrodenetleyicilerde PID algoritmasi çalistirmak için sistemin dinamiginin en az 20 kati hizli örnkleme aliniyor ki, sistem PID kontrolörüne devamli gözüksün.

Kontrolörü baska türlü tasarlarsan (ayrik sistem olarak, Z domeninde RST veya uzay-durum) daha yavas örnekleme alarak istedigin sonuca ulasabilirsin.
Sistemin ataletini belirleyen mCp  katsayisi ve isi kayp katsayisi.

Motor akim kontrolüne analoji kurarsak, eger motorun endüktansi büyükse L/R 'de büyük olur. Isiticinin gücü ise L/R'nin ucuna uygulanan U gerilimine denk gelir.
R ise isi kayip katsayisi. çok iyi izole edilmis bir sistemde, T1'den T2'ye geçis için verilecek Enerji (isi) Q hesaplanabilir (hacmi biliyorsak) ve sadece o kadar enerji verilir, eger T2 sicakligi geçilirse sicakligi indirmek için pek bir seçenek yok .

Sistemin parametre degisimine karsi birçok yöntem kullanabilirsin:
- multimodal : her çalisma noktasi için ayri parametreler.
- PID stabilite marjini arttirmak (kazanç faz payi vs..).
- Robust kontrol uygulamak.  Hinf
Başlık: Ynt: kazan içindeki suyun sıcaklık kontrolü
Gönderen: z - 19 Ekim 2010, 14:32:12
Alıntı yapılan: picusta - 19 Ekim 2010, 13:33:42
Kontrolörü baska türlü tasarlarsan (ayrik sistem olarak, Z domeninde RST veya uzay-durum) daha yavas örnekleme alarak istedigin sonuca ulasabilirsin.

@Picusta,

Kontrolorumuzun asli gorevi cikisin referans girisimizi izleyecek sekilde davranis gostermesi. Bunun icin de hizli ve kararli olmasi istenir. Fakat gozardi edilmemesi gereken bir sey de kontrolorun, sistemin maruz kaldigi bozucu etkenelere karsi  hala kontrol referansimizi izleyebilir olmasi istenir.

Ornekleme zamanini dusuk tutarak diger kontrol tiplerinde istedigin sonuca ulasabilirsin dedin.

Bu kontrolorlerin yuksek ornekleme zamaninda bozuculara olan tepkisi nasil?




Başlık: Ynt: kazan içindeki suyun sıcaklık kontrolü
Gönderen: picusta - 19 Ekim 2010, 15:01:54
Alıntı yapılan: bunalmis - 19 Ekim 2010, 14:32:12
Bu kontrolorlerin yuksek ornekleme zamaninda bozuculara olan tepkisi nasil?
yüksek frekanstaki bozuculara tepkisi tabii ki Shannon teoremi ile sinirli.
Anlatmak istedigim su :
PID kontrolörü tasarlarken aslinda  analog sistem üzerinde modelleme yapiyoruz, daha sonra analog bir kontrolör hesapliyoruz (P, I ve D parametreleri). En sonunda kontrolörü analogdan ayrik sisteme geçiriyoruz iste o zaman bazi yaklasiklamalar yapiyoruz, ve mecburen örnekleme süresini artiriyoruz (analog kontrolöre benzemek için).

Halbuki sistemi bastan ayrik kabul edersek (Z dönüsümü) ve dogrudan ayrik bir kontrolör tasarlarsak (N dereceden polinomyal fraksyon) daha düsük örnekleme ihtiyaci dogacaktir.

Başlık: Ynt: kazan içindeki suyun sıcaklık kontrolü
Gönderen: Klein - 19 Ekim 2010, 16:57:15
Alıntı yapılan: bunalmis - 19 Ekim 2010, 13:09:41
Ornekleme zamaninin dusuk tutulmasi kararliligi arttiran bir etken. Ancak turev almayi zorlastiracagindan dusuk ornekleme sureli sistemlerde turev icin ayrica bir dongu kurmak gerekir.

Yuksek guclu rezistanslarin enerjisini  dimmer mantigi ile kiymak harmonikler nedeniyle enerji ureticilerinin ve dagiticilarinin isine gelmez.

Bu gibi durumlarda integral kontrol teknigi uygulanabilir.

Ornegin 100 tam alternans 2 sn surer. 2 sn lik sure buyuk tanklar icin sorun değildir. Bu durumda kontrol dongusunun ms ler bazinda dusuk olmasi da anlamsizdir.

Isiticiya 1 tam cycle enerji verir ardindan 99 tam cycle beklerseniz 1/100 oraninda voltaj vermis olursunuz.

Bu islemi % 0..100 araliginda yapabilirsiniz. Ustelik sifir gecislerinde tetikleme yaptiginiz icin sebekeyi harmonige bogmazsiniz.


Şimdiki sistemim böyle çalışıyor. 100 tam alternans yerine 100 yarım alternans sıfır geçişinde tetikliyorum. Tam alternans yani 2 sn. benim küçük tankım için yavaş kalıyor.
Ama mesleki matematiği benim kat kat üzerimde olan biri tarafından itiraz gelince ,hata mı yapıyorum diye düşündüm.

@picusta
bir ara zaman bulduğunuzda

"Halbuki sistemi bastan ayrik kabul edersek (Z dönüsümü) ve dogrudan ayrik bir kontrolör tasarlarsak (N dereceden polinomyal fraksyon) daha düsük örnekleme ihtiyaci dogacaktir."

tezinizi biraz daha detaylı ve mümkünse örnekleyerek anlatırsanız sevinirim.
Başlık: Ynt: kazan içindeki suyun sıcaklık kontrolü
Gönderen: z - 19 Ekim 2010, 17:16:20
@Klein

Yuksek guc degerlerinde sebekeden yarim alternaslar seklinde enerji cekmek hos olmaz. Bu nedenle tam alternanslara yuklenilmeli.

Eger 100 tam alternans suresi olan 2 sn cok fazla ise bu durumda sayiyi 50 ye indirip zamani 1 sn yapabilirsin.
Bu durumda cozunurluk de yariyariya iner fakat ataletli sistemlerde bu sorun olmamali.

Dikkat ettiysen bu kumanda pwm in tipa tip aynisi.

Başlık: Ynt: kazan içindeki suyun sıcaklık kontrolü
Gönderen: Klein - 19 Ekim 2010, 17:21:26
Yarım alternansın şebekenin akım dengesine vereceği zararı hiç düşünmemiştim. Sİstemim çok güçlü değil ama yine de bunu göz önünde bulundurmak gerek.
Başlık: Ynt: kazan içindeki suyun sıcaklık kontrolü
Gönderen: z - 25 Ekim 2010, 11:08:51
Alıntı yapılan: picusta - 19 Ekim 2010, 15:01:54
Halbuki sistemi bastan ayrik kabul edersek (Z dönüsümü) ve dogrudan ayrik bir kontrolör tasarlarsak (N dereceden polinomyal fraksyon) daha düsük örnekleme ihtiyaci dogacaktir.

@Picusta

Peki parametrelerin değişimi kaçınılmaz. Sample alma hızının düşük olması parametrelerin değişimi durumunda bu tekniklerde sorun yaratmayacakmı?
Başlık: Ynt: kazan içindeki suyun sıcaklık kontrolü
Gönderen: picusta - 25 Ekim 2010, 18:31:13
Parametrelerin degisimi sistem dinamiginden genellikle daha yavas (depodaki suyun azalmasi/artmasi).
Parametre degisimini daha önce bahsettigim tekniklerle ele aliniyor ve stabilite/performans marji o konularda ele aliniyor.