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

cancel
Showing results for 
Search instead for 
Did you mean: 

Current Reversal Resistivity

Selamlar,

 

Elimde keithley 238 ve 2182 var. bunlarda "current reversal" yoluyla, yani bir pozitif birde negatif yönde akım uygulayarak direnç ölçmem gerekiyor. Bu ölçümün güvenilirliği için ise bu işi birkaç kez tekrarlamam lazım.

 

Benim aklıma gelen yöntem şu şekilde.

 

1. (+) Current uygular ve V(+) ölç, sıcaklığı ölç ::::bunları indexle

2. (-) Current uygula ve V(-) ölç, sıcaklığı ölç::::::::bunları da indexle.

 

3. direnci hesapla.

 

4.  1., 2., ve 3. işlemleri 5 defa kısa zamanda tekrarlar

 

5. Bütün ölçülen bu dirençlerin ortalamasını al ve sıcaklığa bağlı grafiğini çiz.

 

----başka bir sıcaklığa git ve aynı işlemleri tekrarla ve 5. deki grafiğe yeni sıcaklık ve direnç değerlerini ekle.

 

Aslına yukarıda anlatılan sıcaklığa baplı direnç ölçümünden başka birşey değil ama işin içine indexleme ve update  girince takılıp kaldım.

 

Sizden istediğim yardım indexleme ve grafikle ilgili, onun dışındaki konular da bir sıkıntı yok. Bu konuda yardımcı olabilirseniz çok sevinirim. Bir çok yol denedim ama işe yaramadılar.

 

ekteki örnekte, örneğin, sadece bir kez hesaplama yapabiliyorum direnç için, hem tekrarlayamıyorum, hemde upda edip graiği çizemiyorum.

 

Yardımlarınız için şimdiden çok teşekkür ederim. Selamlar.

 

0 Kudos
Message 1 of 11
(6,889 Views)

Merhabalar,

 

Eklediğiniz kodda dış döngü 3 defa dönüp aynı değerleri hesaplıyor. İç döngü ise ilk iki elemanın sıfırdan küçük olup olmadığına bakarken neticede oluşan diziden sabit indeksleri almanız sebebiyle o da aslında etkisiz çalışıyor.

 

1-İlk düzenleme için dış döngünün amacı nedir? Uygulanan akım ve Okunan Gerilim dizilerinin elemanları miktarınca dönmek ve her bir elemanı işleme tutmak mıdır?

 

2-İç döngü bu haliyle fazla gibi görünüyor, bu döngüyü kullanmaktaki amacınız nedir?

 

Sistemi tam anlayabilirsen kodunuzu baştan düzenleyebilirim.

0 Kudos
Message 2 of 11
(6,883 Views)

Kodu her bir akım-gerilim değerleri için hesaplama yapacak şekilde tekrar düzenledim. Akım/Gerilim değerlerini bir tabloda topladım. Her satır I V -I -V şeklindedir. Her değer için sadece bir defa hesaplama yapılmaktadır.

Adsız.png

0 Kudos
Message 3 of 11
(6,881 Views)

İyi çalışmalar. Bahsettiğiniz olayı Hall Effect ve 4 wire Resistivity işlemleri için Lakeshore-331 (Sıcaklık Kontrol) Keithley-2400 (Extarnal Current Source) ve Keithley 2700 & 7709 (DMM & Matrix Card) ile yapıyorum. Öncelikle şunu belirteyim; Ben Akım Değerini sabit girip voltaj ölçüyorum (belirttiğim sayıda ölçüm alıyorum min. 20 ms aralıklarla) ve daha sonra bu voltaj ölçümlerinin ortalamasını aldırıp akıma bölüyorum böylece direnç değerini elde ediyorum. Sıcaklık olayını ise başlangıç sıcaklığını, artış miktarını ve bitiş sıcaklığını belirtip (Örneğin 8 K başla 5 er artarak 400 K de bitir) direnç değerlerimi her sıcaklık için kayıt ettiriyorum (dosyaya) ve Sıcaklık vs Direnç grafiğini oluşturuyorum.

 

Tabi bunu değişken akım değerleri içinde yapmak mümkün. Ama sizin dirençlerin ortalamasını değil ölçtüğünüz voltajların ortalamasını alıp akıma bölmeniz gerekiyor. Grafikleri ise XY Chart Buffer.vi ile rahatça çizdirebilirsiniz. Eklediğiniz dosya 2010 ile uyumlu değil sanırım bu yüzden inceleyemedim.

