summaryrefslogtreecommitdiff
path: root/Electronic_Instrumentation_and_Measurements/Chapter11_2.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Electronic_Instrumentation_and_Measurements/Chapter11_2.ipynb')
-rwxr-xr-xElectronic_Instrumentation_and_Measurements/Chapter11_2.ipynb291
1 files changed, 291 insertions, 0 deletions
diff --git a/Electronic_Instrumentation_and_Measurements/Chapter11_2.ipynb b/Electronic_Instrumentation_and_Measurements/Chapter11_2.ipynb
new file mode 100755
index 00000000..75895112
--- /dev/null
+++ b/Electronic_Instrumentation_and_Measurements/Chapter11_2.ipynb
@@ -0,0 +1,291 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# CHAPTER 11: SIGNAL GENERATORS"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 11-1, Page Number: 317"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Mimimum frequency f(min)= 106.0 Hz\n",
+ "Maximum frequency f(max)= 1.06 kHz\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variable Declaration\n",
+ "R1min=500 #Minimum Value of R1(ohm)\n",
+ "R1max=5*10**3 #Maximum Value of R1(ohm)\n",
+ "C=300*10**-9 #in farad(C=C1=C2) \n",
+ "\n",
+ "#Calculation\n",
+ "#Using the formula f=1/2*pi*R*C for Wein bridge oscillator\n",
+ "\n",
+ "fmin=1/(2*math.pi*C*R1max) #Minimum frequency occurs when R1 is maximum(Hz)\n",
+ "fmax=1/(2*math.pi*C*R1min) #Maximum frequency occurs when R1 is minimum(Hz)\n",
+ "\n",
+ "print \"Mimimum frequency f(min)=\",round(fmin),\"Hz\"\n",
+ "print \"Maximum frequency f(max)=\",round(fmax/1000,2),\"kHz\"\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 11-2, Page Number: 319"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "R3= 1.0 kilo ohm\n",
+ "R1+R2= 49.0 kilo ohm\n",
+ "R1= 4.0 kilo ohm\n",
+ "R2= 45.0 kilo ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variable Declaration\n",
+ "\n",
+ "Vi=5 #Input voltage(V)\n",
+ "Ib=500*10**-9 #Bias Current(A)\n",
+ "\n",
+ "#Calculation\n",
+ "#With R1 and R2 in the circuit\n",
+ "Vr3=0.1 #As range is 0-0.1V\n",
+ "Vr=Vi-Vr3 #KVL\n",
+ "\n",
+ "I3=100*10**-6 #Since I3>>Ib, assume I3=100micro ampere\n",
+ "R3=Vr3/I3 #Ohm's Law \n",
+ "Rr=Vr/I3 #Ohm's Law. Rr is equivalent series resistance. Rr=R1+R2\n",
+ "\n",
+ "print \"R3=\",round(R3*10**-3),\"kilo ohm\"\n",
+ "print \"R1+R2=\",round(Rr*10**-3),\"kilo ohm\"\n",
+ "\n",
+ "\n",
+ "#With R2 swithed out of the circuit\n",
+ "Vr3=1 #Range 0-1V\n",
+ "I3=Vr3/R3 #Ohm's Law \n",
+ "Vr1=Vi-Vr3 #KVL\n",
+ "R1=Vr1/I3 #Ohm's Law\n",
+ "R2=Rr-R1 #Rr is equivalent series resistance \n",
+ "print \"R1=\",R1*10**-3,\"kilo ohm\"\n",
+ "print \"R2=\",R2*10**-3,\"kilo ohm\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 11-3, Page Number: 326"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "For contact at top of R1,\n",
+ "f= 1.17 kHz\n",
+ "\n",
+ "For R1 contact at 10% from bottom,\n",
+ "f= 117.0 Hz\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variable Declaration\n",
+ "C1=0.1*10**-6 #in farad \n",
+ "R1=1*10**3 #in ohm\n",
+ "R2=10*10**3 #in ohm \n",
+ "UTP=3.0 #in V\n",
+ "LTP=-3.0 #in V\n",
+ "Vcc=15.0 #in V\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "V3=Vcc-1 #Op-amp saturation voltage is approximately one less than Vcc\n",
+ "\n",
+ "#For contact at top of R1\n",
+ "V1=V3 \n",
+ "I2=V1/R2\n",
+ "dV=UTP-LTP\n",
+ "t=C1*dV/I2 #Using equation for a capacitor charging linearly\n",
+ "f=1/(2*t)\n",
+ "\n",
+ "print \"For contact at top of R1,\"\n",
+ "print \"f=\",round(f*10**-3,2),\"kHz\"\n",
+ "\n",
+ "#For R1 at 10% from bottom\n",
+ "\n",
+ "V1=0.1*V3\n",
+ "I2=V1/R2\n",
+ "t=C1* dV/I2 #Using equation for a capacitor charging linearly\n",
+ "f=1/(2*t)\n",
+ "\n",
+ "print \n",
+ "print \"For R1 contact at 10% from bottom,\"\n",
+ "print \"f=\",round(f),\"Hz\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 11-4, Page Number: 332"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "t= 4.13 ms\n",
+ "The frequency of the sqaure wave output is 121.0 Hz\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variable Declaration\n",
+ "R1=20*10**3 #in ohm\n",
+ "R2=6.2*10**3 #in ohm\n",
+ "R3=5.6*10**3 #in ohm\n",
+ "C1=0.2*10**-6 #in farad\n",
+ "Vcc=12.0 #in volt\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vo=Vcc-1 #Op-amp saturation voltage is approximately one less than Vcc\n",
+ "\n",
+ "UTP=Vo*R3/(R3+R2) #Upper Threshold Voltage\n",
+ "LTP=-UTP #Lower Threshold voltage \n",
+ " \n",
+ "t=C1*R1*math.log((Vo-LTP)/(Vo-UTP)) #Equation to find pulse width for astable multivibrator\n",
+ "f=1/(2*t) \n",
+ "\n",
+ "#Results\n",
+ "print \"t=\",round(t*10**3,2),\"ms\"\n",
+ "print \"The frequency of the sqaure wave output is \",round(f),\"Hz\"\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 11-5, Page Number: 334"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 35,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Pulse width(PW)= 289.0 micro second\n",
+ "For Pw=6ms, C2 should be 0.2 micro farad\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variable Declaration\n",
+ "\n",
+ "Vcc=10\n",
+ "Vb=1\n",
+ "R1=22*10**3\n",
+ "R2=10*10**3\n",
+ "C1=100*10**-12\n",
+ "C2=0.01*10**-6\n",
+ "\n",
+ "#Calculation\n",
+ "Vo_plus=Vcc-1\n",
+ "Vo_minus=-(Vcc-1)\n",
+ "\n",
+ "PW=C2*R2*math.log((Vo_plus-Vo_minus)/Vb)\n",
+ "print \"Pulse width(PW)=\",round(PW*10**6),\"micro second\"\n",
+ "\n",
+ "#When Pw=6ms, C2 is found as follows\n",
+ "PW=6*10**-3\n",
+ "C2=PW/(R2*math.log((Vo_plus-Vo_minus)/Vb))\n",
+ "\n",
+ "print \"For Pw=6ms, C2 should be\",round(C2*10**6,1),\"micro farad\"\n"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}