summaryrefslogtreecommitdiff
path: root/Introduction_to_Electric_Drives_by_J._S._Katre/chapter6.ipynb
blob: fae89a4bf91b218e6b5e31e594c9c5767eab88a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
{
 "metadata": {
  "name": "",
  "signature": "sha256:d435622fb1baa95a06f9d3e71f4cf43942d9156a2117df3b2f8d5d3555535a6d"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": [
      "Chapter6, Choppers"
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 6.5.1: page 6-7"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "from math import sqrt\n",
      "#average load voltage,RMS load voltage ,Form factor and Ripple factor\n",
      "#given data \n",
      "f=1.0 #in kHz\n",
      "t=1/f #in ms\n",
      "d=0.3 #\n",
      "v=200 #\n",
      "vch=2 #in volts\n",
      "vldc=(v-vch)*d #average load voltage in volts\n",
      "print \"part (a)\"\n",
      "print \"average load voltage = %0.2f V\" %vldc\n",
      "print \"part (b)\"\n",
      "vlrms=(v-vch)*sqrt(d) #RMS load voltage in volts\n",
      "print \"RMS load voltage = %0.1f V\" %vlrms\n",
      "print \"part (c)\"\n",
      "FF=vlrms/vldc #\n",
      "print \"form factor = %0.4f or %0.2f %%\"%(FF,FF*100)\n",
      "print \"part (d)\"\n",
      "rf=sqrt(FF**2-1) #\n",
      "print \"ripple factor = %0.3f or %0.2f %%\"%(rf,rf*100)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "part (a)\n",
        "average load voltage = 59.40 V\n",
        "part (b)\n",
        "RMS load voltage = 108.4 V\n",
        "part (c)\n",
        "form factor = 1.8257 or 182.57 %\n",
        "part (d)\n",
        "ripple factor = 1.528 or 152.75 %\n"
       ]
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 6.5.2: page 6-7"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#chooper efficiency,input resistance and average load current\n",
      "#given data \n",
      "r=10 #in ohms\n",
      "f=1 #in kHz\n",
      "t=1/f #in ms\n",
      "d=0.3 #\n",
      "v=200 #\n",
      "vch=2 #in volts\n",
      "Po=((v-vch)**2)*(d/r) #in watts\n",
      "Pi=((d*v*(v-vch))/r) #in watts\n",
      "cn=Po/Pi #chopper efficiency\n",
      "print \"part (a)\"\n",
      "print \"chopper efficiency = %0.3f or %0.2f %%\"%(cn,cn*100)\n",
      "print \"part (b)\"\n",
      "R1=r/d #\n",
      "print \"input resistance = %0.2f ohm \" %R1\n",
      "print \"part (c)\"\n",
      "vldc=59.4 #V\n",
      "r=10 #ohm\n",
      "Ildc=vldc/r #amp\n",
      "print \"average load current = %0.2f A\" %Ildc"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "part (a)\n",
        "chopper efficiency = 0.990 or 99.00 %\n",
        "part (b)\n",
        "input resistance = 33.33 ohm \n",
        "part (c)\n",
        "average load current = 5.94 A\n"
       ]
      }
     ],
     "prompt_number": 2
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 6.5.3: 6-8"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#Duty Cycle,Average Load voltage and RMS Load Voltage\n",
      "#given data \n",
      "V=200 # in volts\n",
      "T_on=500*10**-6 \n",
      "f=1*10**3 # in Hz\n",
      "D=T_on*f \n",
      "print \"part (a)\"\n",
      "print \"duty cycle =\",D,\"or\",D*100,\"%\"\n",
      "print \"part (b)\"\n",
      "VL_dc=D*V \n",
      "print \"Average Load Voltage = %0.2f V\" %(VL_dc)\n",
      "print \"part (c)\"\n",
      "VL_rms=sqrt(D)*V \n",
      "print \"RMS Load Voltage, VL_rms = %0.f V\" %VL_rms\n",
      "#part c answer is calculated wrong in book"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "part (a)\n",
        "duty cycle = 0.5 or 50.0 %\n",
        "part (b)\n",
        "Average Load Voltage = 100.00 V\n",
        "part (c)\n",
        "RMS Load Voltage, VL_rms = 141 V\n"
       ]
      }
     ],
     "prompt_number": 3
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 6.5.4: page 6-8"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#average load voltage and rms load voltage\n",
      "#given data \n",
      "from numpy import arange, nditer, array\n",
      "Sr = arange(1,11)\n",
      "d = arange(0,1.1,0.1)\n",
      "vldc = d\n",
      "def rms(d):\n",
      "    it = nditer([d, None])\n",
      "    for x, y in it:\n",
      "        y[...] = sqrt(x)\n",
      "    return it.operands[1]\n",
      "vlrms = rms(d)\n",
      "Z  = vldc\n",
      "U = vlrms\n",
      "%matplotlib inline\n",
      "import matplotlib.pyplot as plt\n",
      "plt.plot(d,vlrms) \n",
      "plt.plot(d,vldc) \n",
      "plt.xlabel(\"DUTY CYCLE D\")\n",
      "plt.ylabel(\"Vldc & Vlrms Volts\")\n",
      "plt.title(\"Variation of Vldc and Vlrms with duty cycle D\")\n",
      "plt.text(0.5,0.4,'VLdc')\n",
      "plt.text(0.3,0.7,'VLrms')\n",
      "plt.show()\n",
      "print \"Sr.No\\t\\t\\tDuty Cycle D\\t\\t\\tAvg. Load Voltage\\t\\t\\tRMS load voltage\"\n",
      "for i,d,z,u in nditer([range(1,12),d,Z,U]):\n",
      "    print '  ',i,'\\t\\t\\t  ',d,'\\t\\t\\t\\t\\t',z,'\\t\\t\\t\\t  %0.3f'%u\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nRK5CYII=\n",
       "text": [
        "<matplotlib.figure.Figure at 0x7fa03d2b6cd0>"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Sr.No\t\t\tDuty Cycle D\t\t\tAvg. Load Voltage\t\t\tRMS load voltage\n",
        "   1 \t\t\t   0.0 \t\t\t\t\t0.0 \t\t\t\t  0.000\n",
        "   2 \t\t\t   0.1 \t\t\t\t\t0.1 \t\t\t\t  0.316\n",
        "   3 \t\t\t   0.2 \t\t\t\t\t0.2 \t\t\t\t  0.447\n",
        "   4 \t\t\t   0.3 \t\t\t\t\t0.3 \t\t\t\t  0.548\n",
        "   5 \t\t\t   0.4 \t\t\t\t\t0.4 \t\t\t\t  0.632\n",
        "   6 \t\t\t   0.5 \t\t\t\t\t0.5 \t\t\t\t  0.707\n",
        "   7 \t\t\t   0.6 \t\t\t\t\t0.6 \t\t\t\t  0.775\n",
        "   8 \t\t\t   0.7 \t\t\t\t\t0.7 \t\t\t\t  0.837\n",
        "   9 \t\t\t   0.8 \t\t\t\t\t0.8 \t\t\t\t  0.894\n",
        "   10 \t\t\t   0.9 \t\t\t\t\t0.9 \t\t\t\t  0.949\n",
        "   11 \t\t\t   1.0 \t\t\t\t\t1.0 \t\t\t\t  1.000\n"
       ]
      }
     ],
     "prompt_number": 4
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 6.5.5: page 6-9"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "from numpy import arange, nditer, sqrt\n",
      "#average load voltage and rms load voltage\n",
      "#given data \n",
      "D=arange(0.1,1.1,0.1)\n",
      "def fun1(D):\n",
      "    it=nditer([D, None])\n",
      "    for x, y in it:\n",
      "        y[...] = 1/sqrt(x)*100\n",
      "    return it.operands[1]    \n",
      "\n",
      "FF = fun1(D)\n",
      "def fun2(FF):\n",
      "    it = nditer([FF, None])\n",
      "    for x,y in it:\n",
      "        y[...] = sqrt((x/100)**2-1)*100\n",
      "    return it.operands[1]\n",
      "\n",
      "RF = fun2(FF)\n",
      "\n",
      "if D.any():\n",
      "    print \"Duty Cycle D : \",\n",
      "    for d in D:\n",
      "        print d,'\\t',\n",
      "print ''\n",
      "if FF.all():\n",
      "    print \"    FF %     : \",\n",
      "    for ff in FF:\n",
      "        print round(ff,2),'\\t',\n",
      "\n",
      "print ''\n",
      "if RF.any():\n",
      "    print \"    RF %     : \",\n",
      "    for rf in RF:\n",
      "        print round(rf,2),'\\t',\n",
      "\n",
      "% matplotlib inline\n",
      "import matplotlib.pyplot as plt\n",
      "plt.plot(D,FF)\n",
      "plt.plot(D,RF) \n",
      "plt.xlabel(\"DUTY CYCLE D\")\n",
      "plt.ylabel(\"FF & RF (%)\")\n",
      "plt.title(\"Variation of FF and RF with duty cycle D\")\n",
      "plt.text(0.7,130,'FF %')\n",
      "plt.text(0.7,70,'RF %')\n",
      "plt.show()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Duty Cycle D :  0.1 \t0.2 \t0.3 \t0.4 \t0.5 \t0.6 \t0.7 \t0.8 \t0.9 \t1.0 \t\n",
        "    FF %     :  316.23 \t223.61 \t182.57 \t158.11 \t141.42 \t129.1 \t119.52 \t111.8 \t105.41 \t100.0 \t\n",
        "    RF %     :  300.0 \t200.0 \t152.75 \t122.47 \t100.0 \t81.65 \t65.47 \t50.0 \t33.33 \t0.0 \t"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nAAAAAElFTkSuQmCC\n",
       "text": [
        "<matplotlib.figure.Figure at 0x7fa03d1e3fd0>"
       ]
      }
     ],
     "prompt_number": 5
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 6.5.6: 6-10"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "from __future__ import division\n",
      "#Average output voltage,RMS output voltage,chopper efficiency and Effective input resistance\n",
      "#given data :\n",
      "r=10 #in ohms\n",
      "d=0.3 #\n",
      "v=230 #\n",
      "vch=1.5 #in volts\n",
      "D=80/100 # duty cycle\n",
      "V=220 # in volts\n",
      "Vch=1.5 #in volts\n",
      "VL_dc=D*(V-Vch) \n",
      "print \"part (a)\"\n",
      "print \"Average output voltage, VL_dc = %0.2f V \" %VL_dc\n",
      "print \"part (b)\"\n",
      "VL_rms=sqrt(D)*(V-Vch) \n",
      "print \"RMS output voltage, VL_rms = %0.2f V \" %VL_rms\n",
      "print \"part (c)\"\n",
      "Po=((v-vch)**2)*(d/r) #in watts\n",
      "Pi=((d*v*(v-vch))/r) #in watts\n",
      "cn=Po/Pi #chopper efficiency\n",
      "print \"chopper efficiency = %0.4f or %0.1f %%\"%(cn,cn*100)\n",
      "print \"part (d)\"\n",
      "D=80/100 # duty cycle\n",
      "R=20 #in ohm\n",
      "Ri=R/D \n",
      "print \"Effective input resistance, Ri = %0.2f ohm\" %Ri"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "part (a)\n",
        "Average output voltage, VL_dc = 174.80 V \n",
        "part (b)\n",
        "RMS output voltage, VL_rms = 195.43 V \n",
        "part (c)\n",
        "chopper efficiency = 0.9935 or 99.3 %\n",
        "part (d)\n",
        "Effective input resistance, Ri = 25.00 ohm\n"
       ]
      }
     ],
     "prompt_number": 6
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 6.5.7 : page 6-11"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#average output voltage and current\n",
      "#given data :\n",
      "vs=120 #in volts\n",
      "vb=1 #in volts\n",
      "d=0.33 #\n",
      "rl=10 #in ohms\n",
      "f=200 #in Hz\n",
      "Vldc=d*vs #\n",
      "Ildc=round(Vldc)/rl #in amperes\n",
      "print \"average/DC output voltage = %0.f V\" %round(Vldc)\n",
      "print \"average load current = %0.f A\" %Ildc"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "average/DC output voltage = 40 V\n",
        "average load current = 4 A\n"
       ]
      }
     ],
     "prompt_number": 7
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 6.6.5 : page 6-20"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#Average armature current\n",
      "#given data :\n",
      "V=200 # in volts\n",
      "D=50/100 # duty cycle\n",
      "VL_dc=V*D \n",
      "Eb=75 # in volts\n",
      "Ra=1 # in ohm\n",
      "Ia=(VL_dc-Eb)/Ra \n",
      "print \"Average armature current, Ia = %0.2f A \" %Ia"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Average armature current, Ia = 25.00 A \n"
       ]
      }
     ],
     "prompt_number": 8
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 6.6.6 : page 6-21"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "from numpy import exp, array, linalg\n",
      "#minimum instantaneous load current,peak instantaneous current and maximum peak to peak ripple\n",
      "v=220 #volts\n",
      "r=10 #in ohms\n",
      "l=15.5 #in mH\n",
      "f=5 #in kHz\n",
      "Eb=20 #in volts\n",
      "d=0.5 #\n",
      "x=exp((-(1-d)*r)/(f*10**3*l*10**-3)) #\n",
      "y=(1-x)*(Eb/r) #\n",
      "y1=(1-x)*((v-Eb)/r) #\n",
      "A=array([[0.94, -0.94*0.94],[0.94, -1] ])\n",
      "B=array([-0.94*0.125, -1.25] )\n",
      "X=linalg.solve(A,B) #\n",
      "print \"part (a)\"\n",
      "print \"minimum instantaneous current = %0.2f A\" %X[0]\n",
      "print \"part (b)\"\n",
      "print \"peak instantaneous current = %0.2f A\" % X[1]\n",
      "print \"part (c)\"\n",
      "PP=X[1]-X[0]\n",
      "print \"maximum peak to peak ripple in the load current = %0.3f A\" %PP"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "part (a)\n",
        "minimum instantaneous current = 9.02 A\n",
        "part (b)\n",
        "peak instantaneous current = 9.73 A\n",
        "part (c)\n",
        "maximum peak to peak ripple in the load current = 0.709 A\n"
       ]
      }
     ],
     "prompt_number": 9
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 6.6.7 page 6-21"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "from __future__ import division\n",
      "#inductance\n",
      "v=220 #in volts\n",
      "r=0.2 #in ohms\n",
      "ia=200 #in amperes\n",
      "f=200 #in hz\n",
      "di=0.05*ia #in amperes\n",
      "e=0 #in volts\n",
      "d=0.5 #\n",
      "l=((1-d)*v*d*(1/f))/di #\n",
      "print \"inductance = %0.2f mH\" %(l*10**3)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "inductance = 27.50 mH\n"
       ]
      }
     ],
     "prompt_number": 10
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 6.6.9: 6-24"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "from math import log, pi, sin\n",
      "#load current is continuous or not,Average output current , \n",
      "#maximum and minimum steady state output current and  RMS values of first and second harmonics of the load current\n",
      "#given data :\n",
      "V=220 #in volts\n",
      "La=5 # in mH\n",
      "Eb=24 #in volts\n",
      "Ra=1 # in ohm\n",
      "T=2 #in m-sec\n",
      "D=0.6/2 \n",
      "D_dash=(La/(T*Ra))*log(1-((Eb/V)*(1-exp((T*Ra)/La)))) \n",
      "print \"part (c)\"\n",
      "print \"As D =\",D,\"% is greater then D_dash =\",round(D_dash,3),\"% so load current is continous.\"\n",
      "print \"part (d)\"\n",
      "Io=((D*V)-Eb)/Ra \n",
      "print \"Average output current,Io(A) = \",Io\n",
      "I_max=(V/Ra)*((1-exp(-(D*T*Ra)/La))/(1-exp(-(T*Ra)/La)))-(Eb/Ra) \n",
      "print \"Maximum steady state putput current, I_max = %0.2f A \" %I_max\n",
      "I_min=(V/Ra)*((1-exp((D*T*Ra)/La))/(1-exp((T*Ra)/La)))-(Eb/Ra) \n",
      "print \"Minimum steady state output current, I_min = %0.2f A\" %round(I_min)\n",
      "print \"part (e)\"\n",
      "C1_rms=((2*V)/(pi*sqrt(2)))*sin(pi*D) # in volts\n",
      "C2_rms=((2*V)/(2*pi*sqrt(2)))*sin(2*pi*D) # in volts\n",
      "Z1=((Ra**2+(2*pi*La*10**-3*(1/(T*10**-3)))**2)**(1/2)) #\n",
      "Z2=((Ra**2+(2*2*pi*La*10**-3*(1/(T*10**-3)))**2)**(1/2)) #\n",
      "Ifl=C1_rms/Z1 #in amperes\n",
      "Ifl1=C2_rms/Z2 #in amperes\n",
      "print \"fundamental component of load current = %0.2f A\" %Ifl\n",
      "print \"second harmonic component of load current = %0.2f A\" %Ifl1"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "part (c)\n",
        "As D = 0.3 % is greater then D_dash = 0.131 % so load current is continous.\n",
        "part (d)\n",
        "Average output current,Io(A) =  42.0\n",
        "Maximum steady state putput current, I_max = 51.46 A \n",
        "Minimum steady state output current, I_min = 33.00 A\n",
        "part (e)\n",
        "fundamental component of load current = 5.09 A\n",
        "second harmonic component of load current = 1.50 A\n"
       ]
      }
     ],
     "prompt_number": 11
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 6.6.11: page 6-27"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#value of current limiting resistor ,maximum and minimum duty cycle\n",
      "#given data :\n",
      "v=325 #in volts\n",
      "eb=120 #in volts\n",
      "r=0.2 #in ohms\n",
      "ra=0.3 #in ohms\n",
      "e=120 #in volts\n",
      "rb=0.2 #in ohms\n",
      "rl=0.3 #in ohms\n",
      "d=60 #in percentage\n",
      "i=20 #in amperes\n",
      "vo=(d/100)*v #\n",
      "R=((i*rl)-(v-eb)+(i*rb))/(-i) #\n",
      "print \"part (a)\"\n",
      "print \"value of current limiting resistor = %0.2f ohm\" %R\n",
      "#value of current limiting resistor is calculated wrong in the textbook\n",
      "print \"part (b)\"\n",
      "p=15 #\n",
      "R=9.45 #\n",
      "vmax=v+(v*(p/100)) #\n",
      "vmin=v-(v*(p/100)) #\n",
      "Dmax=((i*R)/vmin)*100 #\n",
      "Dmin=((i*R)/vmax)*100 #\n",
      "print \"maximum duty cycle = %0.2f %%\" %Dmax\n",
      "print \"minimum duty cycle = %0.2f %%\" %Dmin"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "part (a)\n",
        "value of current limiting resistor = 9.75 ohm\n",
        "part (b)\n",
        "maximum duty cycle = 68.42 %\n",
        "minimum duty cycle = 50.57 %\n"
       ]
      }
     ],
     "prompt_number": 12
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 6.9.1 : page 6-39"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# pulse width and output voltage\n",
      "#given data :\n",
      "v=220 #in volts\n",
      "vo=660 #in volts\n",
      "toff=100 #in micro seconds\n",
      "ton=((vo*toff)/v)-toff #in micro secondsT=ton+toff #in micro seconds\n",
      "T=ton+toff \n",
      "f=(1/T) #in Hz\n",
      "Vo=((v)/(1-(f*(ton/2)))) #in volts\n",
      "print \"pulse width (ton) = %0.f micro seconds\"%ton\n",
      "print \"new output voltage = %0.f V\" %Vo"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "pulse width (ton) = 200 micro seconds\n",
        "new output voltage = 330 V\n"
       ]
      }
     ],
     "prompt_number": 13
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 6.9.2 : page 6-40"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#chopping frequency and new output voltage\n",
      "#given data :\n",
      "v=200 #in volts\n",
      "vo=600 #in volts\n",
      "ton=200 #in micro seconds\n",
      "x=-((v/vo)-1) #\n",
      "f=x/(ton*10**-6) #\n",
      "ton1=ton/2 #\n",
      "Vo=((v)/(1-(f*ton1*10**-6))) #in volts\n",
      "print \"chopping frequency = %0.2f Hz\"%f\n",
      "print \"new output voltage = %0.2f V\"%Vo"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "chopping frequency = 3333.33 Hz\n",
        "new output voltage = 300.00 V\n"
       ]
      }
     ],
     "prompt_number": 14
    }
   ],
   "metadata": {}
  }
 ]
}