Arduino Mega ile akvaryum otomasyon projem - yaşanan problemler
  • Merhaba arkadaşlar aranızda yeniyim, o yüzden elimden geldiği kadar özenle sorunlarımı dile getirmeye çalışacagım.

    arduino mega 2560 ile akvaryum otomasyon projesi hazırlıyorum. proje şunları yapabiliyor olacak;

    - lm35 ile ışık armaturu içinde kasa sıcaklığını ölçüp belli bir sıcaklığın üzerine çıkınca fanları açacak
    - ds1820b ile suyun sıcaklığını ölçüp belli bir sıcaklığın altında ısıtıcıyı çalıştıracak, istenilen sıcaklığa gelince kapatacak
    - belirli saat aralıklarında powerled lerimi led driverın pwm ile dim edilebilme özelliğinden faydalanarak dim ederek açıp kapatacak.
    - co2 tüpünün selenoid valfinı belirli saatler arasında açıp kapatacak
    - ph prob u ile elde edilen ph degerini lcd ekranda gösterimini sağlayacak
    - ethernet shield üzerinden ntp protokolünü kullanarak tarih saat bilgisini alacak, bunu lcd ekranda bastıracak ve aynı zamanda devredeki elemanların neredeyse tamamının zamanla kontrolü için gerekli olan saat bilgisini sağlayacak.

    şimdi yukarıda saydıgım bu özelliklerden sadece ph ile olan kısmını bıraktım gerisini tamamladım fakat belli başlı bir kaç sorunum var;

    belirtmek isterim ki, kodlama kısmına yeteri kadar hakim olduğumu düşünüyorum( bilgisayar müh. ) temel elektronik bilgilerimde eksikler var ancak genel hatlarıyla söylediklerinizi yerine getirebilecek düzeydeyim. zaten extra bilgi için tekrar size danışıyor olacağımdır.

    sorunlar;

    1. si devrede bir sebepten ötürü, arduino üzerinde yazdığım kodda digitalWrite(MOONLIGHTS, LOW); yaptığım yerde moonlightları kapatması yani 0 volt göndermesi gereken yerde tam tersi 5 volt gönderip işıkları açıyor. ground yaptıgım yerlere dirençler koydum ama bu sefer devre iyice bir sapıttı. Bu dirençleri kullanarak topraklama nasıl yapılıyor,


    2. büyük olayım ise arduino üzerinden 0-5V arası pwm sinyali gönderebiliyorum. ancak meanwell 0-10v arası pwm ile dimlenebiliyor. 2n2222 transitor alarak aşağıdaki devreyi sağladım fakat bir türlü dimleme işlemini gerçekleştiremedim. yani ben arduino dan max dim gönderdiğimde ürünler %50 dimlenmiş olarak görünüyorlar. bu konuda başka alternatifleriniz veya yapabileceğim yanlışlar nelerdir? tüm önerilere açığım.

    http://foto.akvaryum.com/fotolar/157668/Screen Shot 2015-03-06 at 00.01.39.png

    3. sorunum lm35 ile sıcaklık ölçüyorum. örneğin sıcaklık 20 derecenin üzerinde olursa relay module üzerinden fanları açıyorum. sorun şu fanları açtığım anda lm35 e gelen volt sanırım değişiyor olacakki sıcaklık bir anda 20 dereceden 50 60 derecelere çıkıyor ve fanlar açık kaldıgı muddetçe bu bozuklukla ölçmeye devam ediyor. sanırım 1. sorun ile baglantılı bir sorun.

    4. son sorum ethernet üzerindeki data ışığının her yanıp sönmesinde relay module üzerindeki kanallar çok kısa süreliğine açılıp kapanıyor, sürekli olarak bunu yaşıyorum ve bununla beraber relay module üzerinde kapalı olan kanalların ışığı kısıkta olsa yanıyor oluyor. bu neden?

    konuyla ilgili video da çektim. aşağıdaki linkten ulaşabilirsiniz, sesi de biraz açarak her data gelişinde relay module den çıkan sesi duyabilmeni açısından.

    https://www.youtube.com/watch?feature=player_embedded&v=BC0NcLo1aDo


    umarım yeteri kadar açıklayıcı olmuşumdur, akşama doğru devrenin ekran çıktısını da paylaşabilirim fakat fritzing üzerinden devre şemasını hazırlamadım henüz.

    yardımlarınız için teşekkür ederim.

  • 1. moonligh devresini NPN transistör üzerinden sürdüysen, transistör NOT kapısı gibi davranacaktır ve LOW verdiğinde HIGH çıkış üretecektir. Sanıyorum problemin buna benzer bir durum.

    2. 2n2222 arduinonun pwm frekansında rahatlıkla on/off yapabilir diye biliyorum. transistörün bacak bağlantılarını kontrol etmeni öneririm.

    3. bu sorunla karşılaşmadım hiç ama, fan çalıştığında devre beslemesine fazla yük bindiği için voltaj düşümü gözleniyor olabilir, bu nedenle adc yanlış okuma yapıyor olabilir.
    on/off kontrolde tek değer üzerinden kontrol yapma bence, bir aralık ver örneğin 18-22 arasında dur de.
    bir de adc den aldığın değeri for döngüsü ile 10 kere aldır, 10'unun ortalamasını kullan, daha sağlıklı ölçüm yaptırmış olursun.

    4. bana orda komut çakışması vamış gibi geldi, röleler hem açılmaya çalışıyor, hem de kapanmaya çalışıyor sanki, çıkan sesten anladığım o. Yazılımın ile alakalı olabileceğini düşünüyorum.

  • Merhaba,

    cevabınız için çok teşekkürler.

    1. için relay module üzerinde söylediğinizi dikkate alıp baglantıyı değiştirip, tekrar deneyeceğim.

    3. fanları 12 vdc ile dışarıdan besliyorum. sadece relay module üzerinden açma kapamayı kontrol ediyorum. ortalama konusunda size katılıyorum fakat fanlar çalışmaya başladıktan sonra okudugum deger hep 50 60 arası oluyor( temp e çevrilmiş hali, normal hali daha yuksek 120 140 lar arası)

    4. ethernet üzerinden ntp den tarih bilgisini sadece setup içerisinde 1 kere alıyorum. sonrasında loop içerisinde hour() minute() olarak saat degerlerini kontrol ediyorum. ben devrede doğru topraklama vs. yapamadıgım için böyle birşey yaşıyorumdur diye düşündüm, ama ne derece doğruyum bilemiyorum. ayrıca relay in açma kapama sesi çok daha sert bir ses, mekanik bir ses, ama bu cırlama, zirlama sesi ışıkların(relay module üzerinde, aktif olan kanalı ifade eden ledin ışığı) kısılmasına da yol açıyor.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook

Tagged

Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.