Anda di halaman 1dari 5

Mont - Gener funcio

9/28/09

3:54 PM

Pgina 66

MONTAJE

Generador de Funciones
Construya un generador de formas de onda sintticas con indicacin de frecuencia y voltaje, utilizando la placa IGTV
En muchas ocasiones durante el ejercicio de nuestro tra bajo o estudio nos vemos en la necesidad de emplear ge neradores de seales por muchos motivos. Por ejemplo para medir la respuesta de frecuencia de un amplificador de audio, obtener las curvas caractersticas de un filtro, emular la frecuencia de barrido del oscilador horizontal de una TV, etc. Por: Luis Roberto Rodrguez
En el caso del proyecto que en esta ocasin nos ocupa, al elegir entre 3 opciones posibles para su realizacin se analizaron cada una de ellas en base a factores tales como economa, facilidad de construccin, disponibilidad de los elementos, objetivo didctico y utilidad prctica. A continuacin se exponen las tres opciones que se consideraron y al final se indica la que fue elegida y el motivo de nuestra seleccin. seguirlo en los diferentes pases de nuestra querida Latinoamrica. Si hubiramos utilizado un integrado de este tipo habramos faltado a una parte de nuestro lema: PIEZAS FACILES DE CONSEGUIR, adems estos integrados no siempre son baratos debido a lo especfico de su funcin. As que por lo pronto esta opcin queda descartada.

Introduccin En esta ocasin nuestra propuesta de proyecto para IGTV es un generador de funciones con capacidad para generar formas de onda senoidal, triangular, cuadrada y diente de sierra. Las formas se obtendrn mediante seales digitales que se convertirn en analgicas mediante un convertidor digital-analgico. El costo de nuestro generador ser reducido ya que construiremos nuestro convertidor con simples resistencias y un microcontrolador se encargar de generar las seales digitales.

Generador de Funciones Anlogo 1) Generador de Funciones en un Slo Integrado Utilizando un integrado especial como generador de funciones ofrece las mejores caractersticas ya que el fabricante se ha encargado del diseo prcticamente en su totalidad, lo cual brinda beneficios tales como baja distorsin de las seales generadas, alta frecuencia de las diferentes formas de onda y pocos elementos externos. Tal es el caso por ejemplo del XR2206, el cual es capaz de generar seales hasta de 2MHz y con baja distorsin. Sin embargo no siempre es fcil conLa segunda opcin parece ms viable y es la ms tradicional. Con la palabra analgico pretendemos sealar que para su implementacin se emplean amplificadores operacionales para generar las diferentes formas de onda. Aunque el circuito puede llegar a ser muy barato; para generar y manipular las seales se requiere de diversos circuitos tales como filtros, interruptores analgicos, amplificadores y otros elementos. Esto aumenta la cantidad de elementos y adems se complica un poco el diseo debido a que

Premisas del Proyecto Cada vez que iniciamos un proyecto para la tarjeta IGTV analizamos las posibles opciones tomando en cuenta la disponibilidad de los elementos en toda Latinoamrica, esto con el fin de que nuestros amables lectores puedan conseguir fcilmente los componentes sin importar el lugar donde se encuentren.

Saber Electrnica
66

Mont - Gener funcio

9/28/09

3:54 PM

Pgina 67

Generador de Funciones para IGTV

Figura 1 - Sintetizador de formas de onda.

se requiere conectar y desconectar varios elementos conforme se selecciona la escala, frecuencia y forma de onda generada. Adems implica bastantes clculos matemticos (uff), por lo que esta opcin tambin queda descartada.

Generador de Funciones Digital Aunque hay una aparente contradiccin, es posible generar formas analgicas partiendo de seales digitales. Esto se logra mediante un convertidor digital-analgico. Adems estamos en la era digital!, as que sta fue la opcin seleccionada para nuestro proyecto ya que se obtiene un balance entre nmero de piezas, facilidad de construccin y utilidad prctica, adems ofrece una posibilidad didctica excelente para aprender circuitos digitales.

