Simulación de circuitos con ordenador. Introducción a...

68
Simulación de circuitos con ordenador. Introducción a PSPICE y OrCAD-CAPTURE Francisco Jiménez Molinos Departamento de Electrónica y Tecnología de Computadores Universidad de Granada Componentes Electrónicos – Ing. Electrónica Industrial

Transcript of Simulación de circuitos con ordenador. Introducción a...

Simulación de circuitos con ordenador. Introducción a PSPICE y

OrCAD-CAPTURE

Francisco Jiménez Molinos

Departamento de Electrónica y Tecnología de Computadores

Universidad de Granada

Componentes Electrónicos – Ing. Electrónica Industrial

IntroducciónIntroducción

Introducción

Spice: “Simulation program with integrated circuit emphasis”

Inicialmente desarrollado en la Universidad de Berkley en los años 70

Hoy en día hay varias versiones, como: HSPICE (Para Unix) ESPICE (Versión desarrollada en la UGR) PSPICE (Desarrollada por Microsim. Hoy en el paquete

ORCAD, de CADENCE)

PSPICE y OrCADEn 1984 nace de manos de MicroSim Corporation la primera adaptación para ordenadores personales: PSpice. Desde entonces, PSpice ha ido renovándose continuamente. Versiones ampliamente extendidas de PSpice son la 8.0 (última desarrollada porMicroSim) la 9.1 (primera tras la fusión de OrCAD y MicroSim), la 9.2 (esta revisión del simulador es la primera desde la fusión de Cadence y OrCAD).La última versión ofrecida es la 16.5, disponible en:

http://www.cadence.com/products/orcad/pages/downloads.aspx

Limitaciones de la Versión de Evaluación 16.5:Editor de esquemas: El espacio está limitado a única hoja DIN A4.

Simulador: 64 nodos en el circuito (caso analógico) 10 transistores 65 dispositivos digitales

Librerías: 39 componentes analógicos y 134 digitales No permite guardar librerías con más de 15 componentes

Otras limitaciones: Generador de estímulos limitado a ondas seno y relojes digitales Optimización de circuitos limitada a un objetivo, un parámetro y una condición

Introducción: un poco de historia

Introducción: ficheros y programas

SPICE

PROBE

ejemplo.cirPuede contener llamadas

a otros ficheros.INC fichero.net

fichero.net

ejemplo.out Ejemplo.dat

librerías.lib

Programa

Fichero

Ficheros de entrada y salida en un simulador basado en SPICE

Introducción: ficheros y programas

Spice resuelve el circuito La descripción del circuito (qué elementos lo forman y

cómo están conectados) está en los ficheros de extensión .cir, que pueden contener llamadas (INC) a otros ficheros. Por ejemplo, la lista de componentes y nodos entre los que se conectan suele almacenarse en un fichero de extensión .net al que luego se llama desde el fichero .cir

Cómo se comportan los diferentes dispositivos y subcircuitos se describe en ficheros de extensión .lib (aunque a veces también en el propio .cir)

En .out se proporciona la información solicitada al simulador (fichero ASCII)

También se genera otro fichero, de extensión .dat en el que se recogen (en formato binario) todas las tensiones y corrientes del circuito. Se pueden visualizar gráficamente con el programa PROBE

Manejo de PSPICEManejo de PSPICE

TítuloDescripción del circuito

Fuentes de tensión/corrienteComponentesModelos

Análisis requeridoResultados requeridos

.END

Ficheros .cir. Estructura

Estructura fichero .cir

Netlist. Normalmente incluido a través de un fichero de extensión .net

Usualmente almacenados en librerías de extensión .lib

Ficheros .cir. Reglas generales

Reglas generales para crear un fichero .cir:

La primera línea es ignorada por Spice. Suele ser el título o un comentario sobre el circuito

La última línea será la sentencia .END (de final) Se pueden añadir comentarios, empezando la línea con

un asterisco (*) Una línea no puede contener más de 80 caracteres. Se

puede completar una sentencia en varias líneas comenzando las líneas adicionales con el signo +

PSPICE no diferencia letras mayúsculas de minúsculas, aunque es recomendable colocar los nombres de los elementos en mayúsculas

Para separar los distintos parámetros de una sentencia podemos utilizar espacios, tabuladores o comas. Son equivalentes y no importa cuántos se usen

Ejemplo 1. Edición de ficheros .cir con SPICE y simulación con Pspice A/D

El fichero .cir puede editarse a mano. Ejemplo (de momento, no entramos en detalles sobre la estructura y sintaxis del fichero):

