Valor eficaz de una sinusoidal incompleta

Continuamos con el proyecto DimmerIR. La intención como ya habéis supuesto es diseñar un atenuador electrónico. La caracterizacíon que hicimos de una bombilla incandescente en una entrada anterior nos servirá para calcular la potencia a partir del valor eficaz. Ahora vamos a perfilar cómo cambia el valor eficaz dependiendo de la fase del disparo.

Voy a usar un TRIAC para sólo dejar pasar parte de cada semiciclo, la forma de onda que recibe la bombilla es así:


Debido a los cambios bruscos de tensión, esta forma de atenuación sólo sirve para cargas resistivas. Olvidaros de conectar una bombilla de bajo consumo.

Necesitamos saber cómo cambia la tensión según disparemos el TRIAC antes o después. Se define el valor eficaz de una corriente alterna como la tensión que tendría que tener una corriente continua para provocar el mismo efecto Joule. Lo que queremos saber ahora es cuánto vale este dependiendo de la porción del periodo que cortemos.

Una definición más formal nos va a permitir calcularlo, se demuestra que el valor eficaz es lo mismo que el valor RMS. Durante un periodo de duración T, que por simplicidad supondremos que empieza en 0:

\[V_{RMS} = \sqrt{\frac{1}{T} \int_0^T V^2(t) dt}\]
Ahora bien, como vemos en la figura $V(t) = V_p \sin(\omega t)$ pero sólo en los intervalos

\[\tau < t \leq \frac{T}{2} \quad \mbox{y} \quad \frac{T}{2}+\tau < t \leq T\]
Donde, además, tiene el mismo valor sólo que cambiado de signo. Dado que va al cuadrado dentro de la integral, consideramos que en ambos semiciclos la integral vale lo mismo. Eso nos permite integrar para un único intervalo:

\[V_{RMS}(\tau) = V_p \sqrt{\frac{2}{T} \int_\tau^\frac{T}{2} \sin^2(\omega T) dt}\]
con

\[0 \leq \tau \leq {T \over 2}\]
Empleamos que $\sin^2(\omega t) = \frac{1-\cos(2\omega t)}{2\omega}$ e integramos:

\[V_{RMS}(\tau) = V_p \sqrt{{1 \over T} \left[ t - \frac{\sin(2\omega t)}{2\omega} \right]_\tau^{T/2}}\]
Tras operar, teniendo en cuenta que $\omega = {2\pi \over T}$ obtenemos:

\[V_{RMS}(\tau) = {1 \over 2} - {\tau \over T} + \frac{\sin \left(4 \pi{\tau \over T}\right)}{4\pi}\]
El siguiente gráfico muestra cómo varía el valor eficaz de una corriente alterna dependiendo de en qué parte del semiciclo disparemos el TRIAC.


Como era de esperar, si lo disparamos en 0, la onda llega completa y tenemos el 100% del valor nominal (serían 220V). A medida que cortamos más baja la potencia que llega a cero si nos esperamos al final para disparar el TRIAC. En este caso cortamos el total del semiciclo.

Esta es la razón de que la mayoría de los dimmers comerciales sean poco lineales, y varíen más rápidamente la luminosidad al principio del recorrido y menos hacia el final.

Para las formulas he utilizado este previsualizador de LaTeX.
Artículo completo >>

Característica V/I de una bombilla

De todos es sabido que si medimos la resistencia de una bombilla apagada, no obtenemos la resistencia verdadera que ofrece estando encendida. Por el mero hecho de que cuando un material se calienta, su resistencia eléctrica aumenta.

Esto se debe a un aumento de la sección eficaz de los portadores de carga, porque con el aumento de la temperatura, aumenta la magnitud de las oscilaciones en torno a su posición de equilibro. Es un efecto físico curioso, más curioso aún cuando se trata de semiconductores -en los que bajo condiciones adecuadas, puede darse al contrario-. Os animo a que le dediquéis alguna búsqueda en Google.

El enfoque de esta entrada es más pragmático. Para cierto proyecto del que hablaré más adelante en este blog (nombre en clave DimmerIR) necesito caracterizar una bombilla y saber qué potencia da en función de la tensión recibida. Se define la potencia como $P = VI$ , para una resistencia tenemos la conocida expresión $P = VI = \frac{V^2}{R}$ . Para una bombilla la cosa se complica pues a pesar de ser una resistencia $R = R(T) = R(I,V)$ . Es decir que la resistencia varía con la temperatura, que a su vez es función de la intensidad aplicada.

