martes, 28 de junio de 2011

Uso del Postprocesador en Multisim

Los Análisis de SPICE incluidos en Multisim nos ayudan a calcular valores y crear gráficas del comportamiento de un circuito, por ejemplo, un Análisis Transitorio crea una gráfica de valores con respecto al tiempo, un Análisis de CA calcula la respuesta de un circuito a varias frecuencias, etc.

Sin embargo hay ocasiones en que necesitamos manipular el resultado de un análisis, por ejemplo, dividir la curva de salida entre la curva de entrada para obtener la ganancia, multiplicar voltaje por corriente para calcular potencia, sumar curvas de respuesta, y más. La necesidad de realizar un procesamiento matemático de los valores obtenidos de un análisis de Multisim es grande y es por eso que Multisim cuenta con la herramienta Postprocesador.

La herramienta Postprocesador (que se encuentra en el menú Simular en Multisim) guarda una lista de las curvas o valores calculados en los análisis, y nos permite agregar expresiones matemáticas (aritmética, trigonometría, vectores, lógica, etc) para hacer cálculos más complejos. Los resultados de estos cálculos se visualizan en el mismo lugar que se despliegan los análisis de Multisim: la Vista de Graficador.

Aprendamos paso a paso cómo hacer uso del Postprocesador en Multisim. Como base utilizaremos uno de los circuitos ejemplo, InvertingAmplifierACInputSignal.ms11, se puede encontrar en Archivo»Abrir Ejemplos»Fundamental Circuits»Opamps.

Paso 1. Ejecutar un análisis.

Este es un requisito primordial, si no realizamos un análisis a un circuito, no tendremos valores para manipular. Ejecutemos un Análisis Transitorio en el nodo V(2). Para aprender a configurar un Análisis Transitorio en Multisim da clic aquí. En la siguiente figura vemos el resultado del Análisis Transitorio en la Vista de Graficador:

Photobucket

De la figura anterior podemos ver que la señal de salida va de -2V a 2V.

Paso 2. Configurar expresión matemática en el Postprocesador.

Seleccionamos Simular»Postprocesador para abrir esta herramienta. Existen dos pestañas en esta ventana: Expresión y Gráfica. En la pestaña Expresión encontramos el resultado del Análisis Transitorio, esto es, las variables de salida time y V(2):

Photobucket

La ventana Postprocesador también contiene un campo llamado Funciones donde encontramos todo tipo de operaciones matemáticas:

Photobucket

En este ejemplo simplemente vamos a multiplicar la variable de salida, V(2), por un factor de 2 para que podamos observar el resultado de manera sencilla, en otras palabras, necesitamos crear la expresión: V(2)*2.

En el campo Variables seleccionamos V(2) y damos clic en el botón Copiar variable a expresión, eso agregará dicha variable al campo Expresiones. Después vamos al campo Funciones, seleccionamos la operación de multiplicación (*) y damos clic en el botón Copiar función a expresión. Finalmente damos clic en la expresión para editarla y agregamos el factor 2. La expresión final se debe de ver así:

Photobucket

Nota que el botón Calcular está deshabilitado, esto debido a que aún nos hace falta realizar un paso mas.

Paso 3. Crear página y diagrama de salida.

Ahora seleccionamos la pestaña Gráfica en la ventana Postprocesador. Aquí tenemos que decirle a la Vista de Graficador (el lugar donde se desplegará el resultado) que queremos agregar una nueva página y gráfica, y después enlazar nuestra expresión matemática.

En el campo Páginas damos clic en el botón Agregar para crear una nueva página, ingresamos un nombre (por ejemplo, Postprocesamiento). Ahora vamos al campo Diagramas y repetimos la operación, en este caso nombramos al diagrama Multiplicación por 2:

Photobucket

En el campo Expresiones disponibles encontramos la expresión previamente creada, la seleccionamos y damos clic en el botón que tiene la flecha (>) para agregarla al campo Expresiones seleccionadas:

Photobucket

Paso 4. Calcular el resultado.

Una vez que está todo configurado simplemente damos clic en el botón Calcular para ejecutar la expresión matemática. La Vista de Graficador se abre, crea la página Procesamiento y la gráfica Multiplicación por 2, tal como se muestra:

Photobucket

Si comparamos el resultado inicial del Análisis Transitorio con el resultado del postprocesamiento, podemos verificar que efectivamente nuestra expresión matemática está arrojando V(2)*2:

Photobucket