Crear o cargar este fichero .cir, pues nos basaremos en este ejemplo en las siguientes transparencias

** Circuito RC** Descripción del circuitoR1 1 2 1KOhmC1 2 0 1nFV1 1 0 SIN 0V 2V 1KHz

** Análisis requerido.TRAN 1ms 20ms 0us 1us

** Salida requerida.PROBE V(*) I(*)

** Final del fichero.END

Introducción: ventana de Pspice A/D

Controles de Probe

Accesos rápidos a ficheros .cir, .out y otros

Se incluye un editor de textos para generar o editar ficheros .cir Ventana de mensajes

Ventana con información sobre el transcurso de las simulaciones

Cursores

Resultados requeridos

SPICE

PROBE

ejemplo.cir

ejemplo.out Ejemplo.datPrograma

Fichero

• Una vez definido un circuito y simulado, ¿qué queremos saber de él? ¿cómo obtenemos los resultados?• Recordatorio de la relación entre los diferentes programas y ficheros.• El fichero de extensión .dat no es de texto y sus datos sólo pueden representarse con la ayuda del programa PROBE.

Resultados requeridos

El control de los datos de salida que se presentan en el fichero .OUT se realiza mediante la orden .PRINT

Los resultados aparecen en forma de tabla de datos

Sintaxis:.PRINT tipo_de_análisis variables

Ejemplos:.PRINT DC V(3) V(2,3) V(R1) I(VIN) IB(Q13) VBE(Q13)

.PRINT AC VM(2) VP(2) VM(3,4) VG(5) VDB(5)

.PRINT TRAN V(3) V(2,3) ID(M2) I(VCC)

Resultados requeridos

.PROBE: sirve para generar un fichero (de extensión .dat) donde se guardan los resultados de los análisis en formato binario. Posteriormente, estos resultados se pueden representar gráficamente con el programa Probe.

Sintaxis:

.PROBE [/CSDF] [Variables de salida]

Hace que el fichero sea con formato de texto y de extensión .txt

Si no se especifica ninguna variable de salida, se almacenan las tensiones de todos los nudos y las intensidades por todos los elementos. Si se quiere un fichero menos voluminoso, se puede solicitar que sólo se almacenen las variables especificadas.

Identificación de variables de salida

Además, con el análisis AC, se pueden añadir los siguientes sufijos:

Uso del programa PROBE

El programa PROBE es muy sencillo e intuitivo. No obstante, se presentan a continuación algunas indicaciones como ayuda al principio:

1. Añadir una nueva curva al gráfico actual: menú Trace/Add trace. Luego elegir la variable que se desea representar.

2. Para representar una función matemática de alguna variable o variables del circuito: seleccionar (o teclear) alguna de las funciones en la ventana de la derecha (una vez dentro del menú Trace/Add trace). Por ejemplo, con DB(V(2)/V(1)) se representa en decibelios el cociente entre las tensiones en los nodos 2 y 1.

3. Añadir una nueva gráfica: menú Plot/Add plot to window

4. Eliminar una gráfica: seleccionarla y luego ir al menú Plot/Delete plot

5. Para exportar los datos a otro programa (como hoja de cálculo): menú Edit/Select All. Luego, menú Edit/Copy o Ctrl+C. Finalmente, pegar en el programa de destino.

Creación de esquemas Creación de esquemas con CAPTUREcon CAPTURE

Programas editores de esquemas

Los programas y ficheros descritos hasta ahora constituyen el “núcleo” de cualquier simulador basado en SPICE y, de hecho, no se necesitan más programas para resolver los circuitos.

No obstante, existen muchos programas y suites basados en SPICE que aportan herramientas adicionales que facilitan el trabajo de descripción del circuito.

Una de las más conocidas es PSPICE, originalmente de la empresa Microsim y actualmente integrado en el paquete OrCAD de CADENCE.

Entre otros muchos programas, esta suite incorpora los programas Capture y Schematics para la edición gráfica de circuitos (que el propio programa traduce a un fichero .cir).

En la siguiente transparencia se esquematiza la relación entre los diferentes programas y ficheros que se generan o sirven de entrada y salida dentro del entorno de PSPICE.

Programas editores de esquemas

SPICE

PROBE

Capture ejemplo.opj

ejemplo.cirPuede contener llamadas

a otros ficheros.INC fichero.net

fichero.net

librerías.olb

ejemplo.out Ejemplo.dat

librerías.lib

Programa

Fichero

Ejemplo 2 (con CAPTURE)

Simulación del circuito RC empleando capture:

Para facilitar esta tarea usaremos capture. Abrir el programa (Inicio/Pspice Studend/Capture Student) y seguir los siguientes pasos:

Ejemplo 2 (continuación)

1.Abrir el programa capture: Menú Inicio/Todos los programas/Cadence/Orcad 16.5 Lite/Orcad Capture Cis Lite

2.Empezar un nuevo proyecto: File/New/Project... Elegir Analog or Mixed A/D y la ubicación del proyecto

3.En la siguiente ventana, seleccionar Create a blank project4. Con la ventana correspondiente al esquema activa, ir al menú Place/Part (tecla rápida: P)

5. Si no aparece, añadir la librería de componentes analog.olb (contiene componentes pasivos básicos): Add library → entrar en carpeta Pspice → seleccionar archivo analog.olb

Ejemplo 2 (continuación)

6. Elegir el componente R (resistencia) y pinchar OK. Situar en la posición deseada y dar a escape si no queremos situar más resistencias.

7.Colocar una capacidad (componente C). Si se quiere rotar: ctrl+R ó Edit/Rotate8. Colocar una fuente de tensión VSRC (antes añadir la librería source.olb)

9. Para unir los diferentes componentes, use la herramienta wire: Place/Wire (ó W)

Ejemplo 2 (continuación)

10. En cualquier simulación Spice exige que esté definido un “nodo 0” respecto al cual se referirán todas las tensiones. Esto lo haremos colocando un elemento ground o masa: Place/Ground (G). Añadir la librería de componentes source.olb y elegir 0/GND.

