Este sensor está muy lejos de ser un producto nuevo en el mercado, pero es un dispositivo muy útil, empleado en los sistemas electrónicos basados en microcontroladores, en particular, orientado a dispositivos que deben trabajar por sobre los 5Volts. Por debajo de una tensión “ajustada en fábrica (4,59V)”, el MC33064/MC34064 activa un terminal de salida que puede ser utilizado para múltiples propósitos y el más empleado, en circuitos embebidos, es para activar las funciones de RESET de un microcontrolador. Por supuesto que este dispositivo brinda posibilidades de acceder a muchas aplicaciones más, pero en este artículo trabajaremos con él como un sensor de bajo voltaje, ideal para sistemas basados en microcontroladores. Si a medida que avanza el artículo las cosas se complican, no te asustes y continúa, el final puede ser inesperadamente lógico.
Desmontando componentes, preparándolos para reciclar y re-utilizar en diversas aplicaciones, me encontré en una vieja lectora de tarjetas magnéticas (que me regaló Jukinch), muchos elementos interesantes de los cuales llamaron mi atención dos y los veremos en acción en este artículo de NeoTeo. El primero es un LCD alfanumérico de 20 caracteres por dos filas con conector lateral, luz de fondo (backlight) tradicional de color verde suave y caracteres negros. La organización de los pines es la que estamos acostumbrados a ver y usar para este tipo de pantallas LCD, en sus diferentes versiones de cantidad de caracteres y renglones. La conexión fue muy sencilla con una adaptación precaria, pero eficiente, en la entrenadora NeoTeo que muchos de ustedes poseen, donde utilizamos el PIC 18F2550. Luego de soldar un par de cables a los pines de conexión del LCD (WM-C2002-1GLYd) y generar un programa muy sencillo para su ensayo, obtuvimos señales de vida muy interesantes ya que el tipo de letra es claro, grande y atractivo para la vista. Realmente, un elemento que será muy preciado para éste y para cualquier montaje futuro, aquí en NeoTeo.
El segundo componente destacado y sobre el que haremos un pequeño, pero interesante desarrollo para aquellos que no lo conocen, es el “detector de baja tensión” MC33064 que anunciamos en el título de este artículo. A este dispositivo también se lo puede encontrar con la característica MC34064 y es el mismo dispositivo, con la salvedad que el primero está preparado para trabajar entre -40°C y +85°C (o hasta +125°C), mientras que el segundo se especifica para operar entre 0°C y 70°C de temperatura. El funcionamiento de este circuito integrado (de tres pines y encapsulado TO-92 en nuestro caso), el MC33064, es tan elemental y sencillo que no necesitaría demasiadas explicaciones, sin embargo, realizando adecuados arreglos de circuitos, puede ser muy útil para muchas aplicaciones que van más allá de simple detector de bajo voltaje. Además, durante los ensayos de funcionamiento, descubrimos y comprobamos algunas cosas que nos llamarán a una pequeña reflexión final en el artículo.
De todos modos, no nos adelantemos a los hechos y vayamos, paso a paso, observando algunas características de este detector de baja tensión. Concebido para trabajar con una tensión de 5Volts (o Voltios) en su alimentación (aunque soporta hasta 10V, según su hoja de datos), encontramos en el interior del encapsulado un divisor resistivo que entrega una referencia de tensión a un comparador de voltaje y éste se encarga de contrastar esta tensión entregada, respecto a una referencia fija y estable de 1,2Volts (o Voltios). Cuando el divisor interno de tensión entrega un potencial menor a la de la referencia fija, el comparador cambia de estado, cuando esta tensión se supera, regresa al estado inicial de funcionamiento. Lógico comportamiento de un comparador de tensión o voltaje.
Dentro del comparador (el triángulo que ocupa la parte central) encontramos un símbolo nuevo para muchos en forma de doble letra “S” y que representa un funcionamiento particular del comparador. “Histéresis” se llama esta funcionalidad y posee características que, podríamos decir, lo hacen “inteligente” al comparador. Como bien dijimos antes, la tensión “en las entradas del comparador” se verifican a 1,2Volts, sin embargo, no cambiará de estado en 1,20001V y en 1,19999V, quedando en 1,2V, en un estado “indefinido”.
Para evitar esto que terminamos de mencionar: “un estado indefinido”, existen los circuitos que poseen histéresis y en este caso, trabaja de la siguiente manera: cuando en la entrada de tensión (Input) descendemos a menos de 4,59V el comparador cambiará de estado y cuando subimos por encima de 4,61V hará lo mismo, pero a la inversa. Cuando tenemos en la entrada más de 4,61Volts el transistor interno del MC33064 no conduce y en el pin RESET tendremos tensión (estado alto), provista por una resistencia de polarización (pull-up) externa. En cambio, cuando la tensión (Input) desciende a menos de 4,59Volts, el circuito “satura y pone a conducir el transistor interno” y la tensión en el pin RESET se hace cero (Colector y Emisor se cierran “casi” como un interruptor ¿recuerdas?). Observa que los acontecimientos no ocurren en 4,6Volts sino entre dos valores separados, para evitar el antes mencionado “estado indefinido”. Si lo hicieran en 4,6Volts, el circuito estaría cambiando de estado en forma permanente, sería un intermitente subiendo y bajando. Por este motivo, “debe bajar por un lado y subir por otro”. ¿Más fácil aún para comprender? Veamos un gráfico.
Para comprobar este funcionamiento, haremos entonces una pequeña placa para colocarla en la entrenadora NeoTeo y acompañarla de un sencillo programa (que encontrarás al final del artículo) para utilizarlo en la entrenadora, con el LCD de 20 caracteres, y que permita variar la tensión desde 0 a 5Volts, con un pequeño resistor variable (preset). Lo que haremos entonces, será variar la alimentación al MC33064, observar el comportamiento del pin RESET de este dispositivo “al pasar por los puntos mencionados en la hoja de datos del circuito integrado” y en función de ese cambio de estado, encenderemos un LED en el pin RC6 de la placa entrenadora. Toda la variación de tensión será vista en el LCD y allí agregaremos algunas leyendas de texto y otras funcionalidades al sistema. Por ejemplo, marcaremos el sector de tensiones donde se produce la histéresis (también llamada “ventana”) encenderemos un LED verde cuando estemos por encima de esta “porción” y uno rojo cuando estemos por debajo. Cuando estemos dentro de la ventana se encenderán los dos LEDs y el auxiliar, en RC6, que lo hará gobernado por el MC33064, mientras que a los dos de nuestra pequeña placa de ensayos, los manejaremos por instrucciones en el programa. Todo esto, tan lindo, prolijo y colorido ¿se cumplirá en la práctica real?
El resistor variable que utilizamos en los ensayos, y que vemos en las imágenes superiores, resultó muy bueno para las variaciones entre 0 y 5Volts a la vez que fue útil para observar las mediciones del ADC del PIC y contrastarlas con un multímetro comercial. Sin embargo, tuvimos algunas complicaciones al momento de encontrar la ventana de histéresis entre los dos valores de activación del comparador interno del MC33064, ya que estos puntos se encontraban en un recorrido ínfimo del cursor. Para resolver este inconveniente, reemplazamos el preset utilizado en los ensayos iniciales, de variación “gruesa”, por uno multi-vueltas, del mismo valor y que ya hemos visto en otros montajes, aquí en NeoTeo, como fue en el Capacímetro Autorrango, donde las necesidades de ajuste eran muy estrictas y de precisión. Antes de continuar te dejamos la presentación del sistema, el LCD de 20 caracteres, el preset, las indicaciones de acuerdo a la lectura de AN4 y la pequeña placa contenedora del MC33064, en este video. Así comienza la historia.
Si observas con detenimiento las hojas de datos del MC33064 encontrarás que a la salida RESET se le puede agregar un pequeño capacitor (o condensador) para brindar un retardo a su acción de puesta a tierra, o GND. Esto puede ser muy útil para evitar un RESET (o reinicio de funcionamiento) en un sistema embebido con pequeños cortes transitorios. Esto sería, en la práctica, una especie de ampliación de los extremos de la ventana de histéresis (sería hacerla más ancha, ante variaciones bruscas en Vin). Nosotros, al utilizar un capacitor de 10nF en la mencionada salida, pudimos obtener alguna “aparente” decena de mili-volts más en el valor de activación (o no) del sistema de RESET. La inclusión del MC33064 y la elección apropiada del valor de este capacitor pueden ayudarte a hacer “magia” en un sistema de RESET dentro de un circuito embebido. Tú puedes tomar referencias desde otros puntos de tensión que no sea el de alimentación al microcontrolador y en función de ellos, de su estabilidad y fiabilidad, manejar el RESET y no, en forma obligatoria y única, desde la alimentación principal. Pero no volemos tan alto, volvamos al cambio del preset y comencemos a ver como algunas cosas no son tan bonitas como eran en la teoría del inicio. Es decir, a veces las cosas no suceden como esperamos que sucedan (a la tensión que esperamos que sucedan) y este es uno de esos casos.
La situación comenzó a ponerse complicada al descubrir que no teníamos posibilidades de lograr la activación del pin RESET, en los valores que indica la hoja de datos del MC33064. Por debajo de una tensión de 4,58Volts el pin no se activaba y las variaciones comenzaban a suceder algo lejos de lo que estipulado en las hojas de datos. El circuito era muy sencillo y estaba correcto, el instrumento comercial utilizado como referencia es el que siempre nos acompaña y, a pesar de no ser un Fluke, siempre ha sido fiel en sus mediciones, comparándolas con los valores esperados. Sumado a esto, el PCB estaba bien y sin embargo, la ventana de histéresis deseada, no se presentaba en los límites anunciados por el fabricante.
La placa y el circuito que ensayamos no poseen mucho misterio. La alimentación al MC33064 (Vin) se conecta al ADC del microcontrolador en AN4 y, al variarla mediante P1, logramos la activación del RESET con R4 conectada como resistencia de polarización (pull-up) al pin RESET. RC0 y RC1 del PIC encienden o apagan LEDs “simbólicos” que, según líneas de programa, están para indicar los estados en que “debiera” encontrarse el MC33064, según los números obtenidos en el ADC (AN4). O sea, además del LED conectado a RC6, que el PIC activaría por lo presentado en RC3 (salida RESET del MC33064), estos LEDs deberían haber acompañado con su funcionamiento lo que la teoría indicaba. Sin embargo, ocurrió lo siguiente:
Los videos que te mostramos no se cortan por accidente, sino por el asombro que nos plantea la situación, pensando que algo hemos hecho mal. La ventana de RESET que “debería” aparecer entre 4,59V y 4,61V se hizo presente entre 4,52V y 4,55V, es decir, unos 0,06V a 0,07V respecto a los valores esperados. Y aquí viene nuestro gran interrogante: ¿Por qué un elemento que presume ser de precisión, no lo demuestra? Hay muchas cosas de las que estamos seguros:
- El multímetro comercial no podría (ni lo hace) fallar en forma tan grosera, con mediciones tan alejadas de las esperadas y prometidas por el fabricante.
- Si el circuito no estuviera correcto, el sistema en su conjunto no funcionaría.
- El componente en verdad funciona, no está averiado o roto, sino que funciona en valores que no son los de referencia.
- Las hojas de datos del dispositivo, a pesar de hablar de una tolerancia, no presentan la posibilidad de un “desplazamiento” de la ventana de histéresis.
- Todo funciona bien, pero mal. Es una paradoja decirlo de esta forma, pero el componente funciona perfectamente, en un lugar donde no es el indicado.
Tal vez, a partir de todo este trabajo con gráficos, imágenes y videos, ustedes en este momento esperan que les diga donde está la raíz del problema y mi respuesta, al cerrar este artículo, es decirles que no existe problema alguno, que el “efecto/defecto” no tiene otra posibilidad que encontrarse en la calidad del componente y la tolerancia que esgrimen las hojas de datos. Además, los valores obtenidos nunca descendieron de los valores mínimos (4,5Volts) a pesar de que esperábamos una actividad en otra zona.
Conclusiones:
Nunca debemos apurarnos a definir que un componente no funciona si no hace lo que esperamos o nos prometen. Algunas especificaciones pueden desplazarse hasta los límites y en algunas ocasiones, un poco más allá también. Sirva este artículo como ejemplo de esta situación y por supuesto, confirmar que el MC33064 es un muy buen detector de bajo nivel de tensión orientado a sistemas alimentados con 5Volts (o Voltios) que se activa allí, en algún punto, entre los 4,5V y los 4,7V, tal como promete su fabricante.