Resultados 1 al 1 de 1
Like Tree7Likes
  • 7 Post By RotorK

Hilo: Relojes electrónicos. Tecnología y evolución - Esenciales

  1. #1
    Avatar de RotorK
    RotorK está desconectado Forer@ Senior
    Fecha de ingreso
    24-jun-2011
    Ubicación
    Valencia
    Mensajes
    394

    Predeterminado Relojes electrónicos. Tecnología y evolución

    En esta misma sección de <<Esenciales>> hemos podido disfrutar de la lectura de un magnífico post elaborado por Tantdetemps denominado: “Relojes Electrónicos y sus visualizadores”. Sin ánimo alguno de corregir al maestro, escribo como complemento de aquel post, este otro para intentar explicar cómo fueron ideados los relojes electrónicos, y como ha ido evolucionando su tecnología.

    Como dicen los angloparlantes: “Hope this helps”. Allá vamos.

    Primeros relojes digitales. Analogía con los sistemas mecánicos: escape vs. base de tiempos

    El principio de funcionamiento de casi todos los relojes (salvo gnomon, clepsidras y cosas similares) consiste en adoptar como patrón una señal de referencia de frecuencia estable, y medir el transcurso del tiempo mediante acumuladores, bien sean éstos contadores electrónicos o electromecánicos, o bien sean procedimientos tradicionales como los trenes de ruedas en los relojes mecánicos.

    Si nos fijamos en los relojes mecánicos, vemos que entre sus características siempre se cita algo así como: <<movimiento a 28.800 bph>>. Otros, más poéticos, dicen que: <<su corazón late a 18.000>> bph>>. Pero, ¿sabemos que significa esto?

    En un reloj mecánico, la frecuencia de referencia viene determinada por un sistema exclusivamente mecánico, concretamente del sistema de escape que ya está descrito mucho mejor de lo que yo podría hacerlo, en otros post de esta misma sección. El sistema de escape tiene por misión generar una oscilación estable de una frecuencia determinada, y cuyo movimiento se transmite posteriormente a los trenes de rodadura. El escape es simplemente un oscilador, símil cuya máxima expresión es la analogía del péndulo.

    Pues bien, el numerito de los 28.800, 36.000, 18.000 ….. bph nos describe la frecuencia de oscilación de nuestro escape. Cuanto más alto sea, mayor es la rapidez del <<tic-tac>> y viceversa. Pero este numerito no está expresado en unidades del sistema internacional. La expresión <<bph>> corresponde al inglés <<beats per hour>> y que equivale al número de <<tics>> y de <<tacs>> por hora. Pero en el sistema internacional, la unidad de tiempo es el segundo, y no la hora. Debemos de fijarnos en que a lo largo de la evolución de los relojes mecánicos, la frecuencia ha ido en aumento.

    Si echamos mano de las matemáticas, nos encontraremos con que se define como frecuencia la cantidad de veces que se repite un determinado suceso en la unidad de tiempo. Para nosotros, la repetición del suceso consistiría en obtener dos <<tics>> o dos <<tacs>>. Considerando un escape por péndulo, que es más visible, si sujetamos el péndulo en uno de los extremos de su recorrido (primer <<tic>>) y lo soltamos, obtendremos primero un <<tac>> y luego, para que se repita el suceso, nuestro segundo <<tic>> . Esto nos viene a decir que, para convertir nuestros anglosajones y poéticos bph, tendremos que el número de sucesos es exactamente la mitad de el número de <<beats>>. Teniendo en cuenta que una hora tiene 3.600 segundos, concluiremos que:

    Frecuencia (en Hertzios, o Hz) = bph/(2*3.600)

    Aplicando esta formulita, y por poner algún ejemplo, nuestros 28.800 bph, corresponderían a 4 Hz, los 36.000 bph de un <<El Primero>> serían 5Hz, y los 18.000 de los abueletes pasarían a ser unos más modestos 2,5 Hz. Siguiendo con los relojes mecánicos, esta sería la frecuencia del trote de la aguja segundera, con lo que a menor frecuencia del escape, es más apreciable el trote de la segundera, cosa que puede comprobarse fácilmente. En un reloj de cuarzo –de los normalitos, se entiende- es obvio que la frecuencia de la segundera es de 1 Hz. Esta frecuencia, es la que se denominaba frecuencia base del reloj. Con la irrupción de la electrónica de sistemas síncronos, el escape en un reloj electrónico pasa a llamarse oscilador o simplemente <<reloj>> y, más apropiadamente <<base de tiempos>>, para no confundir términos, dado que estos osciladores van a emplearse en infinidad de aparatos. Por ejemplo, en los ordenadores, se habla de <<reloj a x GigaHertz>>, que por cierto son generados por un oscilador a cristal de cuarzo seguido de un número determinado de circuitos multiplicadores de frecuencia para generar las diferentes frecuencias necesarias para la CPU y los buses de transmisión (principalmente los de control, de direcciones y de datos). La Wikipedia, en su exposición de conceptos asociados a la placa base de un ordenador dice que: <<El reloj: regula la velocidad de ejecución de las instrucciones del microprocesador y de los periféricos internos>>.

    Por lo tanto, a partir de ahora, y hablando de relojes digitales, llamaremos <<base de tiempos>> por no ser reiterativos en el uso de la palabra <<reloj>>, al circuito electrónico capaz de generar una frecuencia de referencia que sustituya al escape de los relojes mecánicos.


    Una aclaración. La base de la electrónica digital


    Antes que nada, es preciso hacer una matización, que es la base de toda la electrónica digital. Todo lo relacionado con ella está basado en una cuestión matemática, denominada <<Algebra de Boole>> y que únicamente contempla dos estados básicos de un suceso: <<Verdadero>>, << Alto>>, o <<1>> y <<Falso>>, <<Bajo>> o <<0>>, que corresponden a unos niveles de +V voltios y 0 voltios en nuestro caso, en el que nos apoyamos en la electricidad en corriente continua como medio. Por tanto, a partir de ahora hablaremos de sistemas binarios, porque solamente podremos utilizar estos dos estados, los únicos que puede tener una determinada conexión, o <<bit>>. La forma de onda de una señal típica será la siguiente:

    Donde puede verse la forma de onda de una señal de frecuencia f, y la de sus frecuencias submúltiplos f/2, f/4 y f/8.


    Bases de tiempos electrónicas. Osciladores


    Vamos a entrar en harina. Lo primero para construir nuestro reloj digital va a ser, mal que le pese a alguno, diseñar la base de tiempos, y para ello habría que pensar en construir un oscilador. En los no muy lejanos tiempos de Maricastaña cuando la escasez era grande, era dificilísimo construir osciladores estables por la ausencia o carestía de los diferentes elementos necesarios, por lo que se optó por utilizar una fuente de referencia barata y presuntamente fiable: la frecuencia de la red eléctrica, que todos sabemos que es de 50 Hz, o para los románticos nada menos que 360.000 bph. La relación calidad-precio era buena (y ha mejorado con la mejora de las redes eléctricas), y la simplicidad de la construcción lo permitía.

    Aquí van unas imágenes con un <<remake>> de los que debieron ser los primeros relojes electrónicos, de funcionamiento a válvulas:






    El procedimiento para generar impulsos con una frecuencia de 1 Hz (para una resolución máxima de 1 seg.) era simplemente tomar una pequeña muestra de la señal de la red, y convertirla en onda cuadrada de 50 Hz, mediante un circuito denominado <<Trigger de Schmitt>>. Una vez conseguido esto, la señal de onda cuadrada se introducía en una cadena de divisores de frecuencia, y los 50 Hz eran divididos en una primera etapa por 5 y por 10 en la siguiente, con lo que se obtenía la señal de 1 Hz. En USA y otros países cuya frecuencia de la red es de 60 Hz, se tomaban las precauciones necesarias ( división por 2, por 3 y por 10) para obtener igualmente la señal patrón de 1 Hz.

    Por simplificar las cosas, ya algunos años después, esta cadena de divisores se realizaba con un circuito integrado, barato y eficaz: el 7490, que hoy día puede aún comprarse por menos de 2 eurillos. Este es su esquema de conexiones:

    Este procedimiento no estaba mal, pero tenía un problema, y no pequeño. Si se iba la luz, cosa frecuente por entonces, pues adiós muy buenas. Y por ello, se optó por utilizar osciladores a base de multivibradores, cuya frecuencia de oscilación se determinaba por circuitos RC de componentes seleccionados. Aún así, la estabilidad no era buena, y además requería de ajuste para conseguir cierta exactitud. Luego, esta frecuencia se aplicaba nuevamente a una cadena de divisores, para obtener nuestro Hz.

    Tras la aparición de los cristales de cuarzo, las cosas cambiaron. El oscilador a cristal era mucho más estable (precisión) y las versiones de más calidad (fabricación próxima a la frecuencia de diseño) ya ofrecían una exactitud aceptable. Además, podía perfectamente utilizarse una alimentación autónoma (baterías) para la base de tiempos, ya que su consumo era relativamente pequeño frente al del conjunto del reloj.

    Otros circuitos divisores realizarán esta misma función, pero su función es dividir solamente por 2 elevado a n potencias, combinaciones que se obtienen igualmente mediante el diferente conexionado de alguna de sus patillas. El número de posibilidades va aumentando, y el cuarzo se impone como base de tiempos. Y aparece el problema de decidir cuál es la frecuencia óptima del oscilador de un reloj digital. En un principio, y al igual que en los relojes de pulsera, se impone la moda de emplear cristales de cuarzo de elevadas frecuencias, y aplicar cadenas de divisores apropiadas. Se van empleando cristales osciladores de entre 4 y 10 MHz, pero hay otra corriente, que se impone al final: casi todos los relojes de cuarzo tienen una oscilación base de 32.768 KHz, una frecuencia mucho más baja que las anteriores. Esta elección tiene un solo motivo: la temperatura. Voy a intentar explicarlo.

    En los primeros tiempos, se pensó que si se aumentaba la frecuencia, también aumentaría el número de divisiones necesarias para conseguir nuestra frecuencia de referencia, con lo cual también se dividiría en la misma medida el error por deriva del oscilador, lo que aumentaría nuestra precisión.

    Pero si se aumenta la frecuencia, también se aumenta la velocidad de paso de los electrones, y con ello la temperatura. Por citar un ejemplo próximo, no hay más que ver que los ordenadores de última generación cada vez utilizan frecuencias <<de reloj>> más elevadas para aumentar su velocidad, pero necesitan de sistemas de disipación de calor mucho mayores.

    Y por otro lado, la energía de RF (radiofrecuencia) presente a frecuencias más elevadas tiene los que vamos a denominar <<efecto microondas>>, que provoca calor por inducción en el propio circuito oscilador, que ve también comprometida por ello su estabilidad. Es únicamente por este motivo, que casi se haya estandarizado la frecuencia de los 32.768 KHz como solución más operativa, de la cual se obtiene el valor de referencia de 1 Hz, simplemente dividiéndolo por 2 elevado a la quinceava potencia.

    Si lo que se desea es una precisión elevada, puede recurrirse al uso de osciladores comerciales ya construidos, y compensados en temperatura. Hay montones de sistemas para efectuar la compensación en temperatura y sus precios no son abusivos. Tampoco me voy a extender en este asunto, pero quizá la mejor solución para este tipo de relojes grandes sea emplear osciladores del tipo OCXO (Oven Controlled Xtal Oscillator), cuya base de funcionamiento consiste en hacer que el oscilador funcione a una temperatura mucho mayor que la que él de por sí generaría, mediante el uso un pequeño horno (Oven), cuya temperatura es controlada por un sistema –y ahí va el precio- más o menos complejo. Claro que el consumo del horno, aunque pequeño, no los hace muy recomendables para aplicaciones autónomas. Para mayor información, es suficiente con poner OCXO, o TCXO en San Google.

    La siguiente figura es el interior un OCXO, al que se le ha quitado su envolvente externa con una Dremel:


    Bueno, ya tenemos el Hz de nuestra base de tiempos. Y ahora qué?

    Pues la siguiente etapa consiste en hacer nuestras ruedas segunderas o minuteras, según se desee, de forma electrónica. Pero hay que recordar que estamos ya en electrónica digital y solo podemos contar con ceros y unos, nada más, por lo que recurriremos al código BCD (Binary Coded Decimal), que nos facilitará la cuestión.

    En electrónica digital (al menos en la combinacional, que es de la que estamos hablando) hay una ventaja: el empleo de lo que se llaman <<Tablas de Verdad>> donde se recoge muy gráfica e intuitivamente el funcionamiento de un determinado circuito. Vamos a ver cuántos <<bit>> de información necesitaríamos para hacer un circuito contador del 0 al 9.

    La tabla de verdad del código BCD de 0 a 9 es la de la siguiente figura:

    La columna <<Count>> corresponde al número de pulsos que queremos contar, y haciendo un ejercicio de imaginación, vamos a suponer que A, B, C, y D. son cuatro bombillas, encendidas cuando en la tabla pone <<1>> y apagadas cuando en la tabla pone <<0>>

    Podemos ver que con dos <<bit>> A y B podemos representar en binario BCD un rango decimal de 0 hasta 3 (recuadro amarillo); con tres bit, de 0 hasta 7 (recuadro rojo), y que para representar rangos mayores de 7, y hasta 15, nos hace falta utilizar 4 bits. El bit A será el menos significativo, o de menor peso, y el D, el más significativo o de mayor peso.
    Y para contar en BCD, pues también se emplea el ubicuo circuito 7490, que es también un contador-codificador BCD que recibe pulsos por una de sus patillas (14), y nos da a su salida el conteo correspondiente en código BCD de 4 bits. El esquema es el de esta figura:

    No hay problema en construírselo uno en casa, porque es muy sencillo. El puente entre patas 12 y 1 sirve para que la cuenta sea solo hasta 9, y se haga el reset del contador para que la siguiente cuenta empiece por cero.
    Y cómo podemos ver las salidas? Pues fácil. Vamos a usar unos baratísimos diodos LED, con este esquema:


    Y la correspondencia de terminales del LED es:

    Bueno, pues ya llevamos alguna cosa adelantada. Tenemos un contador que cuenta pulsos, y presenta el resultado en código BCD. Y hasta podemos verlo con LED’s. Lo suyo sería verlo en esos chismes tan chulos que nos enseñaba Tantdetemps en su post . Eso está hecho. Vamos allá, pero con la cuestión más sencilla, que en este momento son los displays LED de 7 segmentos. Esos numeritos rojos que eran tan comunes, y que tienen esta pinta:

    Cada uno es estos segmentos (o terminales) es el ánodo (+) de un diodo LED y el cátodo es común a los 7. La conexión es sencilla, pero nos falta convertir nuestro código BCD al código necesario para esta función.

    Pero este trabajo ya está hecho gracias a otro circuito integrado, el 7447, que es precisamente un decodificador BCD de 4 bit a LED de 7 segmentos y cátodo común (unos 80 centimillos de euro). Junto con un display verde, para que haga bonito (1 eurillo), tenemos la faena en marcha. Vamos al circuito:


    Bueno, pues ya está. Esto debería contar cíclicamente de 0 hasta 9. He omitido los terminales del display porque pueden variar según el tipo, pero nada más. Y ahora, ¿nos atreveríamos a diseñar un contador con display de 0 a 99?. Yo creo que debe ser algo como esto:


    ¿Qué hemos añadido? Pues prácticamente nada. Lo único ha sido duplicar el circuito, e interconectar la patilla 14 (entrada del segundo contador) a la 11 del primero. Si miramos el esquema del 7490 del principio, vemos que en la pata 11 del primero, lo que tenemos es la señal de entrada (14) dividida por 10. Y esto, en términos lógicos, significa que el circuito de la derecha (contador de decenas) recibirá un pulso de conteo (acarreo) cada vez que a la entrada 14 del circuito de la izquierda reciba 10 pulsos. Justo lo que queríamos. Y así podríamos seguir hasta 100, 1.000, 10.000 ……

    De igual forma se procede cuando queremos contar hasta sesenta (00-59), solo que hay que disponer de los divisores/contadores apropiados (7493 en vez del 7490), y tener en cuenta algunos detalles algo más complejos, pero mi objetivo no es ahora la construcción de un reloj, sino exponer su funcionamiento.

    Si cambiamos de visualizadores, y queremos usar estos bonitos y hoy carísimos tubos NIXIE por lo de la moda retro, la cosa cambia: primero, porque cambia el decodificador a BCD->decimal , ya que los nixie requieren de una entrada por dígito y segundo porque los nixie requieren de tensiones de alimentación muy elevadas y complican bastante la circuitería. El nixie, antaño económico sustituto de los carísimos LED, es hoy la <<rara avis>>, y objeto de deseo. Cosas que pasan.






    Y ya que hablamos de abaratar, voy a contar una cosa que es poco conocida: Si mirásemos un display LED de segmentos de cualquier aparato moderno a través de una cámara de velocidad muy alta, observaríamos que los diferentes dígitos no están encendidos simultáneamente; sino que se encienden y apagan uno a uno secuencialmente. Ello se debe a que, para abaratar los costes, el circuito que hace la cuenta y el envío del código de 7 segmentos es el mismo para todos los displays individuales –así ahorramos en circuitos-, que además tienen todos los segmentos conectados en paralelo – y así ahorramos en hilo-. El truco consiste en un trampantojo electrónico: aprovechar la inercia de nuestra percepción visual y de los LED para habilitar tanto la cuenta, como el electrodo común de los displays (ánodo o cátodo) a gran velocidad, con lo que nuestra percepción es la de verlos encendidos simultáneamente, cuando en realidad no es así, sino que se van encendiendo secuencialmente. A esta técnica se le denomina multiplexado:



    Y todos los relojes digitales se basan en lo mismo?


    Definitivamente no. La electrónica ha ido avanzando a gran velocidad en los últimos años, y el empleo de circuitos microcontroladores (pequeños ordenadores microminiatura), junto a la diversificación de tareas independientes siguiendo el principio de <<divide y vencerás>> forman el espíritu de los nuevos diseños. Los diferentes trabajos se van encomendando a diferentes circuitos, quedando solo la parte central como coordinación. Un microcontrolador envía y recibe órdenes de los diferentes periféricos, bajo la estructura de diferentes protocolos de comunicación. Por ejemplo, vamos a ver la estructura de un reloj experimental basado en microcontroladores, pero en el cual la tarea del reloj en sí descansa en un dispositivo externo a él, de mejores prestaciones de las que podríamos obtener del propio microcontrolador, y que <<hablan>> entre ellos a partir de un protocolo de bus I2C. La tarea de mostrar gráficamente toda la faena se la encomendaremos a un display LCD , con el que también <<hablaremos>> mediante el protocolo I2C para minimizar el número de conexiones
    El relojito externo, será el DS 1307 de Maxim, cuyas exactitud y precisión dependerán del cristal de cuarzo u oscilador externo que se use, ofrece unas características impresionantes, por un más que módico precio de 4 eurillos y un tamaño minúsculo.

    La CPU o microcontrolador es el ATMEL ATMega328 bajo configuración de Arduino UNO que es de muy fácil manejo bajo el lenguaje <<C>>. Se elige éste porque existe suficiente documentación y librerías de programa para poder manejar con facilidad los dos periféricos anteriores, y hacerse un reloj a capricho. Las placas Arduino (un proyecto internacional de tecnología libre), son un sistema sencillo, económico y fiable que se emplea en muchísimos sitios, entre los que se encuentran Universidades de todas las partes del mundo.

    Este sería el aspecto de un reloj de este estilo. En parte superior de la foto se sitúa el pequeño circuito integrado del reloj, junto con la pila-botón que lo alimenta. En este caso, se utiliza el display de un viejo teléfono móvil como visualizador:


    U otra cosa similar, con un display de 2 líneas y 16 caracteres:






    Última edición por tantdetemps; 03-sep-2012 a las 18:36