Como todas estas relaciones son no-lineales, lo más fácil es obtener la relación entre V e I de manera empírica. Simplemente tomando un reóstato, un autotransformador, o un atenuador electrónico a TRIAC (teniendo la precaución en este último caso de usar un tester True RMS pues la forma de onda deja de ser sinusoidal). Medimos la tensión en extremos de la bombilla y la intensidad que circula. Ahora dividiendo obtenemos el valor de la resistencia, y lo podemos graficar.



Como ya habíamos previsto, la resistencia no se mantiene constante y es siempre creciente.

La resistencia a 0 voltios no es más que la resistencia a temperatura ambiente: 62.8 ohmios. La región menos lineal es la marcada con un tono naranja. Aquí el filamento aún no está incandescente o tiene muy poca temperatura.

La intensidad circulante con 220V es de 264mA, lo que equivale a una resistencia máxima de 833.3 ohmios. Esto nos da una potencia máxima de 58.8 vatios. Tiene sentido, pues la bombilla dice ser de 60w.

¿A qué temperatura debe estár el filamento para ofrecer tal resistencia? Hay una ecuación aproximada que nos permite calcular ese dato dependiendo del material. En este caso tungsteno:

\[R_f = R_0 \cdot [1+\alpha (T_f-T_0)] \mbox{ con } \alpha = 0.0045\]
Sustituyendo los valores obtenemos 3191ºC. La temperatura de fusión del tungsteno es 3422ºC.


Si nos concentramos en la zona a partir de los 80 voltios la característica se puede parecer a una recta.



El coeficiente de ajuste no es muy bueno, pero no necesito demasiada exactitud y me conviene tener una expresión analítica lo más sencilla posible. Por tanto, haciendo un abuso de la aproximación podemos considerar que la resistencia aumenta de manera directamente proporcional a la tensión que se le aplique. Esto no es cierto, si bien es más aproximado que considerar la resistencia constante, cosa que sería completamente errónea.

Del ajuste lineal obtenemos los parámetros de la recta que mejor se aproxima a nuestros datos:

\[R = 2.93V+193 \]

Y de ahí ya podemos obtener la potencia:

\[P = VI = VI(V) = \frac{V^2}{R(V)} = \frac{V^2}{2.93V+193}\]

Fijaos en la V en el denominador. Es más importante de lo que parece porque hemos pasado de una expresión de la potencia que varía con V al cuadrado, a otra aproximada que varía casi linealmente con V.

He dejado el archivo con las medidas aquí.

Artículo completo >>

Watchdog para PC con alarma

Hoy os quiero presentar un sencillo watchdog que reinicie automáticamente el PC cuando detecta que este se ha colgado.

Hay multitud de circuitos de este estilo en Internet. Desde el más simple missing pulse detector a los más profesionales que tienen interfaz PCI pasando por los basados en el 74123 o los más modernos usando chips dedicados. Pero todos se basan en lo mismo: esperamos recibir una señal cada cierto tiempo, si no se recibe en un intervalo dado, asumimos que el PC está muerto y se reinicia.

El que os presento hoy está compuesto de un 7490, que es un contador decádico, y un ICM7556, que no es más que un LM556 de toda la vida con consumo y otras cositas mejoradas. Uso estos porque eran los que tenía por casa cuando diseñé el circuito, pero con cualquier otro contador se podría hacer también.

Antes de nada tenemos que buscar una señal que se reciba periódicamente mientras el PC responda. Una opción sería mandar por el puerto serie una cadena, y que el PC nos respondiera otra, dándolo por muerto si no lo hace en un determinado tiempo. Pero tiene algunos inconvenientes:
  1. Para empezar necesitaríamos un puerto serie, que en los PCs modernos empiezan a desaparecer lentamente en favor del mucho menos amistoso USB (comunicarse con el puerto serie es muy sencillo, comunicarse usando el USB es una odisea de narices, menos mal que podemos hacer un conversor sencillo para ocasiones concretas).
  2. Por un lado necesitaríamos un programa especial corriendo en segundo plano, que estuviera escuchando en ese puerto y respondiera adecuadamente. Este programa debe programarse para el sistema operativo que se esté usando, debe instalarse y hasta que no empezara a funcionar el dispositivo podría creer que el PC está colgado.
  3. Por otro lado, ocupamos un puerto libre, que podemos necesitar o no.
  4. Y por último para construir este circuito sería necesario un microcontrolador que también podría colgarse. Por eso lo ideal para hacer de watchdog es un circuito cuanto más simple mejor.
La señal que yo he empleado es el led del disco duro, es habitual que un PC lea del disco duro de vez en cuando, desde que arranca hasta que se apaga.

Descripción del circuito


