Elektriksel Direnç ölçme

Başlatan Mucit23, 20 Haziran 2014, 16:32:58

hasankara

#30
sistem lineerliğini şöyle anlarsın. ne güzel tablonu çıkarmışsın işte. 2 boyutlu eksen çiziyorsun. yatay eksenin direnç değerleri olsun düşey ekseninde okuduğun adc değerlerin olsun. eksenleri tam adım aralıkları orantılı olarak bu aldığın ölçümleri eksene yerleştiriyorsun sonrada o noktaları birleştiriyorsun. bakıyorsun ki tüm noktalar çapraz bir (düz)doğru üzerinde o zaman lineer diyorsun. doğru zaten düz olur da düz olduğunu ayrıca belirttim. çünkü düz olmadı mı demek ki lineer değil diyoruz.

mesela y(x)=x+5 diye bir denklemin olsun bunun türevi her noktada sabit sayı çıkıyor değil mi? y'(x)=1; o halde bu örnekte ki denklem lineer. her noktada türev alıp bunların eşitliğine bakarsın aslında bu örnekte her zaman 1 çıkıyor mesela. ölçümlerinde birbirine en yakın iki noktayı kullanarak bu işlemi yapabilirsin. türevin sayısal analiz açılımını hatırlayacak olur isek: ( f(h+k)-f(h) ) / ( (h+k)-(h) ) görüldüğü üzere fonksiyondan iki örnek alınıyor ve farkları nın her iki eksendeki sonuçları birbirine bölünüyor. idealde bu iki nokta birbirine sonsuz derecede yakındır. ama sen elindeki birbirine en yakın olan iki noktayı kullanarak bir değer bulursun. bu iki örneği tek bir nokta kabul etmişsindir ve bu noktadaki türevi hesaplamış olursun. hele ki lineerliği  görmek istiyorsan toplamda 3 farklı örnek le bile buna karar verebilirsin.

elindeki tüm örnekler (n adet nokta) için, (n-1 adet nokta) türev değerleri bulabilirsin ve bu türev değerlerin birbirine eşitliğine bakarak lineerlik durumuna karar verirsin.

gel gelelim problemine, baktın ki değerlerin gayet lineer çıkıyor o zaman tek bir katsayı(sabit türev değeri) bularak, okuduğun değerleri direk basit bir formüle(ax+b) sokarak işin üstesinden gelirsin. a katsayısını tek bir türev değerine bakarak bulabiliyoruz.

baktın ki lineer bir sonuç elde edemedin. o zaman izleyeceğin yol; sistemin hafıza durumu var mı? yani sen kendi tablonu çıkarmışsın daha sonra en baştan ilk ölçtüğün değeri aynı değerde ölçebiliyor musun diye bakacaksın. hafıza durumu kendince yok diyecek kadar az oluyorsa ve bunu tolere edebiliyorsan ne ala ama tolere edemeyeceğin kadar bir değişim meydana gelmişse işler dahada karışık hale gelir, son 10 ölçüme dayandırabileceğin bir kural oluşturmak gerekebilir belki, bunu daha önce hiç denememiştim, biraz karışık gözüküyor.

hafıza konusunuda geçecek olur isek, yani baktın ki tüm noktalar için her ölçüm denemelerinde sabit bir grafik çıkıyor ama lineerlik bizi tatmin etmiyor, o halde özel tanımlı fonksiyon oluşturarak bir kalibrasyon yapılması söz konusu oluşacak. atıyorum 100 adet noktadan örnekler alıp kayıt ettin. sırası ile her iki nokta arasında da doğru varmış gibi kabul edip, o doğrunun eğiminden faydalanarak yani yukarıdaki ax+b denklemine tabi tutarak sonuç alınır. genel olarak yine aynı denklemi kullanmış olduk ama a katsayısı bu sefer değişkenlik gösterdi.

sen hele bir lineerlik testini yap duruma göre ilerisine daha sonra görsel olarak anlatabilirim.


mesaj birleştirme:: 23 Temmuz 2014, 04:58:24



senin hesapladığın değerlerin türev değerleri (katsayılar) sağda ki sütunda gözüküyor. başlar da 306 iken sürekli azalarak 6,584 e inmiş. şimdi bu katsayıyı sabit yapmak çok saçma olur. düşün, doğru sonucu 306 katsayısıyla hesaplıyor iken sen 6,854 katsayısını seçerek facia meydana getirmiş olursun. eşit aralıklarla bol sayıda örneklerini alıp güzel bir tablo oluştur kendine. potansiyometre kullanabilirsin ve kalibrasyonuna güvendiğin bir multimetreyle potansiyometre nin direncini eşit aralıklarla arttırarak, zaten yapmış olduğun ölçüm işlemini baştan tekrar yapmakla işe başlayabilirsin.

