summaryrefslogtreecommitdiff
path: root/Power_Electronics_Principles_and_Applications_by_Jacob/Chapter7.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Power_Electronics_Principles_and_Applications_by_Jacob/Chapter7.ipynb')
-rw-r--r--Power_Electronics_Principles_and_Applications_by_Jacob/Chapter7.ipynb505
1 files changed, 505 insertions, 0 deletions
diff --git a/Power_Electronics_Principles_and_Applications_by_Jacob/Chapter7.ipynb b/Power_Electronics_Principles_and_Applications_by_Jacob/Chapter7.ipynb
new file mode 100644
index 00000000..45af7d98
--- /dev/null
+++ b/Power_Electronics_Principles_and_Applications_by_Jacob/Chapter7.ipynb
@@ -0,0 +1,505 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 7: Switiching Power Supplies"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 7.1,Page 326"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "duty cycle is 0.25\n",
+ "average voltage is 3.0 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding duty cycle and average voltage\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "T=20.0;#time\n",
+ "Vp=12.0;#voltage\n",
+ "t=5.0;\n",
+ "\n",
+ "#calculation\n",
+ "D=t/T;\n",
+ "Vd=(D*Vp);\n",
+ "\n",
+ "#result\n",
+ "print \"duty cycle is\",round(D,3)\n",
+ "print \"average voltage is\",round(Vd,3), \"V\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 7.2,Page 238"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "duty cycle is 42.0 %\n",
+ "time is 10.0 microsec\n",
+ "on time is 4.167 microsec\n",
+ "ripple current is 133.636 mA\n",
+ "load current is 500.0 mA\n",
+ "peak inductor current is 566.818 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding on time ripple,load,peak inductor current\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vd=12.0;#voltage\n",
+ "Vl=5.0;#load voltage\n",
+ "Rl=10.0;#load resistance\n",
+ "f=100.0;#frequency\n",
+ "L=220.0;#inductor\n",
+ "\n",
+ "#calculation\n",
+ "D=Vl/Vd;\n",
+ "T=1/f;\n",
+ "t=D*T;\n",
+ "Vr=Vd-Vl;\n",
+ "I=Vr*round(t*10000)/10/L;\n",
+ "Il=Vl/Rl;\n",
+ "Ip=Il+I/2;\n",
+ "\n",
+ "#result\n",
+ "print \"duty cycle is\",round(D*100), \"%\"\n",
+ "print \"time is\",round(T*1000,3), \"microsec\"\n",
+ "print \"on time is\",round(t*10000,2)/10, \"microsec\"\n",
+ "print \"ripple current is\",round(I*1000,3),\"mA\"\n",
+ "print \"load current is\",round(Il*1000,3), \"mA\"\n",
+ "print \"peak inductor current is\",round(Ip*1000,3), \"mA\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 7.3,Page 335"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "rms current is 325.01 mA\n",
+ "by trapezium method\n",
+ "rms current is 324.04 mA\n",
+ "by rectangle method\n",
+ "\n",
+ " rectangle method gives good result than trapezium method\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding rms current\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Id=500.0;#load current\n",
+ "i=134;#mA\n",
+ "D=.42;#duty cycle\n",
+ "\n",
+ "#calculation\n",
+ "Ip=Id+i/2;\n",
+ "Im=Id-i/2;\n",
+ "I1=((D/3)*(Ip**2+Im*Ip+Im**2))**.5;\n",
+ "I2=D**.5*Id;\n",
+ "\n",
+ "#result\n",
+ "print \"rms current is\",round(I1,2), \"mA\"\n",
+ "print('by trapezium method')\n",
+ "print \"rms current is\",round(I2,2), \"mA\"\n",
+ "print('by rectangle method')\n",
+ "print '\\n rectangle method gives good result than trapezium method'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 7.4,Page 336"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "voltage is 0.3 V\n",
+ "dissipated power is 63.0 mW\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding voltage and power\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "Vp=.3;#voltage\n",
+ "I=500.0;#current\n",
+ "D=.42;#duty cycle\n",
+ "T=150.0;#temperature\n",
+ "R=.6;#ohm\n",
+ "\n",
+ "#calculation\n",
+ "Vq=I*R;\n",
+ "Pq=D*Vq*I;\n",
+ "\n",
+ "#result\n",
+ "print \"voltage is\",round(Vq/1000,2), \"V\"\n",
+ "print \"dissipated power is\",round(Pq/1000,2), \"mW\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 7.5,Page 341"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "duty cycle is 42.0 %\n",
+ "time period is 6.667 microsec\n",
+ "on time is 2.778 microsec\n",
+ "load current is 500.0 mA\n",
+ "ripple current is 125.0 mA\n",
+ "inductor voltage is 7.0 V\n",
+ "inductor is 155.556 microH\n",
+ "inductor current is 562.5 mA\n",
+ "minimum capacitor current is 250.0 mA\n",
+ "minimum capacitor voltage is 18.0 V\n",
+ "Rf/Ri is 3.07\n",
+ "power of LM2595 is 0.33 W\n",
+ "thermal resistance is 210.998 degreeC/W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding all componenets\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "R=10.0;#resistance\n",
+ "V1=5.0;#V\n",
+ "V2=12.0;#V\n",
+ "Ta=80.0;#degreeC\n",
+ "Tb=150.0;\n",
+ "f=150.0;#frequency\n",
+ "\n",
+ "#calculation\n",
+ "D=V1/V2;\n",
+ "T=1/f;\n",
+ "t=D*T;\n",
+ "Id=V1/R;\n",
+ "i=.25*Id;\n",
+ "Vl=V2-V1;\n",
+ "L=Vl*t/i;\n",
+ "Ip=Id+i/2;\n",
+ "Ic=Id/2;\n",
+ "Vc=1.5*V2;\n",
+ "K=V1/1.23-1;\n",
+ "P=.01*V2+D*Id*1;\n",
+ "Q=(Tb-Ta)/P-2.2;\n",
+ "\n",
+ "#result\n",
+ "print \"duty cycle is\",round(D*100), \"%\"\n",
+ "print \"time period is\",round(T*1000,3), \"microsec\"\n",
+ "print \"on time is\",round(t*1000,3), \"microsec\"\n",
+ "print \"load current is\",round(Id*1000,3), \"mA\"\n",
+ "print \"ripple current is\",round(i*1000,3), \"mA\"\n",
+ "print \"inductor voltage is\",round(Vl,2), \"V\"\n",
+ "print \"inductor is\",round(L*1000,3), \"microH\"\n",
+ "print \"inductor current is\",round(Ip*1000,2), \"mA\"\n",
+ "print \"minimum capacitor current is\",round(Ic*1000,2), \"mA\"\n",
+ "print \"minimum capacitor voltage is\",round(Vc,3), \"V\"\n",
+ "print \"Rf/Ri is\",round(K,2)\n",
+ "print \"power of LM2595 is\",round(P,2), \"W\"\n",
+ "print \"thermal resistance is\",round(Q,3), \"degreeC/W\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 7.6,Page 349"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "load power is 15.4 W\n",
+ "supply power is 17.11 W\n",
+ "dc current is 1.4 A\n",
+ "inductor current is 1.57 A\n",
+ "duty cycle is 0.45\n",
+ "inductor is 154.29 microH\n",
+ "transistor power is 352.8 mW\n",
+ "diode power is 385.0 mW\n",
+ "capacitor is 157.5 microF\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding different power,inductor current,inductor value\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V1=12.0#V\n",
+ "V2=22.0;#V\n",
+ "I=.7;#A\n",
+ "f=100.0;#kHz\n",
+ "R=.4;#ohm\n",
+ "Vd=.5;\n",
+ "\n",
+ "#calculation\n",
+ "Pl=V2*I;\n",
+ "Ps=Pl/.9;\n",
+ "Id=round(Ps/V1*10)/10;\n",
+ "i=.25*Id;\n",
+ "Ip=Id+i/2;\n",
+ "D=round((1-V1/V2)*100)/100;\n",
+ "t=D/f;\n",
+ "L=V1*t/i;\n",
+ "Vp=Id*R;\n",
+ "Pq=D*Vp*Id;\n",
+ "Pd=(1-D)*.5*Id;\n",
+ "C=Id*t/2/20;\n",
+ "\n",
+ "#result\n",
+ "print \"load power is\",round(Pl,2), \"W\"\n",
+ "print \"supply power is\",round(Ps,2), \"W\"\n",
+ "print \"dc current is\",round(Id,2), \"A\"\n",
+ "print \"inductor current is\",round(Ip,2), \"A\"\n",
+ "print \"duty cycle is\",round(D,2)\n",
+ "print \"inductor is\",round(L*1000,2), \"microH\"\n",
+ "print \"transistor power is\",round(Pq*1000,2), \"mW\"\n",
+ "print \"diode power is\",round(Pd*100,2)*10, \"mW\"\n",
+ "print \"capacitor is\",round(C*1e6,2), \"microF\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 7.7,Page 355"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Rf/Ri is 16.886\n",
+ "pick Rf=22; Ri=1.3;\n",
+ "rms current is 1.4 A\n",
+ "switch power is 132.3 mW\n",
+ "IC power is 151.2 mW\n",
+ "total power is 283.5 mW\n",
+ "IC temperature is 98.43 degreeC\n"
+ ]
+ }
+ ],
+ "source": [
+ "#finding feedback resistor,power,current and temperature\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V1=12.0;#V\n",
+ "V2=22.0;#V\n",
+ "I=.7;#A\n",
+ "Ta=80.0;#degreeC\n",
+ "Ps=17.1#supply power\n",
+ "\n",
+ "#calculation\n",
+ "K=V2/1.23-1;\n",
+ "Id=round(Ps/V1*10)/10;\n",
+ "D=round((1-(V1/V2))*100)/100;\n",
+ "Ir=D**.5*Id;\n",
+ "Ps=Ir**2*.15;\n",
+ "Pi=D*Id*V1/50;\n",
+ "P=Ps+Pi;\n",
+ "T=Ta+P*65;\n",
+ "\n",
+ "#result\n",
+ "print \"Rf/Ri is\",round(K,3)\n",
+ "print('pick Rf=22; Ri=1.3;')\n",
+ "print \"rms current is\",round(Id,2), \"A\"\n",
+ "print \"switch power is\",round(Ps*1000,2), \"mW\"\n",
+ "print \"IC power is\",round(Pi*1000,2), \"mW\"\n",
+ "print \"total power is\",round(P*1000,2), \"mW\"\n",
+ "print \"IC temperature is\",round(T,2), \"degreeC\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Example 7.8,Page 359"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "maximum voltage is 18.25 V\n",
+ "diode voltage is 20.0 V\n",
+ "duty cycle is 0.34\n",
+ "power delivered is 5.0 W\n",
+ "average current is 466.67 mA\n",
+ "mid primary current is 1.37 A\n",
+ "rms current is 800.33 mA\n",
+ "ramp current is 480.0 mA\n",
+ "maximum transistor current is 1.61 A\n",
+ "minimum transistor current is 1.13 A\n",
+ "diode peak current is 2.02 A\n",
+ "secondary rms current is 1.23 A\n",
+ "capacitor is 170.0 microF\n"
+ ]
+ }
+ ],
+ "source": [
+ "#designing circuit and finding circuit parameter\n",
+ "\n",
+ "#initialisation of variable\n",
+ "from math import pi,tan,sqrt,sin,cos,acos,atan\n",
+ "V1=12.0;#V\n",
+ "V2=5.0;#V\n",
+ "Il=1.0;#load current\n",
+ "T=10.0;#microsec\n",
+ "K=1.25;#Npri/Nsec\n",
+ "L=85.0;#microH\n",
+ "\n",
+ "#calculation\n",
+ "Vq=V1+V2*K;\n",
+ "Vd=V1*K+V2;\n",
+ "D=round((K*V2)*100/(V1+K*V2))/100;\n",
+ "Po=V2*Il;\n",
+ "Pi=round(Po/.09)/10;\n",
+ "Id=Pi/V1;\n",
+ "Im=Id/D;\n",
+ "Ir=(Im*D**.5);\n",
+ "i=V1*D*T/L;\n",
+ "IM=Im+.24;\n",
+ "Imin=Im-.24;\n",
+ "Ip=K*IM;\n",
+ "Imid=Il/(1-D);\n",
+ "Irms=Imid*(1-D)**.5;\n",
+ "C=D*Il*T/20;\n",
+ "\n",
+ "#result\n",
+ "print \"maximum voltage is\",round(Vq,2), \"V\"\n",
+ "print \"diode voltage is\",round(Vd,2), \"V\"\n",
+ "print \"duty cycle is\",round(D,2)\n",
+ "print \"power delivered is\",round(Po,2), \"W\"\n",
+ "print \"average current is\",round(Id*1000,2), \"mA\"\n",
+ "print \"mid primary current is\",round(Im,2), \"A\"\n",
+ "print \"rms current is\",round(Ir*1000,2),\"mA\"\n",
+ "print \"ramp current is\",round(i*1000,2), \"mA\"\n",
+ "print \"maximum transistor current is\",round(IM,2),\"A\"\n",
+ "print \"minimum transistor current is\",round(Imin,2),\"A\"\n",
+ "print \"diode peak current is\",round(Ip,2), \"A\"\n",
+ "print \"secondary rms current is\",round(Irms,2),\"A\"\n",
+ "print \"capacitor is\",round(C*1000,2), \"microF\"\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.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}