Descargar

Simulacion de Circuitos – Pspice I

Enviado por Pablo Turmero


  1. Introducción
  2. Características generales de PSpice
  3. Creación de un fichero fuente en PSpice
  4. Análisis de circuitos resistivos

Introducción

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), la más utilizada es la desarrollada por Microsim Corporation. 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.

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:

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.

En algunas ocasiones se pueden utilizar signos de igual "=", o paréntesis "()" como separadores.

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.

PSpice no hace distinción entre letras mayúsculas y minúsculas. Pero es preferible colocar los nombres en mayúscula.

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.

  • 1. 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 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.

edu.red

  • 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.

  • La última sentencia en un fichero fuente debe ser la sentencia .END.

  • Un asterisco "*" al inicio de una línea indica un comentario. Los comentarios son ignorados por PSpice.

  • 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.

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.

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.

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.

edu.red

Seguidamente se presentaran las sentencias de salida en las cuales se podrán observar las distintas maneras de presentar los resultados en PSpice.

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:

edu.red

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.

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:

edu.red

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:

edu.red

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)

edu.red

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:

edu.red

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

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).

edu.red

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:

edu.red

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.

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.

edu.red

2.1.4 Elementos resistivos

Para la inserción de elementos resistivos, se utiliza una sintaxis que consta de tres campos:

edu.red

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.

edu.red

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 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.

edu.red

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:

edu.red

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 .

Después de hacer la descripción en un subcircuito, la sentencia utilizada para incluirlo dentro de un circuito global es la siguiente:

edu.red

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

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:

edu.red

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

  • Sentencia .TF

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.

  • 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.

  • 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.

edu.red

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 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:

edu.red

El fichero necesario para analizar este circuito utilizando

P-SPICE es el siguiente:

Problema 1.6

*Descripción de los elementos

edu.red

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

edu.red

Ejemplo 2:

En el circuito del a figura encontrar VA-B y las corrientes en cada generador.

edu.red

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:

edu.red

El fichero del circuito es el siguiente:

Circuito con fuentes de corriente controladas por corriente

edu.red

Fichero de salida

edu.red

Circuito con fuentes de corriente controladas por corriente

edu.red

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.

edu.red

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

edu.red

El resultado de este análisis se puede observar en el fichero siguiente:

edu.red

Ejemplo 4:

edu.red

 

 

 

Autor:

Pablo Turmero