summaryrefslogtreecommitdiff
path: root/Basic_Electronics_by_R_D_S_Samuel/4-Other_Devices.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Basic_Electronics_by_R_D_S_Samuel/4-Other_Devices.ipynb')
-rw-r--r--Basic_Electronics_by_R_D_S_Samuel/4-Other_Devices.ipynb576
1 files changed, 576 insertions, 0 deletions
diff --git a/Basic_Electronics_by_R_D_S_Samuel/4-Other_Devices.ipynb b/Basic_Electronics_by_R_D_S_Samuel/4-Other_Devices.ipynb
new file mode 100644
index 0000000..d7a37e7
--- /dev/null
+++ b/Basic_Electronics_by_R_D_S_Samuel/4-Other_Devices.ipynb
@@ -0,0 +1,576 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 4: Other Devices"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.4_18: Calculate_input_votage_that_turns_SCR_ON_and_supply_voltage_that_turns_OFF.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"clc\n",
+"disp('Example 4.18')\n",
+"printf('\n')\n",
+"disp('Calculate input voltage that turns SCR ON, & find supply voltage that turns SCR OFF if holding current is 10mA')\n",
+"printf('Given\n')\n",
+"printf('Resistance are in ohms \nCurrent are in Ampere \n Voltage sources are in volt\n')\n",
+"//gate trigger voltage\n",
+"Vgt=0.75\n",
+"//trigger current\n",
+"Igt=5*10^-3\n",
+"//gate resistance\n",
+"Rg=1000\n",
+"//load resistance\n",
+"RL=100\n",
+"//diode forward voltage\n",
+"Vf=0.7\n",
+"//holding current\n",
+"Ih=10*10^-3\n",
+"//minimum input voltage to trigger the SCR is\n",
+"Vin=Vgt+(Igt*Rg)\n",
+"//The supply voltage that turns OFF the SCR is\n",
+"VCC=Vf+(Ih*RL)\n",
+"printf('minimum input voltage to trigger the SCR is %f volt \n',Vin)\n",
+"printf('The supply voltage that turns OFF the SCR is %f volt \n',VCC)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.4_28: Calculate_the_values_of_R1_R2_and_Rp_of_SCR_circuit.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"clc\n",
+"disp('Example 4.28')\n",
+"printf('\n')\n",
+"disp('Calculate suitable values of R1,Rp,R2 for SCR in circuit Fig 4.12')\n",
+"printf('Given\n')\n",
+"printf('Resistance are in ohms \nCurrent are in Ampere \n Voltage sources are in volt\n')\n",
+"//gate current\n",
+"Ig=250*10^-6\n",
+"//gate trigger voltage\n",
+"Vgt=0.75\n",
+"Vd=0.7\n",
+"//supply voltage\n",
+"Vs=40\n",
+"//peak value of supply voltage\n",
+"Vm=sqrt(2)*Vs\n",
+"//supply voltage at angle 10deg\n",
+"Vs1=Vm*sin(10*%pi/180)\n",
+"//supply voltage at angle 90deg\n",
+"Vs2=Vm*sin(90*%pi/180)\n",
+"Vt=Vd+Vgt\n",
+"//to trigger SCR at 10deg moving contact of Rp is at top\n",
+"//from circuit\n",
+"VR1=Vs1-Vt\n",
+"//choose I1min>>Ig\n",
+"I1min=1.5*10^-3\n",
+"R1=VR1/I1min\n",
+"//since Ig<<I1min, current through Rp & R2 is I1min\n",
+"RpPLUSR2=Vt/I1min\n",
+"//to trigger SCR at 90deg moving contact of Rp is at bottom\n",
+"VR2=Vt\n",
+"I1=Vs2/(R1+RpPLUSR2)\n",
+"R2=Vt/I1\n",
+"Rp=RpPLUSR2-R2\n",
+"printf('Resistance R1 is %f ohm \n',R1)\n",
+"printf('Resistance R2 is %f ohm \n',R2)\n",
+"printf('Resistance Rp is %f ohm \n',Rp)\n",
+"\n",
+""
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.4_29: Calculate_the_values_of_R1_R2_and_Rp_of_SCR_circuit.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"clc\n",
+"disp('Example 4.29')\n",
+"printf('\n')\n",
+"disp('Calculate suitable values of R1,Rp,R2 for SCR in circuit Fig 4.12')\n",
+"printf('Given\n')\n",
+"printf('Resistance are in ohms \nCurrent are in Ampere \n Voltage sources are in volt\n')\n",
+"//gate current\n",
+"Ig=600*10^-6\n",
+"//gate trigger voltage\n",
+"Vg=0.7\n",
+"Vd=0.7\n",
+"//supply voltage\n",
+"Vs=230\n",
+"//peak value of supply voltage\n",
+"Vm=sqrt(2)*Vs\n",
+"//supply voltage at angle 8deg\n",
+"Vs1=Vm*sin(8*%pi/180)\n",
+"//supply voltage at angle 90deg\n",
+"Vs2=Vm*sin(90*%pi/180)\n",
+"//to trigger SCR at 10deg moving contact of Rp is at top\n",
+"//from circuit\n",
+"VR1=Vs1-Vg\n",
+"//choose I1min>>Ig\n",
+"I1min=6*10^-3\n",
+"R1=VR1/I1min\n",
+"//since Ig<<I1min, current through Rp & R2 is I1min\n",
+"RpPLUSR2=Vg/I1min\n",
+"//to trigger SCR at 90deg moving contact of Rp is at bottom\n",
+"VR2=Vt\n",
+"I1=Vs2/(R1+RpPLUSR2)\n",
+"R2=Vg/I1\n",
+"Rp=RpPLUSR2-R2\n",
+"printf('Resistance R1 is %f ohm \n',R1)\n",
+"printf('Resistance R2 is %f ohm \n',R2)\n",
+"printf('Resistance Rp is %f ohm \n',Rp)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.4_40: EX4_4_40.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"clc\n",
+"disp('Example 4.40')\n",
+"printf('\n')\n",
+"disp('Design the SCR crowbar circuit to protect the load from voltage levels greater than 12V')\n",
+"printf('Given\n')\n",
+"//gate trigger voltage\n",
+"Vgt=0.75\n",
+"//load voltage maximum\n",
+"VLmax=12\n",
+"//Zener voltage is\n",
+"Vz=VLmax-Vgt\n",
+"//assume zener current(mini) as\n",
+"Izmin=10^-3\n",
+"R=Vgt/Izmin\n",
+"printf('zener voltage \n%f volt\n',Vz)\n",
+"printf('Resistance \n%f ohm\n',R)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.4_41: EX4_4_41.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"clc\n",
+"disp('Example 4.41')\n",
+"printf('\n')\n",
+"disp('Design the SCR crowbar circuit to protect the load from voltage levels greater than 7.5V')\n",
+"printf('Given\n')\n",
+"//gate trigger voltage\n",
+"Vgt=0.7\n",
+"//load voltage maximum\n",
+"VLmax=7.5\n",
+"//Zener voltage is\n",
+"Vz=VLmax-Vgt\n",
+"//assume zener current(mini) as\n",
+"Izmin=10^-3\n",
+"R=Vgt/Izmin\n",
+"printf('zener voltage \n%f volt\n',Vz)\n",
+"printf('Resistance \n%f ohm\n',R)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.4_49: Determine_the_minimum_and_maximum_triggering_voltage_for_a_UJT.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"clc\n",
+"disp('Example 4.49')\n",
+"printf('\n')\n",
+"disp('Determine the minimum & maximum triggering voltage for a UJT')\n",
+"printf('Given\n')\n",
+"Vbb=20\n",
+"//intrinsic ratios\n",
+"nmin=0.6\n",
+"nmax=0.8\n",
+"V=0.7\n",
+"//minimum triggering voltage is\n",
+"Vpmini=nmin*Vbb+Vd\n",
+"//maximum triggering voltage is\n",
+"Vpmax=nmax*Vbb+Vd\n",
+"printf('Minimum triggering Voltage \n%f volt\n',Vpmini)\n",
+"printf('Maximum triggering Voltage \n%f volt\n',Vpmax)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.4_51: find_maximum_oscillating_frequency_of_UJT.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"clc\n",
+"disp('Example 4.51')\n",
+"printf('\n')\n",
+"disp('Calculate minimum & maximum values of Re for the relaxation oscillator & also find maximum oscillating frequency')\n",
+"printf('Given\n')\n",
+"Vbb=15\n",
+"//the parameters of UJT\n",
+"Ip=10^-6\n",
+"Iv=2.5*10^-3\n",
+"Vv=2.5\n",
+"n=0.7\n",
+"PRe=20*10^3\n",
+"C=10^-6\n",
+"Vp=12\n",
+"Vd=0.7\n",
+"Vp1=(n*Vbb)+Vd\n",
+"//minimum Re\n",
+"Remin=(Vbb-Vv)/Iv\n",
+"//maximum Re\n",
+"Remax=(Vbb-Vp1)/Ip\n",
+"//to find maximum oscillating frequency\n",
+"T=PRe*C*log((Vbb-Vv)/(Vbb-Vp))\n",
+"f=1/T\n",
+"printf('maximum Re \n%f ohm\n',Remax)\n",
+"printf('minimum Re \n%f ohm\n',Remin)\n",
+"printf('maximum oscillating frequency \n%f hz \n',f)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.4_52: Determine_the_minimum_and_maximum_values_of_VEB1_for_a_UJT.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"clc\n",
+"disp('Example 4.52')\n",
+"printf('\n')\n",
+"disp('Determine the minimum & maximum values of VEB1 for a UJT')\n",
+"printf('Given\n')\n",
+"Vbb=15\n",
+"//intrinsic ratios\n",
+"nmin=0.68\n",
+"nmax=0.82\n",
+"V=0.7\n",
+"//mini triggering voltage is\n",
+"Vpmini=nmin*Vbb+Vd\n",
+"//max triggering voltage is\n",
+"Vpmax=nmax*Vbb+Vd\n",
+"printf('minimum triggering voltage \n%f volt\n',Vpmini)\n",
+"printf('maximum triggering voltage \n%f volt\n',Vpmax)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.4_53: find_maximum_oscillating_frequency_of_UJT.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"clc\n",
+"disp('Example 4.53')\n",
+"printf('\n')\n",
+"disp('find maximum oscillating frequency')\n",
+"Vbb=20\n",
+"//the parameters of UJT\n",
+"Ip=10^-6\n",
+"Iv=10*10^-3\n",
+"Vv=3.5\n",
+"n=0.75\n",
+"PRe=4.7*10^3\n",
+"C=0.5*10^-6\n",
+"Vd=0.7\n",
+"Vp1=(n*Vbb)+Vd\n",
+"//to find maximum oscillating frequency\n",
+"T=PRe*C*log((Vbb-Vv)/(Vbb-Vp1))\n",
+"f=1/T\n",
+"printf('Oscillator frequency \n%f hz\n',f)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.4_74: plot_the_drain_characteristics_of_JFET.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"clc\n",
+"disp('Example 4.74')\n",
+"printf('\n')\n",
+"disp('plot the drain characteristics of JFET')\n",
+"//given\n",
+"Vds=[0 1 2 2.5 3 4 6 8]\n",
+"Id=[0 2 4.5 5.3 5.5 5.5 5.5 5.5]\n",
+"plot2d(Vds,Id)\n",
+"xlabel('Vds(V)')\n",
+"ylabel('Id(mA)')\n",
+"xtitle('Plot of Vds V/s Id')"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.4_77: calculate_Vds_at_these_gate_source_voltages_and_circuit_voltage_gain_of_JFET.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"clc\n",
+"disp('Example 4.77')\n",
+"printf('\n')\n",
+"disp('calculate Vds at these gate_source voltages & circuit voltage gain of JFET')\n",
+"printf('Given\n')\n",
+"//drain current\n",
+"Id=9*10^-3\n",
+"//gate to source voltage\n",
+"Vgs=(-2)\n",
+"//when Vgs is reduced to -1V then Id is 12mA\n",
+"Vgs1=-1\n",
+"Id1=12*10^-3\n",
+"//from circuit (fig 4.49)\n",
+"Rd=1.5*10^3\n",
+"Vdd=20\n",
+"//to find Vds\n",
+"//when Vgs=-2\n",
+"Vds=Vdd-(Id*Rd)\n",
+"//when Vgs=-1\n",
+"Vds1=Vdd-(Id1*Rd)\n",
+"//change in input voltage Vgs is\n",
+"delVi=Vgs1-Vgs\n",
+"//change in output voltage is\n",
+"delVo=Vds-Vds1\n",
+"//Voltage gain \n",
+"Av=delVo/delVi\n",
+"printf('The value of Vds at gate-source voltages is \n%f volt\n',Vds)\n",
+"printf('The circuit voltage gain \n%f\n',Av)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.4_78: EX4_4_78.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"clc\n",
+"disp('Example 4.78')\n",
+"printf('\n')\n",
+"disp('calculate the minimum & maximum variation in the drain source voltage Vds produced by a change of 0.1V & circuit voltage gain of JFET')\n",
+"printf('Given\n')\n",
+"//transconductance\n",
+"gmmax=5000*10^-6\n",
+"gmmin=1500*10^-6\n",
+"//change in gate to source voltage\n",
+"delVgs=0.1\n",
+"Rd=1.5*10^3\n",
+"//the maximum change in drain current\n",
+"delIdmax=gmmax*delVgs\n",
+"delVdsmax=delIdmax*Rd\n",
+"//voltage gain\n",
+"Av1=delVdsmax/delVgs\n",
+"//the minimum change in drain current\n",
+"delIdmin=gmmin*delVgs\n",
+"delVdsmin=delIdmin*Rd\n",
+"//voltage gain\n",
+"Av2=delVdsmin/delVgs\n",
+"printf('maximum change in drain voltage is %f volt\n',delVdsmax)\n",
+"printf('maximum voltage gain %f \n',Av1)\n",
+"printf('minimum change in drain voltage is %f volt\n',delVdsmin)\n",
+"printf('minimum voltage gain %f \n',Av2)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.4_79: calculate_transconductance_of_JFET.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"clc\n",
+"disp('Example 4.79')\n",
+"printf('\n')\n",
+"disp('calculate transconductance of JFET')\n",
+"printf('Given\n')\n",
+"//voltage gain \n",
+"Av=20\n",
+"//drain resistance\n",
+"Rd=3.3*10^3\n",
+"//transconductance\n",
+"gm=Av/Rd\n",
+"printf('Transconductance of JFET \n%f (1/ohm)\n',gm)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.4_80: determine_the_suitable_value_of_load_resistor_Rd_of_JFET.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"clc\n",
+"disp('Example 4.80')\n",
+"printf('\n')\n",
+"disp('determine the suitable value of load resistor Rd of JFET')\n",
+"printf('Given\n')\n",
+"//voltage gain\n",
+"Av=10\n",
+"//transconductance\n",
+"gm=4500*10^-6\n",
+"//load resistance\n",
+"Rd=Av/gm\n",
+"printf('load resistance \n%f ohm \n',Rd)"
+ ]
+ }
+],
+"metadata": {
+ "kernelspec": {
+ "display_name": "Scilab",
+ "language": "scilab",
+ "name": "scilab"
+ },
+ "language_info": {
+ "file_extension": ".sce",
+ "help_links": [
+ {
+ "text": "MetaKernel Magics",
+ "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md"
+ }
+ ],
+ "mimetype": "text/x-octave",
+ "name": "scilab",
+ "version": "0.7.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}