Los usos de la herramienta Postprocesador en Multisim pueden ser muchos, todo depende del tipo de cálculo que necesitamos realizar. Como siempre espero que este tutorial sea de ayuda en sus prácticas y diseños de circuitos.

Hasta la próxima.

Fernando

jueves, 9 de junio de 2011

Tutorial Introductorio de LabVIEW – Parte 2

Tutorial Introductorio de LabVIEW – Parte 1

Continuando con este tutorial introductorio a LabVIEW recordemos que la semana pasada aprendimos las bases de este lenguaje de programación gráfica, la interfaz de usuario, y los elementos que conforman un VI (Instrumento Virtual). Si no has leído la primera parte da clic aquí para revisarla.

En esta segunda parte vamos a construir una pequeña aplicación, algo muy básico, para aprender el funcionamiento de LabVIEW. Asi que simplemente vamos a hacer la suma de dos números; las variables que tendremos serán:

  • Entradas: A y B
  • Salida: C
  • Operación a realizar: A+B=C
Para esto vamos vamos construir una pequeña interfaz de usuario donde tendremos dos controles númericos (para las entradas A y B) y un indicador numérico para la salida C.

Creamos un nuevo VI en LabVIEW, damos clic derecho en el Panel Frontal para abrir la Paleta de Controles. Del grupo Express seleccionamos Numeric Controls y colocamos dos controles numéricos:

labview,multisim,tutorial labview

labview,multisim,tutorial labview

Damos doble clic sobre la etiqueta Numeric y la cambiamos a A. Luego damos clic en el área de trabajo para aceptar el cambio. Repetimos esto y renombramos Numeric 2 a B, tal como se indica:

labview,multisim,tutorial labview


Ya tenemos las dos variables de entrada, ahora coloquemos un indicador numérico donde se visualizará el resultado. Nuevamente clic derecho en el espacio de trabajo para abrir la Paleta de Controles, en grupo Express»Numeric Indicators seleccionamos y colocamos un indicador numérico:

labview,multisim,tutorial labview

Y renombramos este indicador a C. Listo, ya tenemos la interfaz de usuario:

labview,multisim,tutorial labview

De la figura anterior vemos la diferencia entre los controles A y B y el indicador C. Los controles tienen unos pequeños triángulos con los cuales podemos interactuar para aumentar o disminuir el valor.

Ahora viene la parte de la programación, así que vamos al Diagrama de Bloques:

labview,multisim,tutorial labview

Como ya sabemos, cada control e indicador del Panel Frontal tiene un bloque correspondiente en el Diagrama de Bloques. También podemos ver que estos controles son de color naranja, esto indica que el tipo de dato es doble (de hecho el bloque tiene las letras DBL).

Para programar la suma, ¿qué necesitamos? Por supuesto, la función de suma. Clic derecho en el área del Diagrama de Bloques para abrir la Paleta de Funciones, navegamos a Programming»Numeric y tomamos la función de suma (Add):

labview,multisim,tutorial labview

Ahora bien, si colocamos el puntero del mouse a la función suma (o a cualquier otro bloque) notaremos que aparecen entras y/o salidas:

labview,multisim,tutorial labview

Y si acercamos el puntero del mouse a una entrada o salida su forma cambia, es como un pequeño carrete de alambre, esta es la herramienta de alambrado y con ella vamos a conectar entras y salidas de modo que el diagrama tenga un flujo de datos:

labview,multisim,tutorial labview

¡Listo! Esa es toda la programación. Es por eso que LabVIEW es un ambiente de programación gráfica fácil de usar.

Guardamos nuestro VI (menú File»Save). Para ejecutar el programa vamos al Panel Frontal, ingresamos números a los controles A y B, en la barra de herramientas, abajo del menú Edit hay un flecha de ejecución, damos clic en ella para correr el programa una vez:

labview,multisim,tutorial labview

Asi es como funciona el VI:

En el Diagrama de Bloques los controles A y B alimentan las entradas de la función de suma, y esta a su vez hace el cálculo y regresa un valor en su terminal de salida, y dicho valor se manda al indicador C.

Este es un VI muy sencillo, pero imagínense tener que hacer esto en un lenguaje de texto como C, ¿cuánto tiempo ser llevarían en realizarlo? ¿Cuántas líneas de código habría que capturar?

Saludos,

Fernando

jueves, 2 de junio de 2011

Tutorial Introductorio de LabVIEW – Parte 1

