summaryrefslogtreecommitdiff
path: root/Power_Electronics_Principles_and_Applications_by_Jacob/Chapter1.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Power_Electronics_Principles_and_Applications_by_Jacob/Chapter1.ipynb')
-rw-r--r--Power_Electronics_Principles_and_Applications_by_Jacob/Chapter1.ipynb558
1 files changed, 558 insertions, 0 deletions
diff --git a/Power_Electronics_Principles_and_Applications_by_Jacob/Chapter1.ipynb b/Power_Electronics_Principles_and_Applications_by_Jacob/Chapter1.ipynb
new file mode 100644
index 00000000..662bf254
--- /dev/null
+++ b/Power_Electronics_Principles_and_Applications_by_Jacob/Chapter1.ipynb
@@ -0,0 +1,558 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 1: Advanced Operational Amplifier Principles"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 1.1,Page 6"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "open output voltage is 0.5 V\n",
+ "resistance lower loaded is 333.333 ohm\n",
+ "loaded output voltage is 0.25 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage current resistance\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "R1=1000.0;\n",
+ "R2=1000.0;\n",
+ "Rl=500.0#load resistance\n",
+ "V=1.0#input voltage\n",
+ "\n",
+ "#calculation\n",
+ "Vo=(R2/(R1+R2))*V;\n",
+ "Rll=1/((1/R2)+(1/Rl))#lower loaded resistance\n",
+ "Vol=(Rll/(R2+Rll))*V;\n",
+ "\n",
+ "#result\n",
+ "print \"open output voltage is\",round(Vo,3),\"V\"\n",
+ "print \"resistance lower loaded is\",round(Rll,3),\"ohm\"\n",
+ "print \"loaded output voltage is\",round(Vol,3),\"V\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 1.2,Page 11"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "input resistance is 1.01 Kohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage current resistance\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Rf=100000.0#resistance\n",
+ "Acl=100.0#amplifier gain\n",
+ "\n",
+ "#calculation\n",
+ "Ri=Rf/(Acl-1);\n",
+ "\n",
+ "#result\n",
+ "print \"input resistance is\",round(Ri/1000,2), \"Kohm\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 1.3,Page 17"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "current through Ri1 is 178.571 microAmp\n",
+ "current through Ri2 is 31.915 microAmp\n",
+ "current through Ri2 is 31.915 microAmp\n",
+ "current through Rf is 210.486 microAmp\n",
+ "voltage dropped is 2.105 V\n",
+ "output voltage 1 is -2.105 V\n",
+ "output voltage is 2.105 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage current resistance\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vni=0.0#non inverting voltage\n",
+ "Vinv=0.0;#inverting voltage\n",
+ "Vri1=1.0;\n",
+ "Vri2=15.0;\n",
+ "Ri1=5600.0#resistance\n",
+ "Ri2=470000.0;\n",
+ "Rf=10000.0#load resistance\n",
+ "\n",
+ "#calculation\n",
+ "Ir1=Vri1/Ri1;\n",
+ "Ir2=Vri2/Ri2;\n",
+ "Irf=(Vri1/Ri1)+(Vri2/Ri2);\n",
+ "Vr=Irf*Rf;\n",
+ "Vo1=-Vr;\n",
+ "Vo=Irf*Rf;\n",
+ "\n",
+ "#result\n",
+ "print \"current through Ri1 is\",round(Ir1*1e6,3), \"microAmp\"\n",
+ "print \"current through Ri2 is\",round(Ir2*1e6,3), \"microAmp\"\n",
+ "print \"current through Ri2 is\",round(Ir2*1e6,3),\"microAmp\"\n",
+ "print \"current through Rf is\",round(Irf*1e6,3), \"microAmp\"\n",
+ "print \"voltage dropped is\",round(Vr,3), \"V\"\n",
+ "print \"output voltage 1 is\",round(Vo1,3), \"V\"\n",
+ "print \"output voltage is\",round(Vo,3), \"V\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 1.4,Page 25"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "inverting voltage is 4.955 V\n",
+ "non inverting voltage is 4.955 V\n",
+ "current through Rf2 is 42.698 microA\n",
+ "current through Ri2 is 42.698 microA\n",
+ "voltage dropped is 4.056 V\n",
+ "output voltage is 884.897 mV\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage current resistance\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Ri1=950.00;#ohm\n",
+ "Ri2=1050.00;\n",
+ "Rf1=105000.00;#resistance\n",
+ "Rf2=95000.00;\n",
+ "Vin=5.00;#voltage\n",
+ "\n",
+ "#calculation\n",
+ "Vinv=(Rf1/(Rf1+Ri1))*Vin;\n",
+ "Vni=Vinv;\n",
+ "Irf2=(Vin-Vinv)/Ri2;\n",
+ "Iri2=Irf2;\n",
+ "Vrf2=Irf2*Rf2;\n",
+ "Vo=Vinv-Vrf2-.014;\n",
+ "\n",
+ "#result\n",
+ "print \"inverting voltage is\",round(Vinv,3), \"V\"\n",
+ "print \"non inverting voltage is\",round (Vni,3), \"V\"\n",
+ "print \"current through Rf2 is\",round(Irf2*1e6,3), \"microA\"\n",
+ "print \"current through Ri2 is\",round(Iri2*1e6,3), \"microA\"\n",
+ "print \"voltage dropped is\",round(Vrf2,3), \"V\"\n",
+ "print \"output voltage is\",round(Vo*1000,3), \"mV\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 1.5,Page 27"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "input resistor current is 272.222 microA\n",
+ "input resistor current is 500.0 microA\n",
+ "feedback resistor current is 227.778 microAmp\n",
+ "resistor voltage is 227.778 mV\n",
+ "1st output voltage is 2.222 V\n",
+ "input resistor current is 327.778 microA\n",
+ "input resistor current is 827.778 microA\n",
+ "feedback resistor voltage is 7.45 V\n",
+ "2nd output voltage is 10.0 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage current resistance \n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vniu1=2.45;#V\n",
+ "Vniu2=2.55;#V\n",
+ "Vinvu1=2.45;\n",
+ "Vinvu2=2.55;\n",
+ "Ri1=9000.0;#ohm\n",
+ "Ri2=1000.0;#ohm\n",
+ "Rf1=1000.0;\n",
+ "Rf2=9000.0;\n",
+ "Rg=200.0;#load resistance\n",
+ "\n",
+ "#calculation\n",
+ "Iri1=Vniu1/Ri1;\n",
+ "Irg=(Vniu2-Vniu1)/Rg;\n",
+ "Irf1=Irg-Iri1;\n",
+ "Vrf1=Irf1*Rf1;\n",
+ "Vou1=Vniu1-Vrf1;\n",
+ "Iri2=(Vniu2-Vou1)/Ri2;\n",
+ "Irf2=Iri2+Irg;\n",
+ "Vrf2=Irf2*Rf2#feedback resistor voltage\n",
+ "Vo=Vrf2+Vniu2;\n",
+ "\n",
+ "#result\n",
+ "print \"input resistor current is\",round(Iri1*1e6,3), \"microA\"\n",
+ "print \"input resistor current is\",round(Irg*1e6,3), \"microA\"\n",
+ "print \"feedback resistor current is\",round(Irf1*1e6,3), \"microAmp\"\n",
+ "print \"resistor voltage is\",round(Vrf1*1000,3), \"mV\"\n",
+ "print \"1st output voltage is\",round(Vou1,3), \"V\"\n",
+ "print \"input resistor current is\",round(Iri2*1e6,3), \"microA\"\n",
+ "print \"input resistor current is\",round(Irf2*1e6,3),\"microA\"\n",
+ "print \"feedback resistor voltage is\",round(Vrf2,3), \"V\"\n",
+ "print \"2nd output voltage is\",round(Vo,3), \"V\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 1.6.a,Page 29"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "input resistor current is 128.0 microA\n",
+ "feedback resistor current is 128.0 microA\n",
+ "feedback resistor voltage is 5.018 V\n",
+ "output resistor voltage is 5.018 V\n",
+ "output voltage is 3.818 V\n",
+ "load current is 0.5 A\n",
+ "load power is 2.5 W\n",
+ "power dissipated in LM317 is 5.0 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage current resistance\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vniu1=0;#V\n",
+ "Vinvu2=0;#V\n",
+ "Vref=2.56;\n",
+ "Rl=10000.0;#ohm\n",
+ "Rf=39200.0;#ohm\n",
+ "Ro=10.0;#resistance\n",
+ "Vdc1=5.0;\n",
+ "Vdc2=15.0;\n",
+ "Idc=0.5;#current\n",
+ "\n",
+ "#calculation\n",
+ "Iu1=(Vref/Rl)*.5;\n",
+ "Irf=Iu1;\n",
+ "Vrf=Irf*Rf;\n",
+ "Vout=Vrf+Vinvu2;\n",
+ "Eo=Vout-1.2;\n",
+ "Iload=Vdc1/Ro;\n",
+ "Pload=Vdc1**2/Ro;\n",
+ "Plm317=(Vdc2-Vdc1)*Idc;\n",
+ "\n",
+ "#result\n",
+ "print \"input resistor current is\",round(Iu1*1e6,3), \"microA\"\n",
+ "print \"feedback resistor current is\",round(Irf*1e6,3), \"microA\"\n",
+ "print \"feedback resistor voltage is\",round(Vrf,3), \"V\"\n",
+ "print \"output resistor voltage is\",round(Vout,3), \"V\"\n",
+ "print \"output voltage is\",round(Eo,3), \"V\"\n",
+ "print \"load current is\",round(Iload,3), \"A\"\n",
+ "print \"load power is\",round(Pload,3), \"W\"\n",
+ "print \"power dissipated in LM317 is\",round(Plm317,3), \"W\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 1.6.b,Page 31"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "input resistor current is 360.36 microamp\n",
+ "inverting voltage 1 & 2 is 396.396 mV\n",
+ "current across Rs is 3.964 A\n",
+ "emitter voltage is 8.324 V\n",
+ "output voltage is 10.124 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage current resistance\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vin=4;#V\n",
+ "Vs=1.8;#V\n",
+ "Rf=10000.0;#ohm\n",
+ "Ri=1100.0;#ohm\n",
+ "Rl=2.0;#ohm\n",
+ "Rs=0.1;#ohm\n",
+ "\n",
+ "#calculation\n",
+ "Irf=Vin/(Rf+Ri);\n",
+ "Vni=Irf*Ri;\n",
+ "Ir=Vni/Rs;\n",
+ "Ve=Ir*(Rl+Rs);\n",
+ "Vo=Ve+Vs;\n",
+ "\n",
+ "#result\n",
+ "print \"input resistor current is\",round(Irf*1e6,3),\"microamp\"\n",
+ "print \"inverting voltage 1 & 2 is\",round(Vni*1000,3), \"mV\"\n",
+ "print \"current across Rs is\",round(Ir,3), \"A\"\n",
+ "print \"emitter voltage is\",round(Ve,3), \"V\"\n",
+ "print \"output voltage is\",round(Vo,3), \"V\"\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 1.7,Page 36"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "rms voltage is 9.899 V\n",
+ "power delivered is 12.25 W\n",
+ "load voltage is 28.284 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage and power\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vs=18.0;#V\n",
+ "Rl=8.0;#load resistance\n",
+ "Pll=100.0;#power\n",
+ "\n",
+ "#calculation\n",
+ "Vlp=Vs-4;\n",
+ "Vlr=Vlp/(2**(.5));\n",
+ "Pl=(Vlr**2)/Rl;\n",
+ "Vl=(Pll*Rl)**(.5);\n",
+ "\n",
+ "#result\n",
+ "print \"rms voltage is\",round(Vlr,3), \"V\"\n",
+ "print \"power delivered is\",round(Pl,3), \"W\"\n",
+ "print \"load voltage is\",round(Vl,3), \"V\"\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 1.9,Page 44"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "output voltage is 37.34 V\n",
+ "V+ is 45.34 V ;V- is 29.34 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding output volatage and range \n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "import numpy as np\n",
+ "Vp=6.0;#V\n",
+ "Ra=10.0;#Kohm\n",
+ "Rb=1800.0;#ohm\n",
+ "V=8.0;\n",
+ "#solving for Ir & Vo\n",
+ "a=np.array([[1.0,-124.6e-6],[7800.0,-1.0]])\n",
+ "b=np.array([134.6e-6,0.0])\n",
+ "\n",
+ "#calculation\n",
+ "x=np.linalg.solve(a,b);\n",
+ "Vo=x[1];\n",
+ "Va=Vo+V;\n",
+ "Vb=Vo-V;\n",
+ "\n",
+ "#result\n",
+ "print \"output voltage is\",round(Vo,2), \"V\"\n",
+ "print \"V+ is\",round(Va,2), \"V ;V- is\",round(Vb,2), \"V\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 1.11,Page 50"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "output current is 4.091 mA\n",
+ "output voltage is 45.409 V\n",
+ "gain output voltage 1 is 13.356 V\n",
+ "gain output voltage 2 is 0.38 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding output voltage and gain output voltage \n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vin=4.5;\n",
+ "R1=1100.0;\n",
+ "R2=10000.0;\n",
+ "\n",
+ "G1=3.4#gain 1\n",
+ "G2=120.0#gain 2\n",
+ "\n",
+ "#calculation\n",
+ "Ir=Vin/R1;\n",
+ "Vo=Ir*(R1+R2);\n",
+ "Vuo1=Vo/G1;\n",
+ "Vuo2=Vo/G2;\n",
+ "\n",
+ "#result\n",
+ "print \"output current is\",round(Ir*1000,3),\"mA\"\n",
+ "print \"output voltage is\",round(Vo,3), \"V\"\n",
+ "print \"gain output voltage 1 is\",round(Vuo1,3), \"V\"\n",
+ "print \"gain output voltage 2 is\",round(Vuo2,2),\"V\""
+ ]
+ }
+ ],
+ "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.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}