Download documentacion
Document related concepts
Transcript
INTRODUCCION Spice (Simulation Program with Integrated Circuit Emphasis) es un versátil software de diseño y simulación de circuitos. Spice fue desarrollado por la Universidad de Berkeley, California en 1975. Actualmente se encuentran disponibles numerosas versiones de Spice para ordenadores personales (PSpice), desarrollada por Microsim Corporation. la más utilizada es la La popularidad de Spice se debe fundamentalmente a su versatilidad en los distintos tipos de análisis que puede realizar, su facilidad de aprendizaje y por la gran variedad de elementos que posee dentro de sus librerias. La importancia de contar con una herramienta como Pspice radica en la reducción del tiempo necesario para realizar complicados cálculos numéricos que se pueden presentar en el análisis de circuitos. Es importante que la persona que tiene contacto por primera vez con el software no se deje impresionar por el poder y versatilidad de Spice, ya que los resultados obtenidos dependen totalmente de que le suministremos los datos de manera correcta, de lo contrario de muy poco nos puede servir esta herramienta. Se pretende en este corto manual realizar una introducción básica a la utilización de PSpice, haciendo énfasis en la simulación de circuitos resistivos, análisis en el dominio del tiempo y respuesta permanente sinusoidal. Los temas son desarrollados en el orden descrito anteriormente y en cada uno se incluyen ejemplos resueltos. El enfoque de este manual esta dirigido a la utilización de PSpice mediante ficheros de texto, sin recurrir a otras herramientas de las que dispone el software y que serán tratadas durante el curso. El estudiante que se interese por algunos temas adicionales relacionados con PSpice puede consultar las referencias bibliográficas que se presentan al final del manual. 1 INDICE Características Generales de PSpice 1 1. Creación de un fichero fuente en PSpice 3 1.1 Sentencias de datos 3 1.2 Sentencias de control 4 1.3 Sentencias de salida 4 2. Análisis de circuitos resistivos 5 2.1 Sentencias de introducción de datos 6 2.1.1 Generadores DC independientes 6 2.1.2 Generadores Sinusoidales 7 2.1.3 Generadores dependientes 9 2.1.4 Elementos Resistivos 11 2.1.5 Amplificadores Operacionales 11 2.2 Sentencias de control 14 2.2.1 Sentencia .OP 14 2.2.2 Sentencia .DC 14 2.2.3 Sentencia .TF 15 2.2.4 Sentencia .SENS 16 2.3 Sentencia .PRINT 16 Ejemplos 17-26 2 3. Análisis en el dominio del tiempo 27 3.1 Inductores 27 3.2 Condensadores 27 3.3 Sentencia .TRAN 28 3.4 Sentencias .PLOT y .PRINT 28 3.5 Sentencia .PROBE 29 3.6 Generador exponencial 29 3.7 Generador lineal por tramos (PWL) 31 Ejemplos 32-37 4. Análisis de Régimen permanente sinusoidal 38 4.1 Generadores AC 38 4.2 Sentencia .AC 38 4.3 Sentencia .PRINT 39 Ejemplos 40-45 Referencias bibliográficas 46 3 Características generales de PSpice El procedimiento general para la simulación de circuitos utilizando PSpice consta de tres pasos básicos. Primero la creación del fichero fuente, que contiene las características de los elementos que forman parte del circuito. El siguiente paso es introducir el fichero fuente en el ordenador y correr el programa, el cual creará un fichero de salida. El último paso es indicar al ordenador la manera de presentar los resultados, ya sea en gráficos, en tablas. Antes de iniciar la discusión de cómo crear un fichero fuente en PSpice es necesario realizar algunos comentarios generales sobre su formato: 1. Cada sentencia en el fichero fuente consta de varias partes, denominadas campos. Cada campo tiene un orden específico dentro de una sentencia y los mismos pueden separase mediante el empleo de comas, uno o más espacios en blanco o mediante tabulaciones. 2. En algunas ocasiones se pueden utilizar signos de igual “=”, o paréntesis “()” como separadores. 3. Una sentencia en un fichero fuente no puede contener más de 80 caracteres por línea. Sí alguna sentencia necesita más de 80 caracteres, puede continuarse en la siguiente línea colocando el signo “+ ” al inicio de la nueva línea, seguido por el resto de la sentencia. 4. PSpice no hace distinción entre letras mayúsculas y minúsculas. Pero es preferible colocar los nombres en mayúscula. 5. El campo correspondiente al nombre de un elemento debe iniciar con una letra de la “A” “Z”, pero los caracteres siguientes pueden ser letras, números, o cualquier de los siguientes símbolos: $, -,*,/,%. Los nombres pueden contener un máximo de 131 caracteres, pero se recomienda la utilización de 8 como máximo. 6. Los campos pueden contener números enteros (3, -5, 9) o números reales (1.235, 0.002, -0.01254). Los números enteros y reales pueden estar acompañados de un exponente 4 entero (7.5e-9, 8e3, -5.23e-2), o de un factor de escala simbólico (7.5n, 8k, -52.3m). En la siguiente tabla se presentan los factores de escala utilizados por PSpice y sus respectivas formas exponenciales. FACTORES DE ESCALA DE PSPICE SÍMBOLO FORMA EXPONENCIAL VALOR F (f) P (p) N (n) U (u) M (m) K (k) MEG (meg) G (g) T (t) 1e-15 1e-12 1e-9 1e-6 1e-3 1e3 1e6 1e9 1e12 10-15 10-12 10-9 10-6 10-3 103 106 109 1012 7. La primera línea de un fichero fuente es el título, el cual puede contener cualquier texto. La línea de título es ignorada por PSpice, a excepción de ser colocada como etiqueta en el archivo de salida. 8. La última sentencia en un fichero fuente debe ser la sentencia .END. 9. Un asterisco “*” al inicio de una línea indica un comentario. Los comentarios son ignorados por PSpice. 10. Exceptuando la línea de título, la definición de subcircuitos, y las sentencias .OPTION .END el orden en que se coloquen el resto de las sentencias en el fichero no tiene importancia para el programa. 5 1. Creación de un fichero fuente en PSpice Para crear un fichero fuente en PSpice es necesario seguir los siguientes pasos: Primero se describe el circuito que se desea analizar; luego se establece el tipo de análisis que se va a realizar, y por último se determina el tipo de presentación para los resultados. Para facilitar la creación de los ficheros fuente es recomendable subdividir el fichero en tres partes: primero la declaración de sentencias de datos, en la cual se colocan las sentencias que describen las características de cada uno de los elementos del circuito. Luego se declaran las sentencias de control, en donde se establecen los tipos de análisis que se realizaran, y en tercer lugar las sentencias de salida, en las cuales se especifica la manera en que se presentaran los resultados. Además de estas tres divisiones, el fichero fuente consta de la línea de título y de la sentencia .END al final del fichero. El fichero puede ser creado en cualquier editor de texto, siempre que el editor no introduzca ningún tipo de caracteres especiales o de control. 1.1 Sentencias de datos PSpice se basa en el método de análisis nodal, por lo cual el primer paso en la descripción de un circuito en PSpice debe ser enumerar todos los nodos, colocando el nodo cero (0) como nodo de referencia y el resto de los nodos pueden ser enumerados con números naturales (enteros positivos), no necesariamente en secuencia, o pueden ser nombrados con cadenas alfanuméricas no mayores de 8 caracteres. Después de nombrar cada uno de los nodos del circuito, se describe completamente el circuito, identificando cada uno de los elementos conectados a los nodos, además de especificar sus características numéricas. PSpice tiene algunas restricciones con relación a la topología de los circuitos, siempre que describimos un circuito es PSpice debemos asegurarnos de que: (1) en cada nodo hay por lo menos dos elementos conectados; (2) cada nodo del circuito debe tener al menos un camino al nodo de referencia; (3) no se pueden crear lazos o mallas que contengan únicamente fuentes de tensión o inductores; (4) no se pueden dejar condensadores o generadores de corriente como parte de ramas abiertas en un circuito. 6 1.2 Sentencias de control Las sentencias de control son comandos de PSpice que describen los parámetros del tipo de análisis que se desea realizar a un determinado circuito. El número y tipo de parámetros en cada sentencia, depende del tipo de análisis requerido. PSpice incluye análisis .DC, para análisis de corriente continua, .AC para análisis de corriente alterna y respuesta en frecuencia, .FOUR para realizar análisis de Fourier, .TF para el cálculo de funciones de transferencia e impedancias, .SENS para sensitividad y .OP para la obtención de los valores de operación en cada componente de un circuito. 1.3 Sentencias de salida Las sentencias de salida se utilizan para controlar la manera de presentar los resultados, ya sea en forma de gráficas o en tablas. Los resultados de los análisis realizados, es almacenado por PSpice en un fichero con extensión .OUT, con el mismo nombre que el fichero fuente, el cual al ser guardado debe tener una extensión .CIR. El fichero de resultados se puede dividir en tres partes: la primera contiene una copia del fichero fuente; en la siguiente se encuentran los resultados de algunos tipos de análisis como .TF, .OP, .SENSE, los cuales presentan estos resultados sin la necesidad de ser indicados por sentencias de salida; y en la tercera parte se encuentran los resultados producidos por las sentencias de salida, es decir gráficas y tablas. Las gráficas se obtienen mediante la declaración .PLOT, mientras que las tablas se obtienen mediante la declaración .PRINT. Además de estas opciones PSpice incluye un visualizador de gráficos, conocido como PROBE, el cual utiliza un fichero especial creado por PSpice para la presentación de los resultados mediante gráficas. Para hacer uso de la opción PROBE, se debe incluir en el fichero fuente la sentencia .PROBE; con lo cual PSpice genera un fichero con extensión .DAT que es utilizado como base de datos por el programa PROBE. 7 2. Análisis de circuitos resistivos En este apartado se analizan circuitos con elementos resistivos, amplificadores operacionales, generadores de tensión y corriente (dependientes e independientes). El análisis puede hacerse tanto en corriente directa (DC), como en otras formas de señal. En esta sección iniciaremos por explicar como se introducen las sentencias de datos necesarias para crear los archivos fuente para de análisis permanente. Luego se presentan las sentencias de control en donde se podrán observar los distintos tipos de análisis DC, que PSpice nos permite realizar. En la siguiente tabla se presenta una breve descripción de cada uno de estos tipos de análisis. SENTENCIA DE CONTROL DC RESULTADOS QUE OBTIENE PSPICE Estado permanente de las corrientes y voltajes del .DC circuito, con respecto a la variación de la tensión de un generador, la temperatura o algún parámetro del circuito. .OP Se obtiene el punto de operación de cada elemento del circuito. Se obtiene la sensibilidad de algún parámetro del .SENS circuito con respecto a cambios en los valores nominales de los elementos del circuito. .TF Se obtiene la relación salida / entrada del circuito y resistencias de entrada y salida del circuito. Seguidamente se presentaran las sentencias de salida en las cuales se podrán observar las distintas maneras de presentar los resultados en PSpice. 8 2.1 Sentencias de introducción de datos para análisis DC Iniciaremos la descripción de las sentencias de entrada de datos, con los generadores dependientes e independientes, continuando con elementos resistivos y amplificadores operacionales. 2.1.1 Generadores DC independientes La declaración utilizada para especificar generadores independientes consta de cuatro campos: Nombre del generador. Nodos de conexión. Tipo de generador. Valor. Generador de tensión La sintaxis es la siguiente: donde la letra V al inicio del nombre indica que es un generador de tensión y las letras xxx, puede ser cualquier cadena alfanumérica, preferiblemente no mayor de 8 caracteres. En el campo de nodos de conexión, se colocan los números de los nodos a los cuales se conectan las terminales positiva y negativa del elemento. Por el momento solo se utilizaran generadores tipo DC. Es importante tener en cuenta que para el programa la corriente siempre sale por la terminal negativa. 9 Generador de Corriente En el caso de los generadores de corriente las diferencias consisten en que la primera letra del nombre debe ser la letra I, y además el nodo 1 nodo de extracción, y el nodo 2, como nodo de inyección, de la siguiente manera: con lo cual la sintaxis para los generadores de corriente es la siguiente: 2.1.2 Generadores sinusoidales: PSpice nos ofrece la opción de crear señales sinusoidales, ya sean puras o amortiguadas. La sintaxis para la introducción de un generador sinusoidal es la siguiente: Vxxx N+ N- SIN(Vo VA FREQ TD ) Donde Vg es el nombre del generador; N+ y N- son los nodos correspondientes a las terminales de conexión del generador; Vo indica una tensión continua superpuesta a la sinusoidal.; VA indica la amplitud de la señal, el campo FREQ indica su frecuencia en 10 hertz; TD es el tiempo de retardo de la señal , representa el factor de amortiguamiento y es el desfase. PSpice genera las señales sinusoidales a partir de la siguiente ecuación: 0 t TD Vg = Vo; TD t TSTOP Vg Vo VAe ( t TD ) sin(2FREQ(t TD)); Por ejemplo para generar la señal de la figura, se necesita la siguiente línea de comando: Vx 1 0 sin(10 20 159.1549 .008 45) 11 2.1.3 Generadores dependientes Los generadores dependientes se dividen en dos tipos: A. Generadores controlados por tensión. B. Generadores controlados por corriente. A. Generadores controlados por tensión La declaración comprende cuatro campos. Nombre del generador. Nodos de conexión. Nodos de control. Ganancia o Transconductancia. Generador de tensión controlado por tensión La sintaxis para la declaración de un generador de tensión controlado por tensión es la siguiente: donde la letra E indica que es un generador de tensión controlado por tensión. El campo ganancia indica el factor de amplificación del generador dependiente con respecto al voltaje de control. Generador de corriente controlado por tensión 12 Para los generadores de corriente controlados por tensión la sintaxis es de manera similar, exceptuando el inicio del nombre el cual debe ser con la letra G y teniendo en cuenta lo explicado en los generadores independientes, con relación a los nodos de extracción (N1) e inyección (N2). B. Generadores controlados por corriente. Cuando la variable de control de una fuente controlada es una corriente PSPICE requiere la inserción de una fuente de tensión continua de 0 V, que actúa como amperímetro. De esta manera no se alteran las tensiones en el circuito y el software calcula la corriente que atraviesa la fuente de control, pudiendo así determinar la tensión o la corriente entregada por el generador dependiente. Es importante tener en cuenta la fuente sensora, debe ser colocada de tal manera que la corriente de control entre por la terminal positiva. La declaración de este tipo de generadores cuenta con cuatro campos: Nombre del generador. Nodos de conexión. Generador de control. Ganancia o Transresistencia. Generadores de tensión controlado por corriente La sintaxis de un generador de tensión controlado por corriente es la siguiente: donde la letra H en el nombre indica que es un generador de tensión controlado por corriente y en el campo Vxxx se coloca el nombre de la fuente sensora. 13 Generadores de corriente controlado por corriente Los generadores de corriente controlados por corriente tienen la misma sintaxis que los de tensión controlados por corriente, con la excepción de que el nombre se inicia con la letra F, y teniendo en cuenta las definiciones de nodo de extracción y nodo de inyección. 2.1.4 Elementos resistivos Para la inserción de elementos resistivos, se utiliza una sintaxis que consta de tres campos: La definición de la polaridad de los nodos se hace teniendo en cuenta el sentido de la corriente, aunque de no conocerse, esto no afecta la simulación, únicamente el resultado tendrá un signo negativo en el caso de equivocarnos en la asunción del sentido de la corriente. 2.1.5 Amplificadores operacionales PSPICE ofrece tres opciones para describir un amplificador operacional en un archivo fuente. La primera es modelando el comportamiento de amplificador, utilizando un circuito equivalente con resistencias y una fuente de tensión controlada por tensión. La segunda opción es similar a la anterior, pero en este caso el amplificador es modelado mediante un subcircuito, el cual puede ser utilizado como otro elemento de PSPICE. La tercera alternativa es utilizar los modelos incorporados en la librería de elementos que contiene el 14 programa. Estos modelos son más complejos y sofisticados, por lo cual se hace más lento el análisis del circuito. Es recomendable utilizar el modelo de la fuente dependiente y las resistencias para aquellos circuitos que únicamente tengan un amplificador operacional. Para aquellos que contengan dos o más es preferible utilizar la opción de los subcircuitos. Los modelos de librería se utilizan en los casos en los cuales las características del amplificador operacional son muy importantes para el análisis del funcionamiento del circuito. A. Modelo utilizando resistencias y una fuente controlada por tensión. El circuito utilizado para modelar el amplificador operacional se muestra en la siguiente figura. Los valores de Ri y Ro son parámetros de impedancia de entrada e impedancia de salida respectivamente, los cuales son proporcionados por el fabricante. En caso de no conocerse estos valores, se pueden asumir como estándar un valor de 10 10 para Ri y simplemente se puede omitir Ro, dejando la impedancia de salida como nula. Por otro lado el parámetro A representa la ganancia en lazo abierto, del dispositivo y también es proporcionado por el fabricante. En caso de no contarse con esta información se puede tomar un valor de 106 como un valor aceptable. Para describir el modelo del amplificador serían necesarias las siguientes líneas dentro del fichero: 15 Ri 1 2 valor Exxx 3 5 2 Ro 4 valor 3 1 A B. Modelo utilizando subcircuitos. Para la utilización de subcircuitos el modelo utilizado es el mismo que en el caso anterior. Pero en este caso si se tienen más de un amplificador operacional, es suficiente hacer la declaración del subcircuito o modelo en una ocasión y en el resto de los amplificadores se hace referencia a la declaración original, es obvio que esto solo es posible si los amplificadores operacionales son del mismo tipo. Para definir un subcircuito en un archivo fuente de PSPICE es necesario utilizar la sentencia de control SUBCKT, cuya sintaxis general es la siguiente: donde SUBNAM corresponde al nombre del subcircuito y los nodos N1, N2, N3.... corresponden a los nodos externos del subcircuito, es decir los nodos que conectan al subcircuito con el circuito general. La única restricción que existe para la selección de los números de los nodos externos es que no se puede utilizar el número cero. Cualquier número de nodo utilizado para la descripción de un subcircuito y que no aparezca en la sentencia .SUBCKT es estrictamente local, y no importa que el mismo número se utilice para describir otros elementos en el circuito global. Luego de la sentencia .SUBCKT se hace la descripción del subcircuito y por último se finaliza con la sentencia .ENDS <SUBNAME>. Después de hacer la descripción en un subcircuito, la sentencia utilizada para incluirlo dentro de un circuito global es la siguiente: 16 donde Xyyy describe el nombre del subcircuito utilizado, el campo nodos indica las conexiones externas entre el subcircuito y el circuito global, las cuales son totalmente independientes de la numeración utilizada el la sentencia de descripción del subcircuito ; y el campo SUBNAME hace referencia al nombre de la descripción de subcircuito utilizada. 2.2 Sentencias de control para análisis DC PSpice cuenta con cuatro sentencias de control que permiten calcular parámetros tales como la sensibilidad, el punto de operación, impedancias de entrada y salida y respuesta del circuito a variaciones en el nivel de una señal DC, temperatura u otros parámetros del circuito. 2.2.1 Sentencia .OP Esta sentencia de control indica a PSpice que calcule el punto de operación DC para el circuito que se va a analizar. En realidad PSpice siempre calcula el punto de operación, ya que ésta información es necesaria para realizar otros tipos de análisis. El verdadero efecto de la sentencia .OP se refleja en los valores presentados en el fichero de salida. Estos valores caen dentro de tres categorías: Voltajes en cada nodo. Corrientes en cada fuente de tensión y la potencia total disipada. Punto de operación para cada dispositivo. El análisis básico que PSpice realiza por defecto incluye los valores que caen dentro de las dos primeras categorías. Con la opción de análisis .OP podemos calcular la corriente y el voltaje a través de cualquier otro dispositivo presente en el circuito. 2.2.2 Sentencia .DC 17 La sentencia de control .DC permite incrementar el valor de una fuente independiente (tensión o corriente) , especificando el rango de valores y el tamaño del incremento. El formato general de la sentencia .DC es el siguiente: El campo fuente indica el nombre del generador, luego valor inicial, valor final y tamaño del incremento. Por ejemplo para variar un generador V1 entre 10 y 5 voltios, a razón de .5 voltios de incremento, se utilizaría la siguiente línea de comando: .DC V1 -5 10 0.5 Esta sentencia de control también nos permite crear familias de curvas, en las cuales se presenta la variación de una cantidad especifica (corriente o voltaje), con relación a las variaciones de dos fuentes determinadas. El programa realiza esta acción repitiendo el rango de variación de una fuente para cada uno de los valores posibles de la otra. Para realizar esto simplemente se agregan a al sintaxis sencilla cuatro campos que indican los parámetros descriptivos de la segunda fuente, es decir: .DC FUENTE1 INICIO1 FIN1 INCR1 FUENTE2 INICIO2 + FIN2 INCR1 por ejemplo, para describir un análisis DC en el cual se estudia la respuesta del circuito a variaciones de un generador de tensión V1 y un generador de corriente I1, la sentencia es la siguiente: .DC V1 0 10 1 I1 0 3 .25 2.2.3 Sentencia .TF 18 La sentencia de control .TF permite calcular tres características de los circuitos. Primero calcula la razón entre una variable de salida y otra de entrada. Esta razón es la función de transferencia del circuito. Segundo nos permite obtener la impedancia de entrada con respecto al generador. Por último nos permite calcular la impedancia de salida con respecto a las terminales de la carga. La sintaxis general de esta sentencia es la siguiente: .TF Variable de salida Variable de entrada esta sentencia es muy útil para la aplicación de los teoremas de Thevenin y Norton, y el teorema de máxima transferencia de potencia. 2.2.4 Sentencia .SENS La sentencia .SENS nos permite obtener la sensibilidad de una determinada variable con respecto a los cambios en los valores nominales en cualquiera de los elementos del circuito. La sintaxis es muy simple: .SENS Variable. 2.3 Sentencia .PRINT Esta sentencia genera tablas de datos con el valor de una o más variables, los cuales dependen de una sentencia .DC previa . Es decir, que es necesario aplicar una sentencia .DC a uno o más generadores dentro del circuito, para luego con la sentencia .PRINT presentar los resultados en una tabla, en la cual se encuentran los valores de una variable determinada con respecto a las variaciones en los generadores. Su sintaxis es la siguiente: <opcionales> PRINT DC VARIABLE 1 <VARIABLE 2> <VARIABLE 3> Las variables en una sentencia .PRINT pueden ser tensiones o corrientes; en el caso de tensiones se especifica de la siguiente manera: V(x,r), en donde se indican hacer una tabla de la tensión entre los nodos x y r, en caso de no especificarse el nodo r, PSpice lo 19 asume como el nodo de referencia. Para el caso de utilizar corrientes como variables, se efectúa de la siguiente manera I(Vxx), donde Vxx indica el nombre de la fuente de tensión por la cual circula la corriente que se desea conocer. En caso de no haber fuentes de tensión en el ramal por el cual circula la corriente que nos interesa, se hace necesario insertar una a modo de amperímetro (0 V). Ejemplo 1: En el circuito de la figura, calcule V1 y Vo, sí Vg = Ig = g = 1. El fichero necesario para analizar este circuito utilizando P-SPICE es el siguiente: Problema 1.6 *Descripción de los elementos *nombre n+ n- valor 20 R1 1 2 1 R2 2 3 1 R3 3 4 0.5 R4 4 5 0.5 R5 0 2 1 R6 6 4 1 R7 6 5 0.5 R8 0 6 1 *nombre n+ Vg 1 I1 3 *nombre n+ n- nc+ G1 3 6 n- tipo valor 0 DC 1 0 DC 1 nc- ganancia 2 0 1 .end El fichero de salida que produce P-SPICE es el siguiente: **** 03/16/98 13:23:58 ***** NT Evaluation PSpice (July 1997) **** SMALL SIGNAL BIAS SOLUTION TEMPERATURE = 27.000 DEG C ************************************************************* NODE VOLTAGE NODE NODE VOLTAGE NODE VOLTAGE VOLTAGE ( 1) ( 4) 1.0000 -.4375 ( 2) .1250 ( 3) -.6250 ( 5) -.3438 ( 6) -.2500 VOLTAGE SOURCE CURRENTS NAME CURRENT Vg -8.750E-01 TOTAL POWER DISSIPATION 8.75E-01 WATTS JOB CONCLUDED 21 TOTAL JOB TIME .17 Ejemplo 2: En el circuito del a figura encontrar VA-B y las corrientes en cada generador. Sí V1 = V2 = 1 y a = 50. Para utilizar PSpice en el análisis de este circuito, debemos insertar una fuente DC de 0 V, para que actúe como amperímetro, en cada de las corrientes de control. El circuito modificado es el siguiente: El fichero del circuito es el siguiente: 22 Circuito con fuentes de corriente controladas por corriente R1 1 2 500 R2 3 4 20 R3 4 5 20 R4 7 6 500 R5 0 4 1k R6 0 8 2k ** Generadores independientes V1 1 0 DC 1 V2 7 0 DC 1 V3 2 3 DC 0 V4 6 5 DC 0 ** Generadores dependientes F1 0 3 V3 50 F2 8 5 V4 50 .op .end Fichero de salida **** INITIAL TRANSIENT SOLUTION TEMPERATURE = 27.000 DEG C ************************************************* NODE VOLTAGE NODE VOLTAGE NODE VOLTAGE NODE VOLTAGE ( 1) 1.0000 ( 2) .9952 ( 3) .9952 ( 4) .9853 ( 5) .9952 ( 7) 1.0000 ( 8) -.9660 .9952 ( 6) 23 VOLTAGE SOURCE CURRENTS NAME CURRENT V3 9.660E-06 V4 9.660E-06 V2 -9.660E-06 V1 -9.660E-06 TOTAL POWER DISSIPATION 1.93E-05 WATTS **** 03/25/98 10:37:43 ********* NT Evaluation PSpice (July 1997) ************ Circuito con fuentes de corriente controladas por corriente **** OPERATING POINT INFORMATION TEMPERATURE = 27.000 DEG C ************************************************************************* **** CURRENT-CONTROLLED CURRENT SOURCES NAME I-SOURCE F1 F2 4.830E-04 4.830E-04 JOB CONCLUDED TOTAL JOB TIME .25 Ejemplo 3: En el siguiente circuito, varíe la fuente de corriente I1 de 0 a 3 A (en pasos de 1A). Para cada valor de corriente, obtenga el valor de V12 , si el generador V1 varía de 0 100 V en pasos de 20 voltios. 24 Este es un ejemplo sencillo y su propósito es ilustrar la utilización de la sentencia .DC, para el análisis de circuitos. En este caso en particular se hace necesario la utilización de la sentencia .DC en modo anidado, es decir haciendo un barrido de dos fuentes simultáneamente. Para este propósito utilizaremos el generador de tensión como ciclo principal, por lo cual el ciclo de variación del generador de tensión se repetirá por completo, para cada valor del generador de corriente (ciclo anidado). Es importante recordar que para poder observar los valores de corriente, mediante el empleo del comando .PRINT es necesario insertar una fuente de tensión en modo de amperímetro, en el ramal donde se encuentra el generador de corriente. El fichero fuente necesario para realizar este ejemplo es el siguiente: Ejemplo 4 R1 R2 R3 R4 V1 12 02 23 13 10 5 40 8 32 DC 0 ***V2 es la fuente DC que actúa como amperímetro V2 0 4 DC 0 I1 4 3 DC 0 ****Sentencia DC anidada .DC V1 0 100 20 I1 0 3 1 ***tipo de análisis .PRINT DC V(1,2) I(V2) .PROBE .END El resultado de este análisis se puede observar en el fichero siguiente: **** DC TRANSFER CURVES TEMPERATURE = 27.000 DEG C ************************************************************************* V_V1 0.000E+00 2.000E+01 V(1,2) 0.000E+00 2.000E+00 I(V_V2) 0.000E+00 -1.840E-11 25 4.000E+01 6.000E+01 8.000E+01 1.000E+02 0.000E+00 2.000E+01 4.000E+01 6.000E+01 8.000E+01 1.000E+02 0.000E+00 2.000E+01 4.000E+01 6.000E+01 8.000E+01 1.000E+02 0.000E+00 2.000E+01 4.000E+01 6.000E+01 8.000E+01 1.000E+02 4.000E+00 6.000E+00 8.000E+00 1.000E+01 -3.200E+00 -1.200E+00 8.000E-01 2.800E+00 4.800E+00 6.800E+00 -6.400E+00 -4.400E+00 -2.400E+00 -4.000E-01 1.600E+00 3.600E+00 -9.600E+00 -7.600E+00 -5.600E+00 -3.600E+00 -1.600E+00 4.000E-01 -3.680E-11 -5.520E-11 -7.360E-11 -9.200E-11 1.000E+00 1.000E+00 1.000E+00 1.000E+00 1.000E+00 1.000E+00 2.000E+00 2.000E+00 2.000E+00 2.000E+00 2.000E+00 2.000E+00 3.000E+00 3.000E+00 3.000E+00 3.000E+00 3.000E+00 3.000E+00 Ejemplo 4: En el circuito de la figura hallar VO,VO1, la relación VO / Vin y la sensibilidad del circuito. Sí Vin = 10-3 + 0.5 cos(106 t), R1 = 100, R2 = 100K, R3 = R4 1K, R5 = R6 = 2.2K. 26 En la siguiente figura se observa el circuito transformado mediante la utilización del modelo del amplificador operacional. El fichero fuente para la descripción del circuito es el siguiente: CIRCUITO CON AMPLIFICADORES OPERACIONALES V1 1 0 sin(1m .5 1.591e5 0 0 90) R1 1 2 100 R2 2 4 100k R3 3 0 1k R4 4 5 1k R5 6 0 2.2k R6 7 6 2.2k ** Descripción de los AMPO mediante subcircuitos. .SUBCKT AMPO 1 2 3 4 Ri1 1 2 1e10 E1 3 4 2 1 1e6 .ENDS AMPO ** Inclusión de los amplificadores operacionales en el circuito global 27 X1 2 3 4 0 AMPO X2 5 6 7 0 AMPO .TF V(7) V1 .SENS V(7) .TRAN 1e-6 1e-4 .PROBE .END El fichero de salida del circuito es el siguiente: ** SMALL SIGNAL BIAS SOLUTION ** TEMPERATURE = 27.000 DEG C ******************************************************** NODE VOLTAGE NODE VOLTAGE NODE VOLTAGE NODE VOLTAGE ( 1) .0010 ( 5) -.9990 ( 2) 999.0E-09 ( 3) 99.90E-15 ( 6) ( 7) -1.9980 -.9990 ( 4) -.9990 VOLTAGE SOURCE CURRENTS NAME V1 CURRENT -9.990E-06 28 TOTAL POWER DISSIPATION 9.99E-09 WATTS **** SMALL-SIGNAL CHARACTERISTICS V(7)/V1 = -1.998E+03 INPUT RESISTANCE AT V1 = 1.001E+02 OUTPUT RESISTANCE AT V(7) = 0.000E+00 **** DC SENSITIVITY ANALYSIS TEMPERATURE = 27.000 DEG C ************************************************************************* ***** DC SENSITIVITIES OF OUTPUT V(7) ELEMENT NAME ELEMENT VALUE ELEMENT SENSITIVITY (VOLTS/UNIT) NORMALIZED SENSITIVITY (VOLTS/PERCENT) R1 1.000E+02 1.996E-02 1.996E-02 R2 1.000E+05 -1.996E-05 -1.996E-02 R3 1.000E+03 1.998E-13 1.998E-12 R4 1.000E+03 -3.990E-16 -3.990E-15 R5 2.200E+03 4.541E-04 9.990E-03 R6 2.200E+03 -4.541E-04 -9.990E-03 X1.Ri1 1.000E+10 -2.198E-20 -2.198E-12 X2.Ri1 1.000E+10 8.392E-23 8.392E-15 29 V1 1.000E-03 -1.998E+03 -1.998E-02 CIRCUITO CON AMPLIFICADORES OPERACIONALES **** INITIAL TRANSIENT SOLUTION TEMPERATURE = 27.000 DEG C ************************************************************************* ***** NODE VOLTAGE VOLTAGE NODE VOLTAGE NODE VOLTAGE ( 1) .5010 ( 2) 500.5E-06 ( 3) 50.05E-12 ( ( 5) -500.5000 ( 6) -500.5000 ( 7)-1001.0000 NODE 4) -500.5000 VOLTAGE SOURCE CURRENTS NAME CURRENT V1 -5.005E-03 TOTAL POWER DISSIPATION 2.51E-03 WATTS 30 En la siguiente gráfica se puede observar la señal sinusoidal, como se puede observar es una señal coseno con período aproximado de 6.2832 E-6 seg. A continuación se presenta la señal de salida V(7), que como puede observarse se encuentra desfasada 180º con respecto a la entrada. 31 3. Análisis en el dominio del tiempo Ahora describiremos algunas sentencias o comandos que se utilizan en PSpice para observar el comportamiento de circuitos en el dominio del tiempo, es decir realizar el análisis transitorio. Iniciaremos por describir las sentencias de datos necesarias para la declaración de inductores y condensadores, las cuales son muy similares a las utilizadas para la declaración de elementos resistivos. 3.1 Inductores: Para la declaración de inductores en un circuito se necesitan como mínimo tres campos, aunque en caso de que las condiciones iniciales del elemento sean distintas de cero (0), se hace necesario un campo adicional. La sintaxis completa de la sentencia de introducción de inductores es la siguiente: La corriente inicial en el inductor se define como positiva si fluye de N+ hacia N-. 3.2 Condensadores: En el caso de los condensadores la sintaxis es prácticamente igual a la de los inductores con la excepción de que la letra inicial es C. 32 3.3 Sentencia .TRAN: La sentencia de control .TRAN indica a PSpice que realice el análisis del circuito en el dominio del tiempo, por lo cual debe aparecer obligatoriamente en el fichero fuente de cualquier circuito que se desee analizar en el dominio del tiempo. La misma consta de seis campos, donde los tres últimos son opcionales. Su sintaxis completa es la siguiente : .TRAN TSTEP TSTOP TSTART TMAX UIC Donde TSTEP indica es el incremento entre cada valor generado por los comandos .PRINT o .PLOT. TSTOP indica el tiempo total que dura el análisis, TSTART indica el punto de inicio del análisis, el cual por defecto es cero, TMAX es el intervalo de tiempo máximo entre cada valor generado en el análisis realizado por PSpice, si no se especifica el programa lo toma como el tiempo total de análisis dividido por 50, es decir TMAX = ((TSTOP – TSTART) / 50). El seleccionar un valor de TMAX relativamente pequeño mejora la resolución de los gráficos en el visualizador PROBE, pero hay que tener presente que un valor muy pequeño puede hacer que el análisis tarde considerablemente, en especial si el tiempo total de análisis es un poco prolongado. Por último el campo UIC indica a PSpice que utilice las condiciones iniciales de corriente y tensión especificadas para los inductores y condensadores que formen parte del circuito. 3.4 Sentencias .PLOT y .PRINT: La sentencia .PLOT nos permite realizar gráficos en función del tiempo de cualquiera de las cantidades obtenidas en el análisis transitorio. La sintaxis de este comando es la siguiente: <opcionales> .PLOT TRAN VARIABLE 1 <MIN MAX>......... <VARIABLE 8 <MIN MAX>> En el segundo campo (tipo de análisis) se coloca TRAN para indicar análisis transitorio, la sentencia .PLOT nos permite realizar ocho gráficas de manera simultánea, con la opción de indicar los valores mínimos y máximos para cada una. 33 En el análisis transitorio también se puede utilizar la sentencia .PRINT, la cual tiene una sintaxis similar a la vista en análisis estacionario (2.3), con el único cambio que en el segundo campo (tipo de análisis) se debe colocar TRAN, para indicar análisis transitorio. 3.5 Sentencia .PROBE: La sentencia .PROBE, indica a PSpice que genere un archivo de datos (*.DAT), el cual contiene los resultados del análisis realizado, los cuales pueden ser visualizados gráficamente utilizando el trazador de gráficos Probe que se incluye con el PSpice. Se le puede indicar a PSpice las cantidades que se deseen analizar gráficamente con la ayuda de Probe; si no se indica algún argumento a la sentencia .PROBE PSpice incluye en el fichero todas las cantidades (corriente y tensiones) que intervienen en el circuito. 3. 6 Generador exponenciales: PSpice provee generadores de tensión y corriente que dependen del tiempo. Con los cuales se pueden generar pulsos cuadrados o exponenciales tal como el que se muestra en la siguiente figura: 34 La forma general de un pulso generado por PSpice es la siguiente: Para 0 t TD1 VG V1 , Para TD1 t TD2 ( t TD1 ) 1 , VG V1 (V2 V1 ) 1 e Para TD1 t TSTOP ( t TD1 ) ( t TD 2 ) 1 2 VG V1 (V2 V1 ) 1 e (V1 V2 ) 1 e En este tipo de generadores, el parámetro V1 especifica el valor inicial de tensión, V2 indica el valor máximo del pulso, TD1 es el tiempo que tarda en iniciar la subida del pulso, TD2 es el tiempo que tarda en iniciar la caída del pulso 1 es la constante de tiempo en la subida y 2 es la constante de tiempo a la caída del pulso. La sintaxis para la introducción de este tipo de generadores es la siguiente: Vxxx N+ N- exp(V1 V2 TD1 1 TD2 2) Por ejemplo para introducir un escalón con duración de tres segundos la sintaxis es la siguiente: V1 1 0 exp(0 1 0 1e-6 3 1e-6), es importante colocar las constantes de tiempo con valores pequeños, para la transición entre los niveles de voltaje sea lo más rápida posible. 35 3. 7 Generador de lineal por tramos: además del generador de pulsos exponenciales PSpice incluye un generador lineal por tramos o PWL (Piece wise linear). Este generador permite introducir formas de ondas arbitrarias, aproximables por tramos rectilíneos. Para esto basta indicar sucesivamente las coordenadas de tiempo y amplitud en cada uno de los vértices de la señal. La sintaxis de esta sentencia es la siguiente: Vxxx N+ N- PWL(T1 V1 T2 V2 . . . Tn Vn) Por ejemplo para generar una señal como la que aparece en la figura, sería necesario la siguiente sentencia: v1 1 0 pwl(0,1,0.25,1,.5,-1,.9,2.5,1.3,2.5,1.5,1,2,1,2.5,0) 36 Ejemplo 5: En el siguiente circuito hallar l a tensión en R2, para t= 5 y 20 mseg, suponiendo que C1 se encuentra inicialmente descargado y que V1 es un pulso de 1 voltio de amplitud y duración de 0.01 segundos. Respuesta: Vo (t=5ms)= -39 V; Vo (t=20ms)= -23.02V. Para generar el pulso de entrada, se puede utilizar el generador lineal por tramos (PWL), o el generador exponencial. En nuestro caso emplearemos el generador exponencial, para ilustrar su utilización. El fichero fuente del circuito es el siguiente: R1 1 2 100 R2 3 0 100 C1 2 3 1u IC=0 *Generador exponencial (V1 V2 td1 tr td2 tf) V1 1 0 EXP 0 1 0 .0001 .01 .0001 F1 3 2 VS_F1 .99 *Amperímetro VS_F1 2 0 0 .TRAN .001 .04 0 1e-6 UIC .PROBE .END 37 En las siguientes gráficas se presentan los resultados obtenidos, mediante la simulación. Pulso de entrada Tensión de salida 38 Ejemplo 6: En el siguiente circuito hallar la tensión en Vo para t > 0, sí V1 = 30 V y V2 = sen (2x103t). Respuesta: Vo( t ) 41 2 x103 1 e sen 2 x10 3 4 4 2 2 El fichero fuente de este circuito es el siguiente: R1 1 2 1k R2 2 3 1k R3 3 0 1k V1 1 0 DC 30 C1 3 0 1u IC=10 V2 2 0 SIN (0 1 318.309886 0 0 0) ** Analysis setup ** .TRAN .001 .05 0 1E-6 UIC .PROBE .END 39 La curva visualizada en PROBE, se observa en la siguiente figura. Como se puede ver satisface la respuesta obtenida analíticamente. 40 Ejemplo 7: En el siguiente circuito, encuentre I1 e I2 para t > 0. Al desarrollar el circuito de manera analítica, nos encontramos que la corriente inicial I1 (0-)= 6.66667, este es el valor de corriente que se utilizara como condición inicial en el fichero fuente. La solución analítica de este circuito es la siguiente: I 1 5 1.666 e I 2 5 0.555 e t 20 3 t 20 3 41 El fichero fuente para la descripción del circuito es el siguiente: Análisis en el dominio del tiempo R1 12 5 R2 2 3 10 R3 3 0 10 V1 1 0 DC 100 L1 3 0 2 IC=6.6666 .TRAN 20m 1 0 20m UIC .PROBE .END Los resultados obtenidos con PROBE se reflejan en la siguiente gráfica, en la cual se pueden comparar los resultados obtenidos, con la solución analítica. 42 4. Análisis en Régimen Permanente Sinusoidal En el análisis de Régimen Permanente Sinusoidal (RPS) todas las tensiones y corrientes son sinusoides con la misma frecuencia que la excitación, por lo cual el análisis se reduce a determinar el fasor asociado a cada una de las sinusoides. Para hacer esto analíticamente es necesario transformar el circuito a manera fasorial, pero mediante PSpice únicamente hay que indicar al programa que despliegue los resultados en forma de fasores, ya sea en magnitud y fase o en parte real y parte imaginaria. 4.1 Generadores AC Para la declaración de los generadores de tensión y corriente en análisis AC, se utilizan las siguientes sintaxis: Vxxx N+ Ixxx N+ N- AC AMP DESFASE N- AC AMP DESFASE Es importante tener en cuenta que el desfase se expresa en grados y con respecto a una señal seno o coseno, la cual elegimos arbitrariamente, con el cuidado de expresar todos los generadores del circuito con respecto al mismo tipo de señal (seno o coseno). 4.2 Sentencia .AC Esta sentencia es equivalente a la sentencia .DC vista anteriormente, la misma nos permite realizar un análisis de barrido AC en el dominio de la frecuencia. En nuestro caso nos ocuparemos, por el momento, del análisis en una sola frecuancia. La sentencia .AC tiene el siguiente formato: .AC TIPO NP FINICIO FFINAL En donde el campo TIPO se refiere al tipo de barrido que se va a realizar (lineal, octavas, décadas), en nuestro caso utilizaremos únicamente barrido lineal (LIN). El campo NP indica el número de frecuencias que se analizarán, en nuestro caso siempre será uno; y los 43 campos restantes indican las frecuencias de inicio y fin del barrido, en nuestro caso ambas serán iguales a la frecuencia de la excitación. 4.3 Sentencia .PRINT La sentencia .PRINT tiene la misma sintaxis, que hemos visto anteriormente, pero para el análisis RPS podemos indicar en la sentencia el tipo de respuesta fasorial que deseamos obtener. por ejemplo : Se desea obtener la magnitud y fase de una tensión (nodo 3), y las partes real e imaginaria de una corriente (R3) en determinado circuito. .PRINT AC Vm(3) Vp(3) Ir(r3) I1(r3) 44 Ejemplo 8: En el circuito de la figura 1 encontrar el equivalente de Thevenin a la izquierda de las terminales A y B, y utilice el resultado obtenido para calcular el fasor asociado a la tensión V3 en el circuito de la figura 2. V1 = 4 SEN(103 t + ¾); I1 = 0.1 COS(103 t + /4) Para obtener el circuito equivalente de Thevenin utilizaremos la sentencia .TF para encontrar la impedancia vista desde las terminales A y B , y mediante el análisis AC y la sentencia .PRINT encontraremos la magnitud y la fase de la tensión entre dichas terminales. Para la primera parte de la simulación utilizaremos el siguiente fichero EJEMPLO 8 PARTE 1 R1 1 3 100 R2 4 0 7k R3 2 0 8k V1 1 2 AC 4 45 45 I1 3 1 AC .1 45 F1 3 2 VF_F1 9 VF_F1 340 .TF V(2) V1 .AC LIN 1 159.2 159.2 .PRINT AC Vm(2) Vp(2) Vr(2) Vi(2) .END En el fichero de salida encontraremos que la resistencia de Thevenin es 4 K, mientras que la tensión de salida, es 2.121 + 2.121 j, es decir magnitud 3 y fase 45º. Para la segunda parte del ejemplo, el circuito es el siguiente Para encontrar el fasor relacionado a la tensión en el nodo 3, es necesario utilizar la sentencia .PRINT e indicar al software que encuentre la magnitud y fase en el este nodo. Hay que tener en cuenta que se utiliza el modelo del Amplificador operacional ideal. 46 El fichero fuente es el siguiente EJEMPLO 8 PARTE 2 RTH 1 2 4k RB 4 3 1k RA 2 0 4k V4 1 0 AC 3V 45 CB 2 4 500n CA 2 3 1u **AMPLIFICADOR OPERACIONAL RIN 4 0 1E10 E1 3 0 0 4 1E6 .AC LIN 1 159.15 159.15 .PRINT AC Vm(3) Vp(3) Vr(3) Vi(3) .END En el fichero de salida se podrá observar que la magnitud de la tensión es 0.25 V y la fase es –135º. 47 Ejemplo 9: En el circuito de la figura observar como cambia la amplitud y la fase de la tensión de salida en relación con los cambios de la frecuencia del generador V1. V1 = 10 sen 2f t. f = 100, 500, 1k , 1.5 k, 10k, 100 k. Para realizar este ejemplo, utilizando el comando .AC en análisis de una sola frecuencia, es necesario efectuar la simulación de manera individual, para cada una de las frecuencias deseadas. En el fichero fuente únicamente se cambia el valor de frecuencia en la sentencia .AC y indica a PSpice, mediante la sentencia .PRINT que calcule la magnitud y fase en el nodo de salida. El fichero fuente es el siguiente. EJEMPLO 9 V1 1 0 DC 0V AC 10 0 R1 1 2 1k R2 4 3 1k F1 0 2 VF_F1 10 48 C1 3 0 10n L1 2 SALIDA 100m *AMPERÍMETRO VF_F1 SALIDA 3 0V *AMPLIFICADOR R3 2 4 1T E1 SALIDA 0 2 4 1E8 *CAMBIOS DE FRECUENCIA .AC LIN 1 100 100 .PRINT AC VM(5) VP(5) .END Los resultados obtenidos para este análisis son los siguientes : FRECUENCIA (HERTZ) MAGNITUD FASE (GRADOS) 100 9.98 3.595 500 9.54 17.44 1000 8.467 32.14 1500 7.277 43.3 10000 1.572 80.96 100000 0.1591 89.09 Estos resultados se podrían obtener en una sola simulación, mediante las sentencias . AC, realizando un barrido de frecuencias desde 100 hasta 100k y luego visualizando las variaciones de magnitud y fase mediante la sentencia .PROBE. 49 Lo s únicos cambios que habría que efectuar en el fichero fuente seria, modificar la sentencia .AC, de la siguiente manera: .AC LIN 600 100 100k Se puede escoger un valor mayor a 600 para obtener mayor cantidad de puntos en la gráfica. Y se debe añadir la sentencia .PROBE V(5) V(5) Los resultados de magnitud y fase se observan en la siguiente gráfica 50 REFERENCIAS BIBLIOGRAFICAS 1. NILSSON, J,W.; RIEDEL, S.A. “Introduction to PSpice”, Wilimington, D.: Addison-Wesley Iberoamericana, S.A., 1994. 2. ALVIN CONNELY, J.; PYUNG CHOI “Macromodeling with PSpice”, Englewood Cliffs, N.J.: Prentice-Hall, 1992. 3. RASHID, M.H. “SPICE for circuits and Electronic Using PSpice”, Englewoodc Cliffs, N.J.: Prenticehall, 1990. 51