Basado en comentarios y sugerencias que he recibido por parte de ustedes, en esta ocasión decidí escribir una tutorial introductorio de LabVIEW, un software de National Instruments. Voy a dividir el tutorial en varias partes para poder ir explicando las distintas características con cierto nivel de detalle.

LabVIEW es una herramienta bastante poderosa para ingenieros y científicos y además se puede integrar con Multisim para diseño y validación de circuitos.

LabVIEW es un ambiente de programación, tal como C, Visual Basic, etc. La gran diferencia radica en que LabVIEW es totalmente gráfico, ¿qué quiere decir esto? Que no necesitamos aprender la síntaxis de un lenguaje de texto, simplemente tenermos que interconectar bloques que van formando la lógica de la programación. Además, LabVIEW cuenta con muchas librerías para adquisición, procesamiento y análisis de datos.

Se puede descargar una versión de evaluación de LabVIEW en ni.com/trylabview. Por cierto, por el momento la interfaz de LabVIEW solo está disponible en el idioma inglés.

Los programas en LabVIEW son llamados VIs (Instrumentos Virtuales), y constan de dos partes: un Panel Frontal (donde armamos la interfaz de usuario) y un Diagrama de Bloques (donde diseñamos la programación). Una vez que tengamos LabVIEW instalado lo abrimos y en la pantalla inicial seleccionamos el menú File»New VI. LabVIEW creará dos pantallas, la del lado izquierdo es al Panel Frontal, y la del lado derecho el Diagrama de Bloques:

Photobucket

Al dar clic derecho sobre el Panel Frontal se abre la Paleta de Controles. En esta paleta podemos encontrar botones, perillas, indicadores, etc.

Photobucket

Es importante hacer notar que un control es una entrada de datos, y un indicador es una salida. Aqui vemos unos ejemplos:

Photobucket

En la parte superior tenemos un control numérico y uno booleano (botón), mientras que en la inferior vemos un indicador numérico y uno booleano (un LED). Vemos también que cada control e indicador tiene una etiqueta única, dando doble clic sobre la etiqueta la podemos modificar.

Date un tiempo para explorar la Paleta de Controles de LabVIEW, encontrarás una amplia variedad de controles e indicadores, con ellos puedes armar interfaces de usuarios muy amigables y personalizadas, aqui hay más ejemplos:

Photobucket

¿Y cómo programamos la aplicación? Regresando a nuestro ejemplo original con los 2 controles y los 2 indicadores vayamos a la ventana Diagrama de Bloques, ahí podemos ver que automáticamente LabVIEW colocó 4 bloques, cada uno corresponde a los objetos que previamente colocamos en el Panel Frontal:

Photobucket
En resumen, cada control e indicador colocado en el Panel Frontal tiene un bloque correspondiente en el Diagrama de Bloques. Y precisamente estos bloques son los que utilizamos para realizar la programación.

Photobucket

Ahora demos clic derecho en el Diagrama de Bloques, esto abre la Paleta de Funciones:

Photobucket

En la Paleta de Funciones encontramos todas las librerías necesarias para realizar la programación de la aplicación. Por ejemplo, en la categoría Programming tenemos funciones numéricas, de comparación, arreglos, etc.

Ejemplos:

Photobucket


Como es de esperarse, las funciones tienen uno o más entradas y salidas.

Además de las funciones básicas de programación, LabVIEW cuenta con librerías de funciones para usos más avanzados, algunos ejemplos son:

  • Matemáticas: Ajuste de curvas, geometría, interpolación, álgebra lineal , y más.
  • Procesamiento de Señales: Filtros, FFTs, análisis espectral, y más.
  • Adquisición de Datos: Librerías para adquirir datos de instrumentos (vía GPIB), y dispositivos de National Instruments (PCI, USB, PXI).
  • Comunicación de Datos: Serial, TCP/IP, UDP, etc.

La lista es bastante larga, pero puedo decirles que hay funciones para todo tipo de aplicaciones.

Esto da por finalizado la parte 1 de este tutorial introductorio de LabVIEW, como siempre preguntas y comentarios son bienvenidos. Mantente sintonizado de la siguiente parte donde armaremos un programa sencillo en LabVIEW.

Saludos!

Fernando

martes, 19 de abril de 2011

Utilizando Buses de Datos en Multisim

Hola a todos, ya tengo algunas semanas sin escribir al blog pero siempre estoy al pendiente de sus preguntas y comentarios. El día de hoy les mostraré cómo utilizar buses en Multisim.