sonra benim yaptığım gibi her aralık için eğim değerleri bulacaksın. kod için de
const int a={306,242.....,6};

        if(1<adc&&adc<=2)return adc*a[0]+b;
else if (2<adc&&adc<=3)return adc*a[1]+b;
...
şeklinde bir mantık kurarak işin üstesinden gelebilirsin. bu işlemleri sistemin hafıza durumunu gözetmeksizin yaptık tabi. hafıza tespit edersen onu o zaman konuşuruz artık.

Mucit23

Hasan bey Vakit ayırıp uzunca bir mesaj yazdığınız için teşekkürler. Sistem üzerinde ben biraz çalışacağım. Şuanda hafızada sıkıntı yok. Benim için 1K ile 100K arası önemli. Ölçüm aralığığı burada olacak.

Projeyi bir hocamla yürütüyorum. Durumu onunla bir konuşmam gerekli. Sonuç tahmin ettiğim gibi olacaksa muhtemelen 100 örnek yetmeyebilir.

Birde şunu sorayım.
Diyelim Örneklerimizi aldık
1K = 372
2K= 1021
3K=1500
5K=2040
10K=2500

Diyelim 1K aralıklarla 1K ile 100K arasında 100 değer alıp tabloya kaydetddik. Bu değerlerin hepsi tabloda var. Çözünürlüğümüz %1 olur değilmi? Yani min 1K çözünürlükle gösterebiliriz. (Mantıken öyle olması lazım.) Türev'de 1K ile 2K arasında değer bulabiliyormuyuz.

Meslea 1K=372
2K=1021
Gelen ADC değeri 750 gibi birşey olsa 100elemanlı bir tabloya göre türev alınsa sonuç nasıl olur?

z

Alıntı yapılan: Mucit23 - 12 Temmuz 2014, 12:36:24
Çinde satılan Modüllerden almıştım. Bugün geldi ve hemen 12 bit ADC ile çıkış voltajını izledim. Çıkışta yani problar arasında birşey yok iken 4095 civarı bir değer alıyorum.

Ama mesela problara 1K bir direnç bağladığımda tam olarak ADC den 372 okuyorum. 1K yerin 100K bağlarsam 3725 civarı bir değer okuyorum. Yani Direncin 100 kat artmasıyla birlikte ADC değeri 10K artıyor.

Bu durumda normal bir doğrusal oran kuramıyorum. Verdiğim ADC değerine göre Bana ohm cinsinden direnç değerini gönderecek bir fonksiyon yazmalıyım.
Hesaplamayı nasıl yaparım?

Bu modül nasıl bir devre içeriyor ki direnç gibi lineer bir devre elemanının değer değişimine karşılık lineer olmayan bir çıkış veriyor?

Şemasını çıkarırsan lineeritedeki bozukluğun sebebi anlaşılır hatta formülü bile yazılabilir. Lineerleştirmeyle falan uğraşmana gerek kalmayabilir.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

LukeSkywalker

Alıntı yapılan: z - 23 Temmuz 2014, 12:20:57
Bu modül nasıl bir devre içeriyor ki direnç gibi lineer bir devre elemanının değer değişimine karşılık lineer olmayan bir çıkış veriyor?

Şemasını çıkarırsan lineeritedeki bozukluğun sebebi anlaşılır hatta formülü bile yazılabilir. Lineerleştirmeyle falan uğraşmana gerek kalmayabilir.

Modül sanırım nem ölçüyor. Bu sebeple topraktaki nem miktarına göre lineer çıkış verebiliyor olabilir. Nem değişimiyle direnç değişimi arasındaki oran lineer olmayabilir.

z

Farketmez. Şema çıktığında formüle edilebilir.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Mucit23

Hocam sensör budur
http://www.ebay.com/itm/Soil-Hygrometer-Detection-Module-Soil-Moisture-Sensor-For-arduino-Smart-car-/400364471802?pt=LH_DefaultDomain_0&hash=item5d379505fa
LukeSkywalker'ın dediği gibi aslında direnç ölçmek için tasarlanmış birşey değil. Topraktaki nem veya su oranına göre analog çıkış veriyor.

Şemasını bulamadım ama üzerinde fazla bir malzeme yok. Bir tane comparatör 1 tane potansiyometre birkaç direnç ve kondansatör. Komparatör belliki dijital çıkış için kullanılıyor.  Kartı biraz inceledim Analog Çıkışın Şeması muhtemelen aşağıdaki gibi