Empezaremos describiendo el circuito por la parte izquierda de IC2. Ambos 555 están montados como oscilador astable con un duty del 50% siguiendo el esquema en la figura 1.a de la página 6 del datasheet. Según la fórmula que acompaña a la figura, el periodo de esta parte izquiera puede variar entre 4.5 y 11 segundos aproximadamente según la posición de R10. Esta nos servirá como frecuencia de reloj que alimenta a IC1.

El 7490 contiene dos divisores, un divisor por 2 y un divisor por 5. La señal de reloj que genera IC2 se inyecta al primero de los divisores. Mientras la salida de este se conecta a la entrada de reloj del segundo. Así conseguimos un divisor por 10.

Cuando al cabo de 10 periodos la salida QD de IC1 está activa el transistor Q3 conduce y simula una pulsación del botón Reset, reiniciando el PC. El tiempo que esto lleva depende de la posición de R10. Q3 va conectado a la masa del botón de reset. La indicación Ng del reset =! Bl significa que este pulsador tiene los cables de color blanco y negro, y se conecta a este último.

Para que el circuito no reinicie el PC es necesario reinicar el contador antes de que ese tiempo transcurra, esto se hace a través de Q1 que va conectado a la señal que hemos elegido, en este caso el led del disco duro.

Alarma
Los diodos D1, D2 y D3, junto con R9 forman una puerta AND que va conectada al terminal reset del segundo 555 (parte derecha de IC2). Este está configurado como astable con una frecuencia alrededor de 700Hz. Nos servirá de alarma.

Cuando todas las salidas de IC1 están a nivel alto -lo que significa que al siguiente pulso se producirá el reinicio automático- a la patilla 4 de IC2 llega una tensión positiva que lo saca del reset. Empieza a oscilar y a través de Q2 el tono de alarma alcanza el altavoz interno.

Esta alarma sonará durante todo el periodo previo al reinicio.


Notas
  • Los colores de los cables sólo son orientativos. (Bl = Blanco, Nj = Naranja, Rj = Rojo, Ng = Negro).
  • Los terminales nombrados SL2 son para conectar un interruptor para activar o desactivar el circuito a voluntad.
  • SL3 es el conector de alimentación. Este circuito se conecta a cualquier toma de tensión de 5 voltios.
  • La numeración de los componentes es un tanto caótica.
Artículo completo >>

Conversor USB - RS232

Hola.
Para inaugurar este blog he elegido un proyecto muy sencillo y muy práctico. Se trata de adaptar un barato conversor de 2€ para poder comunicarnos con un microcontrolador. Es útil en caso de que vuestro PC no tenga puerto serie y sólo tenga puertos USB, o si lo tiene generalmente está poco accesible en la parte de atrás de la torre.
En esta ocasión no se trata de diseñar y construir nuestro conversor, porque por el precio que tiene no merece la pena el tiempo que invertiríamos. Además necesitaríamos cierta práctica trabajando con SMD. Hay conversores de varios precios, el más barato que he visto está en Dealextreme. Una vez desmontado podéis verlo en esta foto. Disculpad la calidad.
Está basado en el popular PL2303 de Prolific. Descripción y datasheet aqui. Sin embargo para reducir el precio no integra un PL2303 "de verdad" sino que está integrado en la misma placa.
Para conectar un microcontrador al PC habitualmente usaremos sólo las lineas Rx, Tx y GND. Dejando de lado las demás. No obstante nos interesará que esas líneas no queden en el aire, de lo contrario algunos programas podrían no funcionar. Para evitarlo haremos una conexión null modem con falso handshake como se indica aquí:



La imagen está tomada de esta web, donde se detallan los pros y los contras de cada conexionado.
Recomiendo eliminar las clavijas DB9 y USB y sustituirlas por sendos cables. Eliminar el conector USB es sencillo. Para extraer el DB9 quizá tengáis que serrar los pines, porque están soldados por ambos lados. Para terminar, un poco de retráctil evitará que toquemos con la placa en sitios delicados.

Notas adicionales:
  1. La calidad del dispositivo deja mucho que desear, pero para el uso que queremos darle es suficiente.
  2. Si al conectarlo al PC aparece un mensaje de que el USB es defectuoso (en windows), o diversos errores en /var/log/syslog (en linux) es debido a que el oscilador es inestable. Una resistencia de 100k en paralelo con el cristal debería arreglarlo.
  3. Los drivers de windows son muy quisquillosos. En linux funcionó a la primera, mientras que en windows tuve que tirarme dos tardes instalando varias versiones del driver y sólo he conseguido que funcione en un único puerto USB. Si lo conecto a otro lo reconoce pero no transmite ni recibe nada.
  4. Para probarlo recomiendo la aplicación gtkterm.
Artículo completo >>