Fotos de Teruel

Características Generales

Sistema de digitalización de la señal de entrada

El primer paso para la representación de una forma de onda en la pantalla del osciloscopio es digitalizar las tensiones positivas y negativas presentes en la entrada, y para ello se requiere convertir el rango de entrada del osciloscopio al intervalo 0-5 voltios del conversor A/D integrado en el microcontrolador.

En lugar de la solución clásica, que consiste en sumar una tensión de 2.5 voltios a la tensión de entrada para centrarla entre 0 y 5 voltios, se incluye un rectificador de doble onda de precisión para convertir en positiva cualquier tensión de entrada. Un detector adicional de cruce por cero indica la polaridad real de la entrada y controla la asignación de valores numéricos (+/-) a los resultados suministrados por el conversor A/D.

La mayor ventaja de este método es que duplica la precisión de la conversión realizada ya que aprovecha el rango completo de 5 voltios para ambas polaridades.

Se ha utilizado en el montaje realizado el amplificador operacional CA3140 por sus mejores características frente a otros muy clásicos, como el 741, especialmente su “slew-rate” muy elevado y su producto ganancia-anchura de banda.


Ganancia controlable digitalmente

Una ventaja adicional del rectificador de precisión construido radica en que su ganancia en tensión es un simple cociente de resistencias, con la resistencia de entrada en el denominador.

Así, si modificamos esta resistencia se controla la ganancia en tensión del sistema y una forma muy simple de conseguirlo es utilizar un multiplexor analógico 8:1 (DG408) con resistencias en sus entradas.

Mediante las entradas de control es posible seleccionar en cada momento una de las ocho entradas y por tanto una de las ocho resistencias, calculadas de acuerdo con las ganancias de tensión necesarias para adaptar el rango de entrada del osciloscopio a una tensión máxima de 5 voltios en el pin del microcontrolador del ADC usado.

En este primer prototipo sólo se han utilizado cuatro entradas, dejando el resto para futuras versiones más completas.

Podría utilizarse, por ejemplo, para incluir un modo de operación AC/DC que permitiese centrar en 0 voltios una señal de entrada con un nivel de tensión continua elevado, como lo hacen habitualmente los osciloscopios convencionales.

Las líneas de selección del multiplexor se conectan a dos salidas digitales del microcontrolador y de esta forma el software que selecciona la escala vertical (tensión) controla tambien la ganancia en tensión del rectificador de precisión.


Mejora de los tiempos de conversión A/D

Además, y con la finalidad de disminuir todo lo posible el tiempo de conversión A/D, y dado que el número de bits requerido por la resolución del display gráfico LCD es reducido (32 puntos/5 bits) , se configura el preescalador de reloj incluido en el conversorA/D, mediante los bits ADPS0, ADPS1, ADPS2, para una división de la frecuencia de reloj por 4.

Como una alternativa más para disminuir el tiempo de conversión se ha evitado el uso de la función AnalogRead() del entorno de programación del Arduino, que aunque facilita considerablemente la realización de los programas requiere varios parámetros adicionales que ralentizan el proceso.

Así, se controla directamente el comienzo de la conversión A/D activando el bit de start (ADSC) en el registro de control ADCSRA y leyendo el resultado de los registros ADCH y ADCL cuando dicho bit vuelve a estado 0.

Comparador para polaridad de señal

Ya que al rectificar en doble onda la tensión de entrada se pierde la información de su polaridad es preciso disponer de una señal que contenga el signo de la tensión y lo introduzca al microcontrolador para que el software de lectura de datos le asigne la polaridad correcta al resultado de la conversión realizada por el microcontrolador.

Para ello se ha utilizado un chip comparador analógico diferencial (LM311), que incluye en la salida un transistor aislado para que sea posible adaptar los niveles de tensión de salida a los requeridos por el circuito al que se va a conectar, en nuestro caso 0 y 5 voltios.

Escalas de tensión (voltios/div)

Como ya se ha indicado anteriormente se utilizan dos líneas digitales de salida del microcontrolador para controlar los cuatro factores de amplificación de la señal de entrada, calculados para obtener un máximo de 5 voltios en las entrada del conversor analógico-digital para cada uno de los posibles rangos de entrada :  1.5,  3,  6,  9 (voltios)

Dos pulsadores permiten incrementar/decrementar los factores de escala

Escalas de tiempo (tiempo/div)

Dada la baja frecuencia de operación de este sistema, limitada fundamentalmente por los tiempos de conversión A/D del microcontrolador (  20S), las frecuencias de muestreo correspondientes a las distintas escalas temporales del osciloscopio se han obtenido sin más que intercalar un retardo variable en el ciclo de lectura de valores analógicos para adaptar el tiempo entre muestras al requerido por la duración de un barrido de pantalla (100 puntos).

Así, los pulsadores de selección de escala horizontal son los encargados de seleccionar en cada momento el retardo adecuado : 1mS, 0.5mS, 250S, 100S,50S, 25S.

La precisión obtenida de esta forma es suficiente para el rango de valores que se manejan, y es más simple que hacerlo mediante el uso de alguno de los temporizadores incluidos en el microcontrolador

Pulsadores para selección de escalas de representación