Cuando tenemos componentes de muchas terminales y que contienen líneas de datos, por ejemplo, una memoria, un microprocesador, etc, podemos hacer uso de los buses en Multisim para darle una mejor presentación a nuestro circuito. Asi evitamos llenar de alambres el esquemático y le damos una mejor presentación y organización.

Manos a la obra, aprendamos a crear buses de datos en Multisim.

Dados los siguientes componentes, supongamos que necesitamos conectar las terminales RB1-RB7 de U1 a las terminales A0-A6 del componente U2:

multisim,bus,tutorial multisim
Podríamos simplemente ir creando conexiones directas entre ambos componentes, lo cual generaría muchos alambres, para simplificar esto utilicemos un bus de datos. En Multisim seleccionamos Colocar>>Bus y dibujamos una línea, la cual representará al bus, tal como se muestra en la figura siguiente:

multisim,bus,tutorial multisim
Ahora bien, primero vamos a realizar la conexión entre el component U1 y el Bus1, lo podríamos hacer de manera manual, pero es mejor utilizar un modo automático. Para esto damos clic derecho en U1 y seleccionamos Conexión de Bus, esto abre la ventana de configuración de bus:

multisim,bus,tutorial multisim
En la sección Componente seleccionamos las terminales de la Derecha de U1, después seleccionamos la terminales RB1 a RB7 y las pasamos al cuadro inferior:

multisim,bus,tutorial multisim
Ahora vamos a la sección Bus y seleccionamos Bus1. Veremos que Multisim despliega de manera automática una sola línea de bus (Ln1), sin embargo nosotros necesitamos 7 en total. Para agregar más lineas damos clic en el botón Agregar líneas de bus y configuramos como se indica en la siguiente figura:

multisim,bus,tutorial multisim
Una vez que hayamos creado las línea de bus Ln1 a Ln7 las pasamos al cuadro inferior, la ventana Conexión de Bus deberá de verse como se indica:

multisim,bus,tutorial multisim
Finalmente damos clic en Aceptar, Multisim conectará las terminales RB1-RB7 del componente U1 al Bus1 de manera automática:

multisim,bus,tutorial multisim
Para conectar U2 al Bus1 seguimos un procedimiento similar, solo que en esta ocasión damos clic derecho en U2 y seleccionamos Conexión de Bus. Para tu referencia aquí está la configuración:

multisim,bus,tutorial multisim

También es posible conectar buses de manera virtual (o inalámbrica). En la siguiente figura los componentes U1 y U2 está conectados por un mismo bus: Bus1.

multisim,bus,tutorial multisim
El uso de los buses es perfecto cuando tenemos componentes que transportan varias líneas de datos, de esta forma podemos construir un esquemático más organizado.

Hasta la próxima!

Fernando

martes, 22 de marzo de 2011

Creando Subcircuitos en Multisim

En el artículo anterior analizamos cómo el diseño multi-página nos puede ayudar a tener una mejor organización de nuestro circuito. Siguiendo con la filosofía de “divide y vencerás” continuaremos estudiando los bloques de diseño en Multisim, y en esta ocasión aprenderemos a utilizar subcircuitos en nuestros diseños.

Un subcircuito en Multisim es un circuito que reducimos a un solo bloque para tener una mejor organización de nuestro esquemático. Haciando una analogía con programación, un subcircuito sería equivalente a una subrutina. Veamos un ejemplo al respecto.

El siguiente es un extracto de un circuito contador:

multisim

Como se puede apreciar, tenemos un generardor de reloj basado en el 555 (encerrado en el recuadro) que se conecta a la terminal 14 (CLK) del 74190N, aquí se ve más a detalle el generador de señal de reloj:

multisim


Para simplificar nuestro diseño en Multisim, vamos a convertir el generador de señal de reloj en subcircuito, de esta manera quedará representado como un solo bloque en el esquemático. Para realizar esto primero seleccionamos todos los componentes que integran el generador de señal de reloj:

multisim


Ahora seleccionamos el menú Colocar>>Reemplazar por Subcircuito. Ingresamos un nombre para el subcircuito:

multisim


Damos clic en Aceptar y colocamos el subcircuito en el área de trabajo:

multisim


Listo, hemos reducido el generador de señal de reloj a un solo bloque: un subcircuito. En la ventana Herramientas de Diseño podemos ver la jerarquía de nuestro diseño. Tenemos el circuito principal (Contador) y el subcircuito Reloj. Nota que éste último tiene un ícono con una S, esto indica que es un subcircuito.

multisim