ria ROM. El dato de la memoria es llevado a la entrada de un convertidor digital-analgico el cual convierte el dato binario en un voltaje analgico. En la memoria ROM se ha grabado la secuencia de los valores apropiados dependiendo de la forma de onda deseada. En el caso de una forma de onda diente de sierra, los datos grabados son simplemente una secuencia de nmeros desde el 0 hasta el 255 (8 bits). Despus de la cuenta mxima se reinicia el contador y el ciclo se repite constantemente. La frecuencia viene determinada por el oscilador. En realidad la forma de onda no es analgica pura y entre ms bits se usen en la memoria ROM, mayor ser el parecido a una seal analgica. Observe la figura 2. Se puede apreciar que en realidad la forma de onda est compuesta por valores discretos de voltaje donde cada escaln representa el va-

lor analgico de cada localidad de la memoria ROM. Bien, aunque la seal no es verdaderamente analgica, para la mayora de nuestras necesidades prcticas ser ms que adecuada. En los aparatos telefnicos existen circuitos integrados para generar tonos DTMF. Si se observa con un osciloscopio la salida del tono, se observar (en la mayora de los casos) una seal discreta semejante a la de la figura 2 ya que normalmente dichos tonos se generan digitalmente.

Datos de las Formas de Onda Qu datos se deben guardar en la memoria ROM para la forma de onda? Supongamos que deseamos generar una seal senoidal. Para obtener los datos primero debemos determinar el nmero de sectores. Supongamos que deseamos dividir el ciclo en 60 pasos. Al dividir 360 grados por el nmero de pasos obtenemos que cada sector de forma de onda mide 6 grados (360/60). Si el voltaje de referencia del convertidor es de 5 volts, entonces este es el valor mximo del voltaje que puede proporcionar. Este valor se obtiene con el dato 255 (8 bits). La forma de onda debe comenzarse a generar en la mitad de este valor (128), con el objeto de que la seal flucte entre 0 y 5 voltios (0 y 255 con 128 en la mitad). Esto se ilustra en la figura 3.

Principios de Funcionamiento En realidad el principio de funcionamiento de un sintetizador de formas de onda es muy sencillo. Observe la figura 1. El contador direcciona secuencialmente una localidad de la memo-

Figura 2 - Forma diente de sierra ampliada

Figura 3 - Seal analgica.

Saber Electrnica
67

Mont - Gener funcio

9/28/09

3:54 PM

Pgina 68

Montaje
El punto mximo de una seal senoidal es en 90, lo que implica que el dato en este punto debe ser 255. El seno de 90 es 1, por lo que en este punto el valor digital debe ser 255. Si el dato en 0 grados debe ser 128, en 90 grados debe ser 255. noidal, para las otras formas los datos son ms sencillos de calcular; por ejemplo para la seal triangular los valores son simplemente escalonados desde 0 hasta 255, luego en descenso desde 255 hasta 0 y se repite el ciclo. (No de uno en uno, ya que slo son 60 pasos por ciclo). Le prometo, estimado lector, que stas son todas la matemticas que veremos, adems no requiere de su asimilacin para la continuidad del proyecto. Diagrama en Bloques En la figura 4 se muestra el diagrama en bloques de nuestro generador de funciones. A continuacin explicaremos el funcionamiento de modo general y posteriormente explicaremos en detalle los bloques importantes. El oscilador controlado por voltaje implementado con el 74HC4046 oscila con una frecuencia mnima y mxima que depende del condensador C y de una resistencia a tierra, adems del voltaje introducido por el potencimetro R1. El microcontrolador PIC16F873 selecciona por medio de interruptores analgicos CMOS 4066 la resistencia apropiada para cada escala, como se puede observar en el diagrama. Observe la lnea punteada en medio de los 2 interruptores analgicos. Esto significa que en realidad son ms de dos interruptores los que se usan. La seal producida por el 74HC4046 es introducida al generador de seales, el cual es un

