NI Ürünleri İle İlgili Tartışmalar

cancel
Showing results for 
Search instead for 
Did you mean: 

Bir algoritma sorusu

Solved!
Go to solution

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...

 

0 Kudos
Message 1 of 10
(6,678 Views)

Öncelikle belirteyim yazmış olduğunuz kodu açıp incelemek ve anlamak oldukça zor Smiley Mad 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.

0 Kudos
Message 2 of 10
(6,673 Views)

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.

0 Kudos
Message 3 of 10
(6,662 Views)

Sorunuzla ilgili, anladığım kadarı ile, yarın genel bir örnek yazmaya çalışacağım.

0 Kudos
Message 4 of 10
(6,659 Views)

Zafer Bey sağolun ilgilenirseniz gerçekten memnun olurum.

0 Kudos
Message 5 of 10
(6,650 Views)

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 Smiley Sad

0 Kudos
Message 6 of 10
(6,648 Views)

Rica ederim. Müsait olduğunuz zaman eklersiniz. 

Teşekkürler.

0 Kudos
Message 7 of 10
(6,645 Views)
Solution
Accepted by topic author YFA

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.

 

Döngü.png 

Message 8 of 10
(6,642 Views)

Ç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.

0 Kudos
Message 9 of 10
(6,633 Views)

Rica ederim, iyi çalışmalar.

0 Kudos
Message 10 of 10
(6,630 Views)