İndexleme olayını Zafer Beyin gösterdiği şekilde gerçekleştirebilirsiniz.

Message 4 of 11
(6,876 Views)

Zafer Bey Selamlar,

 

Amacım current reversal metodu ile direnç ölçmek. Bu ölçümü de 3-4 defa tekrarlayarak ölçümün güvenilirliğini test etmek.

 

1. iç döngü uygulanan pozitif ve negatif akımlara karşılık gelen pozitif ve negatif voltaj değerlerini toplayıp 2 ye bölmek, çıkan sonucu da akım değerine bölerek direnç değerini bulmak. Pozitif ve Negatif akım değerlerini cihaza girebilmek için iç döngü var. İç döngüde 1. cycle pozitif, 2. cycle ilse negatif akım uyguluyor. Bunu 3-4 kez tekrarlamak için de dış ta da bir döngü var. Dıştaki döngüde 3 defa dönüyor. Yani içteki dögünün yaptığı işi 3 kez tekrarlıyor. Bu arada her direnç değeri için sıcaklık da ölçüyor. Sonra ölçülen sıcaklığa göre direnç değerini---3 ölçüm sonucunda çıkan değerlerin  ve o direnç deperlerine karşılık gelen sıcaklık değerlerinin ortalamasını alarak--- grafipe aktarıyor. Yani amacım bu.

 

Sayın YFA nın da bahsettiği durum doğru. voltaj değerlerinin ortalamasını alıp, bu değeri akım değerine bölerek direnci hesaplamak lazım.

 

Bende de Lakeshore 336 Temperature Kontroller, 2182 Nanovoltmeter ve Keithley 238 current soruce var. Bunları kullanarak sıcaklığa bağlı direnç değeri ölçmem lazım.

 

Bunun için benim yazdığım kodları ekte gönderiyorum. Yardımlarınız için teşekkür ederim. Selamlar.

0 Kudos
Message 5 of 11
(6,872 Views)

Vermiş olduğunuz örnek içerisindeki iç döngü nerdeyse hiçbir işlem yapmıyor. Bu döngüyü silin ve pozitif ve negatif değerleri dizi içerisinden doğrudan indeksleyin. Aşağıdaki resimde nasıl olacağını görebilirsiniz. Bu resmi denerseniz sizin şu anki kodunuzla aynı şekilde çalıştığını ama bu şekilde yazılmasının daha doğru olduğunu görebilirsiniz.

Adsız2.png

Kodun devamının nasıl olacağını detaylı olarak ele alalım. Girmiş olduğunuz akım/gerilim dizilerinde sırasıyla pozitif negatifler şeklinde 6 değer var. Mevcut kodunuz bu değerlerden sadece ilk pozitif ve negatif değerleri kullanıyor. Bu hesaplamayı 3 kere tekrarlayıp ortalamasını almak istediğinizi söylüyorsunuz. Diğer döngülerde kullanılacak veriler giriş olarak verdiğiniz akım/gerilim dizilerinin diğer elemanları mıdır? Eğer öyleyse ilk eklediğim resim en kısa şekilde bu isteklerinizin tümünü yapmaktadır. Değilse 3 kere örnekleme yapmak için kullanacağınız diğer veriler nerededir? Ayrıca sıcaklık şu an hesaplamayı etkilemediği için grafiğin X eksenini doldurmaktan başka bir görevi yok. Öyleyse bunu döngüye giriş olarak vermemiz gerekli değil diye düşünüyorum. Yine ilk resimde verdiğim şekilde kullanılması gerekli. Ortalamayı almak için elde edilen 3 değerin ortalaması alınacak ise ve veriler akım garfiğinden gelenler ise yine ilk resimdeki gibi ortalama alınmalıdır.

0 Kudos
Message 6 of 11
(6,863 Views)

İlk verdiğim resimde bir hata var onu şimdi fark ettim. 6 tane sıcaklık değeriniz varken 3er adet pozitif/negatif değerleriniz var. Her direnci hesaplarken hem pozitif hem negatif değerlerden yararlanıyorsanız toplam 3 ölçüm yapıyorsunuz demektir. 3 ölçüm olacaksa 6 tane sıcaklık ölçümü olması doğru mu? Bunu nasıl kullanacağımızı da açıklayabilir misiniz?

 