11. Para cambiar el nombre de los elementos o su valor hay que hacer doble clic en el atributo correspondiente (nombre o valor). También se pueden ver y modificar todas las propiedades asociadas a un componente usando el editor de propiedades (se accede haciendo doble clic en el componente o seleccionándolo y eligiendo Edit/Properties.

Ejemplo 2 (continuación)

12. Dar los siguientes valores a la resistencia y a la capacidad, respectivamente: 1KOhm y 0.1uF (importante: no añadir espacio entre el valor y la unidad)

13. Especificar, para la fuente de tensión, los siguientes valores: 2V como valor de DC y 1V como valor AC.

14. Ya está definido el circuito. Sin embargo, si intentamos ejecutar la simulación (menú Pspice/run) la opción no está activa, ¿por qué?

15. No obstante, sí que podemos generar el fichero .net, que contiene la definición del circuito (menú Pspice/Create netlist)

16. Llegados a este punto vamos a aprovechar para:• Ver si se ha creado el archivo .net y abrirlo con el Bloc de notas

u otro editor de texto para analizar su contenido (buscar en la carpeta PspiceFiles, dentro del directorio donde creamos el proyecto al principio)

• Familiarizarnos con el entorno de Capture y con la estructura del projecto que va generando. Por ejemplo, abrir el mismo fichero .net, pero ahora desde Capture.

COMPONENTESCOMPONENTES

Ficheros .cir. Componentes básicos

Cada componente básico se describe mediante una sentencia con según esta sintaxis:

nombre nodo1 nodo2 … valor/es o modelo

La primera letra del nombre indica el tipo de componente. Luego, hasta 7 caracteres que identifican al elemento.

Nodos en los que se conecta el elemento. Es obligatorio que exista en el circuito el nodo 0 (masa), respecto del cual se referirán las tensiones. El resto se puede definir con cadenas alfanuméricas

Valores de los parámetros que determinan su comportamiento o nombre del modelo usado para su simulación.El valor puede indicarse usando sufijos.

Ejemplo: Cejemplo 1 0 4.7nM1 1 2 0 0 fulanico

Ficheros .cir. Componentes básicos

Tipos de componentes básicos: Pasivos: R, L, C, K Fuentes:

Independientes: V, I Dependientes: E, F, G, H

Activos: D, M, Q, … Interruptores: S, W

Se pueden crear subcircuitos empleando componentes básicos como constituyentes y definiendo unas entradas y salidas

Ficheros .cir. Componentes pasivos

ResistenciasRnombre n+ n- valor

CapacidadesCnombre n+ n- valor [voltaje inicial]

InductanciasLnombre n+ n- valor [corriente inicial]

Aunque son componentes sin polaridad, se les asigna una para establecer el signo de la corriente

Ejemplos:

R1 1 0 100MEGLbob 2 0 3.5u

n+ n-

i

n+ n-

i

n+ n-

i

Ficheros .cir. Componentes pasivos

Acoplamiento magnético

Knombre L1 L2 acoplamiento L1 y L2 son inductancias previamente definidas. Acoplamiento

tiene un valor entre -1 y 1 Siguiendo el convenio del punto, el punto se coloca en el primer

nudo de la sentencia de descripción de cada inductancia La inductancia mutua viene dada por:

Por ejemplo, para definir un transformador:

2112 LLtoacoplamienM ×=

*DevanadosLprim 1 2 0.5mLsecu 3 4 0.5m*TransformadorKtrans Lprim Lsecu 0.99

valorDC N N Vxxx

TipoNodos

-Nombre

+

Ficheros .cir. Fuentes independientes

Sintaxis:

La primera letra del nombre (V ó I) indica el tipo de fuente (tensión o corriente). Después, hasta 7 caracteres que identifican a la fuente.

Nodos en los que se conecta el elemento. Se define la corriente como positiva cuando va de N+ a N-.

Tipo de señal: continua, alterna o variable con el tiempo. Ver abajo.

Valores de los parámetros que definen las características de la fuente.

Tipos: DC: tensión continua (análisis DC y polarización)

Valor: tensión continua en voltios AC: tensión sinusoidal de frecuencia variable (para análisis AC)

Valores: amplitud (en voltios) y fase (en grados) Tipos transitorios (para simulaciones en función del tiempo)

Fuentes independientes con Capture

Con Capture: Menú Place/Part (P) y elegir (de la librería source.olb) Elegir el símbolo correspondiente al tipo de fuente que

queremos usar (ver más abajo) Editar el nombre (si lo deseamos) y los valores que definen las

características de la fuente (no hace falta ahora saber la sintaxis de Spice ni el orden en que aparecen los parámetros de memoria; recuerde que Capture generará por nosotros la línea correspondiente a la fuente en el fichero .cir)

Fuente tipo DC Fuente tipo AC

Nombre símbolo: VDC Nombre símbolo: VAC

Observación: el símbolo VAC permite definir la misma fuente también como de tipo DC

Ejemplo 3

Se desea simular el siguiente circuito. Escribir las líneas correspondientes a la descripción del mismo en un fichero .cir.

Ejercicio 3

*Descripción del circuito

.END

Generar con Capture el netlist (fichero .net) correspondiente a este circuito.Ayuda: con el editor de esquemas, definir el circuito. Después: menú Pspice/Create Netlist

Ficheros .cir. Tipos de fuentes independientes

Tipos transitorios (continuación): Los siguientes tipos son todos para análisis transitorios. Cada uno

especifica una forma de onda SIN: formas de onda sinusoidales

Valores: SIN(off ampl freq td df fase)

NOTA: esta fuente, como las siguientes, sólo se emplea para análisis transitorios. No tiene ningún efecto con análisis de respuesta en frecuencia (.AC)

Con Capture

Fuente VSIN

¿Por qué?

Ficheros .cir. Tipos de fuentes independientes

Tipos transitorios (continuación) PULSE: formas de onda con dos niveles de tensión o corriente

(pulsos). Se puede especificar el tiempo de subida y de bajada.

Valores: PULSE(I1 I2 td tr tf pw per)

Con Capture

Fuente VPULSE

Ficheros .cir. Tipos de fuentes independientes

Tipos transitorios (continuación): PULSE: formas de onda con dos niveles de tensión o corriente (pulsos). Se

puede especificar el tiempo de subida y de bajada. Valores: PULSE(I1 I2 td tr tf pw per)

-1V

+1V

0V

-0.5V

+0.5V

2µs 5µs 15µs 16µs

Rise Time = 3µs Fall Time = 1µs

Pulse Width = 10µs

Delay Time = 2µs

20µs

Period = 20µs

Time

-1V

+1V

0V

-0.5V

+0.5V

2µs 5µs 15µs 16µs

Rise Time = 3µs Fall Time = 1µs

Pulse Width = 10µs

Delay Time = 2µs

20µs

Period = 20µs

Time

-1V

+1V

0V

-0.5V

+0.5V

2µs 4µs

Rise Time = 2µs

Pulse Width << 2µs

Delay Time << 2µs

Period = 4µs

Time6µs 8µs

Fall Time = 2µs

Onda triangular mediante fuente tipo pulse:

Ficheros .cir. Tipos de fuentes independientes

Tipos transitorios (continuación): EXP: formas de onda exponenciales

Valores: EXP(I1 I2 td1 tc1 td2 tc2) NOTA: no es periódica

Con Capture

Fuente VEXP

Time

0s 2ms 4ms 6ms 8ms 10ms 12ms 14ms 16ms 18ms 20msV(Vin2)

0V

0.4V

0.8V

1.2V

-0.2V

( )( )

21 1121 1

1

tdttdevvv tc

tdt

≤≤

−−+

−−

( )( ) ( )

2 11121 2

2

1

12

tdteevvv tc

tdt

tc

tdtd

−−

−−+

−−−−

Ficheros .cir. Tipos de fuentes independientes

Tipos transitorios (continuación): EXP: formas de onda exponenciales. Explicación: VEXP se mantiene

al valor V1 durante TD1 seg. Entonces la tensión varía exponencialmente desde V1 a V2 utilizando una cte de tiempo TC1. Esta variación se produce durante TD2-TD1 seg. A continuación la tensión cambia en el instante TD2 nuevamente al valor V1 con una cte de tiempo TC2.

Ficheros .cir. Tipos de fuentes independientes

Tipos transitorios (continuación): SFFM: ondas sinusoidales moduladas en frecuencia

Valores: SFFM(ioff iampl fc mod fm)

Con Capture

Fuente VSFFM

Ficheros .cir. Tipos de fuentes independientes

Tipos transitorios (continuación): PWL: ondas definidas a tramos (piecewise linear waveform)

Valores: PWL(t1 i1 t2 i2 t3 i3 ...) Hay otras posibilidades (como leer los puntos de un fichero,

hacer periódica la señal, ...). Más información en la Guía de Referencia

Time

0s 2s 4s 6s 8s 10s 12s 14sV(Vin1)

-2.0V

0V

2.0V

4.0V

Con Capture

Fuente VPWL

Ficheros .cir. Tipos de fuentes independientes

Una misma fuente puede ser de varios tipos. En ese caso, cómo actúe la fuente depende del tipo de análisis requerido. En este caso, la sintaxis es:

Vnombre N+ N- [DC valor] [AC amplitud fase] +[especificaciones transitorias]

Ejemplos:

VSIG 10 5 SIN(2 2 5Hz 1sec 1 30)

Iseno 1 0 SIN(0.5A 1A 50Hz)

Vfuente 1 0 DC 2 AC 2 0

ISW 10 5 PULSE(1A 5A 1sec .1sec .4sec .5sec 2sec)

Con Capture

Fuente VSRC

Ficheros .cir. Fuentes dependientes

Fuente de tensión controlada por tensión. Sintaxis:

Enombre nudo+ nudo- nudocontrol+ nudocontrol- ganancia

La tensión entre nudo+ y nudo- es la tensión entre nudocontrol+ y nudocontrol- multiplicada por la ganancia

En el lugar de E, las siguientes letras indican los otros posibles tipos de fuentes dependientes:

E: tensión controlada por tensión G: intensidad controlada por tensión F: intensidad controlada por intensidad H: tensión controlada por intensidad

Existen otras posibilidades para la relación entre la fuente dependiente y la señal de control (ver manual de Spice)

Con Capture

Fuente dep. E(Librería analog.olb)

Ficheros .cir. Fuentes dependientes

Fuente de tensión controlada por tensión. Sintaxis:

Enombre nudo+ nudo- nudocontrol+ nudocontrol- ganancia

La tensión entre nudo+ y nudo- es la tensión entre nudocontrol+ y nudocontrol- multiplicada por la ganancia

En el lugar de E, las siguientes letras indican los otros posibles tipos de fuentes dependientes:

E: tensión controlada por tensión G: intensidad controlada por tensión F: intensidad controlada por intensidad H: tensión controlada por intensidad

Existen otras posibilidades para la relación entre la fuente dependiente y la señal de control (ver manual de Spice)

SimulaciónSimulaciónTipos de análisisTipos de análisis

Análisis requerido

Una vez definido un circuito, ¿qué queremos simular? Hay múltitud de tipos de análisis. Nosotros sólo

estudiaremos los rodeados con una línea roja.

Análisis requerido

Para definir el tipo y características de una simulación: Menú Pspice/New simulation profile (o Edit simulation profile)

En la pestaña Analysis elegimos el tipo de análisis que deseamos y especificamos los parámetros correspondientes

En las siguientes transparencias veremos qué simulaciones se pueden realizar y qué parámetros deben definirse

Análisis transitorio .TRAN

Esta sentencia pide a Spice un análisis de la respuesta del circuito en función del tiempo

Sintaxis:

.TRAN PrintStepValue FinalTimeValue [NoPrintValue +[StepCeiling]] [SKIPBP]

Es el incremento de tiempo para los resultados generados por los comandos .PRINT o .PLOT. No afecta a la discretización del tiempo realizada para el análisis, que se indica por Step Ceiling

Tiempo en el que finaliza la simulación

Señala el tiempo a partir del cual se representarán los resultados

Es el paso mínimo de tiempo en los cálculos del simulador. Sobreescribe el valor por defecto que tenga el simulador

Indica a Spice que use las condiciones iniciales de corriente y tensión especificadas para capacidades e inductores y se salte el cálculo del punto de polarización

Ejercicio 4

*Carga y descarga de un condensador

*Descripción del circuito

*Análisis requerido.TRAN 0.01ms 5ms 0 0.01ms

*Resultados requeridos.PROBE.PRINT TRAN V(1) V(2)

.END

Ejemplo 4

Simular la carga y descarga del condensador del circuito. La señal de entrada es de tipo cuadrado, oscila entre 0 y 5 V y su periodo es 1ms. Permanece el mismo tiempo en los dos niveles de tensión

Ejemplo 4 (continuación)

Con Capture:

1. Seguir los pasos del ejemplo 1 para crear el circuito. Para implementar la fuente de tensión cuadrada tenemos dos posibilidades:

a)Usar la fuente genérica conectada anteriormente en el ejemplo y especificar los siguientes valores en el campo Value: PULSE 0 5 0 0 0 0.5m 1m

b)Colocar una fuente de tipo pulse: Place/Part … Elegir librería Source y componente Vpulse.

2. Para especificar qué tipo de simulación deseamos realizar, ir al menú: Pspice/New simulation profile. Elegir la pestaña Analysis y en el desplegable Analysis type elegir Time Domain (transient).

3. Especificar los parámetros para el análisis transitorio adecuados a la señal de la fuente. En nuestro caso, dejaremos los valores por defecto, excepto el tiempo de finalización, que fijaremos en 20ms y el paso de tiempo máximo (10us).

4. Pulsar en Aceptar y ejecutar la simulación.

5. Observar los resultados mostrados en la ventana de Pspice A/D (Probe). Mostrar la tensión proporcionada por la fuente y la que cae en el condensador. Ver el contenido del fichero .cir

Análisis AC .AC

El barrido en AC es un análisis en frecuencia que calcula la respuesta del circuito ante señales sinusoidales de diferente frecuencia (dentro del rango seleccionado). Ante circuitos no lineales, se linealiza el comportamiento del circuito alrededor del punto de polarización (modelo de pequeña señal)

Sintaxis:

.AC SweepType PoitsValue StartFrequency EndFrequency

Tipo de barrido (cambio en las frecuencias de la señal). Debe especificarse uno de los siguientes códigos:LIN (barrido lineal)DEC (barrido por décadas)OCT (barrido por octavas)

Su significado depende del tipo de barrido:Con barrido LIN es el número total

de puntos (frecuencias diferentes)Con barrido DEC es el número de

puntos por décadaCon barrido OCT es el número de

puntos por octava

Frecuencia final

Frecuencia inicial

Se puede establecer como AC cualquier fuente del circuito. Las que no son AC se anulan al hacer el análisis AC. Recuérdese que SIN es una especificación para análisis transitorio.

Ejemplo 5

Usando Capture y Pspice A/D, obtener la respuesta en frecuencia del filtro RC paso bajo mostrado en la figura y su respuesta transitoria ante una señal sinusoidal de frecuencia 1KHz, amplitud 2 V y 3 V de offset

Ejercicio 5

*Filtro RC paso bajo

*Descripción del circuito

*Análisis requerido

*Resultados requeridos.PROBE.PRINT TRAN V(1) V(2).PRINT AC V(1) V(2) VP(1) VP(2).END

Ejercicio 5

Usando Capture y Pspice A/D, obtener la respuesta en frecuencia del filtro RC paso bajo mostrado en la figura y su respuesta transitoria ante una señal sinusoidal de frecuencia 1KHz, amplitud 2 V y 3 V de offset

Ejercicio 5

*Filtro RC paso bajo

*Descripción del circuitoV1 1 0 AC 1V SIN(3V 2V 1KHz)R1 1 2 10KOhmC1 2 0 100nF

*Análisis requerido.TRAN 0.01ms 5ms 0 0.01ms.AC DEC 10 10Hz 10KHz

*Resultados requeridos.PROBE.PRINT TRAN V(1) V(2).PRINT AC V(1) V(2) VP(1) VP(2).END

Análisis DC .DC

Análisis en continua en el que se realiza un barrido de la variable especificada, que puede ser una fuente de tensión o de corriente, el parámetro de un modelo o la temperatura, en el rango de valores especificado. El análisis puede ser anidado, de forma que se cambien dos variables o parámetros.

Sintaxis (dos posibilidades): .DC SweepType Variable StartValue EndValue PoitsValue

+[NestedVariable]

Tipo de barrido. Debe especificarse uno de los siguientes códigos:LIN (barrido lineal). Valor

predeterminadoDEC (barrido por décadas)OCT (barrido por octavas)

Su significado depende del tipo de barrido:Con barrido LIN es el

incremento entre valoresCon barrido DEC es el número

de puntos por décadaCon barrido OCT es el número

de puntos por octava

Valor finalValor inicial

Variable a barrer. Puede ser:* Nombre de una

fuente independiente* Temperatura (se

especifica con TEMP)* Parámetro global.

La palabra PARAM debe anteceder al nombre de la variable* Parámetro de un

modelo

Por cada valor de la variable anidada se hace un barrido de la principal. También hay que indicar los parámetros de este barrido.

Análisis DC

.DC (continuación) Sintaxis (segunda forma):

.DC Variable LIST Valor [NestedVariable]

Lista de valoresVariable a barrer

Ejemplos:

.DC LIN I2 5mA -2mA 0.1mA .DC VCE 0V 10V .5V IB 0mA 1mA 50uA .DC DEC NPN QFAST(IS) 1E-18 1E-14 5 .DC TEMP LIST 0 20 27 50 80 100 PARAM Vsupply 7.5 15 .5

Ejercicio 6

*Resultados requeridos.PRINT DC I(RL)

.END

Ejercicio 6

Dado el siguiente circuito, ¿para qué valor de Vg comprendido entre 0 y 20 V la corriente que atraviesa RL es igual a 150 µA?

Ejercicio 6

Dado el siguiente circuito, ¿para qué valor de Vg comprendido entre 0 y 20 V la corriente que atraviesa RL es igual a 150 µA?

Ejercicio 6

*Descripción del circuitoVg 1 0 DC 1R1 1 2 50R2 2 3 1KR3 2 4 1KR4 3 0 1.1KR5 4 0 1KRL 3 4 600

*Análisis requerido.DC Vg 0 20 0.1

*Resultados requeridos.PRINT DC I(RL)

.END

Análisis paramétrico

.STEP Realiza múltiples ejecuciones de un análisis variando algún

parámetro del circuito (valor de una fuente o de algún componente, temperatura, parámetro de un modelo, …)

Sintaxis (dos posibilidades):.STEP SweepType Variable StartValue EndValue PoitsValue

Tipo de barrido. Debe especificarse uno de los siguientes códigos:LIN (barrido lineal). Valor

predeterminadoDEC (barrido por décadas)OCT (barrido por octavas)

Valor finalValor inicial

Variable a barrer. Puede ser:* Nombre de una

fuente independiente* Temperatura (se

especifica con TEMP)* Parámetro global.

La palabra PARAM debe anteceder al nombre de la variable* Parámetro de un

modelo

Su significado depende del tipo de barrido:Con barrido LIN es el

incremento entre valoresCon barrido DEC es el número

de puntos por décadaCon barrido OCT es el número

de puntos por octava

Análisis paramétrico

.STEP (continuación) Sintaxis (segunda forma): .STEP Variable LIST Valor

Lista de valoresVariable a barrer

Para realizar un análisis paramétrico, en lugar de dar un valor numérico a un elemento hay que definir su valor como un parámetro. Para ello:

Con la instrucción .PARAM definimos una variable y le damos un valor por defecto (este valor se usará si finalmente no se hace análisis paramétrico).

En lugar del valor del componente, se especifica el nombre del parámetro encerrado entre llaves.

En la sentencia .STEP, hay que especificar que la variable es un parámetro (hay otros casos como variables de modelos)

Ejemplo:

.PARAM Rvalor=1K

R1 1 0 {Rvalor}

.STEP PARAM Rvalor +5K 10K 1K

Análisis paramétrico

Observaciones: No se puede definir como parámetro la ganancia de las

fuentes dependientes ¿Qué diferencias hay entre el análisis .DC y el paramétrico?

El análisis DC permite anidamiento En el análisis DC se resuelve el circuito en continua para cada

valor de la variable. Resultados: tablas o gráficas en las que el eje X es la variable

El análisis paramétrico no tiene sentido por sí solo, debe ir siempre acompañado de otro análisis (AC ó transitorio). Para cada valor del parámetro, se hace una simulación (AC ó transitoria). Por tanto, los resultados son familias de curvas (el eje X es frecuencia ó tiempo), cada una correspondiente a un valor del parámetro variado.

Ejercicio 7

Obtener el diagrama de bode del siguiente circuito para los siguientes valores de la capacidad C: 1nF, 6nF, 11nF, 16nF y 21nF

Ejercicio 7

*Resultados requeridos.PROBE.PRINT AC V(2) V(1) VP(2) VP(1)

.END

Ejercicio 7

Obtener el diagrama de bode del siguiente circuito para los siguientes valores de la capacidad C: 1nF, 6nF, 11nF, 16nF y 21nF

Ejercicio 7

*Descripción del circuito.PARAM Cvalor=1n

V1 1 0 AC 2R1 1 2 1KC1 2 0 {Cvalor}

*Análisis requerido.AC DEC 10 100 1MEG.STEP PARAM Cvalor 1n 20n 5n

*Resultados requeridos.PROBE.PRINT AC V(2) V(1) VP(2) VP(1)

.END

Análisis paramétrico con CAPTURE

Para definir un parámetro y pedirle a SPICE una simulación paramétrica usando capture:

1. En lugar de dar un valor fijo al componente que se desea modificar, hay que especificar entre llaves el nombre del parámetro que usaremos en su lugar y que definiremos posteriormente. Por ejemplo: {cvalor}.

2. Crear un fichero de texto (por ejemplo, de nombre parametros.inc). Este fichero debe contener la sentencia que define los parámetros que aparezcan en nuestro circuito. En nuestro ejemplo:

.PARAM cvalor=1nF

3. Especificar el análisis paramétrico acudiendo al menú Pspice/New simulation profile (ó Edit simulation profile, según el caso) y una vez especificado un tipo de análisis .TRAN ó .AC (nuestro ejemplo) marcar Parametric Sweep y rellenar los campos.

4. En la misma ventana Simulation settings, ir a la pestaña Configuration files. Elegir la categoría Include y usar el botón Browse para buscar el fichero en el que hemos definido el parámetro (punto 1) y añadirlo (Add to design). Con esto logramos que se incluya la sentencia .PARAM en el fichero .cir.

REALIZAR EL EJEMPLO ANTERIOR USANDO CAPTURE

ModelosModelos(y algunas cosas más para terminar)(y algunas cosas más para terminar)

Ejercicio 8Crear el siguiente circuito en Capture y obtener |v(out)| / |v(in)| en función de la frecuencia (desde 100 Hz hasta 10 Mhz, con 10 puntos por década). Consultar las siguientes transparencias para definir las etiquetas in, out y Vcc. El transistor puede encontrarlo en la librería eval

Ejercicio 8: etiquetas (alias)

Para identificar con mayor facilidad un nodo (en Probe, por ejemplo) es conveniente etiquetarlo. Esto se puede hacer así:

Usando la herramienta Place net alias (menú Place/Net alias...) y colocando la etiqueta definida sobre una línea correspondiente al nodo

Las etiquetas también tienen otra utilidad: permiten conectar elementos distantes en un esquema sin necesidad de unirlos con una línea explícitamente dibujada. Basta con que estén conectados a líneas etiquetadas con el mismo nombre.

Ejercicio 8: etiquetas (alias)

Para definir etiquetas en líneas de alimentación existe un símbolo específico para conectar a las fuentes de tensión DC:

Ir a menú Place power y elegir el elemento VCC de la librería CAPSYM

Este elemento evita trazar líneas muy largas en el esquema para unir las fuentes de alimentación con otros puntos del circuito, pues todos los puntos donde conectemos elementos VCC quedan eléctricamente unidos

Es posible editar el nombre asociado al elemento para conectar a otras fuentes de tensión (por ejemplo, VEE ó VCC-)

Ejercicio 8: modelos

¿Cómo simula SPICE el comportamiento del transistor?

Respuesta: conforme a un modelo cuyos parámetros se almacenan en ficheros (librerías) de extensión .lib

Buscar el fichero …\Capture\Library\Pspice\eval.lib, observar su contenido y buscar las líneas correspondientes al modelo del transistor que hemos empleado en el ejemplo

¿Reconoce algunos parámetros?

Ejercicio 8: modelos

SPICE

PROBE

Capture ejemplo.opj

ejemplo.cirPuede contener llamadas

a otros ficheros.INC fichero.net

fichero.net

librerías.olb

ejemplo.out Ejemplo.dat

librerías.lib

Programa

Fichero

Ejercicio 8

Continuación: obtener de nuevo la función de transferencia |v(out)| / |v(in)| para los siguientes valores del parámetro Bf: 20 a 500 en pasos de 20.

Datos: tipo modelo (NPN); nombre del modelo (Q2N2222)