Un Poco de Matemticas A continuacin se muestran 4 ejemplos de la forma en que se obtuvieron 4 valores para los datos en la memoria ROM en el caso de una forma senoidal. Para 0 Sen 0 = 0 0 X 128 = 0 Se multiplica por 128 y no por 255 debido a que luego se sumarn 128. 128 + 0 = 128 La forma debe iniciar a la mitad del total, por tal motivo se suma 128. Dato almacenado =128 Para 6 Sen 6 = 0.1045 0.1045 X 128 = 13.38 128 + 13.38 = 141 Dato almacenado =141 Para 12 Sen 12 = 0.2079 0.2079 X 128 = 26.61 128 + 26.61 = 154 Dato almacenado=154 Para 90 Sen 90 = 1 1 X 128 = 128 128 + 128 = 256 Dato almacenado=255 (no se puede 256 con 8 bits). Observe que se obtienen valores cada 6 grados, ya que son 60 pasos (360/60=6). El caso visto es para la forma se-

Generador de Funciones con Microcontrolador En nuestro diseo utilizaremos dos microcontroladores, uno como generador de seales y el otro para control de escala e interruptores, medicin de frecuencia, medicin de voltaje y comunicacin con la IGTV. El primero ser un PIC16F84 de 20MHz y el segundo ser un PIC16F873 de 4MHz.

Figura 4 - Diagrama en bloques del generador de funciones.

Saber Electrnica
68

Mont - Gener funcio

9/28/09

3:54 PM

Pgina 69

Generador de Funciones para IGTV


PIC16F84 cuyo funcionamiento se explica ms adelante. La salida del generador de seales es una secuencia de datos digitales cuyos valores dependen de la forma de onda que se desee generar, y su frecuencia es funcin de la frecuencia del oscilador controlado por voltaje. Los datos digitales se introducen a un convertidor para obtener una seal analgica. La seal de salida del convertidor es aislada por medio del amplificador operacional A1, para luego alimentar el potencimetro R2 el cual es usado para controlar el voltaje de la seal a la salida. Debido a que la salida del convertidor es de 5 volts mximo, se emplea un amplificador para obtener 20 volts de pico a pico en la seal. Observe en A2 la resistencia de retroalimentacin que es 4 veces la de la entrada, con el fin de multiplicar por cuatro. En la salida de A2 se obtiene la seal de salida. Observe que A3 es un detector de pico cuya salida se lleva a otro seguidor de voltaje (A4) para luego introducir el voltaje de pico detectado en Cp al PIC16F873, donde su valor es medido para mostrarlo en la pantalla. RA y RB forman un divisor de tensin con el fin de obtener un mximo de 5 volts en la entrada del convertidor analgico-digital del microcontrolador, ya que no se debe exceder de este valor. Observe tambin que la salida 2F del generador de seales es llevada al PIC16F873, esto con el fin de medir la frecuencia generada y mostrarla en la pantalla. El interruptor ESCALA selecciona una de las seis escalas disponibles y FORMA selecciona una de las cuatro formas disponibles. lizan para seleccionar la forma de onda. El microcontrolador muestrea regularmente la entrada HAB_SEL, y al momento de detectar un 1 lgico en esta pata comenzar a generar la forma de onda indicada por las entradas SEL0 y SEL1. En la salida marcada como 2F se obtiene el doble de la frecuencia de la seal generada. En la tabla 1 se muestra un extracto del cdigo interno donde se muestra la salida al Puerto B de 3 datos, correspondientes a 0, 6 y 12 grados de la onda senoidal, lo cual coincide con el ejemplo de los datos para la memoria ROM. Los lectores con ms experiencia seguramente se estarn preguntando: y por qu no quitamos los ciclos NOP con el fin de aumentar la frecuencia? La respuesta es que al final del ciclo (360 grados) debemos dar un salto al cdigo donde inicia la forma de onda (0 grados), esto consume 2 ciclos de reloj, ms otros 2 ciclos para sacar el dato de 0 grados, son en total 4 ciclos de reloj. Si quitamos las instrucciones NOP, en la mayora de los pasos habr solo 2 ciclos de reloj entre dato y dato; sin embargo, en el inicio de cada ciclo de la forma de onda emplearemos 4 ciclos en lugar de 2 debido al GOTO, lo que distorsionara levemente la seal. Las instrucciones NOP se utilizan para igualar los tiempos entre dato y dato. En este caso sacrificamos velocidad por fidelidad.

