Elektronik devreler laboratuvarında bize aşağıdaki gibi bir devre verilmiş olsun:
Kaynak: Wikipedia
$R_2$ direnci reosta da denilen, değeri ayarlanabilir bir direnç. $R_1$ ve $R_3$ dirençlerini bir kutudan rastgele çekiyoruz, neyse ki onların dirençlerini üzerlerindeki renklere bakıp anlayabiliyoruz. Devremize uygulanan potansiyel farkı ($V_s$) da biliyoruz. $D$ ile $B$ noktalarının arasına bağlı olan bir galvanometre (esasen hassas akım ölçerdir; biz ise deneyimizde çok yüksek bir direnç monte edilmiş haliyle, doğrudan hassas potansiyel farkı ölçmekte kullanıyoruz) ile de o iki nokta arasındaki potansiyel farkı ($V_G$) ölçebiliyoruz. Durum böyleyken böyle yani.
Bizden istenen, kapalı bir kutu içerisinde verilen $R_x$ direncinin değerini $10^{-5}$ hassasiyetle saptamamız.
Kodunuzda (clear
, clc
, vs. tarzı "sıfırlayıcı" komutlar kullanarak başlıyorsanız tabii ki onlardan sonra) ilk rastgele hesabı gerçekleştirmeden evvel (bir kereliğine) şu satırı yerleştirin:
rand("seed",219)
Bu komut sayesinde sizin kodunuzu bir başkası ("ben" 8) çalıştırdığında, sizin bulduğunuz rastgele değerlerin aynısı elde edilebilecektir.
Yapılacaklar #1: R1
ve R3
değerlerine $[10,30]\,\Omega$ aralığından rastgele tam sayı değerler atayın (kafanızdan değil tabii, bilgisayara atatın 8).
rand("seed",219)
R1 = randi([10,30]) # Ohm
R3 = randi([10,30]) # Ohm
R1 = 23 R3 = 13
Yapılacaklar #2: Bulmaya çalıştığımız Rx
değerine de yine
aralığında rastgele bir sayı atatın (ama buna bakmayın).
Rx = randi([10,30]) # Ohm
Rx = 14
Yapılacaklar #3: Sizden önce reostayı kullananlar reostanın değerini $[0,50]\,\Omega$ aralığında bir değerde bırakmışlar, siz de bu R2
değerini bu şekilde tanımlayın.
R2 = randi([0,50]) # Ohm
R2 = 29
Yapılacaklar #4: Devreye uygulanan potansiyel fark olan $V_s$ değerini de 30 V'a ayarlayın.
Vs = 30 # Volt
Vs = 30
Devremizi, kabloları uzatıp/kısaltarak yeniden düzenlemek suretiyle elektriksel anlamda hiçbir şey değiştirmeden şu şekile getirebiliriz (unutmayın ki, aradaki galvanometre D ile B noktaları arasındaki potansiyel farkı ölçmek için kullandığımız bir alet, ideal durumda devreye bir etkisi olamaz):
ADC ile ABC kolları birbirine paralel olduklarından dolayı, $V_{ADC}=V_{ABC}$, onlar da $V_s$'ye eşit olur (üç kolun da uçları arasındaki potansiyel farkın aslında $V_{AC}$ oluşundan):
$$V_s=V_{AC}=V_{ADC}=V_{ABC}$$ADC kolu üzerinden geçen akımı $I_1$, ABC kolu üzerinden geçen akımı da $I_3$ ile gösterelim: $R_1$ ile $R_2$ seri bağlandıklarından $R_1$'den geçen $I_1$ akımı $R_2$'den de geçer; benzer şekilde, $R_3$'ten geçen $I_3$ akımı, $R_x$'den de geçer.
D ile C noktaları arasındaki potansiyel fark, $R_2$ ile üzerinden geçen akımın ($I_1$) çarpımından bulunur:
$$V_{DC} = I_1 R_2$$$V_{ADC}$ kolunun uçları arasındaki potansiyel farkın $V_s$'ye eşit olduğunu çıkarmıştık, aynı potansiyel farkı o koldaki toplam (eşdeğer) direnç ($R_1 + R_2$) ile koldan geçen akımı ($I_1$) çarparak da bulabiliriz:
$$V_s = I_1 (R_1 + R_2)$$İki denklemi birbirine bölersek:
$$\require{cancel} \frac{V_{DC}}{V_{s}} = \frac{\cancel{I_1} R_2}{\cancel{I_1}(R_1+R_2)}\rightarrow\boxed{V_{DC}=\frac{R_2}{R_1+R_2}V_s}$$Benzer işlemleri ABC kolu üzerinde de yaparsak:
$$V_{BC} = I_3 R_x$$$$V_s = I_3 (R_3 + R_x)$$bunları da birbirine bölünce:
$$\frac{V_{BC}}{V_{s}} = \frac{\cancel{I_3} R_x}{\cancel{I_3}(R_3+R_x)}\rightarrow\boxed{V_{BC}=\frac{R_x}{R_3+R_x}V_s}$$Galvanometrenin ölçtüğü $V_G=V_{DB}$ potansiyel farkı doğal olarak $V_{DC}$ ile $V_{BC}$ olur:
$$V_{G} = V_{DC} - V_{BC}$$eşitliklerden yerlerine koyarsak:
$$V_{G} =\left(\frac{R_2}{R_1+R_2} - \frac{R_x}{R_3+R_x}\right)V_s$$olarak çıkar.
Yapılacaklar #5: Parametre olarak R1, R2, R3, Rx, Vs değerlerini kabul edip, yukarıdaki şekilde işleyip VG döndüren bir VG(R1,R2,R3,Rx,Vs)
fonksiyonu yazınız.
Örneğin:
VG(23,10,13,20,19) ==> -5.7576
vermeli.
function f = VG(R1,R2,R3,Rx,Vs)
f = ((R2 ./ (R1 + R2)) - (Rx / (Rx + R3))) * Vs;
endfunction
VG(23,10,13,20,19)
ans = -5.7576
Elimizde oynayacağımız tek şey $R_2$'nin değeri, ölçebileceğimiz tek şey de $V_G$ olduğundan, biz de biriyle oynayıp, diğerini okuyalım.
Burada unutmamamız gereken şey, deneyde bize değerini tespit etmemiz için verilen $R_x$ direncinin biz bilmesek de bir değeri olmasıdır. Böyle yazınca bariz görünüyor ama aslında kodumuzda gömülü bir $R_x$ değeri olması da aynı anlama geliyor (yani kodumuzda tanımlı olması, onu biliyor olduğumuz anlamına gelmemekte). Dahası, deneyde doğrudan $R_x$'i -yüksek hassasiyet ile- ölçemiyoruz ama ona bağlı bir fonksiyon değeri olan $V_G$ potansiyel farkını ölçebiliyoruz.
Bu yaptığımız kısmı deneyde yapıyor olduğumuzu varsayacağız:
Yapılacaklar #6: Reosta değeri $R_2$ ile oynayarak, galvanometrede okuduğumuz $V_G$ değerlerine bakarak, **sistematik** bir şekilde $V_G$'yi sıfır (ya da neredeyse sıfır) yapan $R_2$ değerini bulun.
Bu aşamaya ulaştığımızda (yani $V_G = V_{DB} = 0$ olduğunda), $V_D$ ile $V_B$ aynı değerde demektir. $R_1$ ile $R_3$ yukarıdan $V_A$ potansiyelinde, aşağıdan $V_D = V_B$ potansiyelinde olduklarından, iki uçları arasındaki potansiyel fark eşit hale gelmiş olur, yani:
$$V_{AD} = I_1 R_1 = I_3 R_3 = V_{AB}$$Buradan $I_3$'ü çekersek:
$$I_3 = \frac{R_1}{R_3} I_1$$bulunur.
$V_D$ ile $V_B$ aynı değerde olduğundan, yine aynı mantıkla, $V_{DC} = V_{BC}$, yani:
$$V_{DC} = I_1 R_2 = I_3 R_x = V_{BC}$$($I_3$'ü yukarıda bulduğumuzdan, bu denklemdeki tek bilinmeyen $R_x$ kaldı)
$R_x$', yalnız bırakırsak:
$$R_x = \frac{I_1}{I_3}R_2$$olarak hesaplanmış olur.
R2 = linspace(10,30,300);
VGler = VG(R1,R2,R3,Rx,Vs);
plot(R2,VGler,"-",R2,zeros(numel(R2)),"k-")
grid on
xticks(10:30)
# Grafikten, aradigimiz degerin [24,25] araliginda oldugunu goruyoruz.
istenilen_hassasiyet = 1E-6;
adim = 1;
a = 24;
b = 25;
f_a = VG(R1,a,R3,Rx,Vs);
f_b = VG(R1,b,R3,Rx,Vs);
while(abs(a-b)>istenilen_hassasiyet)
% arama araliginin boyu |a-b|, istenilen hassasiyetten
% buyuk oldugu surece, yarilamaya devam ediyoruz
c = (a+b)/2;
f_c = VG(R1,c,R3,Rx,Vs);
printf("%2d: %9.6f %10.5f | %9.6f %10.5f | %9.6f %10.5f\n",adim,a,f_a,c,f_c,b,f_b);
if(sign(f_c) == sign(f_a))
% c ile a'nın yükseklikleri aynı işaretli, o zaman
% arada kök olmasının garantisi yok, arayışa c ile b
% arasında devam edelim
a = c;
f_a = f_c;
else
% c ile b'nin yükseklikleri aynı işaretli, o zaman
% arada kök olmasının garantisi yok, arayışa a ile c
% arasında devam edelim
b = c;
f_b = f_c;
endif
adim = adim + 1;
endwhile
kok = (a+b)/2;
R2 = kok # Ohm
VG(R1,R2,R3,Rx,Vs)
1: 24.000000 -0.23641 | 24.500000 -0.08187 | 25.000000 0.06944 2: 24.500000 -0.08187 | 24.750000 -0.00582 | 25.000000 0.06944 3: 24.750000 -0.00582 | 24.875000 0.03191 | 25.000000 0.06944 4: 24.750000 -0.00582 | 24.812500 0.01307 | 24.875000 0.03191 5: 24.750000 -0.00582 | 24.781250 0.00363 | 24.812500 0.01307 6: 24.750000 -0.00582 | 24.765625 -0.00109 | 24.781250 0.00363 7: 24.765625 -0.00109 | 24.773438 0.00127 | 24.781250 0.00363 8: 24.765625 -0.00109 | 24.769531 0.00009 | 24.773438 0.00127 9: 24.765625 -0.00109 | 24.767578 -0.00050 | 24.769531 0.00009 10: 24.767578 -0.00050 | 24.768555 -0.00020 | 24.769531 0.00009 11: 24.768555 -0.00020 | 24.769043 -0.00006 | 24.769531 0.00009 12: 24.769043 -0.00006 | 24.769287 0.00002 | 24.769531 0.00009 13: 24.769043 -0.00006 | 24.769165 -0.00002 | 24.769287 0.00002 14: 24.769165 -0.00002 | 24.769226 -0.00000 | 24.769287 0.00002 15: 24.769226 -0.00000 | 24.769257 0.00001 | 24.769287 0.00002 16: 24.769226 -0.00000 | 24.769241 0.00000 | 24.769257 0.00001 17: 24.769226 -0.00000 | 24.769234 0.00000 | 24.769241 0.00000 18: 24.769226 -0.00000 | 24.769230 -0.00000 | 24.769234 0.00000 19: 24.769230 -0.00000 | 24.769232 0.00000 | 24.769234 0.00000 20: 24.769230 -0.00000 | 24.769231 0.00000 | 24.769232 0.00000 R2 = 24.769 ans = -0.00000012200
$V_G$ potansiyel farkını 0 yapan kritik $R_2 = 24.769\,\Omega$ değerini bulduğumuza göre, sorumuzu üç paralel kollu devreye indirgemiş olduk. Bu durumda $I_1$ hesaplayabiliriz:
$$I_1 = \frac{V_s}{R_1 + R_2}$$I1 = Vs/(R1+R2) # Amper
I1 = 0.62802
$I_1$'i artık bildiğimize göre, $I_3$'ü de hesaplayabiliriz:
$$I_3 = \frac{R_1}{R_3} I_1$$I3 = R1/R3*I1 # Amper
I3 = 1.1111
Yapılacaklar #7: I3
değerini bulduktan sonra, Rx
değerini yukarıdaki denklemden hesaplayın, en başta rastgele olarak hesapladığınız değerle kıyaslayın. (Aradaki fark $10^{-5}\,\Omega$'dan küçük olmalı)
Rx_hesaplanan = I1/I3*R2 # Ohm
Rx_hesaplanan = 14.000
Yapılacaklar #8: R2
nin değerini 10'dan 30'a kadar değiştirerek elde ettiğiniz VG
değerlerinin grafiğini çizdirin.
R2 = linspace(10,30,300);
VGler = VG(R1,R2,R3,Rx,Vs);
plot(R2,VGler,"-",R2,zeros(numel(R2)),"k-")
grid on
xticks(10:30)
xlabel("R_2 (Ohm)")
ylabel("V_G (V)")
Bonus: $R_1$'in de reosta olduğunu varsayıp, $[10,50]\,\Omega$ aralığında farklı R1
ve R2
değerlerine karşılık gelen üç boyutlu VG
grafiğini çizdirin.
R1x = linspace(10,50,100);
R2y = linspace(10,50,100);
[xx,yy] = meshgrid(R1x,R2y);
VGz = VG(xx,yy,R3,Rx,Vs);
mesh(R1x,R2y,VGz)
xlabel ("R_1");
ylabel ("R_2");
zlabel ("V_G");
grupadi_finalodevi_1.m
, grupadi_finalodevi_2.m
, ... şeklinde olacak, zip dosyasının adı ise FIZ219_FinalOdevi_GrupAdi.zip
biçiminde olacaktır.