Verdiğiniz koddaki sıcaklık dizisinin içeriğini kontrol etmediğim için bu hata oluşmuş.

0 Kudos
Message 7 of 11
(6,860 Views)

Zafer Bey Selamlar,

 

Olay şöyle.

 

 

Apply Positive current measure Positive voltage ---index the value

Apply negative current measure Negative voltage---index the value

Measure Temperature

Calculate Resistance

Plot Resistance vs Temp.

 

Yukarıdaki olayı 3 kez tekrarlamak istiyorum. Lakin Sizin çizdiğiniz ve benim gönderdiğim ilk örneklerde datalar ARRAY . Ama aslında her seferinde tek data olarak geliyor. Son gönderdiğim vi lara bakarsanız orda daha net olduğunu görebilirsiniz.

 

0 Kudos
Message 8 of 11
(6,852 Views)

Verdiğiniz örnekte R[i]=( (V+[i]) - (V-[i]) ) / ( (I+[i]) - (I-[i]) ) olarak okuyorum. Doğal olarak I[] ve V[] dizilerini döngüye giriş olarak kullanıyorsunuz. Akım ve gerilim dizileriniz 6 adet veri içeriyor ve bunların 3ü pozitif 3ü ise negatif. Bu dizilerin yanında 6 adet sıcaklık değeri içeren bir sıcaklık diziniz var.

 

Elimizde başka veri olmadığına göre akım dizisinden her seferinde bir pozitif bir negatif ve gerilim dizisinden de her seferinde bir pozitif ve bir negatif değer alarak direnç değerlerini hesaplıyorsunuz. Akım dizisinde 6 değer ve gerilim dizisinde 6 değer olduğuna ve her seferinde pozitif negatif olarak 2 değer aldığımıza göre toplamda 3 defa veri alıp 3 defa direnç değeri hesaplıyor olmamız gerekir. Tek sorun elimizde 6 tane sıcaklık değeri olması ya da ilk yazdığımız hesaplama tamamen hatalı demektir.

 

Yukarıda yazılanlar mevcut hesaplamalara göre doğruysa sıcaklık dizisinde 6 değer olması dışında ilk verdiğim resim doğru olmalı.

 

Son verdiğiniz VI'ı açamadım ama konu karmaşık değil ortada 3 tane dizi var ve bir hesap. Başka kaynaktan veri de gelmiyor. Son verdiğiniz açıklama benim ilk verdiğim çözümle örtüşüyor. Dizi geliyor olması bir gereklilik çünkü 2li değerler halinde 3 sefer hesaplama yapılıyor ve bu da dizi demek.

 

Konuyu çabucak bir çözüme ulaştırmak hesap yapılan kısmı ayırmak ve döngü ile yinelemeyi ayırmak istiyorum. Her bir giriş için bir direnç değeri hesaplandığını düşünelim.

Adsız3.png

Şimdi 3 defa hesaplama yapmak için V+2, V-2, I+2, I-2 değerleri için 3er değer girmeliyiz. Ayrıca 3 kere hesaplama yapılacağına göre 3 adet sıcaklık değeri olmalı. Hesaplama içerisinde sıcaklık olmadığına göre hesaplanan 3 direnç ölçümü için her bir sıcaklık grafiğin bir ölçeği olmalı. Hesaplanan toplam üç direncin ortalaması da ortalama değerimiz olmalı.

 

İlk verdiğim resim bu sistemin çözümü. Tek sorun 6 adet sıcaklık değeri olması.

0 Kudos
Message 9 of 11
(6,845 Views)

Zafer Bey,

 

 

Ben indexte ilk iki ve son iki data diye ikiye ayırıyorum. Bu şekilde direnci hesaplıyorum. Bu işi birkez defa daha tekrarlamak istediğimde ilk alınan 4 datayı sıfırlamanın bir yolu yok mu. Yani işlem tekrarlandığında ilke alınan dataları sıfırlayarak yeni ölçülen akım ve gerilimlerden direnç hesaplamak.

 

teşekkürler.

0 Kudos
Message 10 of 11
(6,840 Views)