You are on page 1of 46

Aprendiendo +

Introduccin a Aprendiendo+:
Ahora que ya tenemos los conocimientos bsicos para encarar la realizacin de modelos de dispositiivos que no son primitivas Spice, pero que pueden expresarse como una combinacin finita de ellas y ser agrupadas conveniente y prcticamente dentro de un subcircuito, encararemos el desarrollo didctico del modelado del 555 en subcircuitos diversos, cotejaremos sus pros y sus contras y en el devenir del camino aprenderemos mas sobre el lenguaje usado por Ltspice para trabajar con ellos, es decir Spice. Qu no se ha dicho ya del mas popular de todos los circuitos integrados de todos los tiempos ? Para quienes lo deseen pueden ir a este enlace, donde se detalla el origen y las caractersticas del 555: Wikipedia: El 555 En honor y reconocimiento a su autor, pueden visitar este otro enlace, desde donde se puede bajar gratuitamente un formidable libro sobre diseo de circuitos integrados analgicos: Camenzind Para los que quieran conocer ciertos detalles acerca de la invencin del 555 y del 741, prueben este otro enlace: Inventando al 555 y al 741

Manos a la obra!:
A diferencia de lo que vimos hasta ahora, el 555 es un circuito integrado mixto o un hbrido de partes analgicas y partes digitales, desde el punto de vista de quien va a encarar su modelado, se trata de una tarea mucho mas ardua y compleja aunque tambin mas apasionante. El hecho de que Spice no incluya ningn componente digital entre sus primitivas, nos obligar a encarar el desarrollo de los mismos, para posibilitar que el subcircuito con el modelado del 555 pueda correr en cualquier simulador compatible o basado en Spice. Este punto no es trivial y caus que entre los diversos productores de soft para simulacin de circuitos, se desenvuelva una competencia al respecto, el problema es que ninguna de las soluciones aportadas para salvar la falta de primitivas digitales en Spice, es justamente compatible con Spice, resultando modelos de subcircuitos que solo pueden correr en el simulador donde fueron creados y siendo adems muy tediosa su traduccin para ser probados en cualquier otro simulador. Como primer ejercicio, vamos a desarrollar en Ltspice el 555 a partir de su esquema circuital, he hallado que el proporcionado por Ltspice, entre sus ejemplos educacionales y basado en la hoja de datos original es este:

La netlist de esta descripcin esquemtica puede ser algo como esto:


.Subckt NE555 1 2 3 4 5 6 7 8 Q1 N003 N013 N015 0 NP Q2 N003 2 N013 0 NP Q3 N004 N014 N015 0 NP Q4 N004 5 N014 0 NP R1 N015 0 10K Q5 N004 N004 8 0 PN Q6 N007 N004 8 0 PN Q7 N003 N003 8 0 PN Q8 N009 N003 8 0 PN Q9 N017 N005 N002 0 PN R2 8 N002 1K Q10 N028 N022 N017 0 PN Q11 0 N024 N022 0 PN Q12 N027 N021 N017 0 PN Q13 0 2 N021 0 PN Q14 N027 N028 0 0 NP Q15 N028 N028 0 0 NP R3 8 5 5K R4 5 N024 5K R5 N024 0 5K Q16 N009 N007 0 0 NP Q17 N007 N007 0 0 NP Q18 N018 N027 0 0 NP Q19 N023 N018 0 0 NP Q20 N019 N023 0 0 NP Q21 N011 N009 N018 0 NP Q22 N011 N011 N023 0 NP Q23 N005 N005 8 0 PN Q24 N005 N005 8 0 PN Q25 N019 N005 8 0 PN R6 N005 N011 7.5K R7 N019 N018 4.7K Q26 N030 4 N011 0 PN Q27 7 N030 0 0 NP Q28 N006 N019 N025 0 NP R8 8 N006 6.2K R9 N025 N030 100 R10 N025 0 3.3K R11 N026 N025 120 Q29 3 N026 0 0 NP Q30 8 N008 3 0 NP Q31 8 N006 N008 0 NP R12 N008 3 3.9K Q32 0 N006 3 0 PN C2 5 0 .01 C1 2 0 .01 R13 8 7 20K R14 2 7 20K V3 4 0 PULSE(0 15 0 1u 1u 5m 10m)

V1 8 0 15 .model NP NPN(BF=125 Cje=.5p Cjc=.5p Rb=500) .model PN LPNP(BF=25 Cje=.3p Cjc=1.5p Rb=250) * This example schematic is supplied for informational/educational purposes only. * A transistor level repesentation of a 555 timer. .ends NE555

Como puede verse, se trata de una implementacin al nivel de semiconductores y son necesarias casi sesenta lneas para definirlo ya que usa varias dcadas de estas primitivas ( transistores) en su objeto; a la hora de asignarle un smbolo y hacerlo correr es pasmosamente lento. Siguiendo por este camino, lo mejor que podemos conseguir viene de la hoja de datos mas nueva de Thomson, que provee una versin mejorada y simplificada del dispositivo a este nivel, en la que adems se delimitan los bloques funcionales construidos:

Figura 2 La netlist es sta:


*Subcircuito del LM555, traducido del diagrama esquemtico que hay en la hoja de datos de Thomson por .SUBCKT LM555 1 2 3 4 5 6 7 8 Q1 N5 5 N7 1 NP Q2 N1 6 N6 1 NP

Robertugo_2005:

