This bridge is good for measuring Capacitors. What you do is hookup high impedance headphones to the output(V2 in the NL5 Circuit). Then adjust the resistor(s) , you can use the calculator below to find a suitable resistance for the resistors. This works like a Wheatstone bridge except one side has capacitors. The calculator calculates the unknown capacitor/resistor when the bridge is balanced. The resistors should be high and so should the function generator frequency and amplitude. The bridge is balanced when close to 0 volts is going through the headphones.
The following equation is used for figuring out the unknown capacitor(C1) when balanced. I used yacas to rewrite the equation for the other 3 variables.
The equation will show up once MathJax loads
Notes about this project:
This circuit requires a high impedance headphone(like ones designed for crystal radios)I tried it with headphones and it was quite loud for it to be balanced. I think this was because that it is sensitive to weaker signals.
- The frequency will need to be high, so it will not work with AC Step down transformers.
- This trick probably work best on a oscilloscope. With a oscilloscope you can use frequencies higher than sound frequencies so. Plus at lower capacitance the low current will not throw off the balance point.
- It is probably best ti use a resistor substitution box instead of a pot. This is because with a single turn pot the resistance is hard to find and if the resistance goes below a certain level it can look like you found the correct resistance even when it is not.
With the bridge being balanced you can see it is really close to zero.
Here it is again but this time unbalanced
For this project we will use reference capacitors values 1nF 10nF 100nF and 1µF. R2 should be high as possible.
program desauty; uses sysutils; var c1,c2,r1,r2,cr,rr,ar:extended; s:string; label calculate; begin calculate: c1:=0;c2:=0;r1:=0;r2:=0; write('Enter C1:'); readln(s); if length(s)>0 then c1:=strtofloat(s); write('Enter C2:'); readln(s); if length(s)>0 then c2:=strtofloat(s); write('Enter R1:'); readln(s); if length(s)>0 then r1:=strtofloat(s); write('Enter R2:'); readln(s); if length(s)>0 then r2:=strtofloat(s); if c1=0 then c1:=c2*r2/r1; if c2=0 then c2:=(c1*r1)/r2; if r1=0 then r1:=(c2*r2)/c1; if r2=0 then r2:=(c1*r1)/c2; cr:=c2/c1; rr:=r1/r2; ar:=cr-rr; Writeln('C1:',floattostr(c1)); writeln('C2:',floattostr(c2)); writeln('R1:',floattostr(r1)); writeln('R2:',floattostr(r2)); writeln('CRatio:',floattostr(cr)); writeln('RRatio:',floattostr(rr)); Writeln('ARatio:',floattostr(ar)); if abs(ar)<2 then writeln('Balanced') else writeln('Unbalanced'); write('Press enter to calculate again...'); readln; goto calculate; end.