Generador de Seales Para obtener un amplio rango de frecuencias usaremos un oscilador externo para el PIC generador de seales. La seal de reloj ser proporcionada como ya se ha mencionado, por un oscilador controlado por voltaje el cual es el CMOS 74HC4046. Este integrado en realidad es un PLL (Phase Locked Loop), cuyo oscilador es capaz de generar frecuencias por encima de 20MHz. Existe la versin de baja velocidad implementada por el CMOS 4046 el cual es funcionalmente idntico al HC4046; sin embargo slo puede proporcionar una frecuencia mxima de aproximadamente 1,3MHz. En realidad este circuito es un bloque independiente capaz de trabajar de manera autnoma emulando la funcin de contador digital y memoria ROM, de acuerdo al diagrama en bloques de un sintetizador digital (ver la figura 1). Como contador digital utilizaremos el registro interno W cuyo valor lo enviaremos al Puerto B donde por medio de un convertidor Digital-Analgico convertiremos el dato digital en seal analgica. Por medio del oscilador controlado por voltaje del 74HC4046 modificaremos la frecuencia de reloj del 16F84 y de esta manera podremos controlar la frecuencia de la forma de onda. Observe la figura 5. En la entrada OSC1 introduciremos la seal del oscilador controlado por voltaje. Las entradas SEL0 y SEL1 se uti-

Frecuencia Mxima de Operacin La frecuencia mxima de operacin en este caso viene determinada por la frecuencia del oscilador del microcontrolador y por el nmero de pasos utilizados en la sntesis de la forma de onda. Hemos elegido 60 pasos para la forma de onda. Cada paso consume 4

Figura 5 - Generador de seales con el PIC16F84.

Saber Electrnica
69

Mont - Gener funcio

9/28/09

3:54 PM

Pgina 70

Montaje
ciclos del oscilador, lo que al multiplicarlos obtenemos un consumo de 240 ciclos del oscilador por cada ciclo de la forma de onda. La mxima frecuencia que podemos suministrar al PIC16F84 son 20MHz, lo que nos da un perodo de 0.2 microsegundos. (Recuerde que la frecuencia del reloj interno es la cuarta parte de la frecuencia del cristal o del oscilador externo). Si cada ciclo del oscilador puede ser de 0.2 microsegundos mnimo (a 20MHz), tenemos un tiempo total de 48 microsegundos (240 por 0.2 microsegundos), lo que implica una frecuencia mxima de aproximadamente 20kHz. En realidad siempre hay tolerancia en las especificaciones de trabajo de los circuitos integrados, por lo que podremos obtener frecuencias poco ms altas de 20kHz. INICIO MOVLW 128 MOVWF PORTB NOP NOP MOVLW 141 MOVWF PORTB NOP NOP MOVLW 154 MOVWF PORTB NOP NOP .... GOTO INICIO Tabla 1 - Ejemplo de cdigo para forma senoidal. ; 0 grados.

; 6 grados.

; 12 grados.

Convertidor Digital Analgico Es posible utilizar convertidores digital-analgicos compuestos por un circuito integrado, sin embargo con fines de economa construiremos el nuestro con simples resistencias. El convertidor seleccionado para nuestra aplicacin es el R-2R, ya que solo se requiere para su implementacin de 2 valores de resistencias, una el doble de la otra. Por cuestiones de espacio no explicaremos el funcionamiento de tal convertidor, sin embargo si el lector desea una explicacin adicional se sugiere consultar la revista nmero 102 (Edicin Mexicana) donde el Ing. Arnoldo Galetto hace una explicacin muy completa del funcionamiento de este tipo de convertidor.

Figura 6 - Pantalla del generador de funciones.

En la figura 6 se muestra la pantalla de nuestro generador donde se puede observar que hemos fijado una frecuencia de 1000Hz con un nivel de 6 Volts (de pico) y la forma de onda seleccionada es una senoide. Bien, es todo por este mes. Los

detalles de la construccin y el software los mostraremos en la prxima edicin pero ya puede bajarlos de nuestra web con la clave igtvfunc. En dicha seccin tambin est toda la informacin sobre la placa IGTV.

La placa IGTV fu publicada en Saber Electrnica N 243, si Ud. no la tiene, puede bajar la informacin de nuestra web en www.webelectronica.com.ar, haga click en el cono password e ingrese la clave graficatv.
Saber Electrnica
70

Anda mungkin juga menyukai