Q3 N1 N6 N8 1 NP Q4 N5 N7 N8 1 NP Q5 7 N16 1 1 NP Q6 N17 N14 1 1 NP Q7 N1 N1 N3 1 PN Q8 N17 N1 N2 1 PN Q9 1 N5 N2 1 PN Q10 N5 N5 N4 1 PN Q11 N11 N20 N9 1 PN R1 8 N3 4.7K R2 8 N2 830 R3 8 N4 4.7K R4 8 N9 1K R5 8 5 5K R6 8 N22 6.8K Q13 1 2 N10 1 PN Q14 N14 N10 N11 1 PN Q15 N13 N12 N11 1 PN Q16 N13 N15 N12 1 PN R7 N14 1 100K R8 N13 1 100K R9 N15 5 5K R10 N15 1 5K R11 N8 1 10K Q17 N16 4 N18 1 PN Q18 N19 N17 1 1 NP R12 N18 N20 5K Q19 N20 N20 8 1 PN Q20 N21 N20 8 1 PN Q21 N21 N19 1 1 NP R13 N17 N21 4.7K Q22 8 N22 N23 1 NP Q23 N22 N21 N24 1 NP Q24 8 N23 3 1 NP R14 3 N23 3.9K Q25 3 N25 1 1 NP R15 N25 N24 220 R16 1 N24 4.7K R17 N24 N16 10K D2 3 N22 D D1 N18 N19 D .MODEL NP NPN(BF=125 Cje=.5p Cjc=.5p Rb=500) .MODEL PN LPNP(BF=25 Cje=.3p Cjc=1.5p Rb=250) .MODEL D D(Is=1e-12 Cjo=1p Rs=5 .ENDS

En este caso son menos de cincuenta las lneas empledas en la definicin del subcircuito y eso se refleja a la hora de simularlo, con la obtencin de menores tiempos, si se lo compara con el primero es entre dos y tres veces ms rpido; siendo -dentro de la familia de subcircuitos del 555 que lo desarrollan a nivel de semiconductor - el modelo mas rpido. Con esto se consigue mejorar el desempeo de este tipo de modelado subcircuital, ya que se obtiene una descripcin mas concisa del dispositivo; sin embargo esta clase de desarrollos a nivel de transistores como elementos activos es superada por los desarrollos basados en el comportamiento funcional del dispositivo, debido su nivel de abstraccin la performance superior y se obtienen as tiempos de simulacin substancialmente mas breves.

Subcircuitos basados en la sntesis del comportamiento:


Para emprender la tarea de hacer un subcircuito con un modelado a la medida de la conducta del circuito integrado que pretendemos reflejar, son de nuevo nuestro punto de partida las hojas de datos o datasheets del mismo y volviendo sobre las del 555 observamos:

Figura 3 Ac se despliega una semblanza del dispositivo, desde un punto de vista mas elevado que el de la descripcin a nivel de semiconductores, para conseguir esta descripcin mas abstracta del dispositivo, se hecha mano al empleo de bloques funcionales, perfectamente delimitados, como los comparadores, el flipflop SR y el inversor, los nicos vestigios de la anterior forma de describir al dispositivo, son el divisor resistivo entre las entradas de los comparadores y que fija los umbrales de cambio de estado en valores separados por un tercio de la tensin de alimentacin y el transistor de descarga. Ltspice, a diferencia de Spice si incorpora una familia de primitivas digitales que posibilitan el ensayo y desarrollo de cualquier familia lgica real de forma precisa, rpida y eficiente, cuenta para ello entre las primitivas o elementos circuitales a los dispositivos " A " o funciones especiales dentro de las cuales se hallan: Inversor INV Separador BUF Compuerta AND Compuerta OR Compuerta XOR Flipflop SR Flipflop D Primitivas digitales de Ltspice que cuentan con caractersticas de histresis programable: Disparador SCHMITT Separador SCHMTBUF

Aunque su ayuda no diga nada de ello, cuenta con tres diferentes comparadores diferenciales de dos entradas y diversas salidas, complementarias en algunos de ellos: Comparador DIFFSCHMITT Comparador DIFFSCHMTBUF Comparador DIFFSCHMTINV El resto de las funciones especiales A no pertenecen al mbito digital y son un varistor programable, controlado por tensin VARISTOR y finalmente MODULATE, que es un oscilador controlado por tensin y completamente configurable, quienes necesiten informacin sobre ellos, pueden recurrir al excelente manual con el que viene munido Ltspice. Luego seguiremos profundizando acerca de los elementos de circuitos digitales contenidos en la familia de funciones especiales o dispositivos A, exclusivos de Ltspice.

Esbozos de reingeniera:
En la instalacin del Ltspice se incluye un smbolo para el 555, si lo abrimos obtenemos esto:

Figura 4 La ventana del editor de atributos de smbolos, que se abre luego de pulsar Ctrl y A, nos dice que tal tipo de smbolo es del tipo Cell o clula, lo cual nos indica que representa a una primitiva o a un subcircuito y no a un smbolo relacionado con otro diagrama esquemtico, como los empleados para la realizacin de proyectos esquemticos jerrquicos, ya que en en tal caso en lugar de Cell, se declara que el smbolo representa a un circuito esquemtico con la palabra clave Block, tal subcircuito

declarado con el prefijo X establece efectivamente que se trata de un subcircuito , cuyo modelo Spice reside dentro del archivo NE555.sub, lo declarado en Value, es el nombre que veremos al abrir el smbolo con el editor de esquemas, para emplearlo en algn proyecto, Value 2 no es mandatorio y puede omitirse; en ocasiones se usa cuando el smbolo se corresponde con un subcircuito que necesite el ingreso de algunos parmetros; recuerde el ejemplo del amplificador operacional bsico, que haca uso de Value2 y SpiceLine, para declarar los valores por defecto de la ganancia y el ancho de banda. El paso siguiente, ser editar NE555.sub, para ver lo que contiene:
* Copyright Linear Technology Corp. 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008. All rights reserved. * .subckt NE555 1 2 3 4 5 6 7 8 A1 N001 2 1 1 1 1 N003 1 SCHMITT Vt=0 Vh=1m R1 N001 1 5K R2 5 N001 5K R3 8 5 5K S1 1 7 N007 1 D A2 N011 N003 1 1 1 1 N008 1 SRFLOP Trise=100n tripdt=10n A3 6 5 1 1 1 1 N012 1 SCHMITT Vt=0 Vh=1m S2 8 3 N009 1 O S3 3 1 1 N009 O A6 1 N006 1 N008 1 1 N007 1 OR Ref=.5 Vlow=-1 Trise=100n R7 8 1 4K R9 2 1 1G R10 6 1 1G A4 1 N008 1 N006 1 N009 1 1 OR ref=.5 Vlow=-1 Trise=100n A5 4 1 1 1 1 N006 1 1 SCHMITT Vt=.7 Vh=1m D1 4 1 DR A7 1 N006 1 N012 1 1 N011 1 OR D2 8 4 400uA .model DR D(Ron=150K Roff=1T Vfwd=1.6) .model O SW(Ron=6 Roff=1Meg Vt=0 Vh=-.8) .model D SW(Ron=6 Roff=.75G Vt=.5 Vh=-.4) .model 400uA D(Ron=1K Ilimit=400u epsilon=.5) .ends NE555

Observe el carcter compacto del subcircuito, el mismo se ha logrado gracias al uso de las primitivas digitales propias de Ltspice y que se corresponden con cada lnea que comienza con la letra A; ahora vamos a transcribir este modelo a su representacin circuital esquemtica, mas natural y sencilla de comprender para las personas; para ello le indicamos a Ltspice que vamos a hacer un nuevo esquemtico, pulsando para ello en el men File y luego en New Schematic y si observamos las declaraciones en la netlist, acerca de los dispositivos A, tendremos pistas acerca de que se trata cada uno, as por ejemplo A1 y A3 son los dos comparadores mostrados en el esquema de bloques funcionales de la hoja de datos, A2 es la bscula SR, A6, A4 y A7 son puertas OR, etc. Luego de trabajar y probar un tiempo, llegamos a esto:

Figura 5 Este subcircuito se basa en la descripcin en bloques funcionales de las hojas de datos y no en el esquemtico, resulta evidente su elegancia y sencillez y en cuanto a su desempeo ste es netamente superior a los dems, el nico problema es que solo puede correr en Ltspice y es por ello que vamos a desarrollar a partir de ac, subcircuitos de las funciones A, que sean compatibles con cualquier simulador basado en Spice y finalmente probaremos los subcircuitos as obtenidos tanto en Ltspice, como en algunos otros simuladores circuitales, para comprobar su correcto desempeo. Si -estando activa la ventana del editor de esquemticos- pulsamos en el men View y luego en SPICE Netlist, se obtiene una netlist con una descripcin funcional idntica al subcircuito proporcionado por Linear para Ltspice:
R1 N1 1 5k R2 5 N1 5k R3 5 8 5k S1 1 7 N7 1 DS A3 N2 N3 1 1 1 1 N5 1 SRFLOP Trise=100n tripdt=10n S2 8 3 N6 1 OS S3 3 1 1 N6 OS A4 1 N4 1 N5 1 1 N7 1 OR Ref=.5 Vlow=-1 Trise=100n R4 8 1 4k A5 1 N5 1 N4 1 N6 1 1 OR Ref=.5 Vlow=-1 Trise=100n A6 4 1 1 1 1 N4 1 1 SCHMITT Vt=.7 Vh=1m I1 8 4 .4m load D1 4 1 DR R5 1 6 1g R6 1 2 1g A1 6 5 1 1 1 1 N2 1 SCHMITT Vt=0 Vh=1m

A2 N1 2 1 1 1 1 N3 1 SCHMITT Vt=0 Vh=1m .model D D .lib C:\LTC\LTspiceIV\lib\cmp\standard.dio .model DS SW(Ron=6 Roff=.75G Vt=.5 Vh=-.4) .model OS SW(Ron=6 Roff=1e6 Vt=0 Vh=-.8) .model DR D(Ron=150K Roff=1T Vfwd=1.6) .end

Una posible simplificacin a esta excelente traduccin del diagrama funcional de la datasheet, se puede conseguir quitando el diodo D1, que est puesto para simular el consumo del pin 4 de reset cuando el pin est a nivel alto ( 70uA @ 12v) y en su lugar podemos poner un resistor, que es una primitiva, mucho mas sencilla de simular que un diodo, otro tanto puede decirse de la fuente de corriente I1, de 0.4 mA y que representa la corriente por el pin 4 cuando el mismo est a masa o nivel bajo, una buena aproximacin con resistores, se consigue poniendo en lugar de la fuente de corriente una resistencia de 200 K y en cuenta del diodo otra resistencia de 32 K y para quienes no quieran contar con la simulacin de la corriente del pin 4, cuando ste est bajo, el resistor de 200 K puede omitirse sin problema alguno en tal caso. Lo que nos falta ( aparte de la cabecera: .Subckt LT555 1 2 3 4 5 6 7 8 y agregar una s al final de .end ) es asignarle un smbolo esquemtico para probarlo , contamos con dos caminos para ello: 1) Asignamos el smbolo al esquema y lo tratamos como a un bloque esquemtico jerrquico, esta forma de trabajo es muy til durante la fase de inicio, desarrollo y puesta a punto de cualquier subcircuito. 2) El smbolo se asocia a un archivo con el subcircuito, como ya vimos recin... Esta es la forma final o definitiva de uso de un subcircuito determinado y solo debe hacerse en la fase final, cuando ya no debamos probar ni ajustar nada dentro del subcircuito; a propsito cuando dibujemos el smbolo, veremos tambin la forma de hacer uno con el cual podamos cambiar entre diversos modelos del dispositivo, para su prueba y comparacin y con un simple clic del ratn.

Preparndonos para nuestro 555:


Para la sntesis de estos dispositivos abstractos solo en funcin de primitivas Spice, contamos con las siguientes herramientas: Fuentes B ( por Behavioral que significa comportamiento o conducta ). Llaves controladas por tensin como las que se usan en el diagrama para simular las etapas de salida y descarga del 555, pero en nuestro caso las vamos a usar tambin para desarrollar las partes digitales del 555. Pero antes vamos a entrar un poco en ciertos detalles acerca del subcircuito del 555 proporcionado por Linear, para Ltspice, sin los cuales su traduccin correcta en trminos de primitivas Spice es imposible. Para comprender con exactitud el funcionamiento del mismo y poderlo traducir con idoneidad a un subcircuito genrico simulable por Spice, es preciso estudiar acerca de los elementos especiales que este subcircito emplea y de otros elementos que vamos a necesitar para llevar a cabo tal labor. Lo que sigue es una traduccin acerca del dispositivos especiales A, del manual del Ltspice: " A. Funciones Especiales:

Nombres de smbolos: INV, BUF, AND, OR, XOR, SCHMITT, SCHMTBUF, SCHMTINV, DFLOP, VARISTOR, y MODULATE. Sintaxis: Annn n001 n002 n003 n004 n005 n006 n007 n008 <modelo> [parmetros de instancia] stos son los dispositivos especiales de modo mixto de simulacin propietarios de Linear Technology Corporation. La mayora de estos y su conducta est indocumentada ya que ellos frecuentemente cambian con cada nuevo juego de modelos disponible para LTspice. Sin embargo, aqu documentaremos algunos de ellos debido a su inters general. INV, BUF, AND, OR, y XOR son las puertas digitales, conductuales idealizadas genricas. Todas las compuertas se declaran en la correspondiente netlist con ocho terminales. Estas puertas no requieren de alimentacin externa. La corriente es suministrada o drenada de las salidas complementarias, en los trminales 6 y 7, y retornadas a travs del terminal 8 o comn. Los trminales 1 2 3 4 5 son las entradas. Las entradas y salidas sin usar sern conectadas al terminal 8. El compilador de dispositivos digitales reconoce como una bandera o indicador que ese terminal no se usa y lo quita de la simulacin. Esto lleva a una situacin potencialmente confusa dnde las puertas AND actan diferentemente cuando una entrada se conecta con tierra o a cero voltios. Si la tierra es el terminal 8 o comn, entonces la entrada conectada con tierra no est en una lgica de condicin falsa, simplemente no participa de la simulacin. La razn que estas puertas se implementen as es que esto permite a un dispositivo actuar como de 2, 3, 4 o 5 entradas con salidas verdaderas, invertidas, o complementarias sin prdida de rendimiento en velocidad de simulacin para los terminales sin usar. Es decir, el dispositivo AND, por ejemplo acta como 12 tipos diferentes de puertas AND. Las puertas tienen como valor predefinido la lgica de 0V/1V con un umbral de medio voltio o 0.5V, ningn retardo de propagacin, y una impedancia de salida de 1 ohmio . Las caractersticas de salida se fijan con estos parmetros de instancia:: Vhigh, diferencia de potencial que indica el estado lgico alto, valor por defecto 1 v. Vlow, diferencia de potencial que indica el estado lgico bajo, valor por defecto 0 v. Trise , tiempo de subida del pulso desde 0v a 1v, por defecto es cero 0. Tfall , tiempo de bajada del pulso desde 1v a 0v, por defecto es cero 0. Tau, constante de tiempo RC asociada con la salida, por defecto es 0. Cout, es la capacitancia del pin de salida, su nalor por defecto es 0. Rout, es la impedancia del pin de salida, su valor por defecto es 1 ohmio. Rhigh es la impedancia de salida, cuando sta est alta y por defecto es igual a Rout. Rlow es la impedancia de salida, cuando sta est baja y por defecto es igual a Rout. Note que no todos los parmetros pueden especificarse al mismo tiempo en el mismo caso, por ejemplo, las caractersticas de salida pueden modelarse con un tiempo de subida Trise o un tiempo dado por una constante RC, no ambos. El valor predeterminado de retardo de propagacin es cero y se puede cambiar con el parmetro de instancia Td. El tiempo de sostenimiento de entrada es igual al retardo de propagacin. El umbral lgico de las entradas tiene como valor predefinido .5*(Vhigh+Vlow) pero puede cambiarsae con el parmetro de instancia Ref. El tiempo del sostenimiento es igual al retardo de propagacin. El dispositivo de or exclusiva XOR tiene una conducta no normal cuando se usan ms de dos entradas: La salida slo es verdadera cuando exactamente una de todas las entradas es cierta o alta. Use la propiedad asociativa de XOR's con los dispositivos XOR de mltiples entradas para llevar a cabo un

