10-24-2011 08:34 AM
Herkese selamlar. Ben elimde bulunan bir programla ilgili yardım isteyecektim. Öncelikle programı izah edeyim. Mikrokontroller ile bir ledin belirli mA değerlerinde yanmasını sağlıyorum. Ledin yandığı değerler 50-60-70-80-90-100 bunların dışında ki değerler girilince mevcut durumunu koruyor ve 0 değeri girilince de led sönüyor. Bende bu şekilde ışık şiddetine bağlı ölçümler alabiliyorum. Gelelim LV kısmında ki sıkıntıya elime ki program ile bir deney (sıcaklığa bağlı olduğu için) neredeyse 1 günümü alıyor ve haliye sıvı azot sıkıntısı yaşıyorum.
Ekte mevcut programım var. Ben bu programı nasıl daha kısa bir sürede tamamlandırabilirim. Yani programa baktığınız zaman led her mA değerinden sonra birde 0mA yani sönük hale geçiyor. Halbuki ben her sıcaklık için ilk başta 0 değerini alıp daha sonra 50-60-70-80-90-100 değerini almasını istiyorum.
İşin özeti istenilen sıcaklıkta sırasıyla 0mA - 50mA - 60mA - 70-mA- 80mA - 90mA - 100mA alıp daha sonra diğer sıcaklık seviyesinde aynı değerler için aynı işlemi gerçekleştirecek.(şuanda yaptığı ise 50mA-0mA, 60mA-0mA, 70mA-0mA vs..)
Bunun için birkaç deneme yaptım ama bu kezde dosya yazdırma kısmında sıkıntı yaşadım. Yardımcı olurmusunuz.
Teşekkürler...
Solved! Go to Solution.
10-24-2011 09:20 AM
Öncelikle belirteyim yazmış olduğunuz kodu açıp incelemek ve anlamak oldukça zor Bu sebeple kodda nasıl düzeltme yapabileceğinizi söylemek yerine mevcut kodda LED bağlı olan FOR döngüsünde söylediğiniz durumun oluşmasının gayet normal olduğunu söyleyebilirim. Zira döngü üç kere dönüyor ve tur sayısı bire eşitse LED doğru "TRUE" değeri alıyor. Diğer iki tur (0 ve 2) için LED sönük olacaktır.
Sorunuzu işinize göre değilde genel çalışma mantığı içerisinde sorarsanız bir benzetim (simulasyon) yapmaya çalışabiliriz.
10-24-2011 02:05 PM
Ben şöyle izah edeyim. Led kapalı iken (0 değeri) ve Led Belirtilen 50-60-70-80-90-100 değerlerinde iken ölçüm alması bana yetiyor. Benim kayıt dosyasına yazılmasını istediğim ise her sıcaklıkta o anki ışık şiddetine (yani lede girilen değere) bağlı akım ölçümleri.
Örnek olarak
100 K
Işık şiddeti Ölçülen Akım ortalaması Standart Sapma
0 0 da ölçülen değer 0 için
50 50 de ölçülen değer 50 için
60 60 ........... .........
70 70 ............. .........
... ............. ...........
200 K
Işık şiddeti Ölçülen Akım ortalaması (mA) Standart Sapma
0 0 da ölçülen değer 0 için
50 50 de ölçülen değer 50 için
60 60 ........... .........
70 70 ............. .........
.... ............ ............
Şeklinde. Burada sorun döngünün her ışık şiddetinden sonra tekrar 0 almasından kaynaklanıyor. Yani her sıcaklıkta ilk ölçümü 0 için alsa sonra sırayla 50-60-70-80-90-100 olsa sorun kalmayacak. For döngüsünün 3 kere dönmesine gelince bunun bana zaman kaybından başka bir faydası yok gibi geliyor. Zira ben zati gerekli ölçümlerimi başka bir for döngüsü içerisinde 10 - 20 kez alıp oradan standart sapma ve ortalama değerlerini elde ediyorum.
Uzattım yine anlaşılması için ama özetlemek gerekirse istenilen sıcaklıklarda led 0-50-60-70-80-90-100 değerlerinde yanacak ve her değerde GPIB cihaz ölçüm alacak. Bende yukarıda ki gibi bir çıktı almak ve ledin değerleriyle - ölçüm değerlerinin grafiğini çizmek istiyorum.
10-24-2011 04:37 PM
Sorunuzla ilgili, anladığım kadarı ile, yarın genel bir örnek yazmaya çalışacağım.
10-25-2011 03:33 PM
Zafer Bey sağolun ilgilenirseniz gerçekten memnun olurum.
10-25-2011 04:43 PM
Görünen o ki hafta sonuna kadar Bulgaristanda üzerinde çalışmakta olduğumuz proje nedeniyle aşırı yoğun olacağım. Fırsat bulabilirsem hemen cevap yazmaya çalışacağım. Kusura bakmayın
10-26-2011 07:35 AM
Rica ederim. Müsait olduğunuz zaman eklersiniz.
Teşekkürler.
10-30-2011 04:00 PM - edited 10-30-2011 04:06 PM
Selamlar,
Sisteminizdeki farklı sıcaklık ve ışık şiddetleri için kurmanız gereken döngü yapısını gösteren temel bir benzetim yazdım. Ayrıca tamamen rastgele bir sistem denklemi ekledim. Sizin yapacağınız ise aynı döngü yapısı ile sıcaklık ve ışık şiddetlerini ayarlayıp istenen ölçümü alacak şekilde kodunuzu değiştirmek. En dış döngüye gecikme eklerseniz sıcaklık değişimleri arasındaki gerekli zamanı ayarlayabilirsiniz. Aynı şekilde bir iç döngüde ekleyeceğiniz gecikme ile ışık şiddeti değişimi için gereken gecikmeyi ayarlayabilirsiniz. En iç döngü ise her sıcaklık ve ışık şiddeti için alınan toplam örneği temsil eden döngüdür. Bu kısım aslında sizin donanımızın içidir diyebiliriz ve donanımsal olarak ayarını zaten yapacaksınız.
10-30-2011 04:27 PM
Çok teşekkür ederim Zafer Bey bu örnek aslında benim sorunumun yanında belirli değerlerde taramalar içinde kullanabileceğim çok güzel bir çalışma olmuş.
Elinize sağlık.
10-30-2011 05:48 PM
Rica ederim, iyi çalışmalar.