Sei sulla pagina 1di 19

Los Instrumentos Virtuales

El icono Virtual Instruments de la barra de herramientas despliega en el Object Selector la lista disponible, de la cual en este momento solo veremos un par de ellas. No tendra sentido que explicsemos los depuradores SPI DEBUGGER e I2C DEBUGGER porque, imagino, an no tenemos idea de lo que significan. Por otro lado, supongo que tampoco te hace falta leer un tutorial para aprender a usar los voltmetros y los ampermetros. Sobre los dems instrumentos, o son muy poco usados o son igual de sencillos.

Los instrumentos virtuales.

Uso del COUNTER TIMER

Aunque la barra de estado de ISIS va mostrando el tiempo de simulacin transcurrido, no es la mejor forma de medir los tiempos de ejecucin de los cdigos. El Timer Counter se puede configurar comocronmetro (Time), frecuencmetro (Frequency) o contador de pulsos (Count) en su ventana de propiedades, pero tambin se puede hacer al vuelo en plena simulacin. De sus tres terminales normalmente el nico que se conecta es el CLK. CE puesto a 0 detiene su operacin y RST reinicia el instrumento.

Counter Timer y su ventana de propiedades. Cuando la simulacin/depuracin est en ejecucin dale clic izquierdo para que aparezca con ventanita ms grande, como la siguiente.

Counter Timer maximizado. Observa los cuatro botones, que tambin presentes en su ventana de propiedades: MODE establece la operacin del Counter Timer como cronmetro (Time), frecuencmetro o contador de pulsos (Count). MANUAL RESET. Es ms cmodo hacer el RESET aqu que desde el pin RST. RESET POLARITY indica si el RESET ser en el flanco de subida o de bajada del botn anterior. GATE POLARITY establece si en modo contador el incremento ser con los pulsos positivos o negativos. Como prctica, veamos el tiempo exacto que toma una funcin delay_ms(), por ejemplo de nuestro programa del LED parpadeante flashled. Luego de colocar un Counter Timer sobre el esquemtico es conveniente regresar a la categoraComponent (son cosas de Proteus). Iniciamos la simulacin/depuracin y clicamos el Counter Timer para agrandarlo y verlo mejor. Nos ubicamos en cualquiera de las lneas delay_ms() y reseteamos el Counter Timer.

Ejecutamos toda la sentencia delay_ms(500) con Step Over. Como 500ms es un poco grande veremos desaparecer la ventana de cdigo por ese lapso, pero al final veremos que el cronmetro midi 500377 us, o sea, 500.377 ms. Ahora mediremos el tiempo que transcurre entre las sentencias de las lneas 32 y 35 de este mismo cdigo, solo que esta vez lo haremos empleando la opcin Run To Source Line (ejecutar hasta la lnea de cdigo indicada). Sea continuando con la simulacin o reinicindola, debemos seguir los tres pasos indicados en la siguiente figura.

En este punto el triangulito rojo debe sealar la lnea 32 y el cronmetro debe indicar 00.000000, como en la siguiente figura. Ahora sigue los dos pasos que all se indican.

Y sorpresa! (La sorpresa es para m porque en verdad no esperaba dar este resultado como ejemplo. ;) Obtuvimos 500.377 ms otra vez. Si ahora se ha ejecutado ms cdigo, cmo es que el cronmetro calcul el mismo tiempo?

Sucede que entre las lneas 32 y 35, adems del delay que toma 500377us, estn las sentenciasPORTB |= 0X01 y PORTB &= ~0X01, las cuales se ejecutan en 0.5us, y el

cronmetro no puede visualizar fracciones de microsegundos. O sea que la diferencia est solo que no se aprecia por ser muy pequea. Lo que yo hice para medirla fue bajar la frecuencia del AVR a 1MHz. Otra forma de medir tiempos de ejecucin entre dos puntos es mediante los breakpoints. Es muy sencillo. Solo hay que seguir los siguientes pasos. No pongo las capturas de pantalla porque creo que ya estoy abusando. ;) Ponemos los breakpoints en las lneas 32 y 35. Aparte del botn , tambin se puede hacer con la tecla F9 o, al estilo de Atmel Studio 6, con doble clic en las lneas en cuestin. Aparece un punto rojo por cada breakpoint. Simplemente deja que corra el programa (F12). Se detendr por s solo en cada breakpoint que encuentre. Bueno cuando se detenga en el breakpoint de la lnea 32 reseteas el cronmetro. Ahora vuelve a presionar Run o F12 y el programa correr hasta detenerse en el siguiente breakpoint, o sea, en la lnea 35. Observa el tiempo medido por el cronmetro.

Uso del Osciloscopio


Los primeros Osciloscopios de Proteus solo tenan dos canales y presentaban una interface bastante sencilla. Ahora son de cuatro canales, a colores y algo ms complejos. Con todo, la compatibilidad con las versiones anteriores se mantiene, y a veces inclusive prefiero las primeras.

Osciloscopio de cuatro canales. Se puede notar una clara distincin de seis recuadros, cuatro de los cuales corresponden a los cuatro canales (Channel) A, B, C y D, con colores distintos. Los diales Position desplazan las grficas de cada canal hacia arriba o hacia abajo, en el eje Y. Los diales de tensin fijan la amplitud de voltaje por divisin. Va desde 2mV/div hasta 20V/div. Con la barra deslizadora de cada canal se marca para que las seales sean tratadas como continuas (DC), solo sus componentes alternas (AC), el nivel de tierra (GND) o para que no aparezca (OFF). Las opciones del recuadro Trigger se pueden emplear para muestrear las seales de manera que se tengan grficas ms fluidas sin desfases. En realidad, se usa raramente porque este osciloscopio es ms bien ideal y poca falta ese tipo de calibraciones. En el recuadro Horizontal el dial inferior establece el tiempo base para los canales, va desde 0.5s/div hasta 200ms/div. Mientras ms pequeo sea ms anchas se vern las ondas. Creo que un buen diseo para probar las funciones de este osciloscopio ser un sencillo circuito amplificador conformado por un op-amp. Tomaremos las seales de tensin en la entrada y en la salida.