bloque de XOR con ms de dos entradas. Los dispositivos con Schmitt, cuentan con histresis programable y tienen caractersticas de salida similares a las ya vistas en las compuertas. Sus puntos de control se especifican con los parmetros de instancia Vt y Vh. El punto de control bajo es Vt-Vh y el punto del control alto es Vt+Vh. Las puertas y los Schmitt no proporcionan por defecto la informacin del tamao del incremento de tiempo o timestep al simulador. Es decir, que ellos no ven cuando estn a punto de cambiar de estado ni se aseguran que haya un timestep similar a ambos lados del cambio de estado. Por esto el parmetro de instancia tripdt es usado para estipular el timestep mximo que el simulador puede tomar para atravesar los cambios de estados." Teniendo en cuenta que tambin vamos a emplear para el desarrollo de algunos modelos a los interruptores controlados por tensin, ser necesario estudiar del manual de ayuda de Ltspice, su definicin: " S. Switch o interruptor controlado por tensin. Nombre del smbolo: SW Sintaxis: Sxxx n1 n2 nc+ nc - <modelo> [on,off] Ejemplo: S1 out 0 in 0 MySwitch . MySwitch SW (Ron= .1 Roff=1Meg Vt=0 Vh = - .5 Lser=10n Vser = .6) La cada de tensin entre los nodos de entrada nc+ y nc - controla la impedancia del interruptor entre los nodos de salidas n1 y n2.Una tarjeta con el modelo se exige para definir la conducta del interruptor. Vea el archivo esquemtico. \ examples\Educational\Vswitch.asc con un ejemplo de como hacerlo directamente sobre un esquemtico como una directiva Spice. Parmetros del Switch o interuptor controlado por tensin: Vt tensin de umbral ( por threshold). Debe darse en voltios y su valor predeterminado es 0. Vh tensin de histresis, tambien se expresa en voltios y su valor por defecto es 0. Ron es la resistencia que tiene el interruptor al estar cerrado y por defecto vale 1 ohmio. Roff es la resistencia que tiene el interruptor al estar abierto y por defecto vale 1/Gmin que es la conductancia mnima que el simulador asigna para cualquier conexion circuital y que por defecto vale 1E-12 Mho, por lo que Roff=1E12 ohmios o un teraohomio. Lser es la inductancia en serie con los bornes de salida de la llave y se expresa en henrios. Vser es la tensin de una fuente en serie con el interruptor y normalmente vale 0 voltios. Ilimit es la mxima corriente que puede pasar por la llave, se expresa en amperes y por defecto es infinita. El interruptor tiene tres modos distintos de control por voltaje, dependiendo del valor del voltaje de histresis, Vh. Si ste es cero, el interruptor siempre estar completamente cerrado o abierto dependiendo de si el voltaje de control est por encima del umbral o no. Si Vh es positivo, el interruptor muestra histresis, como si fuera controlado por un disparador de Schmitt con los puntos de control a Vt - Vh y Vt + Vh. Note que Vh es la mitad del voltaje entre puntos de control ( trip points) lo cual es diferente a la nomenclatura comunmente usada en laboratorios.

Si Vh es negativo, el interruptor har la transicin suavemente entre los estados de alta y baja impedancia. La transicin ocurre entre los voltajes de mando de Vt - Vh y Vt + Vh. La suave transicin obedece a un polinomio de orden bajo que se aproxima al logaritmo de la conduccin del interruptor. Hay tambin un segundo nivel para el interruptor controlado por voltaje. Este nuevo nivel es una versin avanzada del nivel uno que acabamos de ver, la diferencia es que en este nuevo nivel la histresis se expresa en trminos negativos y este tipo de interruptor nunca est completamente cerrado o abierto. La conduccin como una funcin del voltaje de control Vc es : g(Vc) = exp(A * atn((Vc - Vt)/Vh) + B) Donde: A = pi * (log(1/Ron) - log(1/Roff)) B = (log(1/Ron) + log(1/Roff)) Tambin, la transicin del interruptor de nivel dos hacia el lmite de corriente es gradual en lugar de abrupto. A un voltaje de mando fijo, la curva I-V est dada por la ecuacin: I(V) = Ilimit * tanh(g(Vc) * V) El interruptor de segundo nivel o level2 switch, soporta adems la opcin para conducir en slo un sentido ya sea especificando el flag o indicador "oneway" o especificando una cada de voltaje mediante el parmetro Vser. La transicin entre la conduccin en sentido directo y en sentido inverso o circuito abierto puede especificarse para que sea una transicin suave especificando que el parmetro epsilon no sea cero..." Debo aclarar que este segundo nivel en el modelo de una llave controlada por voltaje, es exclusivo de Ltspice y que por lo tanto solo emplearemos el de nivel uno que si es compatible con Spice. Para terminar con esta imprescindible parte terica, llevaremos a cabo la traduccin del manual del Ltspice, sobre parte de lo referido a las fuentes B: " B. Fuente de tensin o corriente de comportamiento arbitrario. Nombres de los smbolos: BV y BI . Sintaxis: Bn n1 n2 V=<expresin> [ic=<valor>] + [tripdv=<valor>] [tripdt=<valor>] + [laplace=<expresin> [window=<tiempo>] + [nfft=<nmero>] [mtol=<nmero>]] Bn n1 n2 I=<expresin> [ic=<valor>] + [tripdv=<valor>] [tripdt=<valor>] [Rpar=<valor>] + [laplace=<expresin> [window=<tiempo>] + [nfft=<nmero>] [mtol=<nmero>]] La primera sintaxis especifica una fuente de voltaje conductual o arbitrario y la segunda es una fuente igual, pero de corriente. Para la fuente de corriente , una resistencia paralela puede especificarse con el parmetro instancial Rpar .

Los parmetros tripdv y tripdt controlan el rechazo del paso. Si el voltaje por una fuente cambia por ms de los voltios del tripdv en los segundos del tripdt, ese paso de tiempo de simulacin se rechaza. Las expresiones pueden contener lo siguiente: Tensiones nodales, por ejemplo: V(n1) Diferencias de tensin internodales, por ejemplo: V(n1, n2) Corrientes de elementos del circuito; por ejemplo, I(S1), la corriente a travs del interruptor S1 o Ib(Q1), la corriente de la base del transistor Q1. Sin embargo, se supone que la corriente del elemento de circuito est variando cuasi-estticamente, esto es, no hay ninguna realimentacin instantnea entre la corriente a travs del dispositivo referenciado y el rendimiento de la fuente arbitraria o conductual. Semejantemente, se asume que cualquier componente de ac de tal elemento referenciado es cero en un anlisis lineal de pequea seal, como el anlisis AC. La palabra clave "time", significa el tiempo el tiempo de simulacin. La palabra clave, "pi" que significa 3.14159265358979323846. Las funciones siguientes:

Tabla 1 Mis disculpas por no traducir la tabla de funciones, solo har algo al respecto con la funcin que usar, la misma figura en la tabla como u (x) o funcin de paso unidad y que vale 1 para cualquier valor a su entrada positivo o mayor que 0, en todos los otros casos el valor de retorno de esta funcin es cero. Verdadero es numricamente igual a 1 y Falso es 0. La Conversin a tipo booleano convierte un valor a 1 si el mismo es mayor que 0.5, de lo contrario se convierte a 0. Note que LTspice usa el carcter del smbolo del acento circunflejo, ^, para el operador booleano de la disyuncin exclusiva o XOR y "** " para la exponenciacin. Tambin, LTspice distingue entre la exponenciacin, x**y, y la funcin pwr(x,y) Otros simuladores tienen una incorrecta implementacin de la exponenciatin conductual, evaluando -3**3 incorrectamente a 27 en lugar de -27, probablemente en el inters de evitar el problema de potenciar un nmero negativo a un exponente no entero. LTspice se ocupa de este problema devolviendo la parte real del resultado de la operacin. Por ejemplo, -2**1.5 se evala como cero qu es la parte real de la respuesta correcta que no es real: 2.82842712474619i. Esto significa que cuando usted importa un modelo de de otros simuladores ( Pspice por ejemplo) , necesitar traducir la sintaxis como x^y a x**y o pwr(x,y).

Empezando a cocinar nuestro subcircuito conductual:


Lo que vamos a hacer, para empezar es realizar los diversos smbolos de los bloques funcionales detallados en la hoja de datos, para esto necesitamos abrir el editor de smbolos de Ltspice y dibujar los smbolos de los comparadores, el flipflop SR, el inversor y las compuertas lgicas, como en las primeras fases vamos a trabajar con esquemticos jerrquicos cuidaremos de que los nombres de los