z

Mucit23 kurulu devreye baka baka bunun 100 katı karmaşık devrelerin şemasını çıkartıyorduk.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Mucit23

Alıntı yapılan: z - 23 Temmuz 2014, 15:30:22
Mucit23 kurulu devreye baka baka bunun 100 katı karmaşık devrelerin şemasını çıkartıyorduk.



Hocam yok elde olan bu.

Bunların dışında gözlemlediğim bir tane LM393 komparatör var birde potansiyometre ama onlar dijital çıkışta kullanılıyor. Analog çıkışın şeması tamda yukarıda verdiğim gibi.

Mr_YAMYAM

Genel teoride ölçeklendirme sadece gerilim ölçümü ile yapılmaktadır. (en azından benim bildiğim başka yoktur :D)
Gerek akım ölçümleri, gerek frekans ölçümleri, gerekse direnç ölçümleri olsun en nihayetinde bir skalada gerilim esasına göre ölçeklendiriir.
Bir meteryal direncinin ölçüm tekniği, bu meteryal üzerinden akım geçirilerek, bu akımın bir REFERANS direnç üzerinde düşürdüğü gerilimin ölçümü ile yapılmaktadır.
Eğer referans dirence parelel bağlı başka bir direnç daha var ise (ölçüm aletinin iç direnci gibi) hesaplamalarda bu direncin de kayda alınması gereklidir.
Temel olarak ölçü aletinin iç direnci, hassasiyeti ile doğru orantılı olup ne kadar fazla ise o kadar hassas denilmektedir.
Rx olarak adlandırabileceğimiz ölçüm meteryalinin direnç değeri ile, devrede bulunan diğer elemanların toplam dirençleri o devreden geçirilmesi gereken akım şiddetinin belirlenmesinde rol oynamaktadır.
HESAPLAMALAR basit ohm kanununa göre yapılabilir.


z

#39
Alıntı yapılan: Mucit23 - 23 Temmuz 2014, 02:35:38
Z hocanın fonksiyonu 1K ve 100K da iyi çalışıyorda ara değerlerde çalışmıyor. Artış lineer değil

Elimdeki dirençlerle birkaç test yaptım

1K zaten aldığım ADC değeri 372 değişmiyor.
2K2 740 Civarı
4K7 ile 1346
10K ile 2030 civarı
11K 2140
33K 3150
47K ile 3376 alıyorum
100K zaten 3725 gibi birşey oluyor

Bu durumda nasıl bir yöntem izlemem gerekir?



Bir de bunu dene

ADC = 4095 * R /(10 +R)

Bos yere lineerlestirmeyle falan ugrasacaktin.

mesaj birleştirme:: 23 Temmuz 2014, 21:29:39

R= ADC * 10 / (4095 - ADC)
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

LukeSkywalker

Bülent başkan nasıl bulduğunu anlatır mısın bu denklemi?

z

#41


Semanin bu kadar basit olmasindan korktum ve 1K ve 100K icin deneme yaptim. Baktim tuttu. Bu durumda cikisla Gnd arasinda varsa da cok yuksek empedansli devrecikler vardir dedim.

Sonucta lineersizligin nedeni bu kadar basitmis.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

LukeSkywalker

#42
:) Gözüm var ama görmüyorum.

Eldeki verileri iyi değerlendirmek diye buna denir işte.

hasankara

#43
diğer bir yöntem de elde ettiğin grafiğin fonksiyonunu tahmin etmek. tıpkı @z hocanın yapmış olduğu gibi. sorun için bir hesap yapmıştım ben onu ekleyeyim. başka bir konuda böyle bir şeye ihtiyacın olursa diye artık.




mesaj birleştirme:: 24 Temmuz 2014, 02:55:24

bu arada hafıza kartım bozulmuş, telefondan resmi bilgisayara atamayınca fark ettim, iftardan beri onla uğraştım ama nafile. bende bluetooth la fotoğrafı pc yollayıp o şekilde şimdi buraya ekleyebildim.

Mucit23

Alıntı yapılan: z - 23 Temmuz 2014, 21:26:27
Bir de bunu dene

ADC = 4095 * R /(10 +R)

Bos yere lineerlestirmeyle falan ugrasacaktin.

mesaj birleştirme:: 23 Temmuz 2014, 20:29:39

R= ADC * 10 / (4095 - ADC)

Z hocam aradakı bağıntıyı nasıl çıkardınız formülü nasıl kurdunuz anlayamadım. Vaktinizin olduğu bir zamanda anlatırsanız sevinirim.