El circuito a implementar es el mostrado abajo. Al menos al inicio no te relajes y rmalo tal como est. Al op-amp no se le cambia nada, el alternador tiene 1khz de frecuencia y 100mV de amplitud. Donde veo que muchos meten la pata es en las fuentes de alimentacin. Si tienes dudas puedes regresar a la seccin Edicin de las Propiedades de los Objetos.

Circuito de prueba. Al correr la simulacin notaremos solo una onda.

Formas de onda en la entrada y en la salida del circuito. Pero luego de una adecuada calibracin de los diales tendremos una imagen as: (Fjate en la posicin de los diales.)

Seales de entrada y la salida reguladas y centradas.

Grficos de Simulacin
Dada la potencia del osciloscopio de Proteus, el uso de grficos para visualizar datos de la simulacin podra parecer redundante. Bastar con revisar los ejemplos incluidos en Proteus para darse cuenta de que eso no es del todo cierto. Los grficos de Proteus son muy parecidos a los obtenidos por programas como PSPICE o Electronics Workbench. De hecho, utilizan los mismos modelos de SPICE y el mecanismo para construirlos suele ser similar, sobre todo en los grficos analgicos. Sucede que casi todos los modelos digitales de Proteus son nativos. Vamos previendo por tanto que podemos optar por grficos analgicos o digitales, aunque eso no significa que un grfico analgico no pueda incluir una seal digital o viceversa. Continuando con el diseo anterior en este ejercicio vamos a capturar las grficas de las tensiones de entrada y salida del amplificador.

Circuito amplificador simple. Primeramente selecciona la categora Graph Mode de la barra de herramientas. Del Object Selectorescoge ANALOGUE y luego dibuja un rectngulo en el esquemtico con el botn izquierdo del mouse. Quedar como el que aparece a la derecha de la siguiente figura.

Pasos para colocar un grfico de simulacin. Ahora vamos a colocar los Probes o sondas de voltaje (tambin los hay de corriente). Para ello seleccionamos su categora Voltage Probe y sin darle importancia al Object Selector hacemos clic sobre los puntos del circuito cuyas tensiones tomaremos. Aparecern esas pequeas flechitas azulesque se conocen como Probes (sondas). Yo solo he puesto dos probes: uno en la entrada y otro en la salida del circuito. Puedes editar las propiedades de los probes como cualquier otro objeto. Como ves, yo les cambi de nombre: Vi para el primero y Vo para el segundo. Es solo para darles algo de identidad.

Colocando sondas en el circuito. Ahora selecciona un probe y con el botn izquierdo arrstralo y sultalo sobre el rectngulo de la grfica. Si el probe cay bien, debi haber aparecido uno similar dentro del rectngulo. Al final vers que el probe original no se ha movido (si lo hizo, es que fallaste ;). Luego haz lo mismo con el otro probe. El rectngulo quedar como ste.

Rectngulo de grficos con los Probes Vi y Vo. Ahora desplegamos el men contextual del rectngulo de grficos y escogemos la opcin Maximize (Show Window) para ver las grficas en una ventana propia. Podemos conseguir el mismo resultado clicando a la franjita verde superior, all donde dice ANALOGUE ANALYSIS.

Ventana maximizada del rectngulo de grficos. Lleg el momento esperado. Ejecutamos la generacin de la grfica yendo al men Graph Simulate Graph ya sea en ISIS o en la nueva ventana de grficos. Momentneamente la barra de estado de ISIS mostrar el progreso de la simulacin y cuando haya finalizado, veremos la grfica esperada.

Ventana de grficos con los resultados de la simulacin. Bueno, en realidad no tanto. Esperbamos ver ondas sinusoidales, cierto? Debe ser que estn tan juntas que no se notan. Si deseas puedes estirar la imagen con los botones de ZOOM disponibles en la parte baja. Una mejor decisin es establecer la simulacin de un tramo ms corto. Esto se puede configurar en la ventana de propiedades del rectngulo de grficos en ISIS o aqu mismo yendo al men Graph Edit Graph Con esto veremos una ventana como la de abajo. Start time y Stop time determinan el margen temporal de la grfica presentada. Por defecto valen 0 y 1 con lo que la simulacin ser en el primer segundo. Es demasiado tiempo. Por eso vimos tantas ondas. As que vamos a establecer un margen ms pequeo, digamos desde Start time=100ms hasta Stop time=1010ms. Con esto tendremos una simulacin entre los tiempos 100ms y 110ms.

Configuracin de los mrgenes de la simulacin para grficos. Volvemos a correr la simulacin con el men Graph Simulate Graph o presionando el botn del hombrecito rojo corriendo. Y...

Generacin de los grficos en el tramo 100ms - 110ms. Eso s se ve mucho mejor. Nota que los mrgenes de la grfica dicen 100 ms y 110 ms, tal cual lo indicamos. Los dems detalles de la grfica, como el uso del cursor, las coordenadas de tiempo y valores de seal en cada punto mostrados en la zona inferior, cambio de colores, etc., los dejo a tu observacin. Solo es cuestin de echarle ojo.

Potrebbero piacerti anche