smbolos sean iguales a los de los esquemas que, valga la redundancia, sinbolizan o contienen; adems deberemos indicar en el editor de atributos del smbolo ( recordar que se abre con Ctrl y A) de que el smbolo est asignado a un Block , ya que por defecto los crea para Cell y con esto ya podremos comenzar el desarrollo de los subcircuitos veamos por ejemplo:

Figura 6 Ahora veamos el smbolo del flipflop o bscula SR:

Figura 7 Este fliflop es un caso de jerarqua esquemtica anidada que viene a representar al siguiente arreglo esquemtico para el FF SR:

Figura 8 Como vemos, deberemos hacer previamente el smbolo para las compuertas NOR, que son las que

contienen a las primitivas Spice equivalentes a la funcion NOR de dos entradas y que modelamos as:

Figura 9 Ahora veremos si el arreglo propuesto refleja el comportamiento de una puerta NOR de dos entradas, para que la salida sea alta ambos interruptores deben cerrarse, puesto que al estar cableadas sus salidas en serie V+ llegar a la salida Y, solo cuando las dos llaves estn cerrando el circuito, y esto solo sucede cuando en las entradas de control A=B=0, cualquier otra combinacin de alores de A y B hace que la salida Y, sea baja y como vemos esta es precisamente la negacin de la funcin OR o sea NOR. Las etiquetas con nmeros grises son comentarios que recuerdan el orden de los pines en el smbolo. Un par de estos arreglos NOR son los usados para erigir a la bscula SR; el valor para el estado falso es 0 voltio y para el verdadero 1 voltio, sabiendo esto podemos explicar el significado de algunos de los parmetros del switch VT=.5 o VT=0.5, indica que medio voltio es el valor fijado para la transicin interestatal, en tanto que VH=.4 o VH=0.4 indica un valor de histresis de 400 mV repartido en mitades de 200 mV, arriba y abajo de VT esta histresis torna a la llave menos influenciable a cualquier transistorio u oscilaciones en las inmediaciones de VT suavizando el comportamiento durante el cambio de estado. Este subcircuito de compuerta NOR, est muy cerca de ser 100% Spice compatible, lo nico que le faltara es desdoblar la resistencia declarada como Rpar en Cnor, para que lo sea. Veamos ahora a la comperta NOR que no pertenece al flipflop, ya que la misma esconde una pequea pero necesaria diferencia:

Figura 10 Como vemos la nica diferencia es que el pin 4 del smbolo, que antes iba conectado a la red simbolizada por 1 ya que ese es el pin de masa del 555; ahora va conectada a una red cuya etiqueta es -V y que en efecto vale alrededor de -1 v. Su inclusin se debe a las caractersticas de la salida o pin 3 del dispositivo, que puede tanto suministrar como drenar corriente y que por lo tanto es del tipo de simetra complementaria; para conseguir que funcione correctamente ( referise visualmente a la salida del esquemtico del subcircuito de Linear, en la parte superior derecha o al que est ac un poco mas abajo) las entradas de control de la llave encargada de poner la salida a masa tiene conectado su terminal positivo a masa, para que la llave acte su terminal de control negativo debe pues ser mas negativo que la masa y la forma de conseguirlo es con una fuente de tensin negativa de valor absoluto igual al de la positiva, alrededor de 1 v. En este caso la seal de entrada a la puerta puede se 0v o 1v y por eso el punto de cambio sigue a la mitad de camino es decir medio voltio, si la seal proveniente del flipflop pasa de 1v a 0v, entonces la salida de esta puerta NOR que ataca a las llaves de salida, toma el valor de la fuente negativa y activa de esa forma a la llave de la salida que est mas a la derecha. Veamos ahora una posible implementacin de la funcin booleana OR:

Figura 11 En este caso las salidas de las llaves se han cableado en paralelo, de una simple ojeada, podemos ver que solo si A=B=0 entonces Y=0, en cualquier otro caso Y=1, que es precisamente un reflejo del comportamiento de la funcion OR. Sigamos acotando ahora algunos detalles acerca de los valores en los parmetros de todas estas llaves controladas por tensin, Ron=10 ohmios, si ponemos un valor bajo o nulo, seguramente tendremos problemas a la hora del ensayo, sucede que el cambio brusco de estado en la llave y las corrientes asociadas a la misma hace que el circuito al ser simulado no converja durante los cambios de estado o que lo haga lentamente y a duras penas, por otra parte en el mundo real estas llaves son transistores con una resistencia de salida jams nula, resumiendo Ron=10 ohmios, limita las bruscas corrientes instantneas durante las transiciones estatales y es necesaria tambin para que el interruptor refleje algo mejor a las caractersticas del dispositivo real, otro tanto se puede decir de Roff=1e8 o sea 100 Megaohmios, un valor que "desidealiza" al interruptor y se acerca mas al expresado por las corrientes de fuga de los transistores que estn mimetizando. Observe las diferencias en ambos esquemas de los cableados tanto en las salidas, como en las entradas, con el objeto de reflejar la funcin booleana correspondiente a cada smbolo. Note que en ambos casos el resistor de 1 gigaohmio se coloca para evitar el problema de nodos flotantes o no referenciados al nodo 0 o comn ( masa). Los valores de la capacidad de salida han sido disminuidos a 1 pF, para evitar posibles problemas en los estados de transicin durante la simulacin, adems en ambos casos se aprovecha la posibilidad de declarar al necesario resistor pulldown como Rpar del capacitor lo que deja al esquema mas limpio. ... si todo marcha bien ya tendremos tiempo luego para aumentar los valores de la capacidad... Veamos ahora como encarar el desarrollo de los comparadores, que son las primitivas mas criticas para simular, esta versin se hizo tambin con llaves controladas por tensin:

Figuras 12 y 13 De nuevo ac he recurrido al uso de un resistor pulldown de 10 kilohmios, el cual reduce en los tres casos mostrados el nmero de elementos activos ( las llaves controladas por tensin) a la mitad, el resistor para evitar nodos flotantes en las entradas de control del switch es de 100 megaohmios en este caso, ya que con tal valor el conjunto se comporta con mayor estabilidad durante la simulacin. Ahora veamos la implementacin del inversor digital o sea la funcin booleana de negacin:

Figura 14 Observe el cambio en los valores de los parmetros que rigen el comportamiento de la llave Vh es casi nula ahora, de lo contrario el comparador acarreara un gran error a causa de la inercia impuesta al comportamiento del interruptor, histresis mediante. En este caso no se pudo disimular la resistencia de 10 kilohmios, como para OR y NOR, ya que el resistor obra como pullup. Con todos estos bloques esquemticos y sus smbolos correspondientes, estamos ya en condiciones de plantear el subcircuito que modela al 555 con las primitivas Spice que usamos en este ejemplo: resistores, capacitores y llaves accionadas por diferencia de tensin: Si asignamos ahora un smbolo para este subcircuito ya lo podremos probar y ver como funciona, es lo que vamos a hacer con un circuito de prueba que involucra a diversos pines del 555 en su funcionamiento:

Figura 15 La primer cosa que notamos es que si corremos el circuito sin la fuente de reset, el mismo no corre o lo hace a duras penas, en realidad si agregamos a la directiva de simulacin .tran 0 4m, la opcin exclusiva de Ltspice startup o la opcin comn a Spice uic, que evita el clculo del punto de operacin el subcircito funciona perfectamente; para no usar una opcin privativa de Ltspice y adems hacer que

el simulador si determine la polarizacin inicial del circuito, agregu a la fuente de prueba de Reset Vreset, una rampa de 10 us para que llegue a 12 voltios y luego que cerca de los 3 ms y 3.5 ms, pase a cero para ver el reset del 555 y luego vuelva a 12.; vuelven a aparecer a la derecha del esquemtico, un montn de sentencias para medidas post simulacin y que se encargan de calcular la frecuencia y el ciclo de trabajo de este multivibrador, que dependen de la posicin de cada uno de los potencimetros, arriba a la izquierda del diagrama. A tal fin el parmetro cursor se hace variar entre el 10% y el 90% del recorrido del potencimetro nombrado en el dibujo como Duty y as se obtienen estos resultados del ciclo de trabajo a travs del archivo SPICE Error Log ( recordemos que para verlo directamente en Ltspice debemos pulsar en el men View y luego en el submen que reza precisamente SPICE Error Log): Measurement: duty% step ton*frec*100 1 10.0826% 2 29.7721% 3 50.008% 4 71.2987% 5 88.9776% Date: Mon Jun 08 12:51:15 2009 Total elapsed time: 5.094 seconds. Tambin vemos que en total el simulador tard casi un segundo por cada paso de simulacin, lo cual no est nada mal. Ahora vamos a extraer el subcircuito en formato de netlist para Spice y de tal manera podremos luego probarlo y ver como se comporta en otros simuladores, para ello volvemos a pinchar en el men View, pero esta vez elegimos al submen SPICE Netlist y nos desplegar esta informacin:
* E:\Ltspice\LtSpiceIV_Plus_01_09\examples\Robertugo\555\Modelos\Previos\LtSpice\H4\Sw\EdnNew555&2DioPwm1.asc Ct N005 0 10n C2 N008 0 10n D1 N007 N005 1N914 D2 N005 N004 1N914 Vcc N002 0 12v AC 0 0 Rser=1 Cpar=100u Rd N002 N006 100k XDuty N003 N007 Out Pot rt=10k set={Cursor} XFreq N004 N003 N004 Pot rt=10k set=0 XX1 0 N005 Out N001 N008 N005 N006 N002 555h4 params: 555H4 Vreset N001 0 PWL(0 0 10u 12 2.99m 12 3m 0 3.499m 0 3m5 12) Rser=1 Rpullup N002 N001 1k * block symbol definitions .subckt 555h4 1 2 3 4 5 6 7 8 R1 N1 1 5k R2 5 N1 5k R3 8 5 5k Sds 1 7 N7 1 Sdis SH 8 3 N6 1 Sout SL 3 1 1 N6 Sout R4 1 8 4k V1 V+ 1 1 XX5 N4 N5 V+ V- N7 XX6 N5 N4 V+ V- N6 XX1 N1 2 V+ 1 N3 cpsw XX2 6 5 V+ 1 N2 cpsw XFlipFlop N2 N3 V+ 1 N5 N001 ff V2 1 V- 1 XX4 4 V+ 1 N4 notsw R4_1 4 1 1g .model Sdis Sw(Ron=10 Roff=1e8 Vt=.5 Vh=.4) .model Sout Sw(Ron=5 Roff=1e6 Vt=0 Vh=.8) .ends 555h4 .subckt orh A B V+ V- Y S1 Y V+ A 0 Sor S2 V+ Y B 0 Sor