Si es necesario visualizar y/o modificar el subcircuito, basta con seleccionarlo en la ventana Herramientas de Diseño en Multisim para abrirlo:

multisim


Los subcircuitos en Multisim se guardan junto con el archivo principal, por lo que si se mueve el archivo principal a otro ubicación, automáticamente se mueve el subcircuito. La desventaja de esto es que el tamaño del archivo puede llegar a ser grande, claro, dependiendo de la complejidad del diseño. Otro aspecto a tomar en cuenta es que un subcircuito no se puede reutilizar en otros diseños de Multisim. Para esto existen los bloques jerárquicos, de ellos hablaremos en una siguiente entrada.

Como siempre bienvenidos los comentarios y preguntas.

Saludos!
Fernando

lunes, 21 de febrero de 2011

Creando un Diseño Multi-página en Multisim

A medida que la complejidad y tamaño de un diseño electrónico crece se hace más necesario tener una mejor organización del mismo. Debemos siempre tener en cuenta que nuestro esquemático debe ser claro, fácil de modificar, y fácil de leer por otras personas. Para ayudarnos con este reto Multisim ofrece Bloques de Diseño, éstos, siguen la filosofía de “divide y vencerás.” La idea principal es dividir un esquemático grande en diagramas pequeños fáciles de manejar y actualizar. Existe tres opciones de bloques de diseño en Multisim: subcircuitos, bloques jerárquicos, y diseño mult-ipágina. De este último hablaremos el día de hoy.

Como mencioné anteriormente, la idea del diseño multi-página es dividir un diseño grande y confuso, en páginas individuales interconectadas entre sí. Como se ilustra en las figuras siguientes, en lugar de tener una sola hoja de gran tamaño, podemos tener nuestro diseño en hojas individuales:

multisim


multisim


Para conectar nuestro circuito de una página a otra utilizamos los Conectores Fuera de Página, que en Multisim se encuentran en el menú Colocar>>Conectores:

multisim
Veamos cómo realizar un diseño multi-página con un diseño sencillo. Tomaremos como referencia el siguiente circuito:

multisim
Vamos a dividir el circuito anterior en dos secciones, A y B. La división se hará en los nodos 3 y 0:

multisim
Ahora vamos a agregar una página más a nuestro diseño, y en dicha página colocaremos la sección B. Para esto seleccionamos Colocar>>Multi-página. Multisim nos preguntará el nombre de esta página, este caso la nombraremos 2. Multisim creará una nueva página con la misma jerarquía que la primera. Esto lo podemos corroborar en la ventana Herramientas de Diseño:

multisim

Podemos cambiar de hoja con tan solo dar clic sobre ellas.

Como paso siguiente vamos a la página 1, seleccionamos y cortamos la sección B del circuito y la pegamos en la página 2; de tal forma que ahora tenemos la Sección A del circuito en la página Filtro#1 y la Sección B en Filtro#2. Para conectar ambas páginas (y por supuesto ambos nodos) vamos a utilizar los conectores fuera de página. Seleccionamos Colocar>>Conectores>>Conector Fuera de Página. Colocamos dos de estos conectores en el área de trabajo:

multisim

Abrimos las propiedades del primer conector (FueraPágina 1) y lo renombramos a 3 (el nodo de interés). Hacemos lo mismo con el conector FueraPágina 2, solo que en este caso lo renombramos a 0. Después conectamos los conectores a los repectivos nodos:

multisim
Ahora vamos a la hoja Filtro#2 y repetimos la misma operación. Multisim nos alertará de que conectores con los mismos nodos (0 y 3) ya existen, vamos a aceptar este cambio para realizar la conexión ‘virtual’ entre las dos páginas del circuito:

multisim
¡Listo! Tenemos ahora un diseño multi-página. Los conectores fuera de página realizar conexiones virtuales (o inalámbricas) entre las distintas hojas. Podemos simular el circuito y transferirlo a Ultiboard sin ningún problema pues Multisim ve nuestro diseño como uno solo.

Algunas notas antes de finalizar:

  1. El diseño multi-página es recomendado cuando tenemos circuitos que tienden a ser planos/horizontales.
  2. Todas las hojas del circuito en un diseño multi-página se guardan en un solo archivo.
  3. El tamaño del archivo guardado tiende a ser grande dado que contiene varias páginas.
  4. No es posible reutilizar páginas de un diseño multi-página en otros circuitos.

Como siempre preguntas y comentarios son bienvenidos.

Hasta pronto,

Fernando