La interacción con el microcontrolador de los pulsadores externos necesarios para un control básico de las funciones del osciloscopio se realiza mediante el uso de interrupciones, como medio más eficiente frente a una lectura continua del estado de dichas entradas, que requiere una atención casi exclusiva del microcontrolador.

Dado que se precisan cuatro pulsadores para seleccionar las escalas horizontal (tiempo/div) y vertical (voltios/div) y el ATMega sólo dispone de dos interrupciones externas directas INT0 y INT1, se han utilizado también dos líneas de interrupción adicionales, de las denominadas por cambio de valor de pin (PCINT).

Se han seleccionado la línea PCINT0 (PB0) y PCINT2 (PD4), de forma que al pertenecer a grupos de interrupciones distintos (PCIE0 y PCIE2) no es necesario realizar una búsqueda del pin que ha cambiado el valor, pues solo puede ser el único que pertenece a cada grupo.

El problema de los “rebotes” en los elementos mecánicos se aborda tradicionalmente mediante alternativas hardware y software.

En nuestro caso se ha incluido un condensador 150 nF en paralelo con los pulsadores, entre pin y tierra, para minimizar minimizar los rebotes al suavizar los cambios bruscos de tensión.

Además, se han incorporado en las rutinas de servicio de interrupciones (ISR) una variable que cuenta los posibles rebotes residuales y hace que la rutina solo responda a la primera pulsación.

Gestión del display gráfico LCD

Dada la complejidad considerable de la representación de caracteres y gráficos en el display LCD utilizado (128x64) se ha dedicado íntegramente un microcontrolador ATMega a esta tarea, dejando así disponible el microcontrolador principal para el muestreo y control de la señal de entrada.

Mediante un sencillo sistema de transmisión serie entre ambos se envían las lecturas digitales al receptor para su representación gráfica correspondiente.

Ya que no ha sido posible conseguir el display LCD seleccionado inicialmente ha sido necesario modificar a última hora las rutinas previstas para el intercambio y representación de datos y no se han alcanzado los objetivos previstos en cuanto a su operación.

En conclusión, este aspecto deberá ser mejorado en versiones posteriores pues se ha observado que se ralentiza bastante el proceso global de visualización de una señal en la pantalla.

Combinando un display LCD de mayores prestaciones y una gestión mejorada de la transmisión de datos creemos que es posible aumentar considerablemente la velocidad de representación de gráficos.

Sistema de alimentación en DC

Dado que la parte analógica del diseño requiere tensiones de alimentación positivas y negativas (10 voltios) y la parte digital funciona a 5 voltios hemos optado por utilizar un chip conversor DC/DC (Max680) que obtiene ambas tensiones positiva y negativa a partir de una única tensión de alimentación de 5 voltios.

Con el fin de poder alimentar el sistema completo a 6 voltios, mediante pilas o un clasico alimentador de continua, se han incluido también en el prototipo dos reguladores de tensión de 5 voltios (7805), uno para la parte lógica del diseño y otro para el display gráfico LCD, dado su consumo más elevado.

Comunicación Serial ATMega-ATMega

Uno de los pilares de la representación gráfica de la información en el display es la comunicación via Serial entre los dos microcontroladores. Como se ha comentado anteriormente, esta se trata de una solución todavía por depurar, si bien los comandos básicos funcionan a la perfección.

En líneas generales, el funcionamiento es el siguiente: el integrado encargado de la digitalización de los datos realiza una conversión de la información recibida del circuito rectificador de media onda, pasándolos a un formato comprensible por el display, es decir, valores entre 0 y 63 (píxeles de altura de la pantalla). Posteriormente, se envía el bit 253 (comando de inicialización de nueva orden) al ATMega encargado del display, lo cual pone a punto las diversas variables para poder recibir información. El siguiente paso es el envío del bit 255, que indica que la acción a realizar será una función específica (realmente, no sería necesaria esta doble comprobación, pero trabajando a frecuencias más elevadas es conveniente debido a la mayor inexactitud de los datos). A continuación, se manda el bit de función 2, indicador de nuevo dato y, por consiguiente, de nueva columna a representar. El último bit sería una cifra comprendida entre 0 y 63, como se ha indicado unas líneas más arriba.

Otros bits de función que se han desarrollado son el 5, útil para resetear la información en pantalla, o los 8 y 9, que gestionan el estado de las variables de voltaje y tiempo asociadas a los pulsadores.

Presentación comercial del proyecto

A pesar de que actualmente el OSciLO-duino es meramente un prototipo, se ha trabajado también en el aspecto final que tendrá el dispositivo de cara al público, con vistas a su posterior comercialización.

Este diseño busca, ante todo, un manejo amigable para el usuario, así como la portabilidad del producto. Mediante el uso de formas orgánicas sencillas, se ha desarrollado un modelo (en la imagen, simulación por ordenador) que consta de los elementos básicos del producto: interfaz de cuatro botones, display LCD, diodo LED de control y conector para sondas.

Por otro lado, el menor número de componentes externos necesarios repercute positivamente en el precio final del producto, pues los costes de producción se abaratan.


 

Correo electrónico
juan.aguaron@gmail.com
jorge.aguaron@gmail.com

Un proyecto de
Juan Aguarón de Blas
Jorge Aguarón de Blas

Licencia Creative Commons
NonCommercial
Share-Alike
3.0 Unported