16f877a ile direnç ölçmek

Başlatan point_blank, 23 Eylül 2012, 21:19:54

point_blank

merhaba arkadaşlar sizden fikir almak istiyorum 16F877A ile bir direnci nasıl ölçebilirim direncin degerini ekrana nasıl yazdırabilirim.

R= U/I kanunundan ama devre baglantısı nasıl olacak illa potansiyometremi kullanmam lazım yoksa 5 volta 100ohm diren bu direnci topraga cekip daha sonra örnegin 10k lık direnci ölçmek istediğimde 5 volt ile 100ohm arasına mı koymam lazım fikir verirseniz sevinirim

zamzam23

#1
Alıntı yapılan: point_blank - 23 Eylül 2012, 21:19:54
yoksa 5 volta 100ohm diren bu direnci topraga cekip daha sonra örnegin 10k lık direnci ölçmek istediğimde 5 volt ile 100ohm arasına mı koymam lazım fikir verirseniz sevinirim

aynen böyle yapman lazım. ek olarak:
1-) direncler uzerınden gecen akımı kullanarak  bişiler düşünebilirsin direnc degerını 3 asagı 5 yukarı ölcebılmen ıcın.

2-) ıkı direnc arası gerılımı kullanarak bişi yapabilirsin. adc kullanarak

3-) wheatstone koprusu kullanarak bişi yapabılırsın.

tabı olcmek ıstedıgın dırenc degerlerıne gore yukseltec fılan kullanman gerekebılır

Tagli

    +5V
     o
     |
     R1 (bilinmeyen)
     |
     o ------- o PIC A/D Bacağı
     |
     R2 (bilinen)
     |
     o
    GND


Bu şekilde bir bağlantı ile hem R1 hem de R2 dirençleri üzerindeki gerilim düşümlerini bulabilirsin. Okuduğun değer x olsun. Bu R2, yani değerini bildiğin direncin üzerine düşen gerilim. Böylece hat üzerindeki akımı hesaplayabilirsin. R1 üzerindeki gerilim de (5-x) olacağından bunu da biliyorsun. Hat üzerindeki akımı da hesaplamış olduğun için bilinmeyen R1 değerini hesaplayabilirsin.

R1'in hatta bağlı olmaması, yani oranın açık olması durumunda okuyacağın x değeri 0 olacağından yazılımda 0'a bölme hatası ile karşılaşacaksın. Buna karşı uygun şekilde önlem alman gerekir. Basit bir "if" ifadesi bile sorunu çözmek için yeterli olacaktır muhtemelen.
Gökçe Tağlıoğlu

XX_CİHAN_XX

Ölçmek istediğin R direncine değerini bildiğin seri bir direnç takıyorsun atıyorum 1 ohmluk bir direnç taktın.
Bu iki seri dirence yine bildiğin sabit bir voltaj uyguluyorsun. Örneğin Vdd uyguladın.
İşlem basamağı:
1- Bir ohmluk direnç üzerindeki gerilimi adc ile ölç.
2- Bu gerilim / 1ohm sana akımı verir.
3- Dirençlere uyguladığın Vdd geriliminden 1 ohm üzerinde düşen gerilimi çıkartırsan R direnci üzeriden düşen gerilimi bulursun.
4- Direnç üzerinde akan akımı da madde 2 de tespit ettik (Bu akım 1 ohm üzerinde düşen gerilime eşit olacaktır)
5- r = Vr / I dan direnç değeri bulunur.

Burada önemli birkaç nokta var:
1- Uyguladığın Vdd yi de adc ile ölçüp ölçtüğün değeri kullanman daha gerçekçi sonuç elde etmeni sağlar. 5V veriyorum diye her zaman tam 5 kabul edemezsin. bağladığın dirence göre göçmeler değişmeler olacaktır Vdd üzerinde. Bu nedenle nasıl ki 1 ohm üzerinde düşen gerilimi, akan akımı bulmak için ölçüyorsak Vdd yi de aynı şekilde ölçmekte fayda var.
2- Eğer ölçmek istediğin direnç aralığı çok geniş ise (atıyorum 1ohm dan 1M a gibi) bu durum da Vdd voltajını değişken yapmalısın.
düşünsene vdd yi 5v verdin direncini 1ohm taktın 1 ohm da akım direncin var diyelim (daha da küçülebilir) bu durumda dirençlerdne 2.5A gibi yüksek akım akar haybeye. bu sefer VDD yi küçük tutarım diyeceksin bu seferde 100 k taktın 1ohm da düşen voltajı ölçecek seviyeye bile çıkamayacaksın.
Demem o ki nasıl ki avometrelerde 200, 2k, 200k, .. gibi kademeler varsa sende de böyle bir çeşitlilik varsa aynı kademeleri uygulayacaksın. 200 ohm modunda vdd voltajın 1V ise 200k modunda 5v olacak gibi...
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

point_blank

tesekkürler arkadaşlar yardımınız için