summaryrefslogtreecommitdiff
path: root/Integrated_Circuits_by_P_Raja/2-The_741_IC_OPamp.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Integrated_Circuits_by_P_Raja/2-The_741_IC_OPamp.ipynb')
-rw-r--r--Integrated_Circuits_by_P_Raja/2-The_741_IC_OPamp.ipynb189
1 files changed, 189 insertions, 0 deletions
diff --git a/Integrated_Circuits_by_P_Raja/2-The_741_IC_OPamp.ipynb b/Integrated_Circuits_by_P_Raja/2-The_741_IC_OPamp.ipynb
new file mode 100644
index 0000000..aab4fc7
--- /dev/null
+++ b/Integrated_Circuits_by_P_Raja/2-The_741_IC_OPamp.ipynb
@@ -0,0 +1,189 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 2: The 741 IC OPamp"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2.1: Input_reference_current.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Ex 2.1\n",
+"clc;clear;close;\n",
+"format('v',6)\n",
+"VCC=5;//V\n",
+"IS=10^-14;//A\n",
+"RS=39*1000;//ohm\n",
+"VBE12=0.7;//V(Assumed)\n",
+"VBE11=0.7;//V(Assumed)\n",
+"VEE=-5;//V\n",
+"IREF=(VCC-VBE12-VBE11-VEE)/RS*10^6;//micro A\n",
+"disp(IREF,'Estimated input reference current , IREF(micro A)');\n",
+"VT=25*10^-3;//V(Thermal Voltage)\n",
+"VBE=VT*log(IREF*10^-6/IS);//V\n",
+"IREF=(VCC-VBE-VBE-VEE)/RS*10^6;//micro A\n",
+"format('v',5)\n",
+"disp(IREF,'More precise value of reference current , IREF(micro A)');\n",
+"//Replacing Vcc by 15 V in the original design\n",
+"VCC2=15;//V\n",
+"VEE2=-15;//V\n",
+"IREF=(VCC2-VBE-VBE-VEE2)/RS*10^6;//micro A\n",
+"VBE=VT*log(IREF*10^-6/IS);//V\n",
+"R5=(VCC-VBE-VBE-VEE)/(IREF*10^-6);//ohm\n",
+"R5=round(R5/1000);//kohm\n",
+"disp(R5,'Value of R5(kohm) : ');"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2.2: Design_a_widlar_current_source.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Ex 2.2\n",
+"clc;clear;close;\n",
+"format('v',5);\n",
+"IC10=20*10^-6;//A\n",
+"IREF=0.5*10^-3;//A\n",
+"IS=10^-14;//A\n",
+"VT=25*10^-3;//V(Thermal Voltage)\n",
+"R4=VT/IC10*log(IREF/IC10);//ohm\n",
+"disp(R4/1000,'For Widlar current source design, the value of R4(kohm) : ');"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2.3: Slew_rate.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Ex 2.3\n",
+"clc;clear;close;\n",
+"format('v',5)\n",
+"Gm1=10;//mA/V\n",
+"Gm1=Gm1/1000;//A/V\n",
+"Cc=50;//pF\n",
+"Cc=Cc*10^-12;//F\n",
+"Rt=10^8;//ohm(Shunting resistance with Cc)\n",
+"Ao=Gm1*Rt;//unitless\n",
+"fp=1/(2*%pi*Rt*Cc);//Hz\n",
+"ft=Gm1/(2*%pi*Cc)/10^6;//MHz\n",
+"disp(fp,'Frequency at which gain is maximum, fp in Hz');\n",
+"disp(ft,'Unit gain frequency, ft(MHz)');\n",
+"//Bode plot can not be plotted with the given data in the question by using scilab functions. "
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2.4: Full_power_Bandwidth.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Ex 2.4\n",
+"clc;clear;close;\n",
+"format('v',6);\n",
+"SR=10/10^-6;//V/s\n",
+"Vout=10;//V(magnitude of output voltage)\n",
+"fm=SR/(2*%pi*Vout)/1000;//kHz\n",
+"disp(fm,'Full power bandwidth(kHz)');\n",
+"VT=25/1000;//V(Thermal voltage)\n",
+"ft=SR/(2*%pi*4*VT)/10^6;//MHz\n",
+"disp(ft,'Unity gain bandwidth(MHz)');"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2.5: Output_voltage_limits.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Ex 2.5\n",
+"clc;clear;close;\n",
+"VCC=5;//V\n",
+"VEE=-5;//V\n",
+"VBE=0.6;//V\n",
+"VCE23=0.6;//V\n",
+"VCE_sat=0.2;//V\n",
+"Vo_max=VCC-VCE_sat-VBE;//V\n",
+"Vo_min=VEE+VCE_sat+VBE+VCE23;//V\n",
+"disp(Vo_max,'Maximum output voltage(V)');\n",
+"disp(Vo_min,'Minimum output voltage(V)');"
+ ]
+ }
+],
+"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
+}