Isıya göre fan çalıştırma

Burakco

Üye
Katılım
3 Eki 2024
Mesajlar
2
Puanları
1
Yaş
39
Merhaba, akvaryumu için bir otomasyon sistemi hazırladım. Modemcu ve blynk kullanıyorum.

Programa göre; su sıcaklığı 25 derece üstünde olduğu sürece fan çalışmaya başlıyor. 25 altına inince fan kapanıyor. 5v röle ile kontrol ediliyor. 12v luk pc fan kullanıyorum. Sıcaklık kontrolünü her 1sn de kontrol ettiriyorum. Üstüne de 1sn delay var. Sıcaklık değişkeni decimal olarak tanımlı. Sıcaklık ds18b20 ile ölçülüyor.

Sorun şu ki, geçen gün akşam fan rölesi sürekli olarak aç kapa yapmaya başladı. Uygulamaya baktığımda sıcaklık sürekli 24 - 25 değişiyor. Röle çalışıyor fan daha tam dönemeden röle geri kapanıyor. Başlangıç sıcaklığını 26 yaptım sorun geçici çözüldü tabi. Ama bana 25 - 26 derece arasında stabil sıcaklık lazım.

Çat çat röle sesleri olmadan bunu nasıl sağlayabilirim? Nasıl bir kontrol sağlamam gerektiği konusunda yardımcı olur musunuz?
 
Son düzenleme:
Bu tür kararsız değerlerde röleler kararsız kalıp tribe girer. Ya 1sn beklemeyi 10-15 sn gibi değerlere getireceksiniz, ya da bir önceki derece ile ölçülen sıcaklık derece farkının 1'den büyük bir değer olduğunda röleyi açtırabilirsiniz. Ds18b20'den float/real bir değer okuyor olmanız lazım. Bu 1 derece farkı 1.3 de yapabilirsiniz. Bu değeri denemeyle bulabilirsiniz.
 
Bu tür kontrollerde PID sistemi kullanılır.
Aslında 1 den fazla ölçüm/karar verme algoritmanız yoksa bu sorun devre yapını (hardware) ile kolaylıkla çözükebilir mesela :
PID-Kontrol.png

Veya PID algoritması ekleyerek sisteminizi röleli/rölesiz çalıştırabilirsiniz.
 
Bu tür kararsız değerlerde röleler kararsız kalıp tribe girer. Ya 1sn beklemeyi 10-15 sn gibi değerlere getireceksiniz, ya da bir önceki derece ile ölçülen sıcaklık derece farkının 1'den büyük bir değer olduğunda röleyi açtırabilirsiniz. Ds18b20'den float/real bir değer okuyor olmanız lazım. Bu 1 derece farkı 1.3 de yapabilirsiniz. Bu değeri denemeyle bulabilirsiniz.
Aslında float okumaya çalıştım ama Bi yerde hata yaptım heralde hep İnt okuyor.
Bu tür kontrollerde PID sistemi kullanılır.
Aslında 1 den fazla ölçüm/karar verme algoritmanız yoksa bu sorun devre yapını (hardware) ile kolaylıkla çözükebilir mesela :
Ekli dosyayı görüntüle 110801
Veya PID algoritması ekleyerek sisteminizi röleli/rölesiz çalıştırabilirsiniz.
Yeni yeni bu tarz elektronik programlamaya başladığım için PID nedir bilmiyorum hocam. Çok temel düzeyde bilgi sahibiyim. Ama dediğinizi araştıracağım. Teşekkürler
 
Bu sorunu PID ile çözemezsiniz.PID in amacı sıcaklıgın hedeflenen degere en kısa sürede tam oturmasını veya oldukca yaklaşmasını saglamak.Sizde zaten çok çabuk hedeflenen degere ulaşıyor.su sıcaklıgının bu kadar hızlı artıp azalması mümkün degil.Sensörünüzün konumunu kontrol edin.Büyük ihtimalle fan rüzgarını direk olarak algılıyor.Sensörün direk olarak suyun içerisinde olması gerekir.Bir başka problem ise analog okuma devresinde okuma referans degerinin fanın veya rölelerin çalışması ile sapma yapması olabilir.Bu degerin hiçbir şekilde kımıldamaması gerekir.
 
PID gerekliliğini tartışmak güzel bir şey.

1. Daha önce de yazdığım gibi, basit çözümler bulunabilir mesela tek opamp ile yapılan "window comparatör" yani belirli bir aralığı kabul edip, açıp kapatan bir devre, ilave olarak bu işlemi yavaşlatacak bir kondansatör ile belki probleminiz çözülebilir.

2. Ancak bu tür kontrollerde "daha önce çalışıyordu ama"
ile başlayan dertler çıkabilir. Bu iş için yaptığınız bir "şey" başka bir uygulama için olmayabilir vs...

İşin doğrusu, PID ile yapmaktır.

Öğrenmesi "aman aman zor birşey" değildir.
Mantığını anlayınca kolaylıkla çözersiniz.

Örnek linklere bakabilirsiniz:

https://wokwi.com/projects/406730848974731265

Başka bir link:


Takıldığınız br şey olursa yazın,

İyi çalışmalar
 

Forum istatistikleri

Konular
129,461
Mesajlar
927,031
Kullanıcılar
452,018
Son üye
umutkaymak

Yeni konular

Geri
Üst