RabOr B A 1g Cor Y V- 1p Rpar=10k .model Sor Sw(Ron=10 Roff=1e8 Vt=.5 Vh=.4) .ends orh .subckt norh A B V+ V- Y S1 V+ N001 V+ A Snor S2 N001 Y V+ B Snor RabNor B A 1e8 Cnor Y V- 1p Rpar=10k .model Snor Sw (Ron=10 Roff=1e8 Vt=.5 Vh=.4) .ends norh .subckt cpsw In+ In- V+ 1 Out S1 V+ Out In+ In- Scp Rin+- In- In+ 1e8 R1 Out 1 10k .model Scp Sw(Ron=1 Roff=1e8 Vt=0 Vh=1m) .ends cpsw .subckt ff S R V+ 1 Q _Q R1 S R 1g XX1 S Q V+ 1 _Q norh0 params: NorH0 XX2 _Q R V+ 1 Q norh0 params: NorH0 .ends ff .subckt notsw in V+ 1 _Q SwInv _Q 1 in 1 Srst Cnot _Q 1 1p Rnot _Q V+ 10k R1 in 1 1g .model Srst Sw(Ron=10 Roff=1e7 Vt=.5 Vh=1m) .ends notsw .subckt norh0 A B V+ 1 Y S1 V+ N001 V+ A SwNor S2 N001 Y V+ B SwNor RabNor B A 1g Cnor Y 1 1p Rpar=10k .MODEL SwNor Sw (VT=.5 VH=.4 RON=10 ROFF=1e8) .ends norh0 .model D D .lib C:\Archivos de programa\LTC\LTspiceIV\lib\cmp\standard.dio .tran 4m .params: Vdd 12 Ronx=.1 .step param Cursor 0.1 0.9 .2 .meas tran ta FIND time WHEN V(out)={Vdd/2} td=.1m rise=1 .meas tran tb FIND time WHEN V(out)={Vdd/2} td=.1m rise=11 .meas tran Frec PARAM 10/(tb-ta) .Meas tran Tc FIND time WHEN V(Out)={Vdd/2} td=.1m fall=1 .Meas tran Td FIND time WHEN V(Out)={Vdd/2} td=.1m fall=2 .Meas tran T1 Param (Tc-Ta) .Meas tran T2 Param (Td-Ta) .Meas tran Ton Param If (T1>0, T1, T2) .Meas tran Duty% Param Ton*Frec*100 .lib pote.lib .backanno .end

Aclaro que este trabajo fue hecho hace ya casi un lustro, cuando recin conoca a Ltspice y algunas cositas han cambiado desde entonces, vamos ahora a aislar el subcircuito del 555 y a limpiarlo de informacin irrelevante a los fines de simulacin en otros programas; a tal efecto vamos a copiar el cuerpo principal de texto que define al subcircuito:
.subckt 555h4 1 2 3 4 5 6 7 8 R1 N1 1 5k R2 5 N1 5k R3 8 5 5k Sds 1 7 N7 1 Sdis SH 8 3 N6 1 Sout SL 3 1 1 N6 Sout R4 1 8 4k V1 V+ 1 1 XX5 N4 N5 V+ V- N7 XX6 N5 N4 V+ V- N6 XX1 N1 2 V+ 1 N3 cpsw XX2 6 5 V+ 1 N2 cpsw XFlipFlop N2 N3 V+ 1 N5 N001 ff V2 1 V- 1

XX4 4 V+ 1 N4 notsw R4_1 4 1 1g .model Sdis Sw(Ron=10 Roff=1e8 Vt=.5 Vh=.4) .model Sout Sw(Ron=5 Roff=1e6 Vt=0 Vh=.8) .ends 555h4 * Faltan los subcircuitos intermos que desarrollamos previamente para que funcione, o sea: .subckt orh A B V+ V- Y S1 Y V+ A 0 Sor S2 V+ Y B 0 Sor RabOr B A 1g Cor Y V- 1p Rpar=10k .model Sor Sw(Ron=10 Roff=1e8 Vt=.5 Vh=.4) .ends orh .subckt norh A B V+ V- Y S1 V+ N001 V+ A Snor S2 N001 Y V+ B Snor RabNor B A 1e8 Cnor Y V- 1p Rpar=10k .model Snor Sw (Ron=10 Roff=1e8 Vt=.5 Vh=.4) .ends norh .subckt cpsw In+ In- V+ 1 Out S1 V+ Out In+ In- Scp Rin+- In- In+ 1e8 R1 Out 1 10k .model Scp Sw(Ron=1 Roff=1e8 Vt=0 Vh=1m) .ends cpsw .subckt ff S R V+ 1 Q _Q R1 S R 1g XX1 S Q V+ 1 _Q norh0 XX2 _Q R V+ 1 Q norh0 .ends ff .subckt notsw in V+ 1 _Q SwInv _Q 1 in 1 Srst Cnot _Q 1 1p Rnot _Q V+ 10k R1 in 1 1g .model Srst Sw(Ron=10 Roff=1e7 Vt=.5 Vh=1m) .ends notsw .subckt norh0 A B V+ 1 Y S1 V+ N001 V+ A SwNor S2 N001 Y V+ B SwNor RabNor B A 1g Cnor Y 1 1p Rpar=10k .MODEL SwNor Sw (VT=.5 VH=.4 RON=10 ROFF=1e8) .ends norh0

Vamos ahora a comenzar a plantear el desarrollo de los comparadores en trminos de fuentes B:

Figura 16 Como vemos la primera diferencia es que el bloque de comparador as construido no necesita

alimentacin externa como los anteriores, la fuente B se hizo basada en una sencilla tabla de valores y su interpretacin es casi evidente: dada un diferencia de potencial entre sus nodos de entrada in+ e inde -5mV o menor, el valor de la salida es cero, si esta diferencia en las entradas pasa a ser positiva e igual o mayor a 5 mV, entonces la salida entrega 1 voltio, note la declaracin de los parametros para facilitar la convergencia de la simulacin tripdv y tripdt y que limitan la velocidad de cambio en la salida de nuestro comparador sinttico a 1v en 100 ns. Para usarlo deberemos modificar el smbolo que usbamos del comparador y quitarle los pines de alimentacin, grabarlo luego con el mismo nombre del esquemtico del comparador hecho en base a la fuente B que vemos arriba y en la misma carpeta que ste. con todo esto podemos presentar ya nuestro segundo modelo esquemtico jerrquico del 555: Figura 17

Figuras 18 y 19 Desde este punto de vista, lo nico apreciable en " el juego de las diferencias" con el diagrama anterior del 555, se evidencia en el detalle de que los comparadores no tienen ya las lneas de alimentacin que en el anterior eran imprescindibles.

Abstraere:
Con lo que vamos viendo y sabiendo, es el momento de hacer un cambio de rumbo radical e iniciar una serie de subcircuitos que partiendo de la descripcin funcional de la hoja de datos, como los que estamos viendo hasta ac, hagan realidad una capa de abstraccin nueva y superior, que permita la formulacin del subcircuito en trminos an mas sintticos que los vistos hasta ahora. Para ello vamos a utilizar la potencia computacional de las fuentes B en forma intensa, una primera aproximacin esquemtica al nuevo encuadre del problema y que nos sirve de punto de partida es esta:

En este primer intento, lo que hice es transformar los bloques funcionales, para que puedan expresarse mediante fuentes B, as de izquierda a derecha contamos a Bnor, que viene a desempear la misma tarea que antes estaba a cargo de la puerta nor que excita a la salida del 555, BFfa representa a la parte del fliflop que proporciona la salida negada -Q, BFfb hace lo mismo pero con la salida verdadera Q, la fuente Brst cumple funciones similares a las que antes estaban a cargo del inversor, Bor desarrolla el mismo trabajo que haca la puerta OR que gobernaba al terminal 7 de descarga, en tanto que los comparadores estn ahora implementados en Bcp1 y Bcp2, su formulacin sinttica resulta mucho mas concisa que la dada mediante tabla en el comparador del ejemplo anterior en cuanto a las salidas 3 y 7 del 555, siguen sin cambios respecto a la versin anterior. Los resistores de 1 gigaohmio se ponen a masa para evitar nodos flotantes, cuendo ello es necesario. Veamos ahora un paso evolutivo en la simplificacin de este subcircuito y que conlleva a la reduccin de una de las fuentes B, con lo que el sistema comienza a condensarse bajo una lgica de conveniente sntesis abstractiva:

Figura 20 El truco est en la fuente BfOr, que ahora realiza ella sola las tareas de gobernar al interuptor controlado para la descarga del dispositivo por el pin 7 y adems hace tanbin la funcin de la mitad de la bscula SR, que provee de la salida Q. Siguiendo por este maravilloso sendero simplificativo de la abstraccin y aplicando tiempo, ganas e ingenio se llega a una de las versiones finales de nuestro 555:

Como se puede ver, hemos mejorado de diez primitivas activas a siete, eliminando sin mella en las cualidades del 555 a la fuente Bnor que antes gobernaba a la salida del 555, ahora BFfa hace este trabajo directamente, tambin se ha eliminado la fuente que se encargaba del reset del dispositivo; por supuesto que las expresiones que rigen a cada uno de estos generadores arbitrarios maravillosos que son las fuentes B tambin se ha cambiado y pulido convenientemente... Observe el uso recurrente de la funcin de paso unidad u (x), cuyo operador u aparece en cada una de las fuentes B, a propsito Bcp1 y Bcp2 siguen siendo los comparadores del 555 ; el flipflop SR, sigue reducido a dos fuentes B: BFfa que excita a las llaves de salida y BfOr que hace lo propio con el switch de descarga y adems es la encargada de resetear al dispositivo, pues monitorea el valor del pin de reset o v(4), esta fuente es .la que mayor trabajo computacional acarrea, ya que efecta operaciones con los datos aportados por tres nodos del circuito, en tanto que las otras solo lo hacen con dos, el tenor de las operaciones es similar, ya que adems del operador unario, el resto de las operaciones involucradas para reflejar el funcionamiento del 555 son sumas algebracas. La netlist de este subcircuito viene a quedar as:
.subckt 555_4B3Sw 1 2 3 4 5 6 7 8 r1 ref33 1 5k r2 5 ref33 5k r3 8 5 5k Sds 1 7 _Q 1 Sdis SH 8 3 Q 1 Sout SL 3 1 1 Q Sout r4 8 1 4k R2_1 2 1 1g Bcp1 S 1 V=u(V(6,5)) Bcp2 R 1 V=u(V(ref33,2)) BfOr _Q 1 V=.9999-((V(Q)+.5)+V(R))+1-u(v(4)-.5) BFfa Q 1 V=.5-u(V(S)+V(_Q)) R6_1 6 1 1g R4_1 4 1 1g .model Sdis Sw(Ron=10 Roff=1g Vt=.75 Vh=.2) .model Sout Sw(Ron=5 Roff=1e6 Vt=0 Vh=.4) .ends

Que condensa al 555 en menos de 20 lneas de funciones computacionales sencillas, potentes y rpidas,

empleando esencialmente para ello y como elementos de circuito activos a cuatro fuentes B y tres llaves controladas por tensin; es decir que con tan solo siete elementos activos que a la vez son primitivas Spice logramos modelar un subcircuito an mas abstracto y eficiente que los basados en el diagrama de bloques funcionales de las hojas de datos. Y aunque parezca increble, el sistema es susceptible de una simplificacin mas todava y sin perder funcionalidad alguna ( al respecto el sistema puede simplificarse mucho mas si se descartan las funciones de Reset y Vc que no se emplean en la gran mayora de las aplicaciones corrientes del 555), el sistema completo pero con menos primitivas de elementos de circuito activos Spice es este:

Figura 21 Como puede verse, solo cuenta con cinco fuentes B y un solo switch controlado por voltaje, con lo que hemos bajado un elemento activo de la cuenta...! Note el uso del resistor Rout, para dar algo de resistencia y limitar la corriente de la salida del 555, que de otro modo podra ser absurdamente infinita, al no tener ninguna resistencia interna la fuente BOut. Observe que BOut acta como un conversor de niveles, multiplicando la tensin del nodo Q del flipflop por el valor de tensin presente en el nodo 8, que corresponde al pin de alimentacin del 555, de esta forma se convierten los valores de Q, que se lternan entre cero y un voltio a valores comprendidos entre cero y la tensin de alimentacin del integrado, su carcter de fuente de tensin le posibilita suministrar o drenar corriente por la salida, eliminando as la necesidad del conjunto de dos llaves anteriores. Podra pensarse en una solucin similar para quitar al switch de descarga, sin embargo la misma no es viable dado que al tratarse de una fuente, la misma recargar al capacitor de descarga, cuando se desarrolle tensin en sus bornes, cosa que no ocurre con la llave de descarga que en la misma situacin temporal se encontrar abierta. Este es su netlist:
.subckt 555_5B&Sw 1 2 3 4 5 6 7 8 r1 ref33 1 5k r2 5 ref33 5k r3 5 8 5k Sds 1 7 _Q 1 Dis r4 8 1 4k R2_1 1 2 1g Bcp1 S 1 V=u(V(6,5)) Bcp2 R 1 V=u (V(ref33,2)) BFfa Q 1 V=1-u(V(S)+V(_Q))

R6_1 6 1 1g BffOr _Q 1 V=.999999-(V(Q)+V(R))+1-u(v(4)-.5) BOut Nout 1 V=V(Q)*V(8) Rout 3 Nout 5 R4_1 4 1 1g .model Dis Sw(Ron=10 Roff=1g Vt=.75 Vh=.2) .ends

Si cuentan, vern que este subcircito describe al 555 con la misma funcionalidad que el anterior, pero con un rengln menos, debido al elemento activo quitado. Hablar ahora de r4 de 4 kilohmios y que junto al divisor resistivo de entrada formado por r1, r2 y r3 determinan la corriente de reposo del dispositivo, de unos pocos miliamperios, hasta el circuito anterior que tena su salida hecha en base a llaves que conectaban al pin 3 de salida ya sea a la fuente externa de alimentacin o a masa, una medicin de corriente en el pin 8 de alimentacin reflejaba a la corriente de reposo mas la corriente que pasaba por la salida. con esta nueva variacin hemos perdido la posibilidad de reflejar en el pin 8, la circulacin de corriente a travs del 555, solo registrar la corriente de repososo y no la de la salida que ahora es provista directamente por BOut; para corregir este hecho y hacer que en el pin de alimentacin se refleje toda la corriente que atraviesa por el dispositivo hay que hacer lo siguiente:

Figura 22 Y con esto la corriente a travs del dispositivo es fielmente reflejada en su pin de alimentacin, note que a la expresin que define a BOut ha debido agregrsele la resta de V(8), puesto que como ahora est su borne negativo conectado a este pin, deberemos restarle la tensin de desplazamiento dada por la fuente externa de alimentacin, para que el generador "ponga" en su salida, los mismos valores que produca cuando su borne negativo estaba a masa, el precio a pagar por el detalle es una nfima prdiida en la performance de este subcircuito en relacin al anterior, tan pequea que luego de varias medidas puedo asegurar que en el peor de los casos es a lo sumo de solo un 1%.. Bueno gente, este subcircuito ha quedado concludo y las nicas mejoras posibles son la inclusin en el modelado del mismo de los parmetros tripdv y tripdt, que seguramente lo ralentizarn un poco y harn su uso algo mas complicado, pero lograrn a cambio que las formas de onda entregadas en cualquier caso de empleo cuadren con la realidad. Otro ejercicio interesante ser recrear a partir de esta sntesis del 555 a un subcircuito expresado en el modo de bloques funcionales; quienes cuenten con el entusiasmo para hacer todas estas mejoras sean bienvenidos a encararlas y publicarlas, cuenten conmigo para cualquier ayuda....! Si el tiempo me lo

permite har y publicar las reformas en el futuro. Netlist:


.subckt 555_5B&Sw 1 2 3 4 5 6 7 8 r1 ref33 1 5k r2 5 ref33 5k r3 5 8 5k Sds 1 7 _Q 1 Dis r4 8 1 4k R2_1 1 2 1g Bcp1 S 1 V=u(V(6,5)) Bcp2 R 1 V=u (V(ref33,2)) BFfa Q 1 V=1-u(V(S)+V(_Q)) R6_1 6 1 1g BffOr _Q 1 V=1-(V(Q)+V(R))+1-u(v(4)-.5) BOut Nout 8 V=(V(Q)*V(8))-V(8) Rout 3 Nout 5 R4_1 4 1 1g .model Dis Sw(Ron=10 Roff=1g Vt=.5) .ends

Ahora vamos a reunir en un solo archivo de texto a todos los subcircuitos del 555; para llegar a buen puerto ser necesario llamar a cada versin con nombres diferentes y luego guardar esta " coleccin de 555's" como un archivo de librera Spice, por ejemplo Timers.lib. Por ltimo desarrollaremos un nuevo smbolo que permita utilizar a cualquiera de los subcircuitos del 555 e intercambiarlos para compararlos con un par de clics de ratn. Para comenzar con el smbolo, podemos abrir uno ya existente con el editor de smbolos, adaptarlo a las nuevas necesidades y luego guardarlo con otro nombre. Lo primero que debemos hacer luego de abierto el smbolo para su edicin es abrir el editor de atributos de smbolos con Ctrl y A; hecho esto en Synbol Type, arriba de todo, ponemos Cell, luego en prefix escribimos X, en Spice model debemos poner el nombre del primer subcircuito que figure en la librera que armamos antes y en Model File escribimos el nombre del archivo con la librera de dispositivos, en este caso Timers.lib :

Figura 23 Pulsamos en el botn OK y finalmente pulsamos con el botn secundario del ratn sobre los pines o cuadraditos rojos del smbolo, empezando por la pata 1 o Gnd, escribimos el nombre o etiqueta del terminal, debiendo corresponder el orden natural de cuenta de los pines con el nmero asignado en la netlist, para Gnd 1, Trig 2, Out 3, Rst 4, Ctrl 5, Thres 6, Disc 7 y Vcc 8; veamos una muestra con el primer paso de esta secuencia:

Figura 24 Debemos tambin alinear convenientemente las etiquetas de texto que denominan a los pines del dispositivo, para ello jueguen un poco por prueba y error con las cuatro opciones de Pin Label Justification. El nombre que se ve en el medio es la etiqueta del dispositivo y solo se usa para ser mostrado en los esquemticos donde se use el smbolo y si pinchamos sobre el con el botn secundario del ratn, nos debe salir el cuadro que identifica al texto del smbolo y una sencilla forma de alinearlo o justificarlo:

Figura 25 Finalmente existe otro editor dentro del editor de smbolos, ste se abre con la secuencia de teclas Ctrl y W, y sirve para consignar que valores o parmetros de instancia del smbolo, deben ser desplegados cuando se lo use dentro de un esquemtico, si les gusta como est dejenlo as y si no prueben a conocerlo, que no es peligroso...! Guardamos el smbolo con el nombre 555_All.sym, en el subdirectorio del directorio de instalacin de Ltspice sym, a la librera la guardamos en el subdirectorio sub y ya podemos probar y usar los modelos, como si hubieran venido " de fbrica" ! Ahora vamos a detallar los resultados en la simulacin de los diversos subcircuitos del 555, en un par de aplicaciones, la prueba se hizo en una PC Athlon XP de 1500 Mhz, con Linux, es decir que corro Ltspice bajo Wine en Linux; el primer ejemplo es un conocido nuestro, solo que ahora cuenta con el smbolo universal de 555 que acabamos de realizar, si pulsamos con el botn secundario del ratn sobre el smbolo del circuito integrado 555_ALL, se abre la:ventana del editor de atributos de componentes, con la subcategora Spice Model ya seleccionada, adonde podemos elegir el modelo de nuestra preferencia como se ve aqu:

Figura 26 Como vemos es muy sencillo intercambiar de modelos y evaluarlos con Ltspice, ahora vamos a consignar los resultados de los diversos modelos que estudiamos, desarrollamos y de algunos otros mas... En la librera se han agrupado convenientemente algunas combinaciones subcircuitales, para poder simular tambin al menos conocido 556, que en su interior reune a dos 555. Har un comentario acerca de cada uno de los subcircuitos de la librera Timers.lib . El puesto en primer lugar es uno llamado 555sw , el nombre indica que es una implementacin basada en llaves controladas por tensin y es la ltima versin de nuestro primer desarrollo en tal sentido, es decir respetando la descripcin del diagrama de bloques funcionales de las hojas de datos, pero agrupados todos en un esquemtico plano o sin jerarquas, lo cual implica que en la netlist no habr subcircuitos internos, como los que se generan a partir de esquemticos jerrquicos, el resultado esquemtico volcado a la netlist produce algunas lneas menos de cdigo en la netlist que el del primer intento, este es el circuito esquemtico plano del 555sw:

Figura 27 La principal mejora que se observa es la correccin de la ligera disimilitud de las fuentes de +1 v y -1 v, que en los primeros modelos diferan, ya que una era de 1.1 v y la otra de 1.2 v; las capacitancias a las salidas de las puertas se han aumentado por cinco, excepto en la puerta inversora donde solo se ha duplicado, la resistencia Roff del modelo de llave para la salida se aument a 1 G,otro detalle es que se han hecho ligeramente diferentes a las resistencias pulldown de las puertas que forman al flipflop, para evitar problemas de sesgo y carrera, que dificultan o impiden la simulacin, as se consigue un estado definido y rpido durante el arranque, el resto de las diferencias con el anterior modelo basado en llaves se debe solo a la forma de representacin esquemtica, que en este caso es plana o sin jerarquas, como ya dije... La netlist es esta:
.Subckt 555sw 1 2 3 4 5 6 7 8 r1 ref33 1 5k r2 5 ref33 5k r3 8 5 5k Sdis 1 7 Disdrv 1 Std SH 8 3 drv 1 Sout SL 3 1 1 drv Sout r4 1 8 4k Vp V+ 1 1 Vn 1 V- 1 Sca V+ S 6 5 Scp R6_1 6 1 1g

Scb V+ R ref33 2 Scp R2_1 2 1 1g Srst halt 1 4 1 Std Rnot halt V+ 10k Snora V+ A V+ Q Std Snorb A drv V+ halt Std Snorc V+ B V+ S Std Snord B _Q V+ Q Std Snore V+ C V+ _Q Std Snorf C Q V+ R Std Sora Disdrv V+ halt 1 Std Sorb V+ Disdrv Q 1 Std Ror Disdrv V- 10k Rnor1 drv V- 10k Rnor2 _Q 1 10k Rnor3 Q 1 9k9 Cor Disdrv V- 5p Cnot halt 1 2p Cnor1 drv V- 5p Cnor2 _Q 1 5p Cnor3 Q 1 5p R4_1 4 1 1g Rcpa S 1 10k Rcpb R 1 10k .model Std Sw(Ron=10 Roff=1g Vt=.5 Vh=.4 ) .model Sout Sw(Ron=5 Roff=1e6 Vt=0 Vh=.8) .model Scp Sw(Ron=1 Roff=1g Vt=0 Vh=1m) .ends

Con respecto al devenir del modelo que incorporaba fuentes B, para modelar los comparadores del 555, tambin ha evolucionado por un camino similar al que acabamos de ver, el nombre del subcircuito es 555bc, por behavioral comparator, vemoslo para ver como ha quedado:

Figura 28 La principal diferencia respecto del circuito anterior, son los comparadores que han evolucionado al

punto de tener expresiones idnticas a los modelos posteriores, de hecho estos comparadores son la base de los modelos de mas alta abstraccin que ya vimos. El netlist de este subcircuito del 555 es:
.Subckt 555bc 1 2 3 4 5 6 7 8 r1 ref33 1 5k r2 5 ref33 5k r3 8 5 5k Sdis 1 7 Disdrv 1 Std SH 8 3 drv 1 Sout SL 3 1 1 drv Sout r4 1 8 4k Vp V+ 1 1 Vn 1 V- 1 R2_1 2 1 1g Srst halt 1 4 1 Std Rnot halt V+ 10k Snora V+ A V+ Q Std Snorb A drv V+ halt Std Snorc V+ B V+ S Std Snord B _Q V+ Q Std Snore V+ C V+ _Q Std Snorf C Q V+ R Std Sora Disdrv V+ halt 1 Std Sorb V+ Disdrv Q 1 Std Ror Disdrv V- 10k Rnor1 drv V- 10k Rnor2 _Q 1 10k Rnor3 Q 1 9k9 Cor Disdrv V- 5p Cnot halt 1 2p Cnor1 drv V- 5p Cnor2 _Q 1 5p Cnor3 Q 1 5p R4_1 4 1 1g R6_1 6 1 1g Bcp1 S 1 V=u(V(6,5)) Bcp2 R 1 V=u (V(ref33,2)) .model Std Sw(Ron=10 Roff=1g Vt=.5 Vh=.4 ) .model Sout Sw(Ron=5 Roff=1e6 Vt=0 Vh=.8) .ends

Los subcircuitos restantes que integran la librera son 5b1sw555, que es el que vimos como ejemplo final de alta abstraccin, 4b3sw555 fue estudiado como primer ejemplo de alta abstraccin, NE555 es el nombre del subcircuito que estudiamos en el primer ejemplo y que es el modelo nativo exclusivo de Ltspice, viene con el programa y fu escrito nada mas y nada menos que por Mike Engelhardt, el autor de Ltspice., en funcin de ste elabor los antecesores de 555sw y 555bc, todos con primitivas comunes a cualquier simulador basado en Spice; en la lista le sigue el modelo llamado TLC555 y que tambin proviene de Linear Technolgy, esta vez de la mano de su autor, Helmut Sennewald quen se basa en el modelo de Engelhardt, para modelar un dispositivo mas cercano a la versin CMOS del 555, entre las mejoras aportadas para la simulacin de la versin CMOS, se cita el umbral de Reset, establecido en 1.1 v, la resistencia Ron de los switches controlados por tensin, las mismas se han llevado a cabo consultando las hojas de datos de Texas y National, el autor aclara que los valores se obtienen con una frmula de aproximacin, que parte del valor de Ron a 15 v, que es lo nico que consignan al respecto las datasheets la serie de tres resistores iguales en las entradas del 555, se han subido de 5 K, a 100 K , que es el valor correspondiente para la versin CMOS, R7 se ha cambiado a 16 K, para que refleje el consumo real del dispositivo, la fuente de corriente I1 y el diodo asociado al

pin de reset se han elimimado; este modelo necesita que se le provean dos parmetros: VDD y RONX; para seguir con el listado de subcircuitos en la biblioteca Timers.lib, le toca el turno ahora al llamado ICM7555 y es una transcripcin del diagrama esquemtico de la versin CMOS, dado en las hojas de datos; le sigue el nombrado LM555, otra transcripcin hecha por quien esto escribe, a nivel de semiconductor, pero esta vez de la versin bipolar de Thomson y que ya vimos en el segundo ejemplo de este estudio, finaliza la biblioteca con siete subcircitos del 556, basados en los modelos de mejor performance. Ahora reflejaremos la serie de simulaciones para comparar los modelos; observe que la fuente de alimentacin se ha modelado como una fuente que arranca en cero y sube en una corta rampa de 10 us hasta llegar a su valor nominal; esto se hace para evitar directivas de simulacin nicas de Ltspice como Startup y / o tambin directivas como UIC, que si bien son compatibles con Spice, solo se usarn si no queda otro remedio y en tal caso se informar al respecto, note que el nombre en la parte inferior del smbolo del circito integrado 555_ALL, se halla el nombre del modelo que lo est representando, comencemos pues con el mismo orden ya dado por la librera:

Se trata de un circuito de multivibrador publicado en EDN, ver referencia al circuito original en Ideas For Design A New Stable RC Pulse Generator Feb 8, 1999, p.104-106, con la cualidad de variacin independiente del ciclo de trabajo y la frecuencia, solo se vara en esta tabla la posicin del control de duty cycle; entre el 10% de su recorrido y hasta el 90 % del mismo en incrementos de 20% para cada paso de simulacin; debiendo corresponder idealmente a ciclos de trabajo del 10%, 30%, 50%, 70%, 90% y con leve variacin en la frecuencia; el tiempo de simulacin para cada paso es 4 ms; el nico cambio

hecho en la configuracin por defecto del simulador gratuito Ltspice es Trtol que se ha subido del valor 1 a 7; algunos subcircuitos necesitan de parmetros especiales para correr convenientemente, otros corren mejor con la asignacin de un mximo paso o ventana de tiempo al simulador; en todos los casos se detallan en la tabla tales situaciones. Los valores de tiempo total de simulacin de cada ejemplo son promedios de series de 10 muestras. Los ltimos 2 casos detallan la performance de los 2 mejores subcircuitos basados en descripciones a nivel de semiconductor; siendo sta muy inferior a la conseguida con los subcircuitos hechos en base al comportamiento del 555. En el siguiente esquema se muestra el circuito empleado para obtener la comparativa de datos de la tabla; el mismo se muestra en las condiciones para simular la serie de datos B del tipo 5b1sw555, pulsando en el smbolo del 555 y cambiando el subcircuito a 4b3sw555, se obtiene la configuracin para simular la serie B de este tipo; en todos los otros casos el parmetro {tmp/8k}, debe borrarse de la directiva de simulacin; los parmetros Ronx=.1 y VDD=12 son imprescindibles solo para simular el subcircuito TLC555 y VDD se usa adems en las sentencias de medida MEASURE, que proveen la informacin tabulada. El ordenador anfitrin de esta compulsa es una M7VIGPRO-D; con una memoria de 512 Mhz y un microprocesador Athlon XP 1500 Mhz; corriendo como sistema operativo a Slitaz Linux 2, con Kernel 2.6.30.4 compilado a su medida; en el mismo se corre el software de simulacin Ltspice IV 4.02x gracias al excelente y transparente oficio de Wine 1.0.1. Para obtener los resultados promediados de los tiempos de simulacin de cada caso se ha usado Galculator 1.3.4, que viene con Slitaz por defecto

Criterios de seleccin:
Contar con ms de un subcircuito para un dispositivo y poderlo cambiar con un clic del ratn es siempre una ventaja.

La eleccin de un determinado subcircuito siempre vendr de la mano de las necesidades del proyecto a desarrollar; los tems a tener en cuenta son: exactitud, velocidad, estabilidad, portabilidad hacia otros simuladores y su carcter de pblico y abierto versus privado y cerrado. Como vemos de los subcircuitos basados en el esquema circuital, el del LM555, tiene mas del doble de velocidad para correr que el del IC7555, sin embargo ambos son muy lentos, comparados con los subcircuitos modelados en base al comportamiento, Analizando un poco los resultados y tomando como referencia al subcircuito NE555, proporcionado por Linear para su simulador Ltspice, vemos que los mas rpidos son 5b1sw55 y 4b3sw555, sin embargo pagan el costo de una prdida de precisin en la frecuencia generada y en sus formas de onda; para solucionar este detalle, podemos declarar en la simulacin, que el mximo paso de tiempo permitido ha de ser un valor hasta 10000 veces menor que el intervalo de tiempo en que se simular el circuito; formas de ondas que cuadran con las reales del dispositivo se obtienen con valores al menos 2000 veces menores que el tiempo de simulacin.

Manos a la Opus !
En este apartado probaremos los subcircuitos ya desarrollados del 555 en Spice Opus, otro simulador basado en Spice y precisaremos los pasos necesarios para llegar a buen puerto con este programa. Lo primero que debemos hacer es modificar ligeramente nuestro circuito, para poder correrlo en Spice Opus; para ello en el editor esquemtico de Ltspice abrimos el circuito y agregamos una resistencia de 1g en paralelo con Ct, esto debe hacerse ya que de lo contrario Spice Opus no simular el circuito aduciendo que el nodo vivo de Ct est flotando...Otra modificacin consiste en quitar el potencimetro de frecuencia, ya que no se usa en nuestra simulacin; los "measure" se han quitado tambin y el diagrama debe quedar entonces asi:

Como vemos hemos puesto una fuente de cc de 12 voltios y agregado la opcin de simulacin "startup" que luego ser cambiada por su equivalente en Opus y hemos tambin puesto un tiempo fijo no paramtrico a la simulacin. Ahora vamos a extraer el subcircuito en formato de netlist para Spice y de tal manera podremos luego probarlo y ver como se comporta en Opus, para ello vamos a pinchar en el men View, y luego elegimos el submen SPICE Netlist que nos desplegar esta informacin:

C1 N003 0 10n V=50v C2 N006 0 10n V=50 Irms=22m Rser=3.9 MTBF=2000 Lser=0 ppPkg=1 D1 N005 N003 1N914 D2 N003 N002 1N914 Vcc N001 0 12 AC 0 0 Rser=1 Cpar=100u R4 N001 N004 100k XDuty N002 N005 Out Pot rt=10k set={Cursor} XU1 0 N003 Out N001 N006 N003 N004 N001 LM555 .step param Cursor .1 .9 .2 .lib standard.dio .lib pote.lib .lib timers.lib .tran 0 4m 0 .backanno .end

Vamos ahora a quitar algunos aspectos que solo son relevantes para Ltspice y agregaremos el resistor RD de 1 gigaohmio en paralelo con Ct; el netlist quedar asi:
* Ct N3 0 10n RD N3 0 1g D1 N5 N3 1N914 D2 N3 N2 1N914 Vcc N1 0 12 R4 N1 N4 100k Xd N2 N5 Out pote .param rtot=10k .param cursor=0.5 Cbp N7 0 10n *X1 0 N4 Out N1 N6 N3 N4 N1 5b1sw555 *X1 0 N4 Out N1 N6 N3 N4 N1 4b3sw555 X1 0 N4 Out N1 N6 N3 N4 N1 555sw *X1 0 N4 Out N1 N6 N3 N4 N1 555bc *X1 0 N4 Out N1 N6 N3 N4 N1 LM555 .model 1N914 D(Is=2.52n Rs=0.568 N=1.752 Cjo=4p M=.4 Tt=20n)

Observe que se ha dado directamente la definicin del modelo del diodo 1n914 en la ltima lnea de la netlist; se han quitado la resistencia en serie con la fuente de 1 ohmio y el capacitor en paralelo, aunque si quisiramos los podramos poner en solo dos lneas de netlist, se agreg RD en la segunda lnea del netlist en paralelo con Ct, como puede verse ambos se conectan al N3 y la masa o nodo 0. Otra modificacin es el agregado de los parmetros del potencimetro y los diversos nombres de los subcircuitos desarrollados, precedidos del signo *, para que Opus los tome como simples comentarios, solo uno ( el que vamos a usar en la prueba) no est comentado, en este caso es el 555sw; lo que hay que hacer ahora es guardar esta netlist como un archivo de extensin cir, por ejemplo: 555_Pwm_Edn.cir Bien, hecho todo esto, debemos ahora crear otro archivo de texto en cual residan las rdenes referentes a la simulacin ya que de esa forma se opera en Opus:
Prueba Circ PWM EDN .OPTIONS RELTOL=0.0025 ABSTOL=1n VNTOL=1e-005 TRTOL=7 ramptime=20us .control tran 200n 4m *tran Tstep Tstop [Tstart [Tmax]]; Tstep<=200n es muy preciso plot v(out) V(N3) xlabel X=Tiempo ylabel y=Tension title Linealizado rusage totiter accept rejected trantime

.endc .INCLUDE Pote.sub .INCLUDE timers.lib .INCLUDE 555_Pwm_Edn.cir .END

Y, lo guardamos con el mismo nombre que el anterior, pero precedido por el signo: _ En este caso _555_Pwm_Edn.cir Observe que la primera lnea son opciones propias y por defecto del simulador, de las que solo cambiamos TRTOL de 1 a 7 y agregamos ramptime=20us que produce el mismo efecto que la directiva de simulacin startup, propia de Ltspice. Dentro de .control agregamos el tipo de anlisis (tran), el mximo paso de tiempo de simulacin permitido (200ns) y el tiempo total de simulacin (4ms) Luego le indicamos dentro de la sentencia plot, que es lo que queremos graficar, en este caso la tensin en Ct y la tensin de salida V(N3) y V(out), le decimos que etiquete al eje de las abcisas con la palabra Tiempo y al eje de las ordenadas que lo etiquete con la palabra Tension; en la ltima parte de este archivo incluimos las libreras necesarias para la simulacin del circuito (Pote.sub y Timers.lib) e incluimos tambin a la netlist del circuito a simular (555_Pwm_Edn.cir), terminamos todo con la palabra clave .END, que le indica a opus el final de nuestra requisitoria. Abrimos ahora Opus y escribimos en su lnea de comandos: source /camino/completo a/_555_Pwm_Edn.cir Y lo que se obtiene es esto:

Si queremos ver con mas detalle el arranque del circuito, todo lo que haremos ser editar el archivo donde se encuentran las directivas de simulacin y control y bajamos el tiempo de 4 ms a 1ms, obteniendo lo siguiente en el visor grfico de Opus:

Como vemos el ciclo de carga y descarga del capacitor Ct, se cumple entre el tercio y los dos tercios de la tensin de alimentacin, como debe suceder en un 555 real, si contamos los ciclos desplegados en 1 ms de simulacin, tendremos idea de la frecuencia, alrededor de 13 Khz, muy concordante con los datos obtenidos con el otro simulador. Ahora podemos editar el otro archivo de texto con la netlist y comentar la lnea que alega al 555_sw y descomentar, quitando el signo * alguna otra lnea que refiera a otro modelo de 555, por ejemplo probemos con el subcircuito modelado a partir de una descripcin a nivel de semiconductor como el LM555 y obtendremos esto:

Observe como ha subido el tiempo necesario para simular el circuito con este modelo, respecto del anterior, que era aprox 0.077 segundos ahora ha tardado algo mas de un segundo esto es mas de un orden de magnitud mas lento...! Bueno, con esto concluye la comprobacin de los subcircuitos del 555 obtenidos en Ltspice, para cualquier simulador Spice compatible, debo acotar que he comprobado la correcta funcionalidad de stos en varios otros programas como B2spice, Pspice, Topspice y Microcap...entre otros y funcionan fluidamente en todos. Adjuntos: Los archivos 555_Pwm_Edn_Opus.cir , _555_Pwm_Edn_Opus.cir , pote.sub y la librera timers.lib, que se encuentran dentro del comprimido 7z son necesarios para la simulacin en Spice Opus, en tanto que para Ltspice es necesario que pongan pote.sub y timers.lib dentro del subdirectorio sub, perteneciente a la carpeta de instalacin de Ltspice, adems debern poner el archivo 555_all.sym dentro del subdirectorio sym; cumplido esto ya pueden darle el click a EdnNew555&2DioPwm1.asc para simularlo, recuerden que deben colocar el puntero del ratn sobre el smbolo del 555 y luego presionar el botn secundario, para as poder elegir y cambiar el modelo correspondiente a ensayar. Agradecer comentarios y sugerencias para mejorar esta gua, dirigidas a mi casilla de correo electrnico